arrow_backBack to blog

Web Design & Dev

Page Speed Optimisation: 14 Techniques That Make Sites Fly

The fourteen techniques we use to get sites loading in under two seconds and passing Core Web Vitals.

Published 2025-04-04 · 5 min read · Pro Digital Labs

Page Speed Optimisation: 14 Techniques That Make Sites Fly

Why page speed is worth the effort

Page speed optimisation is one of the highest-return jobs in web development. A fast site keeps more visitors, converts more of them, and is treated more favourably by Google, which uses real-world loading data as a ranking signal. Slow sites quietly lose customers before a single word of copy is read.

Google measures this through Core Web Vitals: Largest Contentful Paint for how quickly the main content appears, Interaction to Next Paint for how responsive the page feels, and Cumulative Layout Shift for how much things jump around as the page loads. Passing all three is the target every build should aim for.

The fourteen techniques below are the ones we reach for repeatedly to get sites loading in under two seconds. None of them require a redesign, and most can be applied to an existing site without touching how it looks.

Get images under control first

Images are the single biggest cause of slow pages, so this is where the fastest wins live. The goal is to ship the smallest file that still looks sharp on the device viewing it, and nothing larger.

Start by serving modern formats like WebP or AVIF, which are often 30 to 50 percent smaller than the equivalent JPEG or PNG at the same visual quality. Then make sure each image is sized for its slot, so a photo displayed at 600 pixels wide is not secretly a 4,000-pixel original being shrunk by the browser.

Combine those with responsive images, so phones download small versions and large screens download large ones, and you remove a huge amount of wasted weight before touching anything else on the page.

  • check_circle1. Convert images to WebP or AVIF
  • check_circle2. Resize images to the dimensions they are actually displayed at
  • check_circle3. Use responsive srcset so devices download an appropriately sized file
  • check_circle4. Compress images so file size drops without visible quality loss

Load only what the first screen needs

A browser does not need to fetch everything at once. Most of a page sits below the fold, out of sight until the visitor scrolls, so there is no reason to make them wait for it before the page becomes usable.

Lazy loading defers off-screen images and embeds until they are about to come into view, which slashes the initial download and gets the first screen painting far sooner. Modern browsers support this natively, so it is a small change with a large effect.

The flip side matters too: the one image that forms your Largest Contentful Paint, usually the hero, should be loaded eagerly and given priority. Lazy-loading your hero by mistake is a common error that makes the most important pixel arrive last.

  • check_circle5. Lazy-load below-the-fold images and iframes
  • check_circle6. Prioritise the LCP image and never lazy-load it

Trim and split your code

Most sites ship far more JavaScript and CSS than any single page uses. The browser has to download, parse and run all of it, and heavy scripts are the usual reason a page looks ready but will not respond to taps, which shows up as poor Interaction to Next Paint.

Minification strips out whitespace and comments to shrink files. Code splitting goes further, breaking a large bundle into pieces so each page loads only the code it needs rather than the entire site's worth on every visit. Removing unused CSS and dead JavaScript cuts the weight again.

Deferring non-essential scripts so they run after the page is interactive keeps the main thread free for the things the visitor actually wants to do first, which is often the difference between a page that feels instant and one that feels sluggish.

  • check_circle7. Minify CSS, JavaScript and HTML
  • check_circle8. Code-split so each page loads only the JavaScript it needs
  • check_circle9. Remove unused CSS and dead JavaScript
  • check_circle10. Defer or async non-critical scripts

Use caching and a CDN to serve files faster

Once a file has been built, there is no reason to rebuild or refetch it on every visit. Caching stores copies so returning visitors and repeat page views load almost instantly, and a content delivery network stores those copies close to where your visitors are.

Browser caching tells a returning visitor's browser to keep static files such as logos, fonts and scripts rather than downloading them again. Server-side caching does the same job for dynamically built pages, saving the work of regenerating identical output for every request.

A CDN places your files on servers around the world, so a customer in Dubai is served from a nearby location rather than waiting for data to cross continents. For any business serving more than one region, this alone can shave meaningful time off every load.

  • check_circle11. Set long cache lifetimes on static assets
  • check_circle12. Serve the site through a CDN for visitors in every region

Tune fonts and stop the layout jumping

Web fonts are lovely but they delay text appearing and can cause that jarring flash where text shows in one font then snaps to another. Using font-display: swap shows readable text immediately, and preloading the key font file means it arrives early rather than blocking the first paint.

Cumulative Layout Shift, where buttons and images jump as the page loads, frustrates users and hurts your score. The fix is to reserve space in advance: set explicit width and height on images and video, and leave room for anything that loads in late such as adverts or embeds, so nothing shoves the content around.

These two final techniques are small in effort but disproportionately improve how stable and quick a page feels, which is exactly what Core Web Vitals are designed to reward.

  • check_circle13. Preload key fonts and use font-display: swap
  • check_circle14. Set explicit dimensions on images and reserve space for late-loading elements

Measure before and after, every time

Speed work without measurement is guesswork. Before changing anything, take a baseline using Google PageSpeed Insights for real-world field data and Lighthouse or WebPageTest for controlled lab tests. That tells you which problems are actually costing you, so you fix the biggest first.

Watch out for the gap between lab and field data. A lab test runs on a fast simulated connection; field data reflects real visitors on real phones and patchy mobile networks. The field numbers are the ones Google uses for ranking, so they are the ones to trust when judging whether your work has paid off.

Re-test after each change and you will quickly learn which techniques move the needle most for your particular site. Speed is not a one-off job either; new images, plugins and third-party scripts creep weight back in over time, so a periodic check keeps a fast site fast.

Where to start if you only have an hour

If you cannot do everything at once, the order of impact is fairly consistent across sites. Sort your images first, because they almost always offer the biggest single saving for the least effort, then add lazy loading so the first screen appears sooner.

After that, turn on caching and a CDN, which are usually quick to configure and benefit every page at once. Code splitting and removing unused JavaScript take more skill and time, so they sit a little further down the list unless heavy scripts are clearly your bottleneck.

Done in that order, most sites move from sluggish to genuinely quick without any redesign. If you would rather not get into the technical detail, this is exactly the kind of focused, measurable work Pro Digital Labs does as a standalone project on an existing site.

Frequently asked questions

What counts as a good page load time?expand_more

Aim for the main content to appear within 2.5 seconds on a typical mobile connection, which is the Largest Contentful Paint threshold Google considers good. Many well-optimised sites load comfortably under two seconds. The exact figure matters less than passing Core Web Vitals on real visitor data.

Will faster page speed actually improve my Google ranking?expand_more

Speed is a confirmed ranking factor through Core Web Vitals, but it is one of many. It rarely catapults a page up the results on its own. It does, however, remove a handicap and improve conversions, so a fast site competes better and earns more from the traffic it already has.

What is the single biggest cause of slow websites?expand_more

Oversized images, by a wide margin. Large, uncompressed photos in old formats are the most common reason pages crawl. Converting to WebP or AVIF, resizing to the dimensions actually displayed, and lazy-loading off-screen images usually delivers the biggest improvement for the least effort.

Can I speed up my site without redesigning it?expand_more

Yes. Almost every technique here is invisible to visitors: image compression, lazy loading, caching, a CDN, minification and code splitting all change how the site loads, not how it looks. Speed optimisation is routinely done as a standalone project on an existing design.

How do I measure my current page speed?expand_more

Use Google PageSpeed Insights for real-world field data drawn from actual visitors, and Lighthouse or WebPageTest for controlled lab tests. Take a baseline before you start, then re-test after each change so you can see which improvements made the biggest difference.

Want a site that actually performs?

Hand-coded, fast, and built to convert. Get a fixed quote in writing within 24 hours.

Get a Free Quotearrow_forward
WhatsApprequest_quoteGet a Quote