A theme gives you an optimized foundation. The result you actually get depends on your hosting, your content, your caching and your plugins, which are the four things this page is about.
#Measure first
Test a real page, not the homepage of an empty install. A page with your images, your content and your plugins active is the only measurement that means anything.
PageSpeed Insights and WebPageTest both do this for free. Note the number before you change anything, because without a starting point you cannot tell whether a change helped.
#Caching
Page caching is the largest single win on most sites, because it serves a finished page instead of building one per visit.
Set up page caching, browser caching, and a habit of clearing the cache after you change settings.
Never run two systems doing the same job.
Two page caches, or two lazy loading mechanisms, conflict rather than compound, and the symptom is usually something intermittent that nobody can reproduce on demand.
#Images
Usually the heaviest thing on the page, and usually the easiest fix.
- Serve the right size, so a thumbnail slot does not download a full resolution original
- Use a modern format such as WebP or AVIF
- Compress what you upload
- Let responsive images pick the size per device
- Lazy load what is below the fold
The single most common waste on a WordPress site is a full size photograph rendered into a small card.
#Server and CDN
Current PHP, because each version is measurably faster than the last. Adequate memory and execution limits. Fast storage. A data center near most of your audience.
A CDN helps when your audience is spread across continents, and helps very little when it is not.
#Scripts and plugins
Every integration has a cost. That is not an argument against using them, it is an argument for knowing which ones cost what.
Measure the effect of one component at a time rather than enabling everything and hoping. A plugin that adds a hundred milliseconds is fine. Six of them are not.
#The theme performance module
There is a small performance module in the product that strips out minor WordPress resources you may not need.
Treat it as a last optional step. It is not a substitute for caching, image optimization or a decent server, and enabling it while ignoring those three will not produce a number worth having.
#Measure again
Same page, same tool. Then keep this priority order in mind for next time:
- Images
- Caching
- The server
- Third party scripts
- Small toggles
Most people work that list backwards.
An evening spent on the small toggles moves almost nothing while an unoptimised hero image is still being downloaded at full resolution on every visit.
#Common questions
Will a caching plugin break my site?
It can, briefly, when it caches something dynamic, which is exactly why you clear the cache after configuration changes and check the result in a private window.
Do I need a CDN?
If your visitors are mostly in one country and your server is in that country then the gain is small, while for a genuinely global audience it is significant.
My score is high and the site feels slow
Scores measure a page in a lab, so test on a real phone on a real connection and trust that over the number.
Should I minify everything?
Minification is a small win with a real risk of breaking scripts, so do it after the four items above and walk the site afterwards rather than assuming it was free.
Nothing I try moves the number
Look at the server, because a slow response before any content is sent points at hosting rather than at anything on the page, and no amount of front end work fixes that.
#Still stuck
Open a support ticket with the page you tested and the report link.
Last updated