Skip to content
Grayshaper

· 5 min read

Why Your Website Is Slow (And Why Another Cache Plugin Won’t Fix It)

Your website can have all the caching plugins in the world and still feel slow. Here’s what usually makes a website slow and what we look at first when fixing it.

Naimur Rahman HiraGrayshaper

Share:
Why Your Website Is Slow (And Why Another Cache Plugin Won’t Fix It)

Why Your Website Is Slow (And Why Another Cache Plugin Won’t Fix It)

I’ve seen this many times.

Someone tells me, “My website is slow. I already installed a caching plugin, compressed the images, and tried everything I found online.”

Then I check the website.

There are three caching plugins running at the same time. Five different font weights are being loaded. A 4MB image is being shown inside a small mobile card. And the browser is downloading a huge amount of JavaScript just to show a page.

At that point, adding another plugin is not going to help.

The truth is, website speed is usually not about finding some magic setting inside a plugin. Most of the time, the problem is much simpler.

There is too much stuff being loaded.

Here are the four things I check first.

1. Too many fonts

Fonts are one of those things people don't think about when they talk about website speed.

You might have a nice-looking website with a heading font, a body font, and several different weights.

Maybe the designer used:

  • Light

  • Regular

  • Medium

  • Semibold

  • Bold

Now imagine doing that for two or three font families.

Your website suddenly has a lot of font files to download before the browser can properly show the text.

You don't need all of that.

For most websites, one good font is enough. Sometimes two fonts make sense, but that's usually where I would stop.

I also prefer self-hosting the fonts in WOFF2 format instead of loading them from another server.

And there is one small setting that makes a big difference:

font-display: swap

It allows the browser to show the text using a normal system font while the custom font is loading.

So the visitor sees something immediately instead of staring at an empty space waiting for a font to load.

2. That huge image is probably hurting your website

This is probably the most common thing I find.

A client gives me a beautiful image that looks great on a desktop screen.

The file is 4MB.

Then I check the website and find that the same image is being displayed inside a 400px-wide box on mobile.

Why are we downloading a 4MB image to show something that small?

There is no good reason.

Images should be resized for the place where they are actually being used. And whenever possible, they should be converted to modern formats like WebP or AVIF.

You can often make an image much smaller without anyone noticing a difference in quality.

There is another small thing that is easy to forget.

Always give images a proper width and height, or at least define their aspect ratio.

Otherwise, the browser may load the page first and then suddenly move everything around when the image appears.

That's one of the reasons you get a bad CLS score in Lighthouse.

So don't just make images smaller.

Tell the browser exactly how much space the image needs.

3. Don't make the browser do work it doesn't need to do

JavaScript is great.

But it is also very easy to use too much of it.

I've seen websites where the browser has to download and run a huge amount of JavaScript just to display a simple page.

The visitor doesn't care how fancy the code is.

They just want the page to appear.

With modern frameworks, we can do a lot of work on the server and send ready-to-use HTML to the browser.

That's often much better.

If something doesn't need to be interactive, why send JavaScript to the browser for it?

A simple heading doesn't need JavaScript.

A paragraph doesn't need JavaScript.

A normal image doesn't need JavaScript.

If something is just there to display information, let the browser display it.

Save JavaScript for things that actually need interaction, like menus, forms, sliders, filters, and other interactive features.

Less JavaScript means less work for the visitor's phone.

And that's especially important because a lot of people are not visiting websites on a powerful computer.

They're using a phone with a mobile connection.

4. Sometimes the frontend isn't the problem

This one is easy to miss.

You can spend hours optimizing your images, fonts, CSS, and JavaScript.

But what if your server is taking 800ms just to get the data?

Then your frontend isn't the main problem.

The database might be.

For example, imagine you have an online store with 20 products on a page.

You only need:

  • Product name

  • Price

  • Image

  • Stock status

But your database query is pulling the entire product record, including large descriptions, extra data, reviews, relationships, and everything else.

Why?

Just ask the database for what you actually need.

The less unnecessary data you pull, the less work your server has to do.

And when the server responds faster, the user feels that difference immediately.

So, what's the real secret?

There isn't really a secret.

Fast websites are usually not fast because someone found a magical caching setting.

They're fast because someone removed the things that didn't need to be there.

Use fewer fonts.

Use smaller images.

Don't send unnecessary JavaScript to the browser.

Keep database queries simple.

That's it.

Before installing another speed plugin, open your website and ask a simple question:

"What am I making the visitor download or wait for that they don't actually need?"

In many cases, that's where the real speed improvement is hiding.

A fast website isn't about adding more things.

It's usually about taking things away.

Found it useful? Pass it on.

Share:

Got something gray? Send it over.

A rough idea, an old site or a sketch on paper. We reply within one working day.

Book a call