Technology

10 Practical Ways to Speed Up Your Website

Site speed is no longer a nice-to-have. Google uses Core Web Vitals as a ranking signal, and study after study shows visitors abandon pages that take more than a couple of seconds to load. The good news: most slow websites are slow for the same handful of reasons, and fixing them doesn't require a rebuild. Here are the ten changes that consistently deliver the biggest wins.

1. Compress and resize your images

Oversized images are the number-one cause of slow pages. Export images at the size they're actually displayed, and serve modern formats such as WebP or AVIF, which are typically 30–70% smaller than JPEG at the same quality.

2. Lazy-load below-the-fold media

Adding loading="lazy" to images and iframes tells the browser to fetch them only when the visitor scrolls near them. It's one attribute, supported by every modern browser, and it can cut initial page weight dramatically.

3. Set proper cache headers

Static assets — CSS, JavaScript, fonts, images — rarely change. Serving them with a long Cache-Control lifetime means returning visitors load them from disk instead of the network.

4. Minify and bundle carefully

Minifying CSS and JavaScript strips whitespace and comments. But the bigger win is usually shipping less code in the first place: audit your third-party scripts and remove anything you can't justify.

5. Prioritize above-the-fold rendering

Inline the small amount of CSS needed to render the top of your page, and defer the rest. Avoid render-blocking scripts in the <head> — use defer so HTML parsing never stops.

6. Use server-side rendering for content

Pages that arrive as finished HTML display immediately and are trivially indexable. If your content site currently renders everything client-side in JavaScript, moving to server rendering (or static generation) improves both speed and SEO.

7. Add a CDN

A content delivery network stores copies of your assets in data centers around the world, so a visitor in Sydney isn't waiting on a server in Frankfurt. Many CDNs now have generous free tiers.

8. Watch your fonts

Web fonts are frequent invisible offenders. Limit yourself to two families, subset them to the characters you use, and set font-display: swap so text renders immediately in a fallback font.

9. Measure with real tools

Guessing is pointless — measure. PageSpeed Insights and Lighthouse grade your Core Web Vitals: LCP (how fast the main content appears), INP (how responsive the page feels), and CLS (how much the layout jumps around). Fix whatever they flag first; they order issues by impact.

10. Reserve space to kill layout shift

Give images and ad slots explicit width and height attributes (or CSS aspect ratios). The browser reserves the space before the asset loads, so the text a visitor is reading never jumps out from under their eyes.

Where to start

If you only do three things: compress your images, lazy-load everything below the fold, and run PageSpeed Insights once a month. Those alone move most sites from "sluggish" to "snappy" — and both your visitors and your search rankings will notice. Want to check your content's length and readability while you're optimizing? Try our free word counter.

The three metrics Google actually measures

Since Core Web Vitals became a ranking signal, "fast" has a specific definition. Three metrics, each measuring a different kind of slow, with published thresholds.

MetricMeasuresGoodNeeds work
LCP — Largest Contentful PaintWhen the main content appearsUnder 2.5 sOver 4 s
INP — Interaction to Next PaintHow fast the page responds to clicks and tapsUnder 200 msOver 500 ms
CLS — Cumulative Layout ShiftHow much the layout jumps while loadingUnder 0.1Over 0.25

INP replaced First Input Delay as the responsiveness metric in 2024, and it is stricter — FID measured only the delay before the first interaction was processed, while INP measures the full time until the page visually responds, across the whole visit.

The definitions and current thresholds are maintained at web.dev/articles/vitals.

Lab data and field data are different things

A distinction that explains why your site can score 98 in a test and still be flagged as slow.

  • Lab data comes from a simulated load on a fixed connection and device. It is repeatable and useful for debugging, and it is what a local audit tool gives you.
  • Field data comes from real visitors on real devices and networks, collected over 28 days. It is what Google actually uses for ranking.

If your lab score is excellent and your field data is poor, the usual explanation is that your real audience is on slower phones and worse connections than your test assumed. Run PageSpeed Insights, which shows both, and trust the field section for decisions.

Fix things in the order that pays

Most performance advice is a long undifferentiated list. In practice a small number of causes dominate.

  1. Images. Almost always the largest thing on the page and the usual LCP culprit. Correct dimensions, modern format, and lazy loading below the fold.
  2. Third-party scripts. Analytics, chat widgets, ad tags and embeds are frequently the single biggest cost, and they are the easiest to remove because they are rarely load-bearing. Audit what is actually there.
  3. Fonts. A web font blocks text rendering until it loads. font-display: swap and preloading the one font you actually need fixes most of it.
  4. Layout shift. Set explicit width and height on images and reserve space for anything injected late. CLS is usually the cheapest of the three metrics to fix outright.
  5. Everything else. Minification, bundling and CDNs matter, but they are refinements next to the first four.

The reliable way to prioritise is to load your own site on a mid-range phone over mobile data rather than on your development machine over fibre. The problems become obvious immediately.

What speed is worth

Performance work is easy to over-invest in. Two honest boundaries:

Core Web Vitals is a genuine ranking signal but a comparatively weak one — it is closer to a tiebreaker between comparable pages than a substitute for being the better result. A fast page with a thin answer still loses to a slow page with the right answer.

The stronger argument for speed is behavioural rather than algorithmic. Slow pages get abandoned before they render, and an abandoned page ranks for nothing regardless of its content. That effect is largest on mobile connections, which is where most traffic now comes from.

Two related pieces: why a website is not showing up on Google covers the indexing side of visibility, and what is an API explains the requests that often account for the slowest part of a page.

Frequently asked questions

What are Core Web Vitals?

Three metrics Google uses to measure page experience: LCP for how quickly the main content appears, INP for how quickly the page responds to interaction, and CLS for how much the layout shifts while loading. Good thresholds are under 2.5 s, under 200 ms and under 0.1.

Why is my PageSpeed score high but my site still flagged as slow?

Because the score is lab data from a simulated load, while Google ranks on field data from real visitors over 28 days. If your audience uses slower phones and connections than the simulation, the two will disagree.

What slows websites down the most?

Usually images that are larger than they need to be, followed by third-party scripts such as analytics, chat widgets and ad tags. Those two account for the majority of real-world slowness on content sites.

Does site speed affect Google rankings?

Yes, but modestly. Core Web Vitals act more like a tiebreaker between comparable pages than a substitute for relevance. The larger effect is that slow pages get abandoned before they load at all.

What replaced First Input Delay?

Interaction to Next Paint (INP) replaced FID in 2024. INP is stricter because it measures the full time until the page visually responds, across all interactions in a visit, rather than only the processing delay on the first one.

Comments