Performance
Server response time, payload weight, image sizes, Core Web Vitals and the HTTP caching that decides what a re-crawl costs.
Low Lighthouse performance score
- Id
- LOW_PERFORMANCE_SCORE
- Fires at
- < 0.5 score
- Fix estimate
- 30 min per page
Cumulative Layout Shift above the recommended threshold
- Id
- POOR_CLS
- Fix estimate
- 30 min per page
Interaction to Next Paint above the recommended threshold
- Id
- POOR_INP
- Fires at
- > 200 ms
- Fix estimate
- 30 min per page
Largest Contentful Paint above the recommended threshold
- Id
- POOR_LCP
- Fires at
- > 2,500 ms
- Fix estimate
- 30 min per page
Slow server response
Ask your host or developer about caching or a faster plan — the server itself is slow to answer.
- Id
- SLOW_RESPONSE
- Fires at
- > 1,500 ms
- Fix estimate
- 30 min per page
Slow time to first byte
Reduce server think-time with caching or a faster backend — TTFB delays every other loading metric.
- Id
- SLOW_TTFB
- Fires at
- > 1,800 ms
- Fix estimate
- 30 min per page
Unoptimized images
Compress the image and serve a modern format such as WebP or AVIF.
- Id
- UNOPTIMIZED_IMAGE
- Fires at
- > 500 KB
- Fix estimate
- 5 min per page
Very large DOM
Simplify the markup — thousands of DOM nodes slow rendering and hurt interaction responsiveness.
- Id
- EXCESSIVE_DOM_SIZE
- Fires at
- > 1,500 DOM nodes
- Fix estimate
- 30 min per page
Images below the fold load eagerly
Add loading="lazy" to images far down the page so they are fetched only if the reader scrolls to them.
- Id
- IMAGES_WITHOUT_LAZY_LOAD
- Fix estimate
- 10 min per page
Large HTML payload
- Id
- LARGE_HTML_PAYLOAD
- Fires at
- > 500 KB
- Fix estimate
- 30 min per page
No Cache-Control header
Send a Cache-Control header so browsers and proxies know how long the answer stays fresh.
- Id
- MISSING_CACHE_CONTROL
- Fix estimate
- 20 min per page
No ETag or Last-Modified header
Send an ETag or Last-Modified header so unchanged pages can answer with a cheap 304 instead of the full body.
- Id
- MISSING_CACHE_VALIDATORS
- Fix estimate
- 20 min per page
HTML served without compression
Enable gzip or Brotli compression on the server — HTML typically shrinks by 70–80%.
- Id
- MISSING_CONTENT_COMPRESSION
- Fires at
- > 10 KB
- Fix estimate
- 15 min per page
Images missing width/height
- Id
- MISSING_IMAGE_DIMENSIONS
- Fix estimate
- 3 min per page
Third-party origins without a connection hint
Add link rel="preconnect" (or dns-prefetch) for the third-party origins the page loads from, so the DNS and TLS handshake starts before the first resource is found.
- Id
- MISSING_PRECONNECT_HINTS
- Fix estimate
- 10 min per page
Many render-blocking scripts or stylesheets
Add defer/async to non-critical scripts and inline or split critical CSS so the page paints sooner.
- Id
- RENDER_BLOCKING_RESOURCES
- Fires at
- ≥ 6 blocking resources
- Fix estimate
- 25 min per page