Why your website is slow: the 8 usual causes and the fixes

The eight things that slow most websites down, how to spot each one, and the fixes that make the biggest difference.

Eight white tiles in a police line-up, one for each usual cause of a slow website: big images, JavaScript, outside scripts, fonts, slow server, heavy CSS, layout shifts and autoplay video, under the words “Slow site? Meet the 8 usual suspects.”

A slow website loses people before they have read a word. It also matters for search: Google uses Core Web Vitals, its measures of loading, responsiveness and visual stability, as part of how it ranks pages.

The good news is that most slow sites are slow for the same few reasons. Here are the eight usual causes, how to spot each one, and the fixes that make the biggest difference.

In short

  • Measure first, with Google’s free PageSpeed Insights.
  • The usual causes: big images, too much JavaScript, outside scripts, too many fonts, a slow server, heavy CSS, layout shifts and autoplaying video.
  • The biggest wins are usually images, outside scripts and caching.
  • Good targets: the main content shows within 2.5 seconds, taps answer within 200 milliseconds, and nothing jumps.
  • Fewer, lighter parts beat clever tricks: every plugin, script and font has a cost.

First, measure

Open PageSpeed Insights, enter your address and look at the phone results first: phones on mobile networks are where slowness hurts most. Three numbers matter most, Google’s Core Web Vitals:

  • Largest Contentful Paint (LCP): when the main content appears. Good: 2.5 seconds or less.
  • Interaction to Next Paint (INP): how fast the page answers a tap or click. Good: 200 milliseconds or less.
  • Cumulative Layout Shift (CLS): how much things jump around while loading. Good: 0.1 or less.

Below the scores, the report lists what slows your page down, biggest problem first. Most of it comes from the eight causes below.

The eight usual causes

1. Images that are too big

A photo straight from a camera or phone can be several megabytes; on a page it rarely needs to be more than a few hundred kilobytes. Resize images to the size they are shown at, save them as WebP or AVIF, and let pictures further down the page load lazily. WordPress creates smaller copies for you and adds lazy loading on its own.

2. Too much JavaScript

Sliders, animation libraries, big layout tools and plugins that add a little script to every page all add up. A phone has to download, read and run all of it before the page responds smoothly. Remove what you do not use, and prefer features WordPress already has, such as its own blocks.

3. Scripts from other companies

Chat bubbles, trackers, pop-up tools, embedded maps and videos each connect to another server and often load more scripts of their own. Keep only the ones that earn their place, load them after the page is ready, and show a picture with a play button instead of loading a full video player straight away.

4. Too many fonts

Every font family and weight is another file. Use two families at most, only the weights you need, and host them on your own site rather than loading them from another server.

5. A slow server, no caching

If the first byte takes a long time to arrive, the problem is before the page is even drawn. Good hosting, a page cache and a current PHP version make a large difference to WordPress sites.

6. Heavy CSS

Large style sheets block drawing until they have loaded. Remove styles from tools you no longer use; block themes help here, because WordPress then loads only the styles of the blocks that are on the page.

7. Things that jump while loading

Images without a set size, banners that slide in late and fonts that swap at the last moment make the page jump, which is the CLS number. Give images their width and height, reserve space for anything that loads late, and keep cookie banners from pushing the page around.

8. Autoplaying video and huge backgrounds

A video playing behind the headline can weigh more than the rest of the page together. Use a still photo instead, or a short, compressed clip that only starts after the page has loaded.

What fast sites have in common

When we measured all 28 PageCore demo sites, the fastest pages shared the same habits: small images in modern formats, very little JavaScript and nothing loaded from other companies’ servers. The full results are in we measured 28 WordPress sites for speed.

Questions

What is a good PageSpeed score?

90 or more is good. But the three Core Web Vitals matter more than the score itself: aim for LCP within 2.5 seconds, INP within 200 milliseconds and CLS of 0.1 or less.

Why is my site slower on phones than on my computer?

Phones have less processing power and often slower connections, and PageSpeed tests phones on a simulated mid-range phone on a mobile network. JavaScript and big images hurt most there.

Do more plugins always make a site slower?

Not always. What matters is what each plugin adds to the pages visitors see. One heavy plugin can do more harm than ten light ones.

Does speed affect Google rankings?

Yes, as one signal among many. Google uses Core Web Vitals in its ranking systems, and slow pages also lose visitors before they convert.

Sources

Tags

Written by

Maker of PageCore, and a WordPress theme author for 16+ years who builds the starter sites, sections and styles with WordPress’s own blocks.

More about the maker

Get started

Your next site is one import away.

Install PageCore, pick a starter site and make it yours in the Site Editor.

On WordPress.org · Built with native blocks · Most imports take a few minutes

How to install