Why your pages aren't indexed, a 5-step diagnosis
A five-step operational diagnosis for when Google knows your pages exist but refuses to index them. No guesswork, just Search Console and first principles.
You check Search Console. You see pages you published three weeks ago sitting in "Discovered – currently not indexed." You see pages that were indexed last month now listed as "Crawled – currently not indexed." You have the same question everyone has when this happens. What broke?
Usually, nothing broke. Google saw your pages, evaluated them, and decided they were not worth keeping in the index. Google is far more selective in 2026 than it was two years ago. The bar moved. Your pages did not.
This is the single most common technical SEO issue I diagnose in consultancy engagements with Southeast Asian startups. It shows up in 80% of the audits I run. It is almost never a robots.txt mistake or a canonical loop. It is a content quality signal dressed up as an indexation problem.
Here is the five-step diagnosis I run when a founder tells me their pages are not indexed.
Open the Pages report and sort the not-indexed reasons
Go to Search Console. Click Indexing, then Pages. Google groups every URL it has discovered into indexed or not indexed. The not-indexed section is what you are here for.
You will see a list of reasons. The two that matter for this diagnosis are "Discovered – currently not indexed" and "Crawled – currently not indexed." Click each one and export the URL list.
In the audits I run, founders are often surprised by what they find. Service pages they thought were live. Blog posts from two months ago. Category pages. The gap between what you think is indexed and what actually is can be 30% to 60% of your site.
Write down three numbers. Total URLs you expected to be indexed. Total URLs Google says are indexed. Total URLs in "Crawled – currently not indexed."
If the gap is larger than 20%, you have an indexation problem. If the gap is under 10%, you have an expectations problem.
Check whether the not-indexed pages should be indexed
This is the step everyone skips. It is fine for a URL not to be indexed for the right reasons, like a noindex tag, a duplicate, or a 404 for a page you removed and have no replacement for.
Open your "Crawled – currently not indexed" list. Go through the first 20 URLs. For each one, ask whether you would pay crawl budget to keep it in the index if crawl budget were a line item on your P&L.
If the answer is no, the page does not belong in the index. Google agrees with you. Remove it from your sitemap, or leave it alone and stop counting it as a problem.
If the answer is yes, go to the next step.
In the SME audits I run, 40% of the URLs in "Crawled – currently not indexed" are pages the client does not actually want indexed when we talk through the list. Pagination pages. Tag archives. Auto-generated location pages with no unique content. Thin affiliate comparison tables. They were in the sitemap because the CMS put them there, not because anyone decided they should rank.
Compare your sitemap to what Google crawled
Three-way gap analysis is the fastest way to diagnose crawl priority issues. Compare three lists. URLs in your sitemap. URLs indexed in Google. URLs crawled in the past 30 days.
Pull your sitemap from Search Console under Indexing, then Sitemaps. Export the submitted URLs. Pull your indexed URLs by running a `site:yourdomain.com` query and exporting the results, or by using the Indexed tab in the Pages report. Pull your crawl data from server logs if you have them, or from the URL Inspection tool for a sample of 10 to 20 key pages.
Now map the gaps.
| In sitemap | Crawled | Indexed | What it means |
|---|---|---|---|
| Yes | No | No | Needs stronger internal links or faster server |
| Yes | Yes | No | Indexation bloat, quality issue |
| No | Yes | Yes | Add to sitemap for priority signaling |
If you have pages in your sitemap that Google is not crawling, the problem is discovery or link depth. If Google is crawling pages but not indexing them, the problem is content quality or duplication.
Run the URL Inspection tool on your highest-priority not-indexed page
Pick one page from your "Crawled – currently not indexed" list that you know should be indexed. A service page. A product page. A piece of editorial content you invested time in. Open the URL Inspection tool in Search Console and paste the URL.
Google will tell you exactly what it saw when it last crawled the page. Click "View crawled page" and look at the rendered HTML. This is what Googlebot indexed, not what you see in your browser.
Three things to check. Is the main content visible in the rendered HTML? Are there any blocked resources in the coverage tab? Does the page return a 200 status code?
If the rendered HTML is empty or partial, you have a JavaScript rendering problem. If resources are blocked, you have a robots.txt problem. If the status code is anything other than 200, you have a server problem.
If everything looks fine and the page still is not indexed, the issue is not technical. Google crawled it, rendered it, evaluated it, and decided it was not worth indexing. That is a content quality judgment, not a bug.
Decide whether the page is worth improving or worth consolidating
You have two choices when a page is crawled but not indexed for quality reasons. Make it better, or merge it into something else.
Making it better means adding depth, originality, and value that existing indexed pages do not already provide. Google's question is what reason does it have to index this. Give it one.
Merging it means redirecting the URL to a related page that is already indexed, or removing it entirely and updating your internal links to point somewhere else.
The founders I work with who fix indexation issues fastest are the ones who are willing to prune. If you published 80 blog posts in the past two years and only 45 are indexed, the correct move is usually not to improve the other 35. It is to redirect 25 of them, delete 5, and improve the remaining 5 that have real business value.
Indexation is not a right. It is an earned allocation of crawl budget and index space. Google is telling you that a subset of your pages does not clear the bar. You can argue with that, or you can reallocate your effort toward the pages that do.
The diagnosis takes 20 minutes. The decision about what to do with the results is what separates the teams that fix this from the teams that complain about it.