Skip to content
Back to all articles
Web11 min read

How to Speed Up Your Website: Why It Matters, What Works

How to speed up a website step by step: measuring Core Web Vitals, images, server, fonts, scripts and INP, a WordPress routine, a 10-point checklist and what optimisation costs.

Marek Frňka
Founder of the Le Artist digital studio, Ostrava
In this article
Checking page loading on a monitor and a phone.
Verify speed by measuring the actual page and its loading behaviour. AI-generated illustrative photograph.

You speed up a website in three steps: measure where the visitor waits (server, images or JavaScript), fix the biggest bottleneck and verify the result with the same measurement. The most time is usually saved by properly resized images, fewer third-party scripts and a working cache. Slow loading and a delayed response to a click are two different problems, so I treat each one differently.

Why speed matters

A slow website holds customers up at the moment they decide. They click a service, look for a price or send an inquiry, and every wait gives them a reason to go to a competitor. How much it costs you specifically shows up in your analytics: compare conversions on mobile and desktop and on fast and slow pages.

Core Web Vitals assess loading (LCP), interaction responsiveness (INP) and visual stability (CLS). Google measures them at the 75th percentile of real visits, separately for mobile and desktop (definitions and method):

Metric What it measures Good Needs improvement Poor
LCP
When the largest element (photo, heading) appears
up to 2.5 s
2.5-4 s
over 4 s
INP
How quickly the page reacts to a click or typing
up to 200 ms
200-500 ms
over 500 ms
CLS
How much content jumps while loading
up to 0.1
0.1-0.25
over 0.25

Speed and Google rankings. According to Google, Core Web Vitals are used by its ranking systems, but relevant content still wins even with weaker speed. Speed will not replace good content, but it helps against evenly matched competitors and above all improves what happens after the click.

Responsiveness helps people complete tasks. Test search, opening the offer and submitting a form. A performance score alone does not tell you whether a customer actually gets to the inquiry.

How to measure it (free, one minute)

Measuring speed in a minute

  1. PageSpeed Insights mobile and desktop scores including real-user Core Web Vitals (if the site has enough traffic); assess lab scores separately from actual visitor data
  2. Search Console → Core Web Vitals an overview of which groups of pages pass and which don't
  3. Common sense your own site on a phone over mobile data; whatever annoys you annoys your customers
Three quick free ways to measure website speed: PageSpeed Insights, the Core Web Vitals report in Search Console and your own phone on mobile data.

To find the cause, use further tools:

Tool What to use it for Data type
PageSpeed Insights Quick overview of one URL, visitors' Core Web Vitals lab + real visits
Search Console Which page groups have a problem and whether a fix worked real visits
Lighthouse in Chrome (F12) Repeated tests while tuning, list of recommendations lab
Chrome Performance panel Which scripts block the page and delay clicks (INP) lab
WebPageTest Request waterfall, loading filmstrip, tests from different locations lab

Why is my PageSpeed score good while the site still feels slow?

Because the score is a lab test of a single visit. According to Google's documentation, PageSpeed Insights simulates mobile as one device on a mobile network, whereas real-visit data (Chrome UX Report) summarises the previous 28 days across many phones and connections. A customer's slow phone, a signed-in account, a full basket or advertising scripts that only start after cookie consent are invisible to the lab. What counts is the visitor-data section and Search Console; a 90+ score is a good start, not the goal.

Same photograph, 330,478 B smaller. Comparison of _MG_7392.jpg and .webp. A smaller file is not a measured LCP improvement.
Same photograph, 330,478 B smaller. Comparison of _MG_7392.jpg and .webp. A smaller file is not a measured LCP improvement. Open the readable example ↗

What slows websites down most (and how to fix it)

Six most common causes of a slow website

  • Images file size and loading priority
  • JavaScript and plugins scripts that block the main thread
  • Server and network time to first byte (TTFB), a good value is roughly 0.8 s or less
  • Fonts and third-party scripts every font, map, video or chat is more waiting
  • Cache and CDN finished pages and files without repeated generation and downloading
  • Reaction after a click (INP) long JavaScript tasks that block the main thread
Overview of six causes of a slow website, covered in detail in the following subsections.

1. Images: file size and loading priority

Images are the most common and cheapest fix. A phone photo often has several megabytes and thousands of pixels, while the website displays it a few hundred pixels wide. The routine I use:

  • Resize to the displayed size and use srcset to send phones a smaller variant than desktops.
  • Convert to WebP or AVIF and compare the result on the same photo (the example below saved over 330 kB).
  • Lazy-load only below the first screen. Load the main image (LCP), on the contrary, as early as possible, with fetchpriority="high".
  • Set width and height so the image does not push text around while loading (CLS).

2. Bloated JavaScript and plugins

Use the network panel and a profiler to identify downloaded scripts and main-thread work. Plugin count does not measure cost: some run only on the server or in administration. Remove unused functionality and verify analytics, forms and consent still work. A single tag manager can also launch many other scripts.

3. Server and network response

TTFB (time to first byte) includes server computation, the network, redirects and connection setup. Google considers roughly 0.8 s or less a good value (TTFB methodology). When TTFB is high, compare a cached and an uncached request: a fast cached response and a slow uncached one points to page generation (database, plugins), slow in both cases points to hosting or the network. With hosting, check the current PHP version (for WordPress), HTTP/2 or HTTP/3 and Brotli or gzip compression. Unnecessary redirects (http → https → www) delay every visit, so cut them down to one.

4. Web fonts and third-party scripts

Every font and every third-party script (maps, videos, chat, widgets) is more waiting. For fonts, these help:

  • WOFF2 format and only the weights you really use (1-2 families, or one variable font).
  • font-display: swap, so text appears immediately in a system font instead of waiting for the web font (web.dev recommendations).
  • Self-hosting the font instead of loading it from a third-party server, if the site runs on a CDN.

Embed maps and videos as a preview that loads the real player only after a click. A chat widget can start after an interaction or with a delay after the page loads.

5. Missing cache and CDN

A cache stores finished pages and files so they do not have to be generated and downloaded again every time. Static files (images, CSS, JavaScript with a version fingerprint in the file name) can have a long browser lifetime, HTML pages a shorter one with change validation. A CDN then serves content from a server closer to the visitor. Just be careful with signed-in accounts, the basket and personal data: they do not belong in a public cache.

6. Slow reaction after a click (INP)

The page loads, but after a click on the menu, a filter or a button nothing happens for a moment. The cause is usually long JavaScript tasks blocking the browser's main thread. According to the web.dev guide to INP, these help:

  • split long work after a click into smaller parts and show feedback first (for example the opened menu), the rest afterwards;
  • defer scripts that are not needed immediately (analytics, chat, A/B tests, advertising pixels);
  • reduce the DOM: thousands of elements on a page slow down every repaint;
  • find in the Performance panel which script runs longest on a click.

INP is a typical problem for e-shops with many marketing scripts and websites built on heavy page builders.

Worked example: The second request checks the same version

verified HTTP example

RequestResponseBody
GET /style.css200; ETag: "css-v1"21 B
GET + If-None-Match: "css-v1"304; ETag: "css-v1"0 B
Cache-Control in bothpublic, max-age=0, must-revalidate-

Captured locally. Revalidation example; does not test a CDN or browser speed.

Data source

How to speed up a WordPress website

WordPress is most often slowed down by three things: no page cache, unoptimised images and piled-up plugins or a heavy page builder. Without a developer you can:

  1. Turn on page caching, either at the hosting level or with one caching plugin (not two at once).
  2. Optimise images with a plugin that resizes them on upload and creates WebP.
  3. Review plugins: switch off unused ones and check in Lighthouse how much JavaScript and CSS the rest add to every page.
  4. Update PHP to a version your hosting and WordPress support. Versions past end of support no longer get security fixes (supported PHP versions) and newer versions tend to be faster too.
  5. Limit external fonts and embedded videos as in point 4 above.

If the site is still slow on mobile afterwards and most of the time is spent by the theme or page builder, further tuning tends to cost more than replacing the theme.

Checklist: 10 points of a fast website

  1. The main image loads immediately, the others lazily.
  2. Photos are resized to the displayed size and in WebP or AVIF.
  3. Images and embeds have dimensions, nothing jumps.
  4. The server responds within 0.8 s, pages come from cache.
  5. Only one redirect (or none) on the way to a URL.
  6. Brotli or gzip compression and HTTP/2 or HTTP/3.
  7. At most 1-2 font families in WOFF2 with font-display: swap.
  8. Third-party scripts are deferred and reviewed regularly.
  9. Maps, videos and chat load only after a click.
  10. You watch Core Web Vitals in Search Console and re-measure after every larger change.

When tuning isn't enough and it's time to rebuild

A mobile score below 40 or LCP above 4 seconds after image optimisation does not on its own mean a new website. Profile the affected URL first: server, requests, main thread, largest content element and third-party scripts. When the foundation is the brake (theme, page builder, system), compare the cost of further tuning with a rebuild including migration and testing. I explain technology choices in why Next.js for a business website; a fast website depends mainly on how it is built, not on the framework's name.

Website speed optimisation: how I do it for clients

When I do website speed optimisation, I always follow the same order so the work does not turn into random tweaks:

How I optimise speed for clients

  1. Starting point PageSpeed Insights for the main page types, Core Web Vitals in Search Console and real Chrome data where Google has it
  2. Causes by impact images, third-party scripts, server response, fonts; first whatever slows down the most pages at once
  3. Place of repair shared faults belong in the template, an unusually heavy image or integration on one URL may require a local fix
  4. Verification by measuring and watching so the site does not slow down again with later changes
Four steps of speed optimisation: measure the starting point, rank causes by impact, choose where to repair and verify the result by measuring again.

A one-off optimisation is billed at €60/h and the budget is confirmed upfront based on the initial measurement. On an ongoing basis I handle it as part of website management: the Growth plan at €400 a month includes Core Web Vitals optimisation in its scope. The price of every plan is broken down in how much website management costs.

Frequently asked questions

What website speed is good?

The goal is good Core Web Vitals for real visitors: the largest element within 2.5 s (LCP), reaction to a click within 200 ms (INP) and stability within 0.1 (CLS), on mobile, where a site is usually slowest. The PageSpeed Insights score is a tuning aid, not the goal.

Does website speed affect Google rankings?

Yes, but to a limited extent. Google states that its ranking systems use Core Web Vitals, but it will still show relevant content on a slower page. Speed has a bigger effect on how many visitors actually complete a purchase or inquiry after the click.

How does hosting affect website speed?

Hosting mainly determines server response time (TTFB). Overloaded shared hosting or a distant server shows on every page. But when TTFB is fine and the site is slow, changing hosting will not help; images, scripts or the theme are the brake.

How can I speed up a website without technical skills?

Resize and convert images (with a plugin on WordPress), turn on page caching, remove unused plugins and replace embedded videos with a preview. You can do these steps from the admin and they tend to be the biggest part of the speed-up.

How much does website speed optimisation cost?

With me, a one-off job is €60/h with the budget confirmed upfront; a smaller site with common problems (images, cache, scripts) tends to take a few hours. Ongoing monitoring and optimisation are part of the Growth plan of website management.

Summary

Start by measuring specific pages in PageSpeed Insights and distinguish lab runs from visitor data. Prioritise fixes from the cause: images, scripts, server, fonts or cache. Lazy-load images below the first screen and load the main image as early as possible. Repeat measurement under comparable conditions after a change; a rebuild decision depends on what slows the site down and on the cost of the fix, not on a single score.

Don't want to deal with it yourself? Speed monitoring is part of my website care service, measurement, optimization and regular maintenance. And if your site is on fire right now, there's express help.

Did you enjoy this article?

If you're looking for a quality website or e-shop that actually works, let's talk.

Get an estimate within 24 hoursMy work

No commitment · Quote in 24h