Performance 3 min read

WordPress Speed Optimization: A Complete Checklist

A slow WordPress site loses visitors and rankings. This checklist covers every layer — hosting, caching, images, theme, plugins, scripts and database — in the order that gives the biggest gains.

On this page

Key takeaways

  • Speed work follows a clear order: hosting → caching → images → JavaScript/CSS → fonts → database.
  • Measure with field data (Search Console, PageSpeed Insights top section), not just Lighthouse scores.
  • Most slow WordPress sites suffer from heavy themes/builders, too many plugins and unoptimised images.

A slow WordPress site loses visitors, enquiries and rankings. I’ve taken sites from 6-second mobile load times to under 2 seconds without changing their design, simply by working through the layers below in order. Use this as your checklist.

Step 0: measure first#

  • Search Console → Core Web Vitals: which URL groups fail, on mobile or desktop?
  • PageSpeed Insights on your homepage, a blog post and a key landing page.
  • Note TTFB, LCP, INP and CLS and the LCP element for each.
  • Install Query Monitor (temporarily) to spot slow plugins and database queries.

1. Hosting and server#

  • PHP 8.2 or 8.3 — significantly faster than PHP 7.x.
  • Enough CPU/RAM; avoid oversold cheap shared hosting for business sites — see hosting types.
  • Data centre close to your audience (Mumbai or Singapore for India).
  • HTTP/2 or HTTP/3, Brotli compression, OPcache enabled.
  • Target TTFB under 0.8 s.

2. Caching#

  • Page caching: server-level (LiteSpeed, Nginx FastCGI, host caching) or one caching plugin.
  • Object caching: Redis or Memcached for dynamic sites (WooCommerce, membership).
  • CDN: Cloudflare or your host’s CDN for static files, optionally full-page edge caching — see Cloudflare setup.
  • Browser caching: long cache lifetimes for versioned CSS/JS/images.

3. Images#

  • Resize before uploading; nothing wider than ~2000 px for full-width images.
  • Convert to WebP or AVIF and compress (image optimisation plugin or CDN).
  • Keep native lazy loading for below-the-fold images; never lazy-load the hero — see lazy loading.
  • Replace hero sliders with a single image or text.

Need a hand with this?

Get a quick, honest review of your website’s SEO.

Chat on WhatsApp

4. JavaScript and CSS#

  • Deactivate plugins you don’t need; unload plugin assets on pages that don’t use them.
  • Defer scripts and delay non-critical third-party tags — see defer vs async and third-party scripts.
  • Remove unused CSS / generate critical CSS — see CSS performance.
  • Use facades for YouTube and Maps — see embeds guide.
  • Consider replacing heavy page builders on key pages with block editor layouts.

5. Fonts#

Limit families and weights, use font-display: swap, and self-host if possible — see web fonts guide.

6. Database and backend#

  • Clean post revisions, spam comments, expired transients and orphaned data — see database optimization.
  • Limit revisions: define( 'WP_POST_REVISIONS', 10 );
  • Check autoloaded options size (large autoload data slows every request).
  • Control the Heartbeat API on admin-heavy sites.

7. Verify and monitor#

Re-test after each change so you know what helped. Field data in Search Console updates over 28 days. Re-check whenever you add a plugin or a marketing tag.

WordPress speed FAQ#

Which caching plugin is best?#

Use what fits your server: LiteSpeed Cache on LiteSpeed hosting, host-provided caching on managed hosts, or WP Rocket/FlyingPress elsewhere. Only one.

Will a CDN alone make my site fast?#

It helps with static files and distance, but slow servers, heavy JavaScript and large images still need fixing.

Is a 100 PageSpeed score necessary?#

No. Aim to pass Core Web Vitals for real users; chasing 100 often brings diminishing returns.

Found this useful? Share it

Join the discussion

Your email address will not be published. Required fields are marked *

Security code image. If you cannot read it, press refresh or contact me on WhatsApp.