A while back, I ran a performance audit on a WP Mayor contributor’s site. Good content, solid hosting, regularly updated. PageSpeed score on mobile: 34. The culprit wasn’t complicated: unoptimized images, no caching, and a plugin load that had accumulated quietly over two years without anyone questioning it.

That site isn’t unusual. Most WordPress speed problems come from the same small set of root causes, and almost all of them are fixable without deep technical knowledge. If your WordPress page speed needs work, here’s where to start.

Where to Start If You’re Overwhelmed

Before you do anything else, measure. Run your site through Google PageSpeed Insights and note which specific issues are flagged. A lot of people jump to solutions before they understand the actual problem.

Google's PageSpeed Insights report for TechCrunch on a desktop device.
Google’s PageSpeed Insights report for TechCrunch on a desktop device.

If you only have time for three things, make them hosting, caching, and image optimization. Those three changes alone will move the needle more than everything else on this list combined. The rest is compounding improvement.

If you’d like the broader picture first, the WordPress speed optimization guide covers the foundational concepts behind each of these areas.

1. Start with the Right Host

No caching layer, compression plugin, or CDN setup will fully compensate for an under-resourced server. WordPress hosting is the foundation, and getting it wrong means everything else is playing catch-up.

Shared hosting is the most common problem. When your site shares server resources with hundreds of others, your performance is partly at the mercy of your neighbors on the same server. Managed WordPress hosting is the meaningful step up. Providers like Servebolt, Kinsta, and WP Engine handle server-level caching, PHP version management, and infrastructure tuning as part of the service. Your time to first byte drops, and you stop fighting the environment.

If your site’s loading slowly and you’re on a cheap shared plan, fix the hosting before you optimize anything else. The gains elsewhere depend on it.

2. Use an All-in-One Performance Plugin

Most WordPress speed problems come from the same three places: no caching, unoptimized images, and no CDN. You can solve each one with a separate plugin, or you can handle all of it in a single install.

FastPixel is a cloud-based performance plugin that covers caching, image optimization, CDN delivery, lazy loading, and more in one place. It handles page caching, browser and session-aware caching, HTML/JS/CSS minification, Critical CSS, image optimization using ShortPixel’s compression technology, adaptive image resizing, automatic WebP delivery, LCP preloading, lazy loading, and a built-in global CDN. Core Web Vitals improvement comes as a byproduct of all of the above working together.

A FastPixel performance test's results.
A FastPixel optimization test’s results.

The cloud-based architecture is worth understanding. The heavy processing happens on FastPixel’s servers rather than yours, which means your hosting resources stay free for your actual site. That’s a genuine advantage on shared hosting, but it matters on managed hosting too.

The SEO connection is direct. Google’s Core Web Vitals use Largest Contentful Paint (LCP) as a ranking signal, and LCP is almost always an image. Serving a 2MB JPEG when a 300KB WebP would look identical is a ranking liability. FastPixel handles that conversion automatically, including proper fallbacks for browsers that don’t yet support newer formats.

Setup is close to one-click. There’s a free tier for smaller sites (up to 5,000 pageviews/month), and paid plans start from $8.33/month.

3. Or Use a Dedicated Image Optimization Plugin

If you’re already happy with your caching setup and just want to go deeper on image optimization specifically, ShortPixel Image Optimizer is the dedicated tool worth knowing.

It handles compression automatically on upload, converts images to WebP and AVIF, and bulk-processes an existing Media Library in one pass. Its SmartCompress engine runs each image through multiple optimization passes rather than applying a blanket quality reduction, so you get the smallest file size that still looks like the original.

Where ShortPixel goes further than FastPixel’s image layer is the AI Image SEO feature, which generates ALT text and image metadata across your entire library. That matters both for accessibility and search rankings, and it’s not something a general performance plugin typically covers.

For a deeper look at how ShortPixel works, the ShortPixel discovery article on WP Mayor covers the detail. For image optimization more broadly, the actionable image optimization guide is worth bookmarking.

ShortPixel is free up to 100 images per month, with an unlimited plan from $9.99/month.

ShortPixel in the WordPress media library.
ShortPixel adds an optimization column with compression percentages to the Media Library.

Want More Control? The Alternative Route

FastPixel is the right choice for most sites. But if you prefer dedicated tools and more granular configuration, the traditional stack is WP Rocket for caching and ShortPixel for images.

WP Rocket is the most capable standalone caching plugin available. It handles page caching, browser caching, GZIP compression, file minification, and script deferral in one interface, with no manual configuration required for each feature. It’s worth understanding what minification and deferral actually do: minification strips whitespace and comments from CSS and JavaScript files, making them smaller, while deferring non-critical scripts lets the browser render the page before waiting for JavaScript to finish loading.

Take caution in understanding that deferring scripts can occasionally break functionality with plugins that depend on JavaScript initialization at load time, so always test in staging before pushing to production.

WP Rocket starts from $59/year. W3 Total Cache and LiteSpeed Cache are solid free alternatives if you’re not ready to pay, though they need more hands-on setup.

The advantage of this route is precision. You can tune each layer independently, and if something breaks you know exactly which plugin is responsible. The tradeoff is more plugins to manage and more configuration to maintain.

For a full look at what’s available, the WordPress speed optimization plugins roundup on WP Mayor covers the main options across different budgets and setups.

4. Get Lazy Loading Right

Since WordPress 5.5, images below the fold load only when a visitor scrolls near them rather than all at once on initial page load. That’s a sensible default for most images. The problem is when it applies to the wrong ones.

Your LCP image, usually the hero image or main featured image at the top of the page, should never be lazy loaded. When it is, the browser defers loading the most important visible element on the page, and your LCP score takes a direct hit. WordPress 5.9 improved this by excluding the first image on a page from lazy loading, and WordPress 6.3 went further by adding fetchpriority="high" to the likely LCP image and fixing the remaining edge cases. Even so, third-party optimization plugins can still override that behavior without you realizing it.

FastPixel handles this automatically via its LCP preloading feature, which detects and prioritizes the LCP image at the top of each page. WP Rocket does the same with its critical image optimization feature. If you’re using a different setup, check that your hero image or featured image at the top of each page has loading="eager" or no loading attribute at all. It’s a small configuration detail, but it has a real impact on your Core Web Vitals score.

FastPixel's page optimization test.
FastPixel offers a page optimization test that you can run on your own site in seconds.

5. Be Selective About Plugins

Every active plugin adds code that runs on every page load. The damage is almost always cumulative rather than coming from a single offending plugin. A site with 40 active plugins has a performance liability regardless of how lightweight each one is individually.

Start by auditing what’s actually active and deactivating anything that isn’t earning its place. Watch for plugins that load scripts and stylesheets on every page when they only need to on specific ones. Slider plugins, social sharing plugins, and plugins bundled with page builders are consistently the heaviest offenders. A tool like Query Monitor shows you exactly what’s running on each page and where the slowdowns are.

Quality beats quantity every time. A well-coded plugin that solves a real problem is worth more than five lightweight plugins each solving a third of one.

6. Use a CDN for Global Delivery

If your server sits in one physical location and your visitors are spread across multiple regions, a Content Delivery Network closes the gap. CDNs cache static assets like images, CSS, and JavaScript across globally distributed servers and serve each visitor from the node nearest to them.

If you’re using FastPixel, the built-in global CDN covers this automatically — no separate setup needed. If you’re running a different stack, Cloudflare is the most widely used standalone CDN in the WordPress world and has a genuinely useful free tier. BunnyCDN and KeyCDN are strong paid alternatives for higher-traffic sites or more demanding setups.

7. Clean Up Your Database

WordPress stores everything in its database: posts, revisions, comments, transients, plugin data, and more. Over time, that accumulates. Post revisions alone can add up to thousands of redundant rows on an active publishing site. Old transients, spam comments, and orphaned plugin data pile on top. The result is slower database queries and, eventually, a measurable effect on your site’s speed.

WP-Optimize is the most straightforward tool for this. It removes post revisions, cleans expired transients, deletes spam comments, and optimizes database tables, all from a single interface, with scheduling options so it runs automatically. Most sites benefit from running a cleanup immediately and then setting a recurring monthly schedule.

One thing to do first: take a full database backup before running any cleanup. The operations are safe in practice, but backing up before you touch the database is non-negotiable.

8. Measure What You Fixed and Keep Measuring

WordPress site speed isn’t a one-time fix. It’s a maintenance posture. Plugins get added, content piles up, themes get updated, and what was fast six months ago can quietly slow down without anyone noticing.

The tools worth keeping in rotation are:

  • Google PageSpeed Insights for the Core Web Vitals picture.
  • GTmetrix for detailed waterfall analysis.
  • Your hosting provider’s own performance metrics, if they offer them.

Run a test before and after any significant change, whether that’s a new plugin, a theme update, or a new page builder, to catch regressions early.

Sites that stay fast tend to have the same things in common. They’re set up with good hosting, automated image optimization, a caching layer, regular database cleanup, and someone who periodically asks whether every active plugin is still necessary. None of that requires deep technical expertise. It just requires treating site speed as a habit rather than a crisis response.

What’s the biggest drag on your site’s load time right now? Have you actually measured it, or are you guessing?