Why Most WordPress Speed Guides Are Backwards
Most WordPress speed guides tell you to install a caching plugin first. That is not wrong, but it is backwards. If your hosting environment is not configured correctly, caching is a band-aid over a structural problem. This checklist is ordered by impact-to-effort ratio.
Step 1: Choose the Right Hosting (Impact: Enormous)
No amount of plugin optimisation overcomes a slow server. If your Time to First Byte is above 600ms, your host is the problem. Target TTFB under 200ms. Test yours at tools.pingdom.com. Best TTFB in our testing: Cloudways at 89ms median, Hostinger at 147ms, SiteGround at 183ms.
Step 2: Use PHP 8.1 or Higher (Impact: High)
PHP 8.1 is roughly twice as fast as PHP 7.4 for WordPress. This is a free zero-risk upgrade on any modern host. In cPanel, go to Select PHP Version and switch to 8.1 or higher.
Step 3: Implement Server-Side Caching (Impact: Very High)
Page caching stores rendered HTML and serves it directly to visitors, bypassing PHP and database queries. For a page that takes 400ms to generate dynamically, caching reduces serve time to 5–20ms. If your host includes server-level caching, use it. Otherwise WP Rocket is the best caching plugin.
Step 4: Use a CDN (Impact: High for International Traffic)
A CDN stores copies of your static files on servers distributed globally. Cloudflare’s free plan is the easiest entry point — enable it by changing your domain’s nameservers to Cloudflare’s. The performance improvement for visitors far from your server is dramatic.
Step 5: Optimise Your Images (Impact: High)
- Format: Use WebP instead of JPEG or PNG — 25–34% smaller at equivalent quality.
- Size: Never upload a 4,000px image for an 800px column. Resize before uploading.
- Lazy loading: WordPress has native lazy loading built in — ensure no plugin is disabling it.
Step 6: Minimise Render-Blocking Resources (Impact: Medium-High)
CSS and JavaScript files that load in the document head block the browser from rendering the page. Defer all non-critical JavaScript. WP Rocket and LiteSpeed Cache both handle this automatically.
Step 7: Reduce Your Plugin Count (Impact: Variable)
Use the Plugin Performance Profiler to measure how much time each plugin adds to your page load. Plugins adding more than 50ms should be candidates for replacement or removal.
Step 8: Optimise Your Database (Impact: Medium)
WordPress databases accumulate post revisions, spam comments, and expired transients. WP-Optimize cleans these automatically on a schedule. A bloated database can add 50–200ms to every page load.
Step 9: Use a Lightweight Theme (Impact: Medium)
GeneratePress and Kadence are the two best lightweight themes for WordPress — both score consistently above 95 on PageSpeed Insights on clean installations.
Step 10: Configure Browser Caching (Impact: Low-Medium)
Browser caching tells returning visitors’ browsers to store your static files locally. Set cache-control headers for at least 1 year on images, fonts, CSS, and JavaScript. Most caching plugins handle this automatically.
Step 11: Enable HTTP/2 or HTTP/3 (Impact: Low-Medium)
HTTP/2 allows multiple files to download simultaneously over a single connection. Most modern hosts support HTTP/2 by default. Cloudflare enables HTTP/3 automatically. Verify via browser DevTools Network tab — look for h2 or h3 in the Protocol column.
Step 12: Monitor and Iterate (Ongoing)
Install Google Search Console and check the Core Web Vitals report monthly. Speed regressions are easier to catch early — a plugin update adding 300ms is much easier to roll back immediately than to diagnose three months later.