ExpertsGrow logo Get a free quote ↗

WordPress Speed Checklist: 15 Fixes in the Right Order

July 16, 2024 · 3 min read
WordPress Speed Checklist: 15 Fixes in the Right Order

A slow website costs you visitors, leads and search visibility. The good news is that most WordPress sites can be made much faster with a handful of fixes. The order matters, because some changes remove the need for others. Work through this list from the top.

Step 1: Measure before you change anything

Run your key pages through PageSpeed Insights, and note your scores for mobile and desktop along with the metrics that fail. Save a copy so you can compare later. Our guide to website performance metrics explains what each number means.

The server side

2. Use a current PHP version and enable OPcache

Newer PHP versions are faster. OPcache stores compiled PHP in memory, and leaving it off can add a lot of delay to every request.

3. Choose hosting that matches your traffic

If response time stays slow after caching, the server is the limit. Look for modern PHP, fast storage and server-level caching.

4. Turn on page caching

Caching saves the finished page so WordPress does not rebuild it for every visitor. It is usually the biggest single improvement. See how it affects Time to First Byte.

5. Add a CDN

A CDN such as Cloudflare serves static files, and optionally your HTML, from locations near your visitors. Remember to exclude carts, checkout and logged-in users from HTML caching.

6. Enable Brotli or GZIP compression

Compression shrinks text files before they travel. Read our comparison of Brotli and GZIP.

The page itself

7. Compress and resize images

Images are usually the heaviest part of a page. Convert to WebP or AVIF, resize to the size actually displayed and compress. A 3000 pixel photo shown at 600 pixels wastes bandwidth.

8. Lazy-load below-the-fold images, but not the first one

Lazy loading saves data for images further down, but your top image, which is often the Largest Contentful Paint element, should load immediately.

9. Set image dimensions

Add width and height so the browser reserves space and the layout does not jump.

10. Limit fonts

Each font family and weight adds a download. Use two families at most, load only the weights you use, and add font-display: swap. Self-hosting fonts saves an extra connection.

11. Reduce render-blocking CSS and JavaScript

Defer scripts that are not needed straight away, and inline small critical styles. Our post on render-blocking resources explains how.

The WordPress side

12. Audit your plugins

Deactivate and delete plugins you do not use. Replace heavy ones with lighter alternatives. Test one at a time, because a single plugin can cost more than ten.

13. Choose a lightweight theme and builder setup

A bloated theme or too many nested containers in a page builder inflate the page. Keep layouts simple and reuse global styles.

14. Clean the database

Remove expired transients, old revisions, spam comments and tables from plugins you no longer use. Back up first. Limit stored revisions in wp-config.php.

15. Re-test and monitor

Run the same tests again and compare with Step 1. Check the Core Web Vitals report in Search Console after a few weeks, since that reflects real visitors. Our guide to Core Web Vitals shows the targets.

What a realistic result looks like

Many sites move from red or orange scores to green with caching, image work and script cleanup alone. A perfect 100 is not always realistic on mobile, especially with analytics and chat widgets. Aim for green Core Web Vitals and a fast real-world experience.

Prefer to hand it over?

We do this work every week. See our WordPress speed optimization service or contact us for a free speed review.