Why is my website slow?
The most common reasons websites load slowly are: unoptimised large images, too many plugins and third-party scripts, slow hosting, caching turned off, render-blocking CSS and JavaScript, badly loaded fonts, media without declared dimensions, and long redirect chains. Measure with PageSpeed Insights and Core Web Vitals, and start with the largest image.
- Measure first, then act
- Images are almost always the biggest load
- Every plugin is a request and an attack surface
- Core Web Vitals matter for users and SEO alike
Measure first: you can't fix speed by guessing
Starting with "let's delete that, it's probably slowing us down" wastes time. Measure first, using PageSpeed Insights and your browser's network tab. Test on desktop and mobile, in a tab with an empty cache — your own browser may already hold the site in memory.
Three metrics sit under Core Web Vitals: how long the largest content takes to appear (LCP), how quickly the page responds (INP), and how much the layout shifts (CLS).
1. Unoptimised images
By far the most common cause. Resize each image to the largest size it is actually shown at, convert it to WebP or AVIF, and lazy-load anything below the fold. Serve smaller copies with srcset — a phone has no reason to download a 2800-pixel image.
2. Plugin and third-party script bloat
A typical WordPress site loads dozens of plugins, each adding CSS, JavaScript and requests. Delete what you don't use, keep one analytics tool, and don't load heavy widgets until the user interacts.
3. Slow or distant hosting
If the server's first response (TTFB) is slow, no on-page work rescues it. Cheap shared hosting puts hundreds of sites on the same resources, and a server far from your visitors adds latency to every request.
4. Caching turned off
Use page caching on the server and long-lived cache headers for static files. There's no reason to re-download an image or stylesheet on every visit.
5. Render-blocking CSS and JavaScript
Browsers must fetch certain files before painting. Defer non-critical JavaScript, remove unused CSS, and serve one small stylesheet where you can.
6. Badly loaded fonts
Self-host fonts in woff2 with only the weights you use, and add font-display: swap so text isn't invisible while loading.
7. Images without dimensions
Without width and height, the page jumps as images load — the reader loses their line and buttons move. Set both, and reserve space for late content.
8. Redirect chains
http → https → www → trailing slash is three extra round trips. Collapse them into one.
Where to start, ordered by impact
- Shrink the largest image and convert it to WebP.
- Delete unused plugins and scripts.
- Turn caching on.
- Self-host fonts.
- Defer non-critical JavaScript.
- Measure again and compare.
When speed work isn't enough
On some sites individual fixes only go so far: the theme is heavy, plugin dependency runs deep and every update slows things down again. At that point keeping the design and replacing the foundation is a more lasting answer than optimising piece by piece. Preserving URLs and setting redirects where needed reduces the risk of that move — but rankings can still fluctuate for a while, so watch indexing after launch.
Speed isn't a one-off task, it's a habit. Every new page and image should be checked against the same thresholds.
Frequently asked questions
How fast should my site load?
Aim for the largest content to appear in under 2.5 seconds on mobile — the LCP threshold in Core Web Vitals. In practice 1–2 seconds is a good result.
Does my PageSpeed score have to be 100?
No. The score is a diagnostic, not a goal. If real-user data meets the LCP, INP and CLS thresholds, 90 is perfectly fine.
Does speed really affect SEO?
Yes, though not decisively on its own. Core Web Vitals are a ranking signal, but the bigger effect is indirect: on a slow site users leave, ad costs rise and conversion falls.
Can you speed up my current site, or does it need rebuilding?
We measure first. On most sites image, caching and script work delivers a serious gain. If theme and plugin dependency runs very deep, we suggest preserving the design and migrating the foundation.



