Every Google PageSpeed Insights Error Explained (And How to Fix Each One)

You ran your site through Google PageSpeed Insights and got back a wall of colored flags. Some you understand, most you don’t.
This guide explains every PageSpeed Insights error in detail and shows you exactly how to fix each one, across Performance, Accessibility, Best Practices, and SEO, fully updated for Lighthouse 13. Whether you’re troubleshooting a single red flag or working through all common PageSpeed Insights errors systematically, every audit is covered below.
Quick summary
If you’re short on time, here are the most common PageSpeed problems and what fixes them:
- Slow server / no caching
- Unoptimized images
- Render-blocking CSS/JS
- Too much JavaScript
- Layout shifts (CLS)
- Accessibility issues
- SEO basics
Now let’s go through every audit in detail.
How PageSpeed Insights actually works
GPSI pulls data from two sources:
Field data — real Chrome users over 28 days (Chrome User Experience Report). This is what Google uses for ranking signals.
Lab data — generated on the spot by Lighthouse, simulating a mid-tier phone on a throttled connection. Useful for diagnostics, but synthetic.
The report scores four categories from 0 to 100: Performance, Accessibility, Best Practices, and SEO. 90+ is green, 50–89 orange, below 50 red.
Your PageSpeed score doesn’t directly affect Google rankings. Core Web Vitals (LCP, CLS, INP) from real users do. But fixing GPSI issues improves those metrics.
As of late 2025, GPSI runs on Lighthouse 13, which reorganized many audits into grouped “Insights.”
Performance metrics
These five measurements generate your Performance score. They’re the dashboard gauges, the engine problems are in the sections that follow.
If you’re on WordPress, FastPixel can easily fix most of these issues for you by simply optimizing your pages. We will indicate on the right side of each issue whether it can be resolved by FastPixel or requires another solution.
1. First Contentful Paint (FCP)
Weight: 10% · Good: under 1.8s · Poor: over 3.0s
How long until the visitor sees the first piece of content on screen.
How to fix it:
- Enable page caching → FastPixel
- Generate and inline Critical CSS → FastPixel
- Defer render-blocking JavaScript → FastPixel
- Use a CDN → FastPixel
- Reduce server response time (upgrade hosting if needed)
2. Largest Contentful Paint (LCP)
Weight: 25% · Core Web Vital · Good: under 2.5s · Poor: over 4.0s
How long until the main content (hero image, heading, video poster) is visible.
How to fix it:
- Compress and convert the LCP image to WebP/AVIF → FastPixel (image optimization, powered by ShortPixel)
- Preload the LCP image → FastPixel (automatic)
- Enable caching + CDN → FastPixel
- Remove render-blocking resources → FastPixel
- Don’t lazy-load the LCP image → FastPixel (handles automatically)
3. Total Blocking Time (TBT)
Weight: 30% · Good: under 200ms · Poor: over 600ms
Total time the main thread was blocked by JavaScript for more than 50ms. High TBT = clicks and taps feel unresponsive.
How to fix it:
- Delay non-critical JavaScript → FastPixel
- Remove unused plugins and scripts
- Defer third-party scripts (analytics, chat, ads) → FastPixel
- Break long JS tasks into smaller chunks (code-level)
4. Cumulative Layout Shift (CLS)
Weight: 25% · Core Web Vital · Good: under 0.1 · Poor: over 0.25
How much content shifts around during loading. Buttons moving, text jumping, images popping in.
How to fix it:
- Set width and height on all images (manual)
- Use Critical CSS to reserve layout space → FastPixel
- Optimize font loading (subsetting, embedding, font-display) → FastPixel
- Reserve space for ads and dynamic content (manual)
- Use sized placeholders for lazy-loaded images → FastPixel
5. Speed Index (SI)
Weight: 10% · Good: under 3.4s · Poor: over 5.8s
How quickly the page visually fills in during loading.
How to fix it:
- Everything that improves FCP and LCP also improves Speed Index
- Enable Critical CSS + cached page delivery → FastPixel
- Optimize above-the-fold images → FastPixel
Performance insights
With Lighthouse 13, Google consolidated many individual audits into grouped “Insights.” These are the actionable recommendations at the top of the Performance section.
6. Document latency
Formerly: “Reduce server response times (TTFB)” · “Avoid multiple page redirects” · “Enable text compression”
Your server takes too long to respond, redirects are adding round trips, or text compression is missing.
How to fix it:
- Enable page caching (serve static HTML) → FastPixel
- Use a CDN → FastPixel
- Enable Gzip/Brotli compression → FastPixel (enabled by default on CDN)
- Eliminate unnecessary redirects
- Upgrade hosting if TTFB remains above 600ms
7. Render blocking resources
Formerly: “Eliminate render-blocking resources”
CSS and JS in the <head> block the browser from painting anything until they’re downloaded and processed. 85% of mobile pages fail this audit.
How to fix it:
- Generate and inline Critical CSS → FastPixel
- Defer non-critical CSS loading → FastPixel
- Delay JavaScript execution → FastPixel
- Remove unused CSS/JS files from <head>
All of this is processed in the cloud, so your server resources aren’t affected.
8. Image delivery
Formerly: “Serve images in next-gen formats” · “Efficiently encode images” · “Properly size images” · “Use video formats for animated content”
Images are in old formats, poorly compressed, oversized for their containers, or using GIF instead of video.
How to fix it:
- Convert images to WebP/AVIF → FastPixel (automatic, powered by ShortPixel)
- Compress images (Lossy, Glossy, or Lossless) → FastPixel
- Resize images to fit display dimensions → FastPixel (adaptive images)
- Serve optimized images through global CDN → FastPixel
- Replace animated GIFs with MP4/WebM video
FastPixel handles image optimization, next-gen conversion, resizing, and CDN delivery automatically, all powered by ShortPixel’s compression engine. For advanced image optimization workflows, you can also use Shortpixel Image Optimizer for granular compression settings, AI Image SEO, Smart Cropping, WebP/AVIF generation and delivery via CDN.
9. LCP discovery
Formerly: “Preload Largest Contentful Paint image” · “LCP image was not lazily loaded”
The browser discovers the LCP image too late, or someone applied loading=”lazy” to it (which delays it further).
How to fix it:
- Preload the LCP image in <head> → FastPixel (automatic)
- Remove loading=”lazy” from the LCP image → FastPixel (automatic)
- Reference LCP images directly in HTML, not via CSS background-image
10. LCP phases
Formerly: “Largest Contentful Paint element”
Breaks LCP into four phases so you can see where the bottleneck is: TTFB, resource load delay, resource load time, render delay.
How to fix it:
- High TTFB → enable caching + CDN → FastPixel
- Resource discovered too late → preload the LCP element → FastPixel
- Resource too large → compress + convert → FastPixel
- Render delay → defer non-critical CSS/JS → FastPixel
11. CLS culprits
Formerly: “Avoid large layout shifts”
Identifies specific elements causing layout shifts, images without dimensions, late-loading fonts, dynamically injected content.
How to fix it:
- Set width and height on <img> and <video> elements (manual)
- Use font-display: swap + font subsetting → FastPixel
- Generate Critical CSS to reserve layout space → FastPixel
- Reserve fixed-size containers for ads and embeds (manual)
- Use sized placeholders for lazy-loaded images → FastPixel
12. Interaction to Next Paint
Formerly: “Minimize work during key interaction”
Measures responsiveness, the delay between a user interaction and the next visual update. Lab equivalent of the INP Core Web Vital.
How to fix it:
- Delay non-critical JavaScript → FastPixel
- Break up long event handlers (code-level)
- Reduce DOM size (code-level)
- Use Web Workers for heavy computation (code-level)
13. Network dependency tree
Formerly: “Avoid chaining critical requests” · “Preconnect to required origins”
Resources load in sequence (HTML → CSS → font → image), adding latency. Missing preconnect hints to third-party domains.
How to fix it:
- Add DNS prefetch and preconnect hints → FastPixel (automatic)
- Flatten dependency chains by inlining critical resources → FastPixel
- Serve assets through CDN → FastPixel
14. Font display
Formerly: “Ensure text remains visible during webfont load”
Text becomes invisible while web fonts download (FOIT, flash of invisible text).
How to fix it:
- Apply font-display: swap to @font-face declarations → FastPixel
- Subset fonts (only characters you use) → FastPixel
- Embed critical font data inline → FastPixel
- Preload critical fonts
Web fonts are one of the most overlooked performance bottlenecks in WordPress.
15. Use cache
Formerly: “Serve static assets with an efficient cache policy”
Static resources (images, CSS, JS, fonts) don’t have caching headers. The browser re-downloads everything on every visit.
How to fix it:
- Serve assets through CDN with long-term cache headers → FastPixel (automatic)
- Set Cache-Control: max-age=31536000 for versioned assets
- Use file versioning (e.g., style.v2.css)
16. Modern HTTP
Formerly: “Use HTTP/2”
Your server uses HTTP/1.1, which downloads resources one at a time. HTTP/2 enables multiplexing.
How to fix it:
- Serve assets through CDN → FastPixel (HTTP/2 by default)
- Ensure SSL/TLS certificate is installed (required for HTTP/2)
- Upgrade hosting to a provider that supports HTTP/2
17. DOM size
Formerly: “Avoid an excessive DOM size”
Too many HTML elements (flagged at 1,400+). Slows style calculations, layout, and JS DOM queries.
How to fix it:
- Simplify page layouts, reduce nesting (manual)
- Avoid page builders that generate excessive wrapper <div> elements
- Use pagination or “load more” instead of rendering everything
- Remove hidden/unnecessary elements
This is a code-level issue, no optimization plugin can reduce DOM size. If you’re on Divi, simplify your layouts, reduce nesting, and avoid unnecessary wrapper elements.
18. Third parties
Formerly: “Reduce the impact of third-party code”
Analytics, ads, chat widgets, social embeds, third-party scripts often contribute the majority of JS on a page.
How to fix it:
- Delay third-party JavaScript execution → FastPixel
- Audit third-party scripts and remove non-essential ones
- Self-host critical third-party resources where possible
19. Legacy JavaScript
Formerly: “Avoid serving legacy JavaScript to modern browsers”
JS bundles include polyfills for old browsers that modern browsers don’t need.
How to fix it:
- Minify JavaScript → FastPixel
- Update build tools to target modern browsers (code-level)
- Remove polyfills for widely-supported features (code-level)
20. Duplicated JavaScript
Formerly: “Remove duplicate modules in JavaScript bundles”
Multiple plugins ship their own copy of jQuery, Lodash, or React.
How to fix it:
- Combine JavaScript files → FastPixel
- Audit plugins for overlapping libraries
- Use wp_dequeue_script() to remove duplicate scripts (code-level)
21. Viewport
Formerly: “Does not have a <meta name=”viewport”> tag”
Missing viewport meta tag. Mobile browsers render at desktop width and scale down.
How to fix it:
- Add <meta name=”viewport” content=”width=device-width, initial-scale=1″> to <head> (theme-level fix)
Performance diagnostics
Additional information about performance. Don’t directly affect the score, but fixing them improves the metrics that do.
22. Reduce unused JavaScript
JS files with 20KB+ of code downloaded but never executed during page load.
How to fix it:
- Delay non-critical JavaScript → FastPixel
- Remove unused WordPress plugins
- Use code splitting (code-level)
23. Reduce unused CSS
CSS rules downloaded but not matching any elements on the current page.
How to fix it:
- Generate Critical CSS per page → FastPixel (automatic)
- Defer non-critical stylesheets → FastPixel
- Use PurgeCSS to remove unused rules (code-level)
24. Minify JavaScript
JS files contain whitespace, comments, and long variable names. Minification reduces size by 20–60%.
How to fix it:
- Enable JS minification → FastPixel (automatic)
25. Minify CSS
CSS files contain unnecessary whitespace and comments.
How to fix it:
- Enable CSS minification → FastPixel (automatic)
26. Avoid enormous network payloads
Total transfer size exceeds 5,000KB.
How to fix it:
- Compress and convert images → FastPixel
- Minify CSS, JS, HTML → FastPixel
- Enable text compression (Gzip/Brotli) → FastPixel
- Lazy load below-the-fold images → FastPixel
- Remove unnecessary resources
27. Reduce JavaScript execution time
More than 2 seconds of CPU time spent parsing, compiling, and executing JS.
How to fix it:
- Delay non-critical scripts → FastPixel
- Remove heavy plugins
- Break up long-running scripts (code-level)
28. Minimize main-thread work
Too much total work on the browser’s main thread during page load.
How to fix it:
- Defer JavaScript execution → FastPixel
- Generate streamlined Critical CSS → FastPixel
- Reduce DOM size (code-level)
- Simplify CSS selectors (code-level)
29. Avoid long main-thread tasks
Individual tasks on the main thread taking longer than 50ms, blocking user interaction.
How to fix it:
- Defer script loading → FastPixel
- Break long JS functions into async chunks (code-level)
- Move heavy computation to Web Workers (code-level)
30. Avoid non-composited animations
CSS animations running on CPU instead of GPU. Animating width, height, top, left, or margin triggers layout recalculations.
How to fix it:
- Use transform and opacity instead (code-level)
- Add will-change: transform for animated elements (code-level)
No plugin can fix this, it requires CSS changes in your theme.
31. Image elements do not have explicit width and height
Images without dimensions cause layout shifts (CLS).
How to fix it:
- Add width and height attributes to <img> tags (manual)
- Use aspect-ratio CSS property as alternative
- Lazy loading with sized placeholders → FastPixel
32. User Timing marks and measures
Informational only, shows custom performance.mark() calls. No fix needed.
Retired performance audits
Removed in Lighthouse 13 (October 2025). You won’t see these in current reports but they appear in older guides.
33. First Meaningful Paint — replaced by LCP.
34. Defer offscreen images — removed because browsers natively deprioritize offscreen images now. FastPixel still implements lazy loading for bandwidth savings.
35. Preload key requests — removed due to risk of over-recommendation.
36. Preload fonts — same reasoning as above.
37. Avoids document.write() — rarely used in modern code.
38. Uses passive listeners — modern browsers handle this by default.
39. Lazy load third-party resources with facades — removed due to limited facades and third-party concerns.
40. Document doesn’t use legible font sizes — no evidence it’s an SEO signal.
Accessibility audits
Accessibility evaluates whether your content works for everyone, including screen reader and keyboard users. Lighthouse uses the axe-core library and catches about 30–50% of issues automatically.
These are almost entirely code-level fixes, no caching or image plugin can fix them. They require HTML, ARIA, and CSS changes.
Quick fix summary:
- Add alt text to all images
- Add labels to all form fields
- Fix color contrast
- Use proper heading hierarchy (H1 → H2 → H3)
- Use semantic HTML (<header>, <nav>, <main>, <footer>)
- Don’t block zoom in viewport settings
Navigation
41. [accesskey] values are not unique Duplicate keyboard shortcuts conflict. Make each value unique.
42. Page does not contain a heading, skip link, or landmark region Screen reader users can’t navigate efficiently. How to fix it:
- Add a skip navigation link
- Use semantic HTML5 elements (<header>, <nav>, <main>, <footer>)
- Structure content with headings
43. Heading elements are not in sequentially-descending order Jumping from H1 to H4 breaks document structure. Use CSS for sizing, not heading levels.
44. <html> element does not have a [lang] attribute Screen readers need this for pronunciation. Add <html lang="”en”"> (or your language code).
45. <html> element does not have a valid [lang] value Invalid language code. Use BCP 47 tags: en, fr, de, ro, etc.
46. [id] attributes on focusable elements are not unique Duplicate IDs break ARIA relationships. Every id must be unique on the page.
47. No element has [tabindex] greater than 0 Informational. Positive tabindex values override natural tab order. Use only 0 or -1.
Contrast
48. Background and foreground colors do not have sufficient contrast ratio Text too similar to background color. WCAG requires 4.5:1 for normal text, 3:1 for large text. How to fix it: Increase contrast in your theme’s color palette. Use a contrast checker tool.
Images & media
49. Image elements do not have [alt] attributes Screen readers can’t describe the image. How to fix it:
- Add descriptive alt to informational images
- Use alt=”” for decorative images
- Generate ALT text in bulk with AI → ShortPixel Image Optimizer (AI image SEO feature)
50. <input type=”image”> elements do not have [alt] text Image buttons need alt describing the action (e.g., alt=”Submit”).
51. Image [alt] attributes contain redundant text “Image of” or “photo of” is redundant — screen readers already announce it’s an image.
52. <object> elements do not have [alt] text Embedded objects need text alternatives.
53. <frame> or <iframe> elements do not have a title Add title describing the embedded content (e.g., title=”Google Maps location”).
54. <video> elements missing <track> with captions Add <track kind=”captions” src=”captions.vtt” srclang=”en”>.
Forms
55. Form elements do not have associated labels Screen readers can’t tell what a field expects. Associate a <label> with every input.
56. Form fields have multiple labels One label per field. Use aria-describedby for extra help text.
57. <select> elements do not have associated labels Dropdowns need labels too.
Links & buttons
58. Links do not have a discernible name Links with only icons or no text. Add visible text or aria-label.
59. Buttons do not have an accessible name Same for buttons. Icon-only buttons need aria-label.
ARIA
ARIA attributes make dynamic content accessible, but incorrect usage makes things worse.
60. [aria-*] attributes do not match their roles ARIA attributes must be compatible with the element’s role.
61. [aria-*] attributes do not have valid values Example: aria-hidden=”yes” should be aria-hidden=”true”.
62. [aria-*] attributes are not valid or misspelled Typo in attribute name (e.g., aria-lable instead of aria-label).
63. [role] values are not valid Invalid role value. Use valid WAI-ARIA roles.
64. ARIA roles missing required children Some roles require specific child roles (e.g., role=”list” needs role=”listitem” children).
65. [aria-hidden=”true”] on the <body> Makes the entire page invisible to assistive tech. Remove it from <body>.
66. [aria-hidden=”true”] contains focusable descendants Hidden containers shouldn’t have tabbable children. Add tabindex=”-1″ or restructure.
67. ARIA IDs are not unique Duplicate IDs mean wrong elements get referenced by ARIA attributes.
68–74. ARIA input/meter/progressbar/toggle/tooltip/treeitem/dialog elements do not have accessible names All interactive ARIA elements need aria-label or aria-labelledby.
Lists & structure
75. Lists do not contain only <li> elements <ul> and <ol> should only have <li> as direct children.
76. List items not inside <ul>, <ol>, or <menu> Orphaned <li> elements need a list wrapper.
77. Definition list items not wrapped in <dl> <dt> and <dd> must live inside a <dl>.
78. <dl> elements not properly ordered Definition lists need <dt> followed by <dd> in correct order.
Tables
79. Table headers do not have data cells they describe Use scope or headers attributes to associate headers with data.
80. Table cells reference nonexistent header IDs Fix the headers attribute to point to valid IDs within the same table.
Other accessibility
81. Document doesn’t have a <title> element First thing screen readers announce. Add a descriptive <title> in <head>.
82. Touch targets not sized appropriately Interactive elements under 48×48px are hard to tap. Increase size with padding.
83. Viewport prevents zooming user-scalable=no or maximum-scale < 5 blocks zoom for low-vision users. Remove these restrictions.
84. Page uses <meta http-equiv=”refresh”> Auto-refresh disorients screen reader users. Use server-side redirects instead.
85. [lang] attributes on elements have invalid values Use valid BCP 47 language codes on individual elements.
Best Practices audits
Checks security, compatibility, and general code health.
86. Uses HTTPS
All resources should be served over secure HTTPS connections. Mixed content (HTTP on HTTPS pages) is a security risk and increasingly blocked by browsers.
How to fix it:
- Install an SSL/TLS certificate (most hosts offer free SSL via Let’s Encrypt)
- Update all resource URLs to use https://
- Set up HTTP → HTTPS redirects
87. Images displayed with incorrect aspect ratio
Images appear stretched or squished because CSS distorts their natural proportions.
How to fix it:
- Use object-fit: cover or object-fit: contain in CSS
- Avoid setting both width and height to non-proportional values
- Use properly sized images → FastPixel (preserves aspect ratios during optimization)
88. Images served at inappropriate resolution
Images are too low-res (blurry on retina) or too high-res (wasting bandwidth).
How to fix it:
- Use the srcset attribute to serve multiple resolutions
- Serve adaptive images based on device → FastPixel
89. Missing HTML doctype — add <!DOCTYPE html> as the first line.
90. Browser errors logged to console — JavaScript errors during page load. Check Chrome DevTools Console.
91. Issues in Chrome DevTools Issues panel — deprecations and network problems. Check DevTools → Issues.
92. Detected JavaScript libraries — informational. Lists libraries and flags known security vulnerabilities. Keep libraries updated.
93. Prevents pasting in password fields — remove onpaste restrictions. Password managers are a security best practice.
94. Invalid source maps — ensure your build generates valid .map files.
95. CSP not effective against XSS — implement a Content Security Policy header.
96. Page prevented bfcache restoration
Your page can’t be instantly restored when users navigate back/forward. The back/forward cache (bfcache) makes back-button navigation feel instant, but certain APIs and headers prevent it.
How to fix it:
- Remove Cache-Control: no-store from HTML responses
- Remove unload event listeners (use pagehide instead)
- Close WebSocket connections on page hide
97. Uses deprecated APIs, check Console for deprecation warnings and update to replacements.
SEO audits
Basic search engine optimization checks. A perfect score here is the baseline, not the finish line.
98. No meta description
The meta description often appears as the snippet in search results. Missing it means Google pulls random text from your page.
How to fix it:
- Add a unique meta description of 120–158 characters per page
- Include your main keyword naturally
- Use an SEO plugin like Yoast SEO or Rank Math
99. No <title> element
The page title shows in browser tabs, search results, and social shares. It’s one of the most important on-page SEO elements.
How to fix it:
- Add a unique, descriptive <title> under 60 characters
- Include your main keyword near the beginning
- Use an SEO plugin for easy management
100. Missing viewport meta tag
Without a viewport meta tag, mobile browsers render at desktop width and scale down. Google uses mobile-first indexing, so this affects crawling.
How to fix it:
- Add <meta name=”viewport” content=”width=device-width, initial-scale=1″> to <head>
- Any properly built WordPress theme should include this by default
101. Invalid hreflang — use valid language codes with reciprocal links between all language variants.
102. Invalid rel=canonical — canonical URL must be absolute, return 200, and point to the preferred version.
103. Page returns error HTTP status code — fix server errors. 4xx/5xx pages won’t get indexed.
104. Page blocked from indexing — check robots.txt, noindex tags, and X-Robots-Tag headers.
105. Images missing [alt] attributes — add descriptive alt text for image search visibility. For bulk generation, ShortPixel’s AI image SEO feature can create ALT text automatically across your media library.
106. Links have non-descriptive text — replace “click here” and “read more” with descriptive anchor text.
107. Links are not crawlable — use standard <a href="/fr/”URL”/"> elements. JavaScript-only navigation is invisible to crawlers.
108. Page is not mobile friendly — use responsive design, readable fonts, properly sized tap targets.
109. Invalid structured data — validate at Google’s Rich Results Test.
110. Invalid robots.txt — fix syntax errors. Test in Google Search Console.
111. Tap targets too small — interactive elements need to be at least 48×48px with adequate spacing.
Wrapping up
If you want to fix most PageSpeed Insights performance issues without manual work:
Use FastPixel, it handles caching, CDN, Critical CSS, JavaScript deferral, font optimization, DNS prefetching, minification, HTTP/2 delivery, and built-in image optimization powered by ShortPixel. For most WordPress sites, installing FastPixel is the fastest way to fix most PageSpeed Insights errors automatically.
For advanced image optimization workflows (optional):
- ShortPixel plugins like ShortPixel Image Optimizer or ShortPixel Adaptive Images can be used separately for granular compression settings, AI-generated ALT text, Smart Cropping, and on-the-fly CDN delivery
For Accessibility, Best Practices, and SEO, those need attention to your HTML, content, and code quality. No plugin rewrites your theme’s markup for you.
Start at pagespeed.web.dev, work through the highest-impact issues first, and measure the difference.
FAQs
Does my PageSpeed score directly affect Google rankings? No. Google uses Core Web Vitals (LCP, CLS, INP) from real user data, not your lab score. Fixing GPSI issues improves those metrics, but the score itself isn’t a ranking signal.
Why is my mobile score so much lower than desktop? Lighthouse uses a throttled mobile simulation, a mid-tier phone on a slow connection. Desktop tests use a wired connection with no CPU throttling. A 20–40 point gap is normal. Focus on the mobile score since Google uses mobile-first indexing.
Should I aim for a perfect 100? No. A score of 85–95 with passing Core Web Vitals in real-user data is far more valuable than chasing 100 in a lab test.
Can a single plugin fix all PageSpeed errors? Performance issues, mostly yes. In most cases FastPixel can fix everything performance related. Accessibility, Best Practices, and SEO audits are about HTML structure and content quality, which require manual fixes.
Why do my scores fluctuate between tests? Lab tests are sensitive to server load and network conditions. Variations of 5–10 points are normal. Run 3–5 tests and look at averages.
What’s the difference between “Insights” and “Diagnostics”? Insights (Lighthouse 13) are grouped, actionable recommendations sorted by estimated impact. Diagnostics are individual, granular checks with additional detail. Start with Insights.
Do Accessibility errors affect SEO? Not directly. But some practices overlap (alt text, heading structure, crawlable links), and accessible sites tend to be well-structured, which search engines favor.