WordPress Speed Optimization: 20 Fixes That Work

A slow WordPress site costs you twice: visitors leave before the page loads, and search engines rank you lower because of weak Core Web Vitals. The good news is that WordPress speed optimization is rarely about one magic plugin. It is a series of specific fixes across hosting, caching, media, code and data, and most sites can move from “poor” to “good” with the 20 changes below.
We have ordered them roughly by impact, so work from the top. Before you start, record a baseline with PageSpeed Insights and the Core Web Vitals report in Google Search Console, so you can measure what each change achieves.
What “Fast” Means for a WordPress Site
A fast WordPress site passes Google’s three Core Web Vitals at the 75th percentile of real visits. According to web.dev, the “good” thresholds are:
| Metric | What it measures | Good threshold |
|---|---|---|
| Largest Contentful Paint (LCP) | How quickly the main content appears | 2.5 seconds or less |
| Interaction to Next Paint (INP) | How quickly the page responds to taps and clicks | 200 milliseconds or less |
| Cumulative Layout Shift (CLS) | How much the layout jumps while loading | 0.1 or less |
For a deeper explanation of each metric, read our guide on how to pass Core Web Vitals.
Hosting and Server Fixes (1–5)
Server response time sets the floor for every other metric, so fix the foundation first.
- Move off cheap shared hosting. If your Time to First Byte is regularly above 600 ms, a managed WordPress host or a properly sized cloud server will help more than any plugin.
- Run a current PHP version. Each PHP 8.x release brings performance gains and security fixes. Check the minimum and recommended versions on the WordPress requirements page and test plugins on staging before upgrading.
- Enable full-page caching. Serve pre-built HTML to anonymous visitors through server-level caching (Nginx FastCGI cache, Varnish or your host’s built-in cache) or a reputable caching plugin.
- Add a persistent object cache. Redis or Memcached stores database query results in memory, which matters most for WooCommerce, membership and logged-in traffic that cannot be page-cached.
- Use a CDN. A content delivery network serves images, CSS and JavaScript from locations close to each visitor. Many CDNs can also cache full HTML pages at the edge.
Image and Media Fixes (6–10)
Images are the largest element on most pages and the usual cause of slow LCP.
- Serve modern formats. Convert JPEG and PNG to WebP or AVIF. WordPress supports both formats in the media library on servers with the right image libraries.
- Resize before uploading. A 5,000-pixel photo displayed at 1,200 pixels wastes bandwidth even when compressed. Set sensible maximum upload dimensions.
- Do not lazy-load the hero image. WordPress lazy-loads images by default, but the main above-the-fold image should load immediately with high fetch priority. Check that your theme or plugins are not overriding this.
- Always set width and height on images, videos and embeds so the browser reserves space and the layout does not shift.
- Replace video embeds with facades. Show a lightweight thumbnail and load the YouTube or Vimeo player only when the visitor clicks play.

Theme, Plugin and Script Fixes (11–16)
Bloated themes and plugins load code on every page whether it is needed or not, which hurts both LCP and INP.
- Audit your plugins. Remove anything unused, and replace heavy multipurpose plugins with focused ones. Query Monitor helps identify plugins that add slow database queries.
- Choose a lightweight theme. Multipurpose themes with built-in sliders and animations often ship hundreds of kilobytes of unused CSS and JavaScript. A custom block theme typically loads a fraction of that.
- Load scripts only where needed. Contact form, slider and booking scripts should load only on the pages that use them. Use conditional enqueueing in code or an asset manager plugin.
- Defer or delay non-critical JavaScript. Add
deferto scripts that are not needed for first render, and delay chat widgets, heatmaps and marketing tags until user interaction. - Reduce third-party tags. Every analytics pixel, A/B testing tool and chat widget competes for the main thread. Review them quarterly and remove those nobody uses.
- Self-host and subset fonts. Host web fonts locally, limit weights to the ones you use, preload the main font and use
font-display: swap.
Database and Backend Fixes (17–20)
Older sites accumulate database clutter and background tasks that slow down every uncached request.
- Limit post revisions and clean old data. Set
WP_POST_REVISIONSto a sensible number and remove expired transients, spam comments and orphaned metadata. - Trim autoloaded options. Plugins sometimes store large data in options that load on every request. Large autoloaded data is a common hidden cause of slow back ends.
- Replace WP-Cron with a real cron job. By default WP-Cron runs on page visits. Disable it with
DISABLE_WP_CRONand trigger it from a server cron every few minutes instead. - Control the Heartbeat API and admin-ajax calls. Reduce Heartbeat frequency in the admin and replace slow front-end admin-ajax requests with cached REST endpoints where possible.
How to Prioritize WordPress Speed Optimization Work
Prioritize by the metric that is failing. Each Core Web Vital tends to have a different root cause:
- Poor LCP: start with hosting, caching, the hero image and render-blocking CSS (fixes 1–8).
- Poor INP: focus on JavaScript weight, third-party tags and heavy page builders (fixes 11–15).
- Poor CLS: set image dimensions, reserve space for ads and banners, and handle font loading (fixes 9 and 16).
Remember that Search Console reports field data collected over 28 days, so improvements take a few weeks to show. Lab tools such as Lighthouse give instant feedback but do not replace real-user data. Faster pages also tend to lift conversions, which is why speed is one of the first items in our e-commerce conversion rate optimization tactics.
A Safe Workflow for Speed Changes
Make performance changes on a staging copy first, one group at a time, and measure after each. Speed fixes such as script deferral, CSS optimization and aggressive caching can break forms, checkouts and logged-in features in ways that are easy to miss.
- Clone the live site to staging with the same PHP version, caching layers and plugins.
- Test your key templates (home, a landing page, a blog post, a product or service page) with Lighthouse on a mobile profile and note LCP, total blocking time and CLS.
- Apply one group of fixes, such as image optimization, then re-test the same templates.
- Run a functional checklist: submit every form, complete a test purchase, log in and out, and check the mobile menu.
- Deploy to production and purge all caches, including the CDN, then watch field data in Search Console over the following weeks.
If a site still fails after these fixes, the theme or page builder is usually the bottleneck. At that point a rebuild on a lightweight block theme is often cheaper than months of patching, and it is a good moment to review the wider architecture with your development partner.
Frequently Asked Questions
Which caching plugin is best for WordPress?
It depends on your host. If your managed host provides server-level caching, use it and avoid stacking a second page-cache plugin. On a self-managed server, a well-maintained caching plugin combined with Redis object caching works well for most sites.
Does the number of plugins slow down WordPress?
Quality matters more than quantity. Twenty small, well-written plugins can be faster than three bloated ones. Measure what each plugin adds rather than counting them.
Will Elementor or other page builders make my site slow?
Page builders add extra markup, CSS and JavaScript, so they make good scores harder but not impossible. Careful configuration helps; for long-lived, high-traffic sites, custom blocks on the native block editor are usually faster.
How fast should a WordPress page load?
Aim for LCP under 2.5 seconds on mobile for real users, INP under 200 ms and CLS under 0.1. Those are the thresholds Google uses for a “good” page experience.
Need a Faster WordPress Site?
Sigmato’s WordPress developers run performance audits, rebuild slow themes as lightweight block themes and tune hosting, caching and databases. Speed work pairs naturally with security, so see our WordPress security checklist too, or explore our broader website development services.