DEV Community

Jay Malhotra
Jay Malhotra

Posted on Originally published at jaymalhotra.in on

The WordPress speed checklist I use on every client site

A slow website quietly costs you leads, sales and rankings. The good news: most WordPress speed problems come from the same handful of causes. This is the checklist I work through on client sites, roughly in order of impact.

1. Measure first

  • Run the page through PageSpeed Insights and note LCP, INP and CLS for mobile.
  • Check real-user data in Google Search Console → Core Web Vitals.
  • Use a waterfall tool (WebPageTest or browser DevTools) to see what actually loads and in what order.

Always test the mobile result — that is what Google uses for ranking.

2. Hosting and server

  • Use a current PHP version (8.2+) and enough memory for your traffic.
  • Enable server-level or object caching (Redis/Memcached) where the host supports it.
  • Put a CDN in front of the site — Cloudflare's free plan alone is a big win for global visitors.

3. Page caching

Serve cached HTML to anonymous visitors. A good caching plugin (or the host's built-in cache) can cut server response time from a second to a few milliseconds. Exclude cart, checkout and account pages on WooCommerce sites.

4. Images (usually the biggest win)

  • Serve modern formats — WebP or AVIF.
  • Resize images to the size they are displayed; never upload a 4000px photo for a 600px slot.
  • Lazy-load images below the fold, but never lazy-load the hero/LCP image — preload it instead.
  • Always set width and height to prevent layout shift (CLS).

5. Theme and page builder

Heavy multipurpose themes and page builders load a lot of CSS and JavaScript on every page. If a site is slow, this is often the root cause. Options: switch to a lightweight theme, use the builder's performance settings (load assets only where used), or rebuild key templates in native blocks.

6. Plugins and third-party scripts

  • Audit every plugin — deactivate anything unused and replace heavy ones with lighter alternatives.
  • Delay non-critical scripts (chat widgets, heatmaps, social embeds) until user interaction.
  • Load analytics and tag managers efficiently; each extra tag adds main-thread work that hurts INP.

7. CSS, JavaScript and fonts

  • Minify and combine where it helps, and remove unused CSS.
  • Defer non-critical JavaScript.
  • Self-host fonts or limit families and weights; use font-display: swap and preload the main font file.

8. Database housekeeping

Clean up post revisions, expired transients, spam comments and orphaned plugin tables. Large, bloated wp_options autoload data is a common hidden cause of slow back ends.

9. Re-test and monitor

After each change, re-run your measurements so you know what actually helped. Then keep an eye on Core Web Vitals monthly — new plugins and marketing scripts tend to creep back in.

Need a hand?

If your WordPress or WooCommerce site feels sluggish, I offer focused speed and Core Web Vitals work. Send me the URL and I'll tell you where the biggest wins are.

Originally published at jaymalhotra.in.

Top comments (0)