How to Fix a Low Lighthouse Score: A Practical Guide
Your Lighthouse score is tanking and you don't know where to start. This guide walks you through the most common issues dragging down your Performance, SEO, Accessibility, and Best Practices scores with actual fixes.
Your Lighthouse Score Is Low. Now What?
You ran a Lighthouse audit and the numbers are not great. Maybe your Performance score is 38. Maybe SEO is showing 72 when you expected 95. Maybe the whole report is a sea of red and orange.
Take a breath. Low Lighthouse scores are fixable, and in most cases, you can make significant improvements in a few hours of work. The trick is knowing which issues have the biggest impact and fixing those first.
I have audited hundreds of sites and the same handful of problems account for the majority of low scores. Let me walk you through the most common culprits in each category and exactly how to fix them.
Fixing a Low Performance Score
Performance is the hardest score to improve and the one that matters most for user experience and rankings. Here are the issues I see most often, ordered by impact.
Unoptimized Images (The #1 Culprit)
I am not exaggerating when I say unoptimized images are responsible for more low Performance scores than any other single issue. I see this on probably 80% of sites I audit.
The problems:
The fixes:
This single change can sometimes improve your Performance score by 20-30 points.
Too Much JavaScript
Modern websites ship way too much JavaScript. Every npm package, every analytics script, every chat widget adds to the bundle. Your users pay the price in loading time and interactivity delays.
How to diagnose: Look at the "Reduce unused JavaScript" opportunity in your Lighthouse report. Also check "Minimize main-thread work" and "Reduce JavaScript execution time."
The fixes:
Render-Blocking Resources
CSS and JavaScript files in the head of your document block the browser from rendering anything until they are downloaded and parsed.
The fixes:
Largest Contentful Paint (LCP) Issues
LCP measures how long it takes for the biggest visible element to load. Usually this is a hero image, a heading, or a large text block.
If your LCP element is an image:
If your LCP element is text:
Layout Shifts (CLS)
CLS measures visual stability. Elements jumping around as the page loads is the most annoying user experience issue and it tanks your Lighthouse score.
Common causes and fixes:
Server Response Time
If your server takes more than 600ms to respond, everything downstream suffers. Lighthouse calls this "Reduce initial server response time."
The fixes:
Fixing a Low SEO Score
SEO scores are usually the easiest to fix because most issues are simple HTML problems.
Missing or Poor Meta Tags
The most common SEO issues:
Missing Alt Text on Images
Every image should have descriptive alt text. Not just for SEO, but for accessibility. Screen readers depend on it, and Google uses it to understand image content.
Write alt text that describes what the image shows in context. "Screenshot of Lighthouse performance results showing a score of 95" is better than "image1" or "screenshot."
Links Are Not Crawlable
Lighthouse flags links that Google cannot follow. Common issues:
Use proper anchor tags with real URLs. If you need JavaScript behavior, add it on top of a working link.
Missing HTTPS
Your entire site should be HTTPS. Mixed content (HTTPS pages loading HTTP resources like images or scripts) also gets flagged. Check your browser console for mixed content warnings and update all resource URLs to HTTPS.
Fixing a Low Accessibility Score
Accessibility issues are not just about compliance. They affect real users and Google increasingly factors user experience into rankings.
Missing Form Labels
Every form input needs an associated label element. This is the most common accessibility issue I see:
Bad: input type="email" placeholder="Email"
Good: label for="email" followed by input id="email" type="email"
Insufficient Color Contrast
Text needs enough contrast against its background to be readable. Lighthouse checks against WCAG AA standards. Light gray text on a white background is a common offender.
Use a contrast checker tool. The minimum ratios are:
Missing Document Language
Add lang="en" (or your language code) to the html tag. This tells screen readers which language to use for pronunciation.
Missing Alt Text (Again)
This shows up in both SEO and Accessibility categories because it matters for both. Every image needs alt text. Decorative images should have empty alt="" to tell screen readers to skip them.
Heading Order Issues
Headings should follow a logical order: H1, then H2, then H3. Do not skip levels (jumping from H1 to H3) and do not use headings purely for styling. Use CSS for visual sizing and keep the heading hierarchy meaningful.
Fixing a Low Best Practices Score
Best Practices issues are often security and modern web standards related.
Browser Errors in Console
JavaScript errors in the console tank your Best Practices score. Open your browser dev tools, load the page, and fix every error. Common culprits:
Insecure Resources
Loading resources over HTTP on an HTTPS page is a Best Practices flag. Update all resource URLs to HTTPS. This includes images, scripts, fonts, iframes, and API endpoints.
Missing HTTPS
Same as the SEO category. Get an SSL certificate (free from Let's Encrypt) and redirect all HTTP traffic to HTTPS.
Deprecated APIs
Using deprecated browser APIs gets flagged. Check the Lighthouse report for specific APIs and find modern alternatives. Common examples:
Missing CSP (Content Security Policy)
Adding a Content-Security-Policy header tells the browser which resources are allowed to load. This is a security best practice that also improves your score.
Start with a report-only policy to avoid breaking things, then tighten it up once you know what your site needs.
The Priority Order for Fixing Lighthouse Scores
If everything is broken and you are overwhelmed, fix things in this order:
How to Monitor Progress
After making fixes, do not just run one audit and call it done. Lighthouse scores can vary between runs due to network conditions and server load.
Run each page at least 3 times and average the scores. Better yet, use BulkAudit to test multiple pages at once so you can see your overall site health, not just individual pages.
Set up a monthly audit schedule. Performance can degrade over time as you add content, install plugins, and make changes. Catching regressions early prevents small issues from becoming big problems.
Frequently Asked Questions
QWhy does my Lighthouse score change every time I run it?
Lighthouse scores vary between runs due to network conditions, server load, CPU availability, and other environmental factors. Differences of 5-10 points between runs are normal. Run multiple tests and look at the average rather than any single result.
QWhat is a good Lighthouse Performance score?
Aim for 90+ on desktop and 70+ on mobile as starting targets. Scores above 90 are considered good by Google. Scores between 50-89 need improvement. Below 50 indicates significant performance issues that are likely hurting your rankings and user experience.
QDo Lighthouse scores directly affect Google rankings?
Lighthouse scores themselves do not directly affect rankings. However, the Core Web Vitals that Lighthouse measures (LCP, CLS, INP) are confirmed Google ranking factors. A low Lighthouse score usually indicates poor Core Web Vitals, which can hurt rankings.
QShould I fix Performance or SEO issues first?
Fix SEO issues first because they are usually quicker and easier (meta tags, alt text, heading structure). Then tackle Performance issues which take more effort but have a bigger long-term impact on rankings and user experience.
QWhy is my mobile score so much lower than desktop?
Mobile Lighthouse tests simulate a mid-range phone with a throttled network connection. Desktop tests simulate a powerful computer with a fast connection. The same unoptimized page will always score significantly lower on mobile. Focus your optimization on mobile since Google uses mobile-first indexing.
Related Resources
Ready to audit your website?
Use BulkAudit to check up to 25 URLs at once. Get instant Lighthouse scores for Performance, SEO, Accessibility, and Best Practices.
Start Free Audit