Almost every client who tells us their site is slow has already been told the problem is their hosting. Sometimes it is. Far more often we open the site, look at what the browser has to do before anything appears on screen, and find the answer sitting in plain view: the page is loading two megabytes of things nobody asked for.

This is worth caring about beyond the aesthetics of it. Google measures how quickly your main content appears, how quickly the page responds to a tap, and how much the layout jumps around while loading. Those three measurements feed into search ranking. They also feed into whether a visitor on a patchy 4G connection in Jaipur waits or leaves.

The usual culprits, in the order we usually find them

Images are almost always first. A photograph straight off a camera or a stock site can be four or five megabytes and three times wider than the space it occupies. The browser downloads all of it, then throws most of it away when it scales the image down. Converting to WebP and serving the size actually needed routinely cuts a page's weight by more than half, and it changes nothing about how the page looks.

Fonts are second. Every custom font weight is a separate file, and a page that loads four weights of one family and three of another is downloading seven files before it can render a paragraph. Most sites use two of them. The rest are there because a theme included them.

Third is JavaScript that arrived with a plugin nobody removed. A slider library still loading on pages with no slider. An analytics tag installed twice. A chat widget pulling in three hundred kilobytes on a page whose only job is to display an address. Each one seemed harmless on its own.

What to fix first

Start by measuring rather than guessing. PageSpeed Insights and the Network tab in your browser's developer tools will both tell you what is being downloaded and how long each piece takes. Sort by size. The top three entries are usually where the whole problem lives.

Then compress and resize your images, and let the browser load the ones below the fold only when the visitor scrolls to them. Cut your font weights to the ones the design genuinely uses. Remove scripts belonging to features you no longer run — and be ruthless, because a plugin you disabled six months ago may still be loading its assets.

After that, look at caching. A returning visitor should not download your logo again. Correct cache headers cost nothing and are frequently absent entirely.

When it really is the hosting

Sometimes the server takes a second and a half to produce anything at all, and no amount of front-end work will help. That shows up as a long wait before the first byte arrives, with the rest of the page loading quickly once it does. Shared hosting under load does this, as does a database query that was fine with two hundred products and is not fine with twenty thousand.

The distinction matters because the fixes are completely different and one of them is much more expensive. Measure before you move host.

The part people skip

Speed is not a task you complete. It is a thing that decays, because every new plugin, tracking pixel and embedded video adds weight, and nobody notices any single addition. Sites we have made fast are slow again in eighteen months if nothing checks them.

Set a budget — a number your pages are not allowed to exceed — and check it when you ship something. It takes a few minutes and it is the difference between fixing this once and fixing it every year.