Speed

How fast your pages load and respond — on the phone first, then the desktop.

0.25 of the composite score — the heaviest axis

Why does this matter — for rankings, traffic and trust?

Speed is the only axis Google has confirmed as a direct ranking signal through Core Web Vitals, and it is weighted heaviest in this score because it compounds everything else: a slow page wastes good titles, good schema and good content. Google indexes with the mobile agent and tests with the mobile strategy — your phone experience is your SEO experience.

For marketing the math is blunt: LCP under 2.5s versus over 4s is routinely the difference between a 2% and a 5% conversion rate; every extra second of load measurably raises bounce. Interactive feel (TBT/INP) decides whether a form feels instant or sticky on a mid-range Android — the device most of your traffic actually uses.

Most speed failures are configuration, not talent: uncompressed transfer, no cache headers, render-blocking assets and unoptimized hero images account for the majority of failed audits. They fix in hours, not quarters.

Every signal in this division — exactly what the engine checks

Lighthouse (mobile)w10Optimize LCP/TBT: preload the hero, split JS, compress images.
Largest Contentful Paintw7Cut LCP: preload the hero image, size it correctly, drop render-blocking resources.
Lighthouse (desktop)w6Desktop performance lags — check LCP/TBT on the desktop strategy.
server response (TTFB)w5Faster TTFB: cache HTML at the edge, trim server work, upgrade hosting.
field INP (CrUX)w5Break long JS tasks into smaller pieces and defer non-critical scripts to improve INP.
mobile viewportw4Add <meta name="viewport" content="width=device-width, initial-scale=1"> so phones render the page correctly.
Cumulative Layout Shiftw4Reserve space for embeds and images (width/height, aspect-ratio) so content stops jumping.
field LCP (CrUX)w4Real-user LCP is slow — optimize the hero payload and server response.
field CLS (CrUX)w3Real users see layout shifts — set explicit dimensions on media, fonts and ads.
content compressionw3Enable gzip or brotli compression for HTML/CSS/JS at the server or CDN.
cache policyw3Send cache-control on static assets (e.g. "public, max-age=31536000, immutable").
total blocking timew3Long blocking time means the main thread chokes interaction — split and defer JS.
HTTP/3w2Advertise HTTP/3 via Alt-Svc so modern clients skip TCP/TLS round-trips.
first contentful paintw2FCP above ~2s usually means render-blocking CSS/JS or a slow server.

How to fix it

What commonly causes failures here

Best-practice setup

The two blocks below are the highest-leverage hour in web performance: turn on compression and sane caching at the edge, then mark the hero asset as the thing to fetch first.

nginx — compression + cache policy in one server block
server {
  # compression: typically cuts HTML/CSS/JS transfer by 60–80%
  gzip on;
  gzip_vary on;
  gzip_comp_level 6;
  gzip_types text/css application/javascript application/json image/svg+xml text/plain application/xml;

  # hashed, immutable assets → cache for a year
  location /assets/ {
    add_header Cache-Control "public, max-age=31536000, immutable";
  }

  # HTML must revalidate so deploys are picked up
  location / {
    add_header Cache-Control "no-cache";
  }
}
HTML — make the LCP element the browser’s first priority
<head>
  <link rel="preload" href="/hero.avif" as="image"
        imagesrcset="/hero-640.avif 640w, /hero-1280.avif 1280w"
        imagesizes="100vw" fetchpriority="high">
  <script defer src="/app.js"></script>   <!-- defer: never block rendering -->
</head>
<body>
  <img src="/hero-640.avif"
       srcset="/hero-640.avif 640w, /hero-1280.avif 1280w"
       sizes="100vw" width="1280" height="720"
       fetchpriority="high" decoding="async"
       alt="Fulfillment center with Acme robots picking orders">
</body>
The one meta tag that makes a page usable on phones
<meta name="viewport" content="width=device-width, initial-scale=1">

How we measure it

We run Google PageSpeed Insights twice per scan — the mobile strategy (primary, matching how Google sees you) and the desktop strategy — plus CrUX field data (p75 of real users) when enough visitors have contributed. Server response comes from Lighthouse with our own probe measurement as fallback, so the axis stays honest even when PSI is rate-limited.

Continue with the other divisions

DiscoverabilityCan search engines — and AI systems — find, crawl and understand your …AI-ReadinessCan AI assistants ingest, trust, and cite your content when they answe…FoundationsThe infrastructure under the name: DNS, registry health, and whether y…SecurityThe connection, the content and the headers that protect both — and th…ReputationHow the wider web vouches for you — blocklists, breach databases, cert…

← Analyze your domain