In short
- Images and scripts cause most slow sites. Hosting, which everyone blames first, is usually fourth.
- A free speed test names the suspect if you know which line to read. This guide shows you the lines.
- The two most common causes are also the two cheapest to fix, and an owner can do both.
- A rebuild is the last answer, not the first. It is right only when the platform itself is the limit.
- Fix images, then plugins, then test again. That sequence repairs most slow sites in an afternoon.
This is the first of 3 guides on website speed. The rest are listed below.
Four seconds in a parking lot
A man stands in a parking lot at 4:40 on a Friday with a cracked windshield and a phone. He searches, taps your name, and watches a white screen. One second. Two. A gray box appears where a photo will eventually be. The headline arrives, then jumps down as a banner loads above it. At four seconds he presses back. Your site was not down. It was slow, and to a man in a parking lot, slow and down are the same thing.
Ask why a site is slow and most owners guess the host. The host is rarely the answer. Websites are slow for a short list of reasons, in a fairly predictable order, and nearly all of them were added by someone who meant well. A designer who wanted a bigger photo. A plugin that promised a feature. A marketer who needed one more tracking pixel. Nobody decided to make the site slow. It happened by accumulation, the way a garage fills up.
This guide is the lineup: the suspects in the order they tend to be guilty, how to identify yours without a technical background, what each fix costs, and the one case where the platform is the problem. For the targets and what a slow second costs in calls, read how fast should a website load. This one is about the why.
Nobody makes a website slow on purpose. It gets slow the way a garage gets full: one reasonable decision at a time.
The usual suspects, in order
Here are the causes, ordered by how often they turn out to be the one. On most slow business sites, the first two account for most of the wait, and the rest add up behind them.
- 1
Images.
The most common cause by a wide margin. A photo straight off a phone is 3 to 6 megabytes. A web page needs it at 100 to 200 kilobytes. One uncompressed hero photo plus a gallery of twelve and the page weighs more than a short film. Nothing else on this list is the problem as often or is as cheap to fix.
- 2
Scripts and plugins.
Every plugin, chat widget, tracking pixel and "engagement" tool adds code the phone must download and run before it can respond. A WordPress site with thirty plugins runs thirty small programs on every page view, half of them for features nobody uses. This is the suspect that makes a site feel sluggish even after the page appears, and fixing WordPress plugins is a service for a reason.
- 3
Themes and page builders.
The theme was built to demo every feature in the catalog, so it loads code for sliders, portfolios and pricing tables your site does not have. A page builder adds a layer: a page that should be 40 kilobytes of HTML becomes 400 kilobytes of nested boxes. The site is slow before the first photo is uploaded.
- 4
Hosting.
The suspect everyone names first. It is real, but it is usually fourth. Shared hosting at a few dollars a month puts your site on a server with hundreds of others, and the wait before the first byte arrives can pass a second. Moving hosts helps. It does not fix a five-megabyte page.
- 5
Fonts.
Four weights of two custom fonts, loaded from someone else's server, and the text cannot paint until they arrive. The page sits blank while the fonts travel. One or two weights, served from your own domain, with a system fallback, and the problem is gone.
- 6
Third-party embeds.
A YouTube video, a Google Map, an Instagram feed, a review widget. Each brings its own scripts, fonts and sometimes tracking. A single embedded map can weigh more than the rest of the page. Embeds belong only where they earn it, and should load only when the visitor scrolls to them.
- 7
No caching.
Without caching, the server assembles each page from scratch for every visitor, running database queries to build content that has not changed since March. A cache stores the finished page and hands it over at once. It is the cheapest fix on the list and the one most often missing.
How to tell which one it is
You do not need a developer to identify the suspect. You need a free test and ten minutes. Google's PageSpeed Insights is the standard one; it reports what real visitors experienced and then a lab diagnosis of a single load. The diagnosis is a list of complaints, and each complaint points at one suspect.
Reading the test
- Run the mobile test on your home page and on one service page. Service pages get the calls and are often heavier and less cared for.
- Look at the total page weight. Over 2 megabytes on a phone and images are almost certainly the first suspect. Over 5 and they are the whole case.
- Look for "reduce unused JavaScript" and "reduce JavaScript execution time." That is scripts, plugins and the theme talking.
- Look at the time to first byte. Over about 800 milliseconds and the host or a missing cache is in the room.
- Look for "ensure text remains visible during webfont load." That is fonts.
- Look at the list of third-party resources. If names you did not add appear, that is embeds and tracking pixels.
- Open the site on a phone, on cellular, and watch what appears first. A blank box where a photo should be is images. A page that appears and then freezes when you tap is scripts.
Most owners find two or three suspects, not one. That is normal, and good news, because the fixes stack. The Core Web Vitals guide explains the three scores the test reports and which fix moves each. If you would rather have the reading done for you, the free site audit lists the causes in order, with the fix beside each.
What each fix costs
Costs vary with the site, but the order of magnitude is consistent, and it matters, because the cheapest fixes are usually the biggest. Here is what each fix involves and roughly what it runs for a small business site.
| Suspect | The fix | Who can do it | Typical cost |
|---|---|---|---|
| Images | Compress, resize, convert to a modern format, lazy-load below the fold | Owner with a tool; developer for a full pass | Free to a few hundred dollars |
| Scripts and plugins | Remove the unused, replace the heavy, defer the rest | Owner for removal; developer for the rest | A few hundred to about $1,500 |
| Theme or builder | Trim the theme or replace it with a lean one; sometimes rebuild the templates | Developer | $1,000 to $5,000, or a rebuild |
| Hosting | Move to a managed host, or put a CDN in front of the current one | Owner with help; developer for the migration | $20 to $60 a month, plus a migration fee |
| Fonts | Cut to two weights, self-host, set a fallback | Developer, an hour or two | Under a few hundred dollars |
| Third-party embeds | Replace with a still image that loads the real thing on tap; remove the rest | Owner for removal; developer for the swap | A few hundred dollars |
| Caching | Configure page and browser caching, add a CDN | Developer or host | Often free; a few hundred to set up properly |
Ranges are typical for small business sites and depend on the platform. A [speed and Core Web Vitals fix](/services/site-speed-core-web-vitals) is quoted at a fixed price once the audit says which suspects apply.
Notice the pattern. The two most common causes are the two cheapest to fix. An owner who compresses the images and deletes ten plugins can often cut load time in half in an afternoon, with no rebuild and no invoice. The how to improve an old website guide covers the rest of that afternoon, because speed is rarely the only thing an aging site needs.
When speed is the platform's fault
Sometimes you work through the lineup, fix all seven, and the site is still not fast. The images are small, the plugins are gone, the host is good, and the mobile score sits at 55. That is when the platform is the suspect.
A WordPress site with a page builder has a floor. The builder's code, the theme's framework and the way the page is assembled on every visit limit how fast it can go, and no optimization gets under it. Most drag-and-drop builders share the problem: the tool does work at load time that a coded site did once, in advance.
The tell is a site that has been optimized twice, by two different people, and keeps drifting back. Every plugin update adds weight. Every new feature needs another plugin. WordPress optimization can get a WordPress site to a respectable score and hold it there with maintenance, and for many businesses that is the right call. But when the score has to be in the 90s on a phone, or the site has to do something the builder was never designed for, the honest answer is a site built as software. The WordPress versus Next.js guide explains the difference; the WordPress to Next.js page explains the move.
Be skeptical of anyone who jumps straight to the rebuild. Most slow sites are slow for the first two reasons, and those are fixed without one. The platform is the last suspect, not the first.
What slow costs you, and where to start
Speed is worth fixing for what it changes downstream, not for a score. A site that loads in two seconds instead of five keeps a large share of visitors who would have gone back to the results, and those visitors call. The dollar value of a fast website works that math for a typical service business. The mobile website guide covers what happens after the page loads on a phone, where the next set of leaks lives.
Speed also feeds search. Google measures it on real visitors and uses it in ranking, and a slow site is easier to outrank in a local market where twenty competitors have twenty similar pages. The does website design affect SEO guide places speed among the other design decisions that touch ranking.
Start with the images. Then the plugins. Then test again. That sequence repairs most slow sites, and it costs less than the proposal you were about to sign.
The rest of this series
More on website speed
Find out what your site is actually doing.
A free audit scores your site on speed, mobile, SEO and security, and lists the fixes in order of what they are worth. Delivered as a PDF to your inbox.
Want to know what is slowing your site down?
Tell us which of these sounds familiar and we will run the tests, name the causes in order, and tell you which ones you can fix yourself. Free, and the answer is yours to keep.
Which of these sounds like you? (pick any)
Questions people ask
Straight answers
A site that was fine last month and slow today usually changed in one of three ways: someone uploaded large images, a plugin was added or updated, or the host had a problem. Check what changed first. Run a speed test and compare the page weight to what it was; a jump in weight points to images or a new script. If nothing on the site changed, look at the host.
Sometimes, but less often than owners assume. The test is time to first byte: if the server takes more than about 800 milliseconds to send anything, the host or a missing cache is part of the problem. If the first byte arrives quickly and the page still takes seconds to appear, the cause is what the page contains, and moving hosts will not fix it.
Usually plugins, the theme and images, in that order. A typical slow WordPress site runs twenty to forty plugins, a theme built to demo every feature, and photos uploaded at full size. Removing unused plugins, replacing the heaviest ones and compressing images fixes most of it. A page builder puts a floor under how fast the site can ever go.
Most of the time, yes. Compressing images, removing plugins, cutting fonts, deferring scripts and adding caching are all done on the existing site, and together they repair most slow sites. A rebuild is the right call only after those are done and the platform itself is the limit, which shows as a mobile score that will not rise out of the 50s or 60s.
Yes, and they are the most common cause. A photo straight from a phone is several megabytes; the web needs it at a tenth of that or less. A page with ten uncompressed photos can weigh more than everything else on the site combined. Compressing and resizing them is the cheapest speed fix there is and usually the biggest.
From nothing, if the fix is compressing images and deleting plugins you can do yourself, to a few thousand dollars for a developer to work through scripts, theme, fonts, caching and hosting on a WordPress site. DataCram quotes speed work at a fixed price after a free audit lists the causes. A full rebuild costs more and is warranted only when the platform is the limit.
Where to go from here
The next step down the road
- Find out which suspect is yours, freeThe audit lists the causes in order, with the fix for each
- Get the speed fixed at a fixed priceImages, scripts, fonts, caching and hosting, done properly
- WordPress optimizationFor sites staying on WordPress: fast, and kept fast
- When the platform is the problemWhat moving from WordPress to a coded site involves
