---
title: "Lighthouse SEO Score From 5 to 95: The Fixes | Omniary"
description: "The technical, on-page and schema fixes that took a real client website from a Lighthouse SEO score of 5 to 95, in the order I made them."
url: "https://omniary.in/blog/lighthouse-seo-score-5-to-95/"
---

1. [Home](https://omniary.in/) /
2. [Blog](https://omniary.in/blog/) /
3. How I Took a Lighthouse SEO Score From 5 to 95

- [Technical SEO](https://omniary.in/blog/tag/technical-seo/)
- [Case Study](https://omniary.in/blog/tag/case-study/)

# How I Took a Lighthouse SEO Score From 5 to 95

The technical, on-page and schema fixes that took a real client website from a Lighthouse SEO score of 5 to 95, in the order I made them.

[ KOKaushal Oza ](https://omniary.in/about/) Published 28 Oct 2026 2 min read 

On this page

1. [1\. Make the page indexable](#1-make-the-page-indexable)
2. [2\. Give every page a real title and description](#2-give-every-page-a-real-title-and-description)
3. [3\. Fix canonicals and redirects](#3-fix-canonicals-and-redirects)
4. [4\. Clean up links and images](#4-clean-up-links-and-images)
5. [5\. Mobile and speed basics](#5-mobile-and-speed-basics)
6. [6\. Structured data](#6-structured-data)
7. [The result](#the-result)

TL;DR / The short answer

Most of the jump came from basics that were missing in the code: unique titles and meta descriptions, a valid robots.txt and sitemap, canonical tags, crawlable links, image alt text and a proper mobile viewport. Structured data and Core Web Vitals work then earned rich results on top.

When I first audited this client website, it scored **5** in the Lighthouse SEO audit. Not 50\. Five.

The good news: almost every problem was technical and fixable at the source. So instead of writing a report and waiting on tickets, I fixed them hands on.

Here is what I changed, in roughly the order I did it.

## 1\. Make the page indexable

The first thing to check is whether search engines are even allowed in.

- Removed a stray `noindex` that had shipped to production.
- Rewrote `robots.txt` so it allowed crawling and pointed to the sitemap.
- Generated a proper XML sitemap with only canonical, indexable URLs.

If a page cannot be indexed, nothing else on this list matters.

## 2\. Give every page a real title and description

Many pages shared the same title or had none at all. I gave each page a unique `<title>` and meta description written for the searcher, with the main topic near the start.

## 3\. Fix canonicals and redirects

Duplicate URLs (with and without trailing slashes, old paths, query strings) were splitting signals. I added a `rel="canonical"` to every page and set up 301 redirects from old URLs to their new homes. Screaming Frog and Siteliner helped find the duplicates.

## 4\. Clean up links and images

- Replaced vague link text like “click here” with descriptive anchors.
- Added meaningful `alt` text to content images.
- Fixed broken internal links.

## 5\. Mobile and speed basics

A correct viewport meta tag fixed the mobile checks. Then I moved on to Core Web Vitals: WebP images, lazy loading below the fold, caching, minified CSS and JavaScript, and removing render blocking resources. I measured each change in PageSpeed Insights and GTmetrix.

## 6\. Structured data

Finally I added JSON-LD for `Organization`, `BreadcrumbList`, `FAQPage` and `Article`, and validated each one in the Google Rich Results Test before release. This is what earned the site rich results in Google.

## The result

The Lighthouse SEO score went from **5 to 95** and the site picked up rich results in Google.

> A low Lighthouse SEO score is rarely one big problem. It is ten small ones, and most of them live in the code.

If your score is in the red, start with step 1 and work down. Or [send me your site](https://omniary.in/contact/) and I will tell you which three fixes to make first.

## Frequently asked questions

### What does the Lighthouse SEO score measure?

+ 

It runs a set of basic checks: whether the page can be indexed, has a title and meta description, uses valid hreflang and canonical tags, has descriptive link text, image alt attributes, a mobile viewport and a valid robots.txt. It is a health check, not a ranking prediction.

### Does a 100 Lighthouse SEO score guarantee rankings?

+ 

No. It only confirms the basics are in place. Rankings also depend on content quality, search intent, backlinks and competition. A low score, though, usually means something is quietly blocking you.

KO 

Written by Kaushal Oza

Kaushal Oza is an SEO, AEO and GEO consultant from Ahmedabad, India, and the founder of Omniary. Kaushal finds what holds a site back in search and fixes it hands on, from Core Web Vitals to structured data.

[Hire me](https://omniary.in/contact/) 

## Keep reading

Technical SEO 

2 Nov 2026 / 2 min read 

### [Core Web Vitals Explained: LCP, INP and CLS Without the Jargon](https://omniary.in/blog/core-web-vitals-explained/) 

Core Web Vitals explained with a restaurant analogy: what LCP, INP and CLS measure, the thresholds Google uses, and the fixes that move each one.

Read the post → 

Technical SEO 

2 Nov 2026 / 3 min read 

### [Technical SEO Audit Checklist: 25 Checks I Run on Every Site](https://omniary.in/blog/technical-seo-audit-checklist/) 

The 25 point technical SEO audit checklist I run before touching content: crawling, indexing, speed, structure, schema, mobile and AI crawler access.

Read the post → 

AEO 

2 Nov 2026 / 3 min read 

### [Answer Engine Optimization: How to Win Featured Snippets and AI Overviews](https://omniary.in/blog/answer-engine-optimization-featured-snippets/) 

Answer Engine Optimization in practice: write like you are being interviewed, structure answers the way search engines lift them, and mark them up properly.

Read the post →
