Learn · Guide
Why is my website slow on mobile?
Your site feels fast to you because you are testing it on a desktop, on your own connection, with everything already cached. Google is testing something else entirely.
Guide 8 min read
Your site feels fast to you because you are testing it wrong. You are on a desktop, on your own broadband, on a page your browser has already cached, having visited it four hundred times. Google is testing a mid-range Android phone on a throttled connection, loading the page cold.
Those are not the same measurement, and the gap between them is where most of the confusion lives.
What "slow" is actually measuring
Mobile speed is not one number. It is at least four, and they have different causes, so knowing which one is bad tells you where to look.
Time to first byte — the wait before anything happens
How long your server takes to start answering at all. Nothing on the page can begin until this finishes, so no amount of image optimisation will hide it. If this is slow, the cause is on the server: caching that is off, a hosting plan under strain, or a pile of plugins doing work on every request.
Fixing a slow server response →
Largest Contentful Paint — when the main thing appears
The moment the biggest element in view finishes rendering, usually your hero image or headline. This is the number most people mean by "slow", and on small-business sites the cause is almost always a single enormous image: a 4MB photograph straight off a phone camera, scaled down in the browser rather than before upload.
Cumulative Layout Shift — how much the page jumps
You go to tap a button, an advert or a late-loading image pushes it downward, and you tap something else. This has nothing to do with speed and everything to do with the experience being unpleasant. The usual cause is images and embeds without declared dimensions, so the browser does not reserve space for them.
Interaction to Next Paint — how quickly it answers a tap
How long the page takes to visibly respond when someone interacts. Slow here means too much JavaScript running: chat widgets, analytics, tracking pixels, a cookie banner, three of them fighting.
The four usual causes, in order of how often they are the answer
- Unoptimised images. Overwhelmingly the most common, and the easiest to fix. A photo displayed at 800 pixels wide does not need to be 4,000 pixels wide in the file.
- Third-party scripts. Every widget, pixel and embed is a separate request to somebody else's server, and your page waits for it. The chat bubble nobody uses is costing you real seconds.
- No caching. Without page caching, your server rebuilds the identical page from scratch for every visitor. Most hosts and platforms offer this and it is frequently just switched off.
- Cheap or overloaded hosting. The least fun answer, and genuinely the cause sometimes. If time to first byte is bad and caching is on, this is where you have landed.
What is worth doing, and what is not
Compress your images. If you do one thing, do this. Most platforms have a plugin or a built-in setting that will handle both existing and future uploads, and it typically halves page weight on a site that has never done it.
Remove what you do not use. Every site accumulates plugins, apps and widgets that were added for a campaign that ended two years ago. Deleting them is free and measurable.
Turn on caching. One switch, usually.
Do not chase 100. The score is a lab simulation, it varies between runs, and the effort required to get from 85 to 95 is wildly out of proportion to the effort to get from 35 to 70. Somewhere in the green is fine.
Do not rebuild your site over this. Speed problems on small-business sites are almost never architectural. Check the four causes above before anyone sells you a migration.
A separate problem that looks the same
If your site is not slow on a phone but unusable on one — the whole desktop layout shrunk to thumbnail size, text you have to pinch to read — that is not a performance issue at all. It is a missing viewport declaration, it is one line, and it is a different fix.
Why your site looks zoomed out on phones →
How to measure it honestly
Run your homepage through pagespeed.web.dev three times and take the middle result — a single run varies more than people expect. Then look below the lab scores for field data. If it is there, it is from real visitors over 28 days and it is the number that actually reflects your customers' experience.
Then do the thing nobody does: put your own phone on mobile data, turn off wifi, and load your site cold. It is the most honest test available and it takes ten seconds.
Guides
More guides
- How often should a small business audit its website?Sites break quietly, usually after a change nobody thought was risky. A realistic schedule for a business with no web team, and what to check after edits.
- How to check your website’s SEO health for freeFour free tools cover most of what a paid audit would find: Google Search Console, PageSpeed Insights, your own browser and a crawler. How to use each.
- "Crawled – currently not indexed": what it means and what actually fixes itGoogle read the page and chose not to keep it. Why resubmitting rarely helps, how to rule out the technical causes, and what changes the decision.
Check your own site
See which of these apply to you.
The free audit checks up to 10 pages and tells you exactly what it found, in the same plain language as these guides. No account, no card.