Lesson 9 of 1712 minIntermediate

Core Web Vitals and Page Speed

Page Speed Beyond CWV Compression Caching Cdn

Apply the infrastructure-level optimisations that improve overall speed regardless of which vital is failing.

Reading time · unlocks the next lesson

0:00 / 5:00 · paused

Compression

Enable Brotli or, as a fallback, Gzip compression at the server or CDN level for all text-based assets including HTML, CSS, JavaScript and SVG; Brotli typically achieves 15-20% smaller payloads than Gzip at the same quality setting. Verify compression is actually active by checking the Content-Encoding response header, since many misconfigured servers silently serve uncompressed assets.

Caching headers

Set long max-age Cache-Control headers, often a year, on versioned static assets like fingerprinted CSS and JS bundles, since their filenames change whenever content changes, making stale caches impossible. HTML documents should use shorter cache lifetimes or a validation strategy with ETag or Last-Modified so users get updates promptly.

  • Static assets (fingerprinted): Cache-Control: max-age=31536000, immutable
  • HTML: short max-age with revalidation, or no-cache with ETag
  • API responses: cache selectively based on data volatility

CDN placement and edge logic

A CDN caches content at points of presence geographically close to users, cutting the network round-trip that dominates TTFB for distant visitors. Modern CDNs also support edge functions that can run redirects, A/B tests or personalisation without a round trip to the origin server, which keeps TTFB low even for semi-dynamic content.

Image and font delivery

Serve images in modern formats (WebP, AVIF) at responsive sizes via srcset, and self-host critical fonts with font-display: swap or optional rather than relying on a third-party font host that adds an extra DNS lookup and connection.

Validating gains in RankAudit

Use RankAudit's waterfall comparison to run a before-and-after test after each infrastructure change, confirming the specific improvement in TTFB, payload size or resource count rather than assuming a config change worked.

Key takeaways

  • Confirm Brotli or Gzip compression is actually active via response headers
  • Set year-long cache lifetimes only on fingerprinted static assets
  • Use a CDN to cut network distance for distant visitors
  • Serve modern image formats and self-host critical fonts

Why this lesson matters

This lesson belongs to Core Web Vitals and Page Speed, the part of Technical SEO Excellence where the goal is: diagnose and resolve the specific rendering and interaction bottlenecks that drag down core web vitals.

Read it once, then do it straight away on a real site inside RankAudit. Nothing here is theory for its own sake — every step produces something you can show a client.

Do it now

  1. 1Open RankAudit with sample data already loaded, so you are not stuck on setup.
  2. 2Crawl a site and triage the issue list.
  3. 3Use RankAudit's field and lab data views to trace each Core Web Vital back to the exact element or script causing it.