If your WordPress site feels sluggish, you’re not imagining it, and you’re not alone. A slow site doesn’t just frustrate visitors; it actively hurts your Google rankings and your bottom line. Most speed problems are fixable without hiring a developer.
This checklist walks you through the most impactful improvements, starting with the easiest wins.
Why WordPress Can Be Slow
WordPress does a lot out of the box, and that flexibility comes with trade-offs. A few of the most common culprits:
- Too many plugins. Every plugin you install adds code that runs on every page load. Even deactivated plugins can leave behind database clutter.
- Unoptimized images. A single large photo can be several megabytes. Multiply that by a dozen images on a page and your load time balloons.
- Cheap shared hosting. On shared hosting, your site shares server resources with hundreds of other websites. When they get busy, you slow down.
- Bloated themes. Many popular themes, especially those built around page builders, load enormous amounts of CSS and JavaScript even on pages that don’t need it.
The result is a site that feels slow to visitors and scores poorly with Google. Here’s how to fix that.
Measure First
Before you change anything, get a baseline score so you know what you’re working with, and so you can prove the improvements later.
Google PageSpeed Insights (pagespeed.web.dev) is free, takes 30 seconds, and gives you a score from 0–100 for both mobile and desktop. More importantly, it tells you why your site is slow.
GTmetrix is another free tool that gives you a waterfall view of every resource loading on your page, which is useful for spotting oversized images or slow third-party scripts.
Understanding Core Web Vitals
Both tools report on Google’s Core Web Vitals, three metrics that directly affect your search rankings:
- LCP (Largest Contentful Paint): How long it takes for the biggest visible element on the page (usually a hero image or headline) to load. Think of it as “when does the page feel ready?” Aim for under 2.5 seconds.
- INP (Interaction to Next Paint): How quickly your site responds when a visitor clicks a button or taps a link. A sluggish INP makes your site feel broken. Aim for under 200 milliseconds.
- CLS (Cumulative Layout Shift): How much the page jumps around as it loads. That is the annoying moment when you go to click something and it moves. Aim for a score below 0.1.
Write down your scores before making any changes. You’ll want to compare them later.
Biggest Quick Wins
These changes deliver the most improvement for the least effort. Start here.
Image Optimization
Images are almost always the single biggest opportunity on a WordPress site. Here’s what to do:
- Compress your images before uploading. Use Squoosh.app. It’s free, runs in your browser, and can reduce file sizes by 70–80% with no visible quality loss.
- Convert to WebP format. WebP images are significantly smaller than JPEGs or PNGs. The ShortPixel plugin (free tier available) can automatically convert and compress images in your existing media library.
- Enable lazy loading. This means images below the fold only load when a visitor scrolls down to them. WordPress enables this by default since version 5.5, but double-check your theme isn’t overriding it.
Caching Plugin
Caching saves a pre-built version of your pages so the server doesn’t have to rebuild them from scratch every time someone visits.
- WP Super Cache is free and does the job well for most small sites.
- WP Rocket is paid (around $59/year) but is widely considered the best caching plugin available. It handles caching, minification, lazy loading, and more in one place. If your site is important to your business, it’s worth it.
Either option can cut your load time significantly with minimal configuration.
Remove Unused Plugins
Every active plugin adds PHP code, database queries, and sometimes CSS/JS to your site, even if you’re not actively using its features on a given page.
Do a plugin audit at least once a quarter:
- Go through your active plugins one by one.
- Ask: “Would anything break if I deactivated this?”
- If the answer is no, deactivate and delete it.
Also remove plugins you installed to test something and forgot about. They add up.
Use a Lightweight Theme
Your theme is the foundation everything else is built on. A heavy theme can undermine every other optimization you make.
Three excellent lightweight options:
- Astra. Fast, flexible, and free. Works well with most page builders.
- GeneratePress. Extremely lightweight and developer-friendly, with a generous free version.
- Kadence. Modern, fast, and beginner-friendly with a solid free tier.
Avoid themes that bundle their own page builder, slider, or e-commerce system unless you actually need those features. The more a theme tries to do, the slower it tends to be.
When the theme itself is the thing holding a site back, I usually find that moving to a lean custom WordPress build is faster than patching around it.
Hosting Upgrade
If you’ve done everything above and your site is still slow, your hosting is likely the bottleneck, and no amount of optimization will fully overcome a slow server.
Shared hosting is fine when you’re just starting out, but as your site grows, you’re competing for server resources with hundreds of other sites on the same machine.
Managed WordPress hosting is purpose-built for WordPress performance. Providers like Kinsta, WP Engine, and Flywheel handle server configuration, caching, and security for you. Most users see 2–3× speed improvements after switching.
If budget is a concern, a quality VPS (Virtual Private Server) from providers like DigitalOcean or Cloudways gives you dedicated resources at a lower price point than premium managed hosting.
This is the one change on this list that costs money, but for a business-critical site, it’s often the highest-impact investment you can make.
CDN: Cloudflare Free Tier
A CDN (Content Delivery Network) stores copies of your site’s static files (images, CSS, JavaScript) on servers around the world. When someone visits your site, those files load from the server closest to them, rather than from your hosting server in a single location.
Cloudflare offers a genuinely useful free tier that:
- Speeds up load times for visitors outside your hosting region
- Adds DDoS protection (helps if your site ever gets attacked)
- Provides basic analytics and security features
Setting it up involves pointing your domain’s nameservers to Cloudflare. It sounds technical, but Cloudflare’s setup wizard walks you through it step by step. Most people complete it in under 30 minutes.
Database Optimization
Over time, WordPress accumulates a lot of junk in its database: old post revisions, expired transients, spam comments, and orphaned data from deleted plugins. This bloat can slow down database queries and, by extension, your page load times.
WP-Optimize is a free plugin that cleans all of this up safely. Run it once a month to keep your database lean. It also lets you schedule automatic cleanups so you don’t have to remember.
What to Fix Last
You may have read about CSS/JS minification, server-side caching headers, or HTTP/2 configuration. These are real optimizations, but they’re also the ones most likely to break things if done incorrectly, and they deliver diminishing returns if you haven’t addressed the bigger issues first.
Don’t start here. Start with images, caching, and plugins.
- CSS/JS minification is handled automatically by WP Rocket and most good caching plugins. If you’re using one of those, you’re already covered.
- Server-level optimizations (PHP version, OPcache, HTTP/2) are best left to your hosting provider or a developer. If you’re on managed WordPress hosting, these are typically configured for you already.
Focus your energy on the quick wins above. They’ll get you 80% of the way there, and most of them are completely free.
Speed work goes faster when the fixes are matched to how your site is actually built and hosted. Send the project brief with your current scores and hosting setup, and I will tell you where the time is going.




