Measure before you change anything
You cannot improve what you do not measure. Start with a real page-speed test (PageSpeed Insights or a similar lab tool) on your homepage and one key landing page, on mobile. Note the largest contentful paint (LCP), interaction to next paint (INP) and cumulative layout shift (CLS). These three numbers — Core Web Vitals — are what Google actually cares about, and they point you at the real bottleneck instead of guesswork.
Test again after each change. If a "speed plugin" does not move the numbers, it is not helping. Chasing a perfect score is a waste of time; getting LCP under about 2.5 seconds on mobile is the goal that affects rankings and conversions.
Fix hosting and caching first — the biggest wins
The single most common cause of a slow WordPress site is cheap, overcrowded shared hosting. If your server takes more than about 400–600ms just to respond (time to first byte), no amount of front-end tweaking will save you. Moving to quality hosting with server-level caching (LiteSpeed or NGINX with a proper cache) is frequently the biggest improvement available.
On top of that, add a caching layer. A good caching plugin turns your dynamic PHP pages into static HTML so repeat visitors are served instantly, and a CDN puts your files physically closer to visitors. These two changes alone often halve load times before you touch a single image.
Images are usually the heaviest thing on the page
After hosting, images are the next biggest lever. Serve modern formats (WebP or AVIF), compress them, and size them correctly — a 3000px photo displayed at 600px is wasting most of its bytes. Enable lazy-loading so off-screen images do not block the first paint, and always set explicit width and height so the layout does not jump (which fixes CLS).
Be especially careful with the largest image above the fold — often your hero. That image is usually your LCP element, so it should be optimised, correctly sized and, ideally, preloaded so the browser fetches it early.
Audit plugins, fonts and scripts
Every active plugin can add CSS, JavaScript and database queries to every page. Deactivate and delete anything you do not need, and be suspicious of page builders and sliders, which are common performance offenders. Where possible, replace three single-purpose plugins with one well-built solution.
Fonts and third-party scripts are the quiet killers. Load only the font weights you actually use and self-host them so there is no extra connection to Google Fonts. Delay or remove non-essential third-party scripts (chat widgets, heatmaps, extra analytics) — each one is a separate network request that can block interactivity and hurt your INP score.
Lock it in and keep it fast
Once you are fast, keep it that way. Re-test after every plugin install or theme change, keep images disciplined, and schedule a periodic performance check so regressions are caught early. Speed is not a one-time project; it is a habit — but the wins above are durable and, done in order, they turn a sluggish WordPress site into one that feels instant.
Implementation Checklist
- Measure Core Web Vitals (LCP, INP, CLS) on mobile before starting
- Move to quality hosting with server-level caching if TTFB is high
- Add a caching plugin and a CDN
- Convert images to WebP/AVIF, compress and size them correctly
- Set width/height on images and lazy-load off-screen ones
- Preload the above-the-fold hero (LCP) image
- Delete unused plugins; replace heavy page builders where possible
- Self-host fonts and delay non-essential third-party scripts
- Re-test after every change and monitor for regressions
FAQs
Why is my WordPress site so slow?
The usual causes, in order of impact, are cheap/overcrowded hosting, no caching, unoptimised images, too many plugins, and heavy fonts or third-party scripts. Measure first so you fix the real bottleneck.
Do speed plugins actually work?
A good caching plugin helps a lot. Many "all-in-one optimiser" plugins help modestly and some make things worse — always test Core Web Vitals before and after to confirm real improvement.
What is a good page speed for mobile?
Aim for a largest contentful paint (LCP) under about 2.5 seconds on mobile. That is the threshold Google treats as "good" and it is where conversions noticeably improve.
Is hosting really that important for speed?
Yes. If the server is slow to respond, front-end tweaks cannot compensate. Quality hosting with server-level caching is often the single biggest improvement you can make.