Free tool, no signup required

Page Indexability Checker

Enter any URL to find out whether Google is allowed to index it. The tool checks the status code, both places a noindex can hide, robots.txt, the canonical, sitemap membership and how much text is in the server HTML.

3 checks remaining today (free)

Short answer

A page is indexable when nothing stops Google storing it: it returns a 200, carries no noindex in its meta robots tag or its X-Robots-Tag header, is not disallowed in robots.txt, and its canonical points at itself. Those four account for nearly every page that is technically blocked. Being indexable is permission rather than a promise, so a page can pass every check here and still not be indexed, which is Google declining on quality grounds rather than obeying an instruction. The distinction matters because the two problems have completely different fixes: a blocked page needs a tag changed, and an unindexed but indexable page needs better content, more internal links, or both.

Why pages are not indexed, in the order to check

Indexing failures fall into two groups that look identical in Search Console and need opposite responses. Something is blocking the page, or nothing is blocking it and Google decided against it anyway.

  • A noindex tag in the page head, most often left behind after a staging site went live
  • A noindex in the X-Robots-Tag response header, which does not appear in the page source
  • A robots.txt rule disallowing the path, which stops the crawl rather than the index
  • A canonical tag naming a different URL, which points indexing at that address instead
  • A status code that is not a 200, including redirect chains that never resolve
  • No sitemap entry and no internal links, so the URL is known but never prioritised
  • Thin, duplicated, or JavaScript-only content that Google crawled and judged not worth storing

The first five are mechanical and this tool tests them directly. The last two are judgement calls, and the checker reports the evidence rather than a verdict: whether the URL appears in a sitemap, and how many words are in the HTML your server returns before any JavaScript runs.

The one that catches everyone

A noindex in an X-Robots-Tag header is invisible when you view source. Teams stare at a clean page head for weeks while the server quietly tells every crawler to skip the page. If a page looks perfect and still will not index, this is the first thing to rule out.

What each Search Console status actually means

The Page Indexing report names the symptom rather than the cause, and several of its labels are read backwards routinely. This is what each one is telling you.

Search Console statusWhat it meansWhat to do
Excluded by 'noindex' tagAn explicit noindex was found, in the head or in a response headerDeliberate on a thank-you or internal search page. Anywhere else, remove it
Discovered - currently not indexedGoogle knows the URL exists but has not crawled it yetAdd it to a sitemap and link to it from pages that already get crawled
Crawled - currently not indexedGoogle read the page and chose not to store itA quality problem, not a tag problem. Thicken the content or merge it into a stronger page
Page with redirectThe URL redirects, so the destination is what gets indexedExpected on a moved page. Update internal links to point at the destination
Alternate page with proper canonical tagThe canonical names another URL and Google honoured itCorrect on a duplicate. A bug if this page was meant to rank on its own
Duplicate without user-selected canonicalNo canonical was declared, so Google picked one itselfAdd a self-referencing canonical so the choice is yours
Duplicate, Google chose different canonical than userYou declared a canonical and Google overruled itYour other signals disagree with the tag. Align internal links and sitemap entries
Indexed, though blocked by robots.txtThe URL is in the index but Google was never allowed to read itAllow the crawl and add a noindex, or accept a listing with no description
Blocked by robots.txtA disallow rule stops the crawl of this pathIntentional on admin paths. Check the rule is not wider than you meant
Not found (404)The page reports that it does not existRestore the page or redirect the URL to its closest replacement
Soft 404The page returns a 200 while looking empty or saying nothing was foundReturn a real 404 status, or add the content the page promises
Server error (5xx)The server failed while Google was fetchingCheck for timeouts under crawl load. Sustained 5xxs slow crawling site-wide

The full report is worth understanding in depth, and we walk through every status, the validation flow and how to read the graph in the guide to the Page Indexing report.

Crawling and indexing are different, and the fixes are opposite

Almost every expensive indexing mistake comes from treating these as one thing. They fail independently, and the instrument that controls one has no authority over the other.

robots.txt controls crawling

A disallow rule stops Google fetching the page. It does not remove the URL from the index. When other sites link to a blocked address, Google can list it on the strength of those links alone, which is how a URL ends up ranking with no description under it.

A noindex tag controls indexing

It asks Google to keep the page out of the index, and Google honours it reliably. The catch is that the tag has to be read to be obeyed, which means the page must be crawlable. Test the rules that govern the crawl with the robots.txt tester.

The combination that never works

Adding a noindex and then blocking the same path in robots.txt is the most common self-defeating fix in technical SEO. Google cannot crawl the page, so it never sees the noindex, and the page stays indexed indefinitely. Allow the crawl, wait for the page to drop out, then block it if you still want to.

How to check whether a page can be indexed

Six checks, ordered so the ones that make everything below them irrelevant come first. The tool runs all six at once, but the sequence is what matters when you are diagnosing by hand.

  1. 01

    Confirm the page returns a 200

    A page that answers with a 404, a 410, a 500 or an unresolved redirect cannot be indexed no matter what the rest of the head says. Check the status first, because everything below it is irrelevant until this passes.

  2. 02

    Look for a noindex in both places it can hide

    A noindex can sit in a meta robots tag in the page head or in an X-Robots-Tag response header. The header version is invisible when you view source, which is why it survives so long undetected.

  3. 03

    Check robots.txt allows the crawl

    A disallowed path stops Google fetching the page at all. This blocks crawling rather than indexing, so a blocked URL with inbound links can still surface in results with no description under it.

  4. 04

    Read the canonical tag

    A canonical naming a different URL tells Google to index that address instead of this one. On a genuine duplicate that is correct. Everywhere else it quietly removes the page from consideration.

  5. 05

    Verify the page is in a sitemap

    A sitemap is the clearest discovery signal you can send. A page missing from every sitemap and linked from nowhere is the usual explanation behind 'Discovered, currently not indexed'.

  6. 06

    Judge whether the content earns a place in the index

    Once nothing technical is blocking it, indexing becomes a quality decision. Thin pages, near-duplicates and pages whose text only appears after JavaScript runs are the ones Google crawls and then declines to index.

If all six pass and the page is still absent from search weeks after publishing, stop looking for a technical cause. At that point the page is competing on merit and losing, and the work is content and internal linking rather than tags.

Indexable is not the same as indexed

This tool answers whether a page is allowed to be indexed. It cannot tell you whether Google has actually indexed it, and neither can any other third-party tool, whatever its marketing claims.

  • Indexable: nothing your server sends stops Google storing the page. This is what the checker tests
  • Indexed: Google has stored the page and it can rank. Only Search Console's URL Inspection tool reports this, and only for a property you have verified
  • Ranking: the page is indexed and competing for queries, which is a further question again

Most pages people describe as not indexed are perfectly indexable. Knowing which of the three you are actually dealing with saves days of changing tags that were never the problem.

What this tool checks

HTTP status

Whether the URL resolves with a 200, and the full redirect chain if it does not

Meta robots tag

noindex and none directives in the page head, including the Googlebot-specific variant

X-Robots-Tag header

The noindex that never appears in the page source

robots.txt rule

Whether Googlebot is allowed to crawl this specific path

Canonical tag

Whether the page canonicalises to itself or hands indexing to another URL

Sitemap membership

Whether the URL appears in the sitemaps declared in robots.txt

Rendered word count

How much text is in the server HTML before any JavaScript runs

Search Console mapping

Which Page Indexing status each finding corresponds to

One URL at a time will not find a site-wide indexing problem

Indexing failures are usually systemic. A template ships a noindex and every page in that section inherits it, or one robots.txt line removes a whole directory. Checking a single URL confirms a fix or diagnoses a page you already suspect, which is different from finding the pattern. When you need the shape of the problem rather than one data point, crawl the site. The sitemap checker reports status codes across every URL in your sitemap at once, and the canonical checker goes deeper on canonical conflicts than the summary here does.

Frequently asked questions

What does indexable mean?

A page is indexable when nothing stops Google from storing it in the search index: it returns a 200, carries no noindex in either its meta robots tag or its X-Robots-Tag header, is not disallowed in robots.txt, and its canonical points at itself. Indexable is permission, not a promise. Google can still decline to index a page it is allowed to index, usually on quality grounds.

Why is my page not indexed?

In rough order of how often each one turns out to be the cause: a noindex tag left behind after a staging deploy, a canonical pointing at a different URL, a robots.txt disallow, a redirect that means the URL you checked is not the one being indexed, the page missing from every sitemap and internal link, and thin or duplicate content that Google crawled and judged not worth storing. This tool tests the first five directly.

What is the difference between crawling and indexing?

Crawling is Google fetching the page. Indexing is Google deciding to store it and let it rank. They fail separately and the fixes are different. robots.txt blocks crawling; a noindex tag blocks indexing. Blocking a page in robots.txt does not remove it from the index, and it can leave a URL ranking with no description because Google was never allowed to read the page it is showing.

What does 'Discovered - currently not indexed' mean?

Google knows the URL exists but has not crawled it yet. It usually means Google is rationing crawl budget on your site, often because there are many low-value URLs competing for it, or because the page has almost no internal links pointing at it. Adding the page to a sitemap and linking to it from pages that already get crawled is the practical fix.

What does 'Crawled - currently not indexed' mean?

Google fetched the page, read it, and decided not to index it. This is a quality judgement rather than a technical block, which is why no tag change fixes it. The common causes are thin content, a page that duplicates another one closely, or content that only appears after JavaScript runs so the crawler saw an empty shell. Our checker reports the rendered word count in the server HTML, which tells you whether the third case applies.

What does 'Excluded by noindex tag' mean?

Google found an explicit instruction not to index the page, either a meta robots noindex in the head or a noindex in the X-Robots-Tag response header. If that is deliberate, on a thank-you page or an internal search result, nothing needs fixing. If it is not, it is usually a staging configuration that shipped to production, and it is the single most common reason a page silently disappears from search.

Can a page be indexed if it is blocked by robots.txt?

Yes, which surprises people. robots.txt stops Google fetching the page, not listing it. When other sites link to a blocked URL, Google can index the address on the strength of those links while never seeing the content, and the result appears in search with no description. Search Console reports this as 'Indexed, though blocked by robots.txt'. To remove a page from the index you need a noindex tag, which means the crawl has to be allowed so Google can see it.

Why does a noindex tag combined with a robots.txt block not work?

Because the two instructions defeat each other. Google has to crawl the page to see the noindex, and robots.txt forbids the crawl, so the noindex is never read and the page can stay indexed indefinitely. The correct sequence is to allow crawling, let Google re-crawl and honour the noindex, confirm the page has dropped out, and only then block the path in robots.txt if you still want to.

What does 'limited' status mean in Search Console?

It is a data-quality notice, not an indexing problem. Search Console shows a limited or partial status when it does not have complete data for the period you are looking at, usually because processing is still catching up or the property was verified recently. It says nothing about whether individual pages are indexable.

Does this tool tell me if Google has indexed my page?

No, and no third-party tool can do it reliably. This checker tests whether a page is allowed to be indexed by inspecting the signals your server sends. Whether Google has actually indexed it is a question only Google can answer, through the URL Inspection tool in Search Console for a property you have verified. The two questions get conflated constantly, and the distinction matters: most pages that are not indexed are perfectly indexable.

How long does it take for a page to get indexed?

Anywhere from hours to never. A frequently crawled site publishing to an established section can see indexing the same day. A new site with few inbound links can wait weeks, and a thin page may never be indexed at all. If a page has been live for more than a few weeks, is technically indexable and still absent, treat it as a content and internal-linking problem rather than a technical one.

Why does the checker say my page has almost no words?

Because it reads the HTML your server returns, which is exactly what a crawler sees first. If your content is rendered by JavaScript in the browser, the server HTML is close to empty. Google can render JavaScript, but rendering is queued and can lag the initial crawl by days, and it fails often enough to matter. Content that appears in the initial HTML is indexed faster and more reliably.

Find every unindexable page in one crawl

A noindex in a template blocks a hundred pages as easily as one. CrawlRaven crawls the whole site, flags every page that cannot be indexed, joins the result to your Search Console data, and ranks the fixes by the traffic each page already earns.