Why is my page not indexed by Google?
Six checks that rule out the mechanical causes in about ten minutes, then the two Search Console statuses that mean Google made a decision.
Most “not indexed” problems are one of six mechanical causes that take ten minutes to rule out. The rest are a judgement Google made, and those need a different conversation.
Work through it in this order. Skipping to the interesting explanation is how
people spend a week rewriting content when the page had a noindex tag on it
the whole time.
First, rule out the mechanical causes
1. Is it blocked in robots.txt?
Fetch yoursite.com/robots.txt and read it. A Disallow covering the path
stops Google fetching the page at all. Paste the file and the URL into our
robots.txt tester and it names the line that
decides.
Two things people miss here. Rules can be inherited from a path segment you
forgot about. And a page blocked in robots.txt cannot be de-indexed by a
noindex tag, because Google never fetches the page to see the tag — if you
want something out of the index, let it be crawled and use noindex.
2. Does the page carry a noindex?
View source and search for noindex. Check the HTTP response headers too — an
X-Robots-Tag: noindex header does the same job invisibly, and staging
configurations that ship to production are the classic source.
This is the single most common cause of “I have no idea why this is not indexed”. If Search Console is reporting Submitted URL marked ‘noindex’, it has already found one for you, and that guide covers where it hides and which of the two possible fixes you actually want.
3. Does the canonical point somewhere else?
Look for <link rel="canonical">. If it points at a different URL, you have
told Google this page is a duplicate and that the other one should be indexed.
Google usually obeys.
Templating bugs love this one — a canonical hard-coded to the homepage across an entire section.
4. Does the URL actually return a page?
Check the status code, not the screen. A soft 404 — a page that returns 200
while saying “nothing here” — looks fine to you and looks empty to Google.
Out-of-stock products and empty categories are the usual suspects.
A 301 is the other answer worth recognising, because the page loads normally
in a browser and gives you no reason to suspect anything. Google indexes the
destination and files the original under
page with redirect — usually correct, occasionally
a rule you did not know was there.
5. Can Google see the content without running your JavaScript?
Fetch the URL with JavaScript off, or use URL Inspection’s rendered HTML. If the page is a shell that fills in client-side, indexing gets slower and less reliable, and sometimes does not happen.
6. Is it behind a login, a paywall, or geo-blocking?
If Googlebot cannot reach the content, none of the rest matters.
Then look at Search Console
If the mechanics are clean, inspect the URL in Search Console. Two statuses come up constantly and they mean opposite things:
Discovered – currently not indexed — Google knows the URL and has not fetched it. A crawling decision. Look at server speed, URL count, and internal links.
Crawled – currently not indexed — Google fetched it and chose not to index it. A quality decision. Look at duplication, thinness, and whether the page adds anything the index does not already have.
The advice for one is useless for the other, which is why so much indexing advice on the internet does not work: it was written for the status you do not have.
The confusion that wastes the most time
Indexed and ranking are different things.
A page can be perfectly indexed and still appear nowhere for the terms you care about, because dozens of other pages answer the query better. That is a ranking problem, and no amount of indexing work touches it.
The quick test: search for the exact URL, or an exact sentence from the page in quotes. If the page comes back, it is indexed. If it is indexed but invisible for your target keyword, you are working on the wrong problem — and everything in this guide will do nothing for you.
Once a page does appear, its title and description are what earn the click, and Google cuts both by rendered width rather than by character count. Our SERP snippet preview shows where yours would be cut.
How to check if a page is indexed covers the four ways to answer that, and which of them lie.
When the answer is “not yet”
New pages on sites Google visits rarely can take weeks, and that is normal rather than broken. Before concluding something is wrong, check whether enough time has passed for your site — how long Google takes to index a page explains what sets that clock, and how to measure your own instead of trusting an average.
Doing this for more than one page
Everything above is a single-page procedure. It works, and it does not scale.
If you have a list — a batch of new articles, a set of built links, a catalogue after a migration — checking them individually is how the audit never gets finished, and spot-checking three of them is how you conclude something false about the other three hundred.
For a list, check the list. Our free index checker
takes ten URLs with no account at all, which is enough to see whether the
verdicts tell you anything you did not already know. Past that, indexaction runs
up to 1,000 URLs in one go and returns a verdict per URL, on any domain
including sites you do not own, with no site: searches and no CAPTCHA. New
accounts get 50 free credits after verifying their email, and one credit checks
one URL.
And when the page is indexed but you cannot tell whether it ranks anywhere, why your Google rank looks different explains why your own search is the worst place to measure it, and how to check your Google ranking covers what each way of measuring actually reports.
If the page used to rank and no longer does, start with why did my Google rankings drop — its first check is the one on this page, because a deindexed page and a page that fell to #90 look identical in a rank report.