Skip to main content

Page speed metrics meet thresholds

ab-002481 · seo-advanced.technical-seo.page-speed
Severity: mediumactive

Why it matters

Lighthouse Performance score below 80 on desktop or 60 on mobile indicates a page is delivering a measurably degraded experience relative to the performance budget Google uses for crawl prioritization. FCP above 1.8s means users see a blank screen for a full second longer than acceptable — search engines track this as a proxy for content delivery quality. TBT above 300ms indicates long JavaScript tasks blocking the main thread, which delays interactivity and degrades INP. iso-25010:2011 performance-efficiency.time-behaviour is the relevant quality dimension — these are engineering thresholds, not aspirational targets.

Severity rationale

Medium because Lighthouse Performance score and FCP/TBT metrics influence crawl budget and user experience but are not direct ranking signals at the severity level of Core Web Vitals.

Remediation

Run npx lighthouse https://yoursite.com --preset=desktop and --preset=mobile to baseline your scores. Target the two highest-TBT contributors first — usually large JavaScript bundles and third-party scripts.

In next.config.js, enable compression and restrict bundle output:

// next.config.js
module.exports = {
  compress: true,
  images: { formats: ['image/avif', 'image/webp'] },
  experimental: { optimizePackageImports: ['lucide-react', 'date-fns'] },
}

For third-party scripts causing TBT, switch to next/script with strategy="lazyOnload" in app/layout.tsx. For FCP, inline critical CSS and defer non-critical stylesheets. Re-run Lighthouse after each change — don't batch optimizations, as individual impact is hard to attribute otherwise.

Detection

  • ID: seo-advanced.technical-seo.page-speed

  • Severity: medium

  • What to look for: For each sampled page, enumerate these 3 metrics: Lighthouse Performance score (target at least 80 desktop, at least 60 mobile), FCP (First Contentful Paint, target under 1.8s), and TBT (Total Blocking Time, target under 300ms). Count how many metrics pass their thresholds across all sampled pages.

  • Pass criteria: Lighthouse Performance at least 80 on desktop and at least 60 on mobile. FCP under 1.8s and TBT under 300ms on all sampled pages. Report: "Desktop Lighthouse: X, Mobile: Y, FCP: Zs, TBT: Wms."

  • Fail criteria: Any metric falls below its target threshold on any sampled page.

  • Skip (N/A) when: Unable to run Lighthouse or measure page speed (dev environment, no browser access).

  • Detail on fail: "Desktop Lighthouse 72 (below 80 threshold); mobile 54 (below 60 threshold); TBT 450ms (exceeds 300ms limit)".

  • Remediation: Reduce JavaScript payload in next.config.js or component files. Optimize images with next/image in app/page.tsx. Enable compression and use CDN for static assets:

    // next.config.js — enable compression and optimize output
    module.exports = {
      compress: true,
      images: { formats: ['image/avif', 'image/webp'] },
    }
    

External references

Taxons

History