← Back to the blog

· By Sergio Bermúdez

Why your website is slow (and how to fix it step by step)

The most common causes of a slow website and the right order to fix them, without having to rebuild everything from scratch.

“My website is slow” is one of the most common complaints, but it almost never has a single cause. These are the most frequent reasons, ordered by real impact.

1. Unoptimised images

This is by far the most common cause. Uploading photos straight from a camera or phone without compressing them can mean images of several megabytes each. Multiply that by a gallery of ten photos and you have a page that takes seconds to load because of the images alone.

Solution: use modern formats (WebP or AVIF), compress before uploading, and lazy-load off-screen images (loading="lazy").

2. Unnecessary JavaScript

Many websites load entire libraries to use a small part of their functionality, or accumulate plugin scripts nobody has reviewed in years. Each script blocks the browser while it downloads and runs.

Solution: audit which scripts are actually used, remove what isn’t needed, and defer anything that isn’t critical for the first screen.

3. Inadequate hosting

Cheap shared hosting, crowded with other websites on the same server, can add hundreds of milliseconds to every request before your server even starts processing the page. For businesses with meaningful traffic, it shows.

Solution: assess whether your current hosting can cope, and consider alternatives with better infrastructure or a content delivery network (CDN) in front.

4. Too many requests to external services

Social media widgets, live chats, multiple analytics tools, third-party fonts: each of these means an additional request to an external server, with its own response time outside your control.

Solution: audit which third-party integrations are really necessary and which can be removed or loaded later.

5. No caching

Without a proper caching strategy, every visit recalculates and downloads everything again, even when the content hasn’t changed.

Solution: set appropriate cache headers for static assets (images, CSS, JavaScript) and use page caching where the content allows it.

6. Poorly loaded fonts

Loading fonts from Google Fonts or other external services adds an extra network request and can cause a visual “jump” when the font finishes loading (which also affects CLS, one of the Core Web Vitals metrics).

Solution: self-host critical fonts and use font-display: swap to avoid invisible text while they load.

The right order to fix it

  1. Start by measuring with tools such as PageSpeed Insights or Lighthouse to find out what is really weighing the page down, instead of guessing.
  2. Tackle first whatever has the biggest impact for the least effort: usually images and unnecessary scripts.
  3. Review hosting only after optimising the above; changing servers won’t fix a badly built website.
  4. Measure again after every change to confirm it really improves things, not just that it “should”.

A fast website isn’t an aesthetic luxury: it directly affects how many visitors stay, how many convert and how Google ranks you against the competition.

← Back to the blog

Got a project in mind? Let’s talk about building it right from the start.

Tell us about your project →