Every extra second of load time costs conversions. Google uses speed as a ranking signal, and mobile visitors leave quickly when nothing useful appears. You do not need a rewrite to improve most sites — you need measurement, then disciplined changes that do not break the design.
Work on a staging copy when you can. Take a backup before caching or optimisation plugins touch production. Change one major layer at a time so you know what helped. Resist the urge to install five “speed booster” plugins at once; they overlap, conflict, and make rollbacks painful.
Prioritise the templates that earn money or leads: home, key landing pages, product pages and the blog posts that already rank. A perfect score on an unused archive page helps nobody if checkout still crawls.
1. Benchmark before you change anything
Open PageSpeed Insights with your real URL on mobile and desktop. Note Largest Contentful Paint (LCP), Interaction to Next Paint (INP) and Cumulative Layout Shift (CLS), plus the opportunity list. Save a GTmetrix or WebPageTest run as a second opinion. Write down the numbers — without a baseline you cannot tell whether you improved anything.
Look at Time to First Byte (TTFB) as well. If the server takes ages to respond, theme tweaks will not save you; hosting or uncached dynamic pages are the bottleneck. WooCommerce cart and account pages are often slow by nature — measure a typical marketing page and a product page separately.
2. Turn on proper page caching
Anonymous visitors should receive a cached HTML page, not a fresh PHP bootstrap on every hit. Use your host’s native page cache when it is solid, or a well-supported caching plugin configured for your stack. Exclude carts, checkouts and personalised pages so ecommerce does not serve the wrong content.
Object caching (Redis or Memcached) helps busy dynamic sites once page cache is in place. Clear caches after plugin updates and major content edits. Two caching plugins fighting each other is a classic way to create mysterious breakage — pick one approach and document it.
3. Compress and modernise images
Images are still the heaviest asset on most WordPress sites. Before upload, resize to the largest size you actually display. Compress JPEGs and PNGs. Serve modern formats such as WebP or AVIF where the toolchain supports them. Lazy-load below-the-fold images so the LCP image can win the network.
Check the LCP element in PageSpeed — if it is a hero image, optimise that file first. Swap giant PNG screenshots for compressed alternatives. Remove decorative full-width videos that autoplay on mobile unless they are essential to the offer.
4. Clean the database and trim plugins
Revisions, spam comments, expired transients and leftover options from deleted plugins inflate the database and slow admin and front-end queries. Use a maintained cleanup tool carefully, or clean known tables manually if you know what you are doing. Always backup first.
Deactivate and delete plugins you do not use. Each plugin can add queries, scripts and HTTP requests. Page builders, related-posts widgets and heavy analytics suites are frequent offenders. Prefer one good plugin over three mediocre ones that overlap. Delete unused themes except a default fallback.
In the admin, open the browser network panel on a slow front-end page and sort by size and time. You will usually find a handful of third-party scripts (tag managers, heatmaps, chat) that dwarf your theme CSS. Delay or remove what marketing does not actually use. The same audit often reveals duplicate jQuery copies or a slider library loaded site-wide for a single homepage module.