Performance Score: From Load Times to Rankings
The performance score is the most impactful of the four categories because it is directly linked to Core Web Vitals. It comprises five metrics with different weightings:
| Metric | Weight | Good | Description |
|---|---|---|---|
| Total Blocking Time (TBT) | 30% | < 200 ms | Sum of all long tasks (INP proxy) |
| Largest Contentful Paint (LCP) | 25% | < 2.5 s | Load time of largest content element |
| Cumulative Layout Shift (CLS) | 25% | < 0.1 | Sum of unexpected layout shifts |
| First Contentful Paint (FCP) | 10% | < 1.8 s | First visible content |
| Speed Index | 10% | < 3.4 s | How quickly content becomes visible |
Eliminating Render-Blocking Resources
CSS and JavaScript files in the head section without async or defer block rendering. The browser waits for these files to be fully loaded and processed before displaying content. This is one of the most common reasons for low performance scores.
- Critical CSS inline: Extract CSS for the visible area (above the fold) and embed it directly in the
<head> - Non-critical CSS async: Load remaining CSS with
media="print" onload="this.media='all'"or via JavaScript - JavaScript with defer: Use the
deferattribute for all non-critical scripts - Modules instead of scripts:
type="module"automatically provides defer behavior
Optimizing Images: The Biggest Lever
Unoptimized images are the most common single factor for poor performance scores. Lighthouse identifies images that would be significantly smaller in modern formats. According to HTTP Archive, images account for an average of 42% of page weight (HTTP Archive).
- WebP or AVIF with JPEG/PNG fallback via the
<picture>element - Explicit
widthandheightattributes to avoid CLS loading="lazy"for below-the-fold images,fetchpriority="high"for the LCP elementsrcsetandsizesfor responsive image delivery- Compression: quality 75-85 for JPEG, automatic optimization with build tools
A detailed guide on image optimization and other load time factors can be found in the load time optimization guide.
Reducing and Splitting JavaScript
Large JavaScript bundles burden the main thread and worsen TBT and consequently the INP value. Lighthouse shows how much unused JavaScript is loaded. Typical measures include code splitting, tree shaking, replacing heavy libraries with lighter alternatives, and consistently removing unused plugins.
Loading Fonts Performantly
Web fonts frequently cause both performance and CLS issues. Host fonts locally instead of from external servers, which also avoids GDPR issues with Google Fonts. Use font-display: swap, preload hints for the most important font files, and the WOFF2 format for optimal compression.
Accessibility Score: Accessibility as a Quality Mark
The accessibility score checks whether your website is accessible to people with disabilities. Since the European Accessibility Act (BFSG), accessibility has become legally relevant for many websites. Lighthouse automatically tests a portion of WCAG 2.1 AA requirements.
Contrast Ratios
Text must have a contrast ratio of at least 4.5:1 against the background (3:1 for large text). Light gray text on a white background is the most common contrast error. Lighthouse checks every text element and shows exact contrast values and WCAG conformance.
Image Alt Texts
Every informative image needs a descriptive alt text. Purely decorative images should have an empty alt="" attribute so screen readers skip them. Lighthouse flags images without alt attributes and images whose alt text is empty despite having informative content.
Additional Accessibility Points
- Heading hierarchy: h1 through h6 in logical order without skipped levels
- Focus indicators: Interactive elements must be visibly focusable during keyboard navigation. Never remove
outline: nonewithout an equivalent alternative. - ARIA labels: Form fields without a visible label need
aria-labeloraria-labelledby - Language attribute: The
<html>element must have a validlangattribute - Link texts: Avoid generic link texts like 'click here'. Use descriptive texts understandable without context.
- Keyboard navigation: All interactive elements must be reachable via Tab and operable with Enter/Space
Lighthouse can only automatically check about 30-40% of WCAG requirements (Deque Systems). More complex aspects like screen reader compatibility and cognitive accessibility require manual testing. The XICTRAQ compliance module integrates automated accessibility checks as part of continuous monitoring.
Best Practices Score: Meeting Web Standards
The best practices score checks general web development standards. Most points can be achieved through clean development practices and current configurations.
- HTTPS: All resources must be loaded over HTTPS. Mixed content (HTTP resources on HTTPS pages) is an immediate score deduction. XICTRAQ's SSL monitoring ensures certificates are renewed on time.
- No deprecated APIs: Avoid
document.write(),navigator.userAgentsniffing, and other outdated techniques - No console errors: JavaScript errors in the browser console are rated as quality problems
- Correct image formats: Images should use the most efficient format for their content
- Security headers: Content-Security-Policy, X-Content-Type-Options, and other security headers improve the score
- No vulnerable JavaScript libraries: Lighthouse checks for known security vulnerabilities in included libraries
SEO Score: Technical Foundations for Visibility
The SEO score checks technical prerequisites for good search engine placement. A score of 100 means the technical foundations are correct, not that the page automatically ranks well. Content relevance remains the most important factor.
- Meta tags: Every page needs a unique
<title>(50-60 characters) and<meta name="description">(120-160 characters) - Mobile optimization: Viewport meta tag, responsive design, sufficiently large touch targets (minimum 48x48 px)
- Crawlability: Valid robots.txt, no unintended noindex directives, functioning sitemap
- Structured data: Schema.org markup for rich snippets in search results
- Canonical tags: Unambiguous canonical URLs to prevent duplicate content
- HTTPS: Google prefers secure pages in rankings
- hreflang: Correct language assignment for multilingual websites
For comprehensive technical SEO monitoring beyond the Lighthouse SEO score, XICTRAQ offers a dedicated SEO monitoring module. More on this in the article about automated technical SEO monitoring.
Typical Score Killers and Quick Fixes
| Problem | Category | Score Loss | Solution |
|---|---|---|---|
| Unoptimized images | Performance | 10-30 points | WebP/AVIF, compression, srcset |
| Render-blocking CSS/JS | Performance | 10-20 points | Critical CSS, defer, async |
| Missing alt texts | Accessibility | 5-15 points | Descriptive alt attributes |
| Insufficient contrast | Accessibility | 5-10 points | Contrast ratio 4.5:1+ |
| Mixed content | Best Practices | Immediate red | All resources over HTTPS |
| Missing meta description | SEO | 5-10 points | Unique description per page |
| No viewport meta | SEO | 10+ points | viewport meta tag in head |
| Outdated JS libraries | Best Practices | 5-15 points | Update libraries |
Interpreting Score Fluctuations Correctly
Lighthouse scores naturally fluctuate between measurements. Server load, network conditions, and browser extensions affect results. A score of 92 in one measurement and 88 in the next is normal and does not necessarily indicate deterioration.
What matters is the trend over time. XICTRAQ collects measurements over weeks and months and displays progression graphically. A gradual decline over three weeks is more meaningful than a single low value. The reporting function creates automated reports showing score changes in context.
For more consistent Lighthouse results: test in incognito mode without extensions, use a stable network connection, and run multiple measurements. Lighthouse CI automates this process and calculates median values across multiple runs.
Integrating Lighthouse Into the Development Process
Lighthouse CI in the Build Pipeline
Lighthouse CI runs automated audits in your CI/CD pipeline. You define thresholds for each score and the build fails when values fall below them. This catches performance regressions before they reach production.
{
"ci": {
"assert": {
"assertions": {
"categories:performance": ["error", { "minScore": 0.9 }],
"categories:accessibility": ["error", { "minScore": 0.9 }],
"categories:best-practices": ["warn", { "minScore": 0.95 }],
"categories:seo": ["error", { "minScore": 1.0 }]
}
}
}
}Development and Production Complement Each Other
Lighthouse in the CI/CD pipeline monitors the development environment. XICTRAQ monitors the production environment. Both are necessary because some problems only occur in production, such as CDN misconfigurations, traffic spikes, or external script changes. The combination of pre-deployment checks and continuous monitoring provides the best protection against score regressions.
Setting Realistic Goals
Not every website can achieve a score of 100 in all categories. Dynamic pages with many external integrations naturally have higher demands than static landing pages. E-commerce shops with dozens of tracking scripts will never achieve the performance score of a static company website.
Score 95-100 realistic. Little JavaScript, optimized images, and clean structure are enough for top scores.
Score 80-95 realistic. Plugin overhead and dynamic content limit the maximum. Focus on caching and image optimization.
Score 70-90 realistic. Tracking scripts, product images, and dynamic content challenge performance. Quick wins with images and JavaScript.
Score variable. SSR/SSG drastically improves LCP. Code splitting and tree shaking for good TBT values.
Checklist: Optimizing All Four Categories
- Performance: Images in WebP/AVIF, critical CSS inline, JavaScript with defer, preload for LCP element
- Accessibility: Alt texts for all images, contrast 4.5:1+, focus indicators, semantic HTML
- Best Practices: HTTPS for all resources, no deprecated APIs, security headers, current libraries
- SEO: Unique title + description, viewport meta, valid robots.txt, canonical tags, structured data
Automated Lighthouse Score Monitoring
A one-time Lighthouse test provides a snapshot. But scores change with every deployment, plugin update, and content change. XICTRAQ runs regular Lighthouse audits and tracks score development over weeks and months.
Performance data is displayed in context with other XICTRAQ modules like uptime monitoring, security analysis, GDPR compliance, and SEO monitoring. This reveals correlations: Did the performance score drop after a specific deployment? Is a new third-party script worsening the best practices score?
Start now with a free demo or register to keep your Lighthouse scores permanently in view and catch score regressions immediately.
What is a good Lighthouse score?
Does the Lighthouse score directly affect Google rankings?
Why do my Lighthouse scores fluctuate?
Can I achieve 100/100 in all categories?
How often should I run Lighthouse tests?
Is Lighthouse alone sufficient for performance evaluation?
This article is based on data from: Core Web Vitals (Google), (HTTP Archive).