Why is my website slow?
Published 14 Oct 2026
A slow website costs you visitors before they read a word. The good news is that most slow sites are slow for the same handful of reasons, and you can work out which ones apply to yours in about ten minutes.
First, measure it
Don't guess. Open PageSpeed Insights, paste your address and run the test. You get two kinds of results:
- Real visitor data at the top, if Google has enough of it for your site. This is what your customers actually experience.
- A lab test (Lighthouse) underneath. This is one simulated visit on a mid-range phone with a throttled connection.
Test on mobile first. Most small business sites look fine on a desktop with fast broadband and struggle on a phone. Run the test two or three times, because the score moves a few points between runs.
Then scroll to the "Diagnostics" section. It lists what is slowing the page down, roughly in order of impact. The causes below are the ones that come up most.
1. Images that are far too big
This is the most common problem we see. Someone uploads a photo straight from a phone or camera, 4000 pixels wide and several megabytes, and the site shows it in a box 800 pixels wide. Every visitor downloads the full file.
Fix: resize images to the largest size they display at, and save them as WebP or a well-compressed JPEG. On WordPress, a plugin such as ShortPixel, Imagify or EWWW can compress your existing library in bulk. Also check that images below the fold use lazy loading, so the browser only fetches them when the visitor scrolls near them.
2. Slow hosting
Before the browser can show anything, your server has to respond. PageSpeed calls this "server response time" or Time to First Byte. If it is regularly over about 600 milliseconds, the hosting is part of the problem.
Cheap shared hosting puts hundreds of sites on one server. When a neighbour gets busy, your site slows down. Distance matters too: a site hosted in Europe will feel slower to visitors in South Africa or Australia.
Fix: turn on page caching first (see below), since it often solves the problem without moving. If response times stay high, ask your host what plan you are on, or move to a host with servers closer to your customers. A CDN such as Cloudflare can also serve your files from a location near each visitor.
3. No caching
A WordPress page is built from scratch on every visit: PHP runs, the database is queried and the HTML is assembled. Page caching saves the finished HTML and serves that copy instead, which is much faster.
Fix: many hosts include caching, so check your control panel first. If not, a caching plugin such as WP Rocket, LiteSpeed Cache (on LiteSpeed servers) or W3 Total Cache will do it. Install one caching plugin only, since two will fight each other.
4. Too many plugins and scripts
Each plugin can add its own CSS and JavaScript to every page, even pages where it does nothing. A contact form plugin that loads on your blog posts, a slider on every page, three different analytics tags: it adds up. JavaScript is the expensive part, because the phone has to download it, then parse it and run it before the page responds to taps.
Fix: go through your plugin list and remove anything you no longer use. In PageSpeed, look at "Reduce unused JavaScript" to see which files are the heaviest. Tools like Perfmatters or Asset CleanUp let you switch off a plugin's files on pages that don't need them.
5. A heavy theme or page builder
Multipurpose themes and drag-and-drop page builders are convenient, and they often load a lot of code to support features you never use. Sites built with older page builders tend to have deeply nested HTML and large CSS files.
Fix: this is the hardest one to change, because it can mean rebuilding pages. Start with the builder's own performance settings, which many now include. If you are planning a redesign anyway, choose a lightweight theme and use the WordPress block editor where you can.
6. Web fonts and third-party embeds
Custom fonts, embedded YouTube videos, maps, chat widgets and social feeds all pull files from other servers. Each one adds requests and code you don't control.
Fix: limit yourself to one or two font families and host them on your own server. Replace embedded videos with a thumbnail that loads the player only when clicked. Ask whether the chat widget actually gets used.
What to fix first
If you only have an afternoon, do these in order:
- Compress and resize your images.
- Turn on page caching.
- Remove plugins you don't use.
- Run PageSpeed again and compare.
Those three steps fix the bulk of the slow sites we look at. If the mobile score is still poor after that, the cause is usually the hosting, the theme or the scripts, and the diagnostics list will tell you which. Our guide to fixing Core Web Vitals goes deeper on the specific numbers Google uses.
Want a second opinion?
If you would rather see the results without reading the diagnostics yourself, the free CrawlCare scan runs the same Google tests on mobile and desktop and lists the problems in plain language. It takes about a minute, and you are under no obligation to buy anything.