WebSpeedLab X
Home / Insights / WordPress

WordPress speed optimization checklist for real websites.

A prioritized checklist that starts with measurement and backend response, then works through caching, plugins, images, fonts, JavaScript and WooCommerce safety.

The fastest way to waste a WordPress optimization budget is to install several performance plugins before identifying the bottleneck. Use this checklist in order. Measure representative templates, fix the largest constraint, and retest the same scenario after each coherent change.

1. Establish a baseline

  • Test homepage, key landing page, archive or category, post or product, cart and checkout where applicable.
  • Record mobile and desktop Lighthouse runs, but also inspect PageSpeed Insights field data when available.
  • Measure cached and uncached TTFB separately.
  • Save a network waterfall and Chrome Performance trace for the slowest template.
  • Verify the actual LCP element, long interactions and layout-shift sources.

Use a staging environment or a production-safe change window. A before result is only useful when the after test uses the same URL, device profile, location and cache state.

2. Fix hosting and PHP response

Slow HTML delays every browser optimization. Confirm a supported PHP version, OPcache, sufficient memory and enough workers for traffic and uncached requests. Review CPU throttling, disk I/O and database latency. Geography matters: an origin far from customers may need edge HTML caching or a better region.

Do not evaluate hosting only through a cached homepage. WooCommerce account, cart, checkout and personalized pages reveal uncached capacity.

3. Configure caching deliberately

  • Use one primary full-page cache layer and document exclusions.
  • Add persistent object caching such as Redis when query patterns benefit.
  • Set long browser cache lifetimes for versioned static assets.
  • Enable Brotli or gzip compression.
  • Use CDN edge caching for static files and safe HTML routes.

Avoid stacking multiple plugins that all minify, delay scripts and rewrite HTML. Overlapping features create inconsistent caches and brittle troubleshooting.

4. Clean the database and runtime work

Inspect slow queries, autoloaded options, expired transients, revision volume and scheduled tasks. Move WP-Cron to a controlled system schedule on busy sites. Remove database tables only after confirming ownership and taking a backup; inactive plugin data may still be required during rollback.

5. Audit plugins by page

Count is not the important metric. One plugin can be more expensive than twenty small plugins. Profile code and database work, then check which CSS and JavaScript assets load on templates where the feature is absent. Disable or dequeue assets narrowly and regression-test plugin interfaces.

6. Reduce theme and builder overhead

Page builders can remain usable while loading less per page. Remove unused widgets, global effects, icon packs and duplicate component libraries. Generate or isolate critical CSS carefully. Avoid huge DOM trees caused by nested containers and repeated mobile/desktop copies of the same content.

7. Optimize images and media

  • Resize uploads to realistic maximum dimensions.
  • Serve WebP or AVIF with a safe fallback strategy.
  • Use srcset and sizes so mobile visitors do not download desktop files.
  • Do not lazy-load the true above-the-fold LCP image.
  • Lazy-load offscreen galleries, embeds and video posters.
  • Set width and height or aspect-ratio to prevent CLS.

8. Control JavaScript and third parties

Remove unused libraries and duplicate trackers. Load chat, heatmaps, maps and non-essential widgets after consent, interaction or idle time when appropriate. For application code, reduce long tasks and page-wide event handlers. Deferring a script can improve load and still leave poor INP if initialization blocks the first interaction.

9. Simplify fonts

Self-host when licensing allows, keep only required subsets and weights, and preload only the font files needed immediately. Too many preloads compete with the LCP image. Match fallback font metrics and reserve text space to limit layout movement.

10. Protect WooCommerce behavior

  • Exclude cart, checkout, account and personalized endpoints from inappropriate page caching.
  • Review cart fragment behavior and mini-cart requirements.
  • Test variable products, coupons, tax, shipping and payment redirects.
  • Check product filters and search under uncached load.
  • Verify analytics events and consent after script changes.
Release rule: never call a WooCommerce optimization complete after testing only the homepage. The revenue path is the product-to-payment journey.

11. Validate and prevent regressions

Repeat the baseline, compare filmstrips and waterfalls, and perform functional checks. Add image-size rules, third-party ownership and performance budgets to the content and release workflow. Monitor field data because new plugins, campaigns and content can change performance weeks later.

If the checklist crosses multiple layers or previous attempts caused instability, use a professional WordPress speed optimization service that includes implementation and regression testing.

Want this checklist implemented safely?

We optimize the real bottleneck and test the pages that generate leads and revenue.

Request a WordPress audit