URL Marked 'noindex' (GSC Status)
What the Google Search Console "URL marked 'noindex'" status means — and the "Submitted URL marked 'noindex'" variant and legacy "Excluded by 'noindex' tag" name. When it's intentional vs. a mistake, where the noindex lives (meta tag vs. X-Robots-Tag header), the robots.txt conflict, phantom/CDN noindex, and how to fix and validate.
1 evidence signal on this page
- Related live toolGoogle Index Checker
"URL marked 'noindex'" is the Google Search Console Page Indexing status for a page Google crawled and found a noindex directive on (a meta robots tag or an X-Robots-Tag header), so it kept it out of the index. Same condition, multiple names: the current "URL marked 'noindex'", the sharper sitemap-submitted wording "Submitted URL marked 'noindex'" that reports and tools commonly use, and the legacy "Excluded by 'noindex' tag." It's usually intentional and fine — validate the URL list before you "fix" anything. The real red flag is a noindexed page still sitting in your sitemap — sitemap submission is a hint to Google, not a guarantee, and the two directives contradict each other. Because noindex is crawl-dependent, don't pair it with a robots.txt disallow — Google can't see a noindex it can't crawl. Check two places (the meta tag and the X-Robots-Tag header), debug phantom/CDN noindex with a live Googlebot fetch, then remove the directive, Validate Fix, and expect reprocessing to take longer than a day or two.
TL;DR — “URL marked ‘noindexNoindex is a directive that tells search engines to keep a page out of their index, so it won't appear in search results. It works only on pages a crawler can actually fetch — a page blocked in robots.txt can never be noindexed.’” in Google Search ConsoleA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results. means Google looked at your page, saw a
noindexinstruction on it, and kept it out of search on purpose. Most of the time that’s intended — lots of pages should be noindexed. The situation to actually worry about is a page you put in your sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. (asking Google to indexStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. it) that also says don’t-index — some reports call this “Submitted URL marked ‘noindexNoindex is a directive that tells search engines to keep a page out of their index, so it won't appear in search results. It works only on pages a crawler can actually fetch — a page blocked in robots.txt can never be noindexed.’”. Look at the list of affected pages: if they’re all ones you meant to hide, you’re done.
What this status is telling you
This label means Google encountered a noindex directive while processing the page. Evidence for this claim Google reports URL marked noindex when it encounters a noindex directive and does not index the page. Scope: Google Search Console report terminology and documented Search behavior; the label alone may not prove the underlying root cause. Confidence: high · Verified: Google: Page indexing report Google supports noindex in a robots meta element or X-Robots-TagThe X-Robots-Tag is an HTTP response header that carries the same indexing and serving directives as the robots meta tag (noindex, nofollow, nosnippet, and the rest). Because it lives in the header rather than the HTML, it's how you control indexing for non-HTML files like PDFs, images, and videos. response header. Evidence for this claim Google supports noindex through a robots meta tag or X-Robots-Tag header and must crawl the page to observe it. Scope: Google Search Console report terminology and documented Search behavior; the label alone may not prove the underlying root cause. Confidence: high · Verified: Google: Block indexing with noindex
When you open the Page IndexingThe Google Search Console report (formerly Index Coverage) showing how many of your URLs are indexed vs. not indexed, and grouping the not-indexed ones by reason. report in Search ConsoleGoogle's free tool for monitoring crawling, indexing, and search performance. and see a row called
“URL marked ‘noindex’”, here’s what happened: Google visited (crawled) the
page, foundA 302 (\"Found\") is a temporary redirect: it forwards users to a new URL while telling search engines the original URL should stay in the index. It's a weak canonicalization signal, not the zero-equity dead end of SEO folklore. a noindex instruction on it, and decided not to put it in search
results. That’s it. The page isn’t broken — Google did exactly what the page
told it to do.
A noindex is a small instruction that says “don’t show this page in search.” It
lives in one of two places:
- A line in the page’s code (a meta robotsThe robots meta tag is an HTML element in a page's head — <meta name=\"robots\" content=\"noindex\"> — that tells search engines how to index and serve that page. It's crawl-then-obey: a page blocked in robots.txt is never fetched, so the tag is never seen. tag), or
- A setting in the page’s server response (an X-Robots-TagThe X-Robots-Tag is an HTTP response header that carries the same indexing and serving directives as the robots meta tag (noindex, nofollow, nosnippet, and the rest). Because it lives in the header rather than the HTML, it's how you control indexing for non-HTML files like PDFs, images, and videos. header) — this one you can’t see by just looking at the page.
Is this bad? Usually not
The word that scares people is “Not indexed” (the section this status lives under). It sounds like an error. It usually isn’t. Plenty of pages should be kept out of search:
- Thank-you / order-confirmation pages
- Internal search results
- Login, account, and admin pages
- Filtered or sorted versions of a listing
If the pages in this list are ones you meant to hide, leave them alone. There’s nothing to fix.
When you do need to act
Two situations:
- A page you want in Google is in this list. Something put a
noindexon a page that should rank. That’s a mistake to track down. - You see “Submitted URL marked ‘noindex’” (a slightly different, sharper
wording some reports and tools use). Either way, the substance is the same:
you submitted the page in your sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. — which is meant to list pages you
want in Search — but the page also says “don’t index.” Those two things
contradict each other. Either remove the
noindex(if you want it indexed) or take the URL out of your sitemap (if you don’t).
The name confusion
You might also remember this as “Excluded by ‘noindex’ tag.” That’s just the older name for the same thing from Google’s previous report. So three labels — “URL marked ‘noindex’,” “Submitted URL marked ‘noindex’,” and “Excluded by ‘noindex’ tag” — all describe one situation: Google found a noindex.
One trap to know about
A common instinct is to also block the page in robots.txt to “really” keep it
out. Don’t. Blocking crawlingCrawling is how search engines use automated bots (like Googlebot and Bingbot) to discover URLs and download pages. A page has to be crawlable to be indexed, but crawling on its own isn't a ranking factor. stops Google from reading the page at all — which
means it can’t see your noindex either. Counterintuitively, the page can stay
in search. To remove a page, let Google crawl it and keep the noindex on it.
Want the full diagnostic version — meta tag vs. header detection, phantom/CDN noindex, and the fix-and-validate flow — switch to the Advanced tab.
TL;DR — “URL marked ‘noindexNoindex is a directive that tells search engines to keep a page out of their index, so it won't appear in search results. It works only on pages a crawler can actually fetch — a page blocked in robots.txt can never be noindexed.’” is the GSCA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results. Page IndexingThe Google Search Console report (formerly Index Coverage) showing how many of your URLs are indexed vs. not indexed, and grouping the not-indexed ones by reason. status for a page Google crawled and foundA 302 (\"Found\") is a temporary redirect: it forwards users to a new URL while telling search engines the original URL should stay in the index. It's a weak canonicalization signal, not the zero-equity dead end of SEO folklore. a
noindexon — meta robotsThe robots meta tag is an HTML element in a page's head — <meta name=\"robots\" content=\"noindex\"> — that tells search engines how to index and serve that page. It's crawl-then-obey: a page blocked in robots.txt is never fetched, so the tag is never seen. tag or X-Robots-TagThe X-Robots-Tag is an HTTP response header that carries the same indexing and serving directives as the robots meta tag (noindex, nofollow, nosnippet, and the rest). Because it lives in the header rather than the HTML, it's how you control indexing for non-HTML files like PDFs, images, and videos. header, and Google also honors a robots meta tagThe robots meta tag is an HTML element in a page's head — <meta name=\"robots\" content=\"noindex\"> — that tells search engines how to index and serve that page. It's crawl-then-obey: a page blocked in robots.txt is never fetched, so the tag is never seen. placed in the page body, not just the<head>. Multiple names, one state: the current “URL marked ‘noindexNoindex is a directive that tells search engines to keep a page out of their index, so it won't appear in search results. It works only on pages a crawler can actually fetch — a page blocked in robots.txt can never be noindexed.’,” the sharper sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing.-submitted wording “Submitted URL marked ‘noindex’” that reports and tools commonly use, and the legacy “Excluded by ‘noindex’ tag.” It’s distinct from robots.txtA plain-text file at the root of a host that tells crawlers which URLs they may and may not request. It controls crawling, not indexing — a blocked URL can still be indexed if it's linked from elsewhere.-blocked (never crawled) and from “Crawled — currently not indexed” (no directive). Usually intentional — validate the URL list first. A noindexed URL still sitting in your sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. is the real flag (sitemap submission is a hint, not a guarantee).noindexis crawl-dependent: pair it with a robots.txtA plain-text file at the root of a host that tells crawlers which URLs they may and may not request. It controls crawling, not indexing — a blocked URL can still be indexed if it's linked from elsewhere. disallow and Google can’t see it, so the page can stay indexed. When rules conflict, Google applies the more restrictive one. Check two sources (the rendered HTML and the HTTP header), debug phantom/CDN noindex with a live GooglebotGooglebot is Google's web crawler — the software that fetches pages so Google can index and rank them. It comes in two variants, Googlebot Smartphone (primary, under mobile-first indexing) and Googlebot Desktop, and runs an evergreen Chromium renderer. fetch (URL Inspection / Rich Results Test), then remove the directive, Validate Fix, and expect reprocessing to take longer than a day or two — Google says it can run to months for lower-priority pages.
What the status actually means
The report describes Google’s observed directive, not why a CMSA content management system (CMS) is software that lets users create, manage, and publish digital content — like blog posts and pages — without writing raw code. WordPress, Drupal, and Joomla are the most common open-source CMS platforms., template, or CDN added it. Evidence for this claim Google reports URL marked noindex when it encounters a noindex directive and does not index the page. Scope: Google Search Console report terminology and documented Search behavior; the label alone may not prove the underlying root cause. Confidence: high · Verified: Google: Page indexing report Google must be able to crawl the page to observe and apply noindex. Evidence for this claim Google supports noindex through a robots meta tag or X-Robots-Tag header and must crawl the page to observe it. Scope: Google Search Console report terminology and documented Search behavior; the label alone may not prove the underlying root cause. Confidence: high · Verified: Google: Block indexing with noindex
Google’s own definition is precise: when Google tried to index the page, it
encountered a noindex directive and therefore did not index it. The key word is
encountered — Google had to crawl the page to see the directive. So this
status carries two facts at once: Google reached the page, and the page told it
not to be indexed.
That’s the whole accuracy spine here, and it’s what separates this status from its neighbors:
- Robots.txt-blocked → Google was never allowed to crawl, so it didn’t read any content or any directive.
- “Crawled — currently not indexed” → Google crawled, found no directive, and chose not to index anyway.
- “URL marked ‘noindex’” → Google crawled, found a
noindex, and obeyed it.
The three names are one condition
This trips people up because the label has changed over time and shifts based on how the URL was found:
- “URL marked ‘noindex’” — the current, general label in the Page IndexingStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. report. Lives under “Not indexed” (formerly “Excluded”). This is the wording Google’s own current Page Indexing reportThe Google Search Console report (formerly Index Coverage) showing how many of your URLs are indexed vs. not indexed, and grouping the not-indexed ones by reason. documentation uses and defines.
- “Submitted URL marked ‘noindex’” — the same underlying condition, but for a URL that’s also in a sitemap you submitted. This is the sharper wording practitioners and third-party SEO tools commonly report for that combination. Google’s current help documentation doesn’t spell it out as a separately defined status distinct from “URL marked ‘noindex,’” so treat the exact label as report-dependent — but the substance holds regardless of what a given tool calls it: a sitemap is meant to list the URLs you want in Search (and submitting one is a hint to Google, not a guarantee of indexing), so a noindexed URL sitting in it is a contradiction worth resolving.
- “Excluded by ‘noindex’ tag” — the legacy name from the pre-2021 “Index Coverage” report. Still the most-searched colloquial version. Same underlying thing.
If you’ve landed here from any of those three, you’re in the same place.
Is it a problem? The intentional-vs-accidental decision
Don’t reflexively “fix” this. The decision tree:
- Pull the list of affected URLs (click into the status).
- Are these pages you meant to exclude? Thank-you pages, internal search, faceted/filter URLs, account/admin, staging that shouldn’t be live. → No action. “Not indexed” is not the same as “broken,” and Google says as much: these URLs have not been indexed, but not necessarily because of an error.
- Is a page you want indexed in this list? → A noindex leaked onto it. Find and remove it.
- Is the noindexed URL also sitting in your submitted sitemap (often
surfaced as “Submitted URL marked ‘noindex’”)? → Resolve the contradiction
directly: remove the
noindex(to index it) or remove the URL from your sitemap (to leave it noindexed). Don’t leave a noindexed URL sitting in a sitemap — sitemap submission is a hint to Google about what you want indexed, not a request that overrides the page’s own directive.
The reason competitors treat this as a pure “error to fix” is that they skip step 2. Most of the time, this status is the system working correctly.
Where the noindex lives: meta tag vs. X-Robots-Tag header
There are exactly two delivery methods, and you have to check both because they look completely different:
- Meta robots tag —
<meta name="robots" content="noindex">in the page’s<head>. Targets all crawlersA crawler — also called a spider or bot — is an automated program that fetches web pages, extracts their links, and queues new URLs to visit. Search engines use crawlers to discover and download content for their index.;<meta name="googlebot" content="noindex">targets Google only. This is the one you can spot in the HTML. - X-Robots-TagThe X-Robots-Tag is an HTTP response header that carries the same indexing and serving directives as the robots meta tag (noindex, nofollow, nosnippet, and the rest). Because it lives in the header rather than the HTML, it's how you control indexing for non-HTML files like PDFs, images, and videos. HTTP header —
X-Robots-Tag: noindexin the server’s response headers. This is the sneaky one. It’s set in server, CMS, or CDN config, not in the page source, so “View Source” won’t show it. The header method is also the only way to noindex non-HTML files — a response header can be used for non-HTML resources such as PDFs, video files, and image files, which have no<head>to hold a meta tag.
When GSC says noindex and you swear the page doesn’t have one, the header is the first place to look (the cheat sheet tab lays the two side by side).
How to find the directive on a page
- View Source / rendered DOM — search for
noindex. Check the rendered<head>, not just raw source, since a tag can be injected by JavaScript or a tag manager. Don’t stop at<head>, either: Google has said it doesn’t enforce meta-robots placement and respects a robots meta tag found in the page’s<body>too, so a directive injected lower in the document still counts. - Response headers —
curl -I https://example.com/page/(or browser DevTools → Network → the document request → Response Headers) and look for anX-Robots-Tagline. - URL Inspection (GSC) → Test live URL — this fetches the page as Googlebot and reports the indexing verdict and the response. This is the one that catches directives served only to Google.
- Rich ResultsRich results (formerly 'rich snippets') are enhanced search listings — stars, images, prices, breadcrumbs, video thumbnails, and more — that Google and Bing build from structured data. They're a display feature, not a ranking factor, and eligibility never guarantees they'll show. Test — another real Googlebot fetch that returns the HTTP response and a rendered snapshot of exactly what the server shows Google.
- Check for conflicting robots rules, not just a single tag. If more than
one robots directive applies to the page (say, a template sets
indexbut a plugin or header addsnoindex), Google applies the more restrictive rule — so a straynoindexanywhere wins even if another rule saysindex. Don’t stop searching once you’ve found one directive that looks permissive.
A focused result can expose the directive without pretending to know Google's final index selection.
Run the public URL and inspect its live robots and indexability signals with my free Google Index Checker Free
- Test the deployed URL, not a local template or CMS preview.
- Check both meta robots and X-Robots-Tag evidence.
- Remove noindex only when the URL should be eligible, then rerun the same check.
The robots.txt conflict (why disallow + noindex backfires)
This is the single most-muddled point in every other guide, so I want it exact.
noindex is crawl-dependent: Google has to be able to fetch the page to read
the directive. Google states the rule plainly — for the noindex rule to be
effective, the page must not be blocked by a robots.txt file and has to be
otherwise accessible to the crawler; if it’s blocked or the crawler can’t access
it, the crawler will never see the noindex, and the page can still appear in
search (for example, if other pages link to it).
I’ve written about the flip side of this for years. In my Ahrefs piece on “Indexed, though blocked by robots.txt”, the core point is that “crawlingCrawling is how search engines use automated bots (like Googlebot and Bingbot) to discover URLs and download pages. A page has to be crawlable to be indexed, but crawling on its own isn't a ranking factor. and indexing are two different things” — “if you block a page from being crawled, Google may still index it.” And specifically on this conflict: “Unless Google can crawl a page, they won’t see the noindex meta tag and may still index it because it has links.” So the self-defeating combo is noindex + robots.txt disallow: the disallow hides the noindex, and the page can stay indexed via external links.
The correct sequence to actually remove a page:
- Allow crawling and keep the
noindexin place. - Wait for Google to recrawl, see the directive, and drop the page.
- Only then, if you want to save crawl budgetThe number of URLs an engine will crawl in a timeframe., you can disallow it in robots.txt — after deindexingDeindexing means getting a URL to stop appearing in Google's search results. There's no single delete button — the right method depends on whether you own the page, whether removal is temporary or permanent, and whether the content should still exist., not before.
My standing recommendation, from that same article: “Just add a noindex meta robots tag and make sure to allow crawling — assuming it’s canonical.”
Phantom noindex: CDN cache and Googlebot-only directives
The hardest version of this is the “phantom” noindex: you look at the page, see no noindex anywhere, and GSC still reports one. John Mueller has addressed exactly this — in the cases he’s seen, there was an actual noindex, sometimes shown only to Google, which can be very hard to debug. (He noted that scenario when this came up; I’m paraphrasing his point rather than quoting it as a formal statement.)
The usual suspects — treat these as hypotheses to check, not confirmed causes, until the live response actually shows one of them:
- A CDN or cache serving a stale
X-Robots-Tag: noindexheader that’s no longer in your origin config. - A directive conditional on user-agent — the server returns a clean page to your browser and a noindexed one to Googlebot.
- A staging/template leak — a noindex meant for a staging environment shipping to production through a shared template.
The diagnosis is the same in all three: don’t trust “View Source” in your own browser. Do a real Googlebot fetch — URL Inspection’s Test live URL or the Rich Results Test — which shows you the HTTP response and rendered page exactly as Google receives it. That’s how you catch a server/CDN serving one thing to you and another to the crawler.
How to fix it and validate
Once you’ve confirmed the noindex is a mistake:
- Remove the directive at its real source — the meta tag in the template, or
the
X-Robots-Tagheader in server/CMS/CDN config. Clear any CDN/page cache so the fix is actually being served. - Confirm with a live Googlebot fetch (URL Inspection → Test live URL) that the page now returns no noindex and shows “URL is available to Google.”
- Request Indexing for high-priority URLs, and/or use the report’s Validate Fix button to tell Google to recheck the whole affected set.
- Wait. Deindexing and reindexing aren’t instant — Google has to recrawl to see the change first, and Google’s own guidance is that revisit timing depends on the page’s importance and can take considerably longer than a day or two (its documentation gives “months” as a possibility for lower-priority pages). Request Indexing on a priority URL is how you ask Google to try sooner, not a way to force a specific timeline. Don’t panic if the status lingers while reprocessing.
For the inverse — a page you want noindexed but that’s stuck in the index
because it was also robots.txt-blocked — unblock crawling first so Google can
finally see the noindex.
Where this sits
This status is one node in Google’s Page Indexing report. The robots
directive behind it — noindex — can be delivered as a meta robots tag or an
X-Robots-Tag header, and the right tool depends on whether you’re working with
HTML or non-HTML files. The neighboring statuses (“Indexed, though blocked by
robots.txt” and “Crawled — currently not indexed”) describe different states and
need different fixes; keeping them straight is most of the battle.
AI summary
A condensed take on the Advanced version:
- What it means: “URL marked ‘noindexNoindex is a directive that tells search engines to keep a page out of their index, so it won't appear in search results. It works only on pages a crawler can actually fetch — a page blocked in robots.txt can never be noindexed.’” is the GSCA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results. Page IndexingThe Google Search Console report (formerly Index Coverage) showing how many of your URLs are indexed vs. not indexed, and grouping the not-indexed ones by reason. status for a
page Google crawled and foundA 302 (\"Found\") is a temporary redirect: it forwards users to a new URL while telling search engines the original URL should stay in the index. It's a weak canonicalization signal, not the zero-equity dead end of SEO folklore. a
noindexon — so it kept it out of the indexStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. on purpose. Google had to crawl the page to see the directive, and it honors that directive whether it’s in the<head>or the page body. - Multiple names, one state: the current “URL marked ‘noindexNoindex is a directive that tells search engines to keep a page out of their index, so it won't appear in search results. It works only on pages a crawler can actually fetch — a page blocked in robots.txt can never be noindexed.’,” the sharper sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing.-submitted wording “Submitted URL marked ‘noindex’” that reports and tools commonly use, and the legacy “Excluded by ‘noindex’ tag.”
- Distinct from neighbors: robots.txtA plain-text file at the root of a host that tells crawlers which URLs they may and may not request. It controls crawling, not indexing — a blocked URL can still be indexed if it's linked from elsewhere.-blocked = never crawled; “Crawled — currently not indexed” = crawled, no directive; this status = crawled, found a noindex, obeyed it.
- Usually intentional. Validate the URL list first. Thank-you pages, internal search, facets, admin = fine, no action. Only act if a page you want indexed is in the list — or the URL is noindexed but still sitting in your sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. (a contradiction, since sitemap submission is a hint for what you want indexed, not a guarantee): remove the noindex or remove it from the sitemap.
- Two delivery methods: a meta robotsThe robots meta tag is an HTML element in a page's head — <meta name=\"robots\" content=\"noindex\"> — that tells search engines how to index and serve that page. It's crawl-then-obey: a page blocked in robots.txt is never fetched, so the tag is never seen. tag anywhere in the rendered HTML
(not just the
<head>), or an X-Robots-TagThe X-Robots-Tag is an HTTP response header that carries the same indexing and serving directives as the robots meta tag (noindex, nofollow, nosnippet, and the rest). Because it lives in the header rather than the HTML, it's how you control indexing for non-HTML files like PDFs, images, and videos. HTTP header (the only way for non-HTML files like PDFs, and the sneaky one — not in page source). Check both, and remember that when multiple robots rules conflict, Google applies the more restrictive one. - The robots.txtA plain-text file at the root of a host that tells crawlers which URLs they may and may not request. It controls crawling, not indexing — a blocked URL can still be indexed if it's linked from elsewhere. conflict:
noindexis crawl-dependent. Disallow + noindex backfires — Google can’t see a noindex it can’t crawl, so the page can stay indexed via links. To remove a page: allow crawlingCrawling is how search engines use automated bots (like Googlebot and Bingbot) to discover URLs and download pages. A page has to be crawlable to be indexed, but crawling on its own isn't a ranking factor. + keep noindex, then optionally disallow after deindexingDeindexing means getting a URL to stop appearing in Google's search results. There's no single delete button — the right method depends on whether you own the page, whether removal is temporary or permanent, and whether the content should still exist.. - Phantom noindex: owner sees none, Google does — usually a CDN/cache serving a stale header, a GooglebotGooglebot is Google's web crawler — the software that fetches pages so Google can index and rank them. It comes in two variants, Googlebot Smartphone (primary, under mobile-first indexing) and Googlebot Desktop, and runs an evergreen Chromium renderer.-only directive, or a staging/template leak (treat these as hypotheses to confirm, not assumed causes). Debug with a real Googlebot fetch (URL Inspection live test / Rich ResultsRich results (formerly 'rich snippets') are enhanced search listings — stars, images, prices, breadcrumbs, video thumbnails, and more — that Google and Bing build from structured data. They're a display feature, not a ranking factor, and eligibility never guarantees they'll show. Test), not View Source.
- Fix → validate: remove the directive at its source, clear caches, confirm via a live Googlebot fetch, Request IndexingStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. / Validate Fix, then wait — Google’s own guidance says reprocessing depends on the page’s importance and can take much longer than a day or two, up to months for lower-priority pages.
Official documentation
Primary-source documentation from the search engines.
- Page Indexing report — the report this status lives in; defines “URL marked ‘noindexNoindex is a directive that tells search engines to keep a page out of their index, so it won't appear in search results. It works only on pages a crawler can actually fetch — a page blocked in robots.txt can never be noindexed.’” and the related “IndexedStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed., though blocked by robots.txtA Google Search Console Page Indexing status: the URL was excluded from indexing because your robots.txt disallows crawling it. Usually intentional and benign — robots.txt blocks crawling, not indexing.” (its current text doesn’t separately spell out “Submitted URL marked ‘noindexNoindex is a directive that tells search engines to keep a page out of their index, so it won't appear in search results. It works only on pages a crawler can actually fetch — a page blocked in robots.txt can never be noindexed.’” as a distinct status name, though the underlying sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. contradiction it describes is real).
- Block search indexing with noindex — what
noindexdoes, the meta-tag vs. X-Robots-Tag headerThe X-Robots-Tag is an HTTP response header that carries the same indexing and serving directives as the robots meta tag (noindex, nofollow, nosnippet, and the rest). Because it lives in the header rather than the HTML, it's how you control indexing for non-HTML files like PDFs, images, and videos. methods, the crawl-dependent rule (a blocked page never sees the noindex), and Google’s own note that revisiting a page after a change can take months depending on its importance. - Robots meta tag, data-nosnippet, and X-Robots-Tag specifications — how conflicting robots rules resolve (the more restrictive rule wins) and confirmation that Google also respects a robots meta tagThe robots meta tag is an HTML element in a page's head — <meta name=\"robots\" content=\"noindex\"> — that tells search engines how to index and serve that page. It's crawl-then-obey: a page blocked in robots.txt is never fetched, so the tag is never seen. placed in the page body, not just the
<head>. - Introduction to robots.txt — why robots.txtA plain-text file at the root of a host that tells crawlers which URLs they may and may not request. It controls crawling, not indexing — a blocked URL can still be indexed if it's linked from elsewhere. controls crawlingCrawling is how search engines use automated bots (like Googlebot and Bingbot) to discover URLs and download pages. A page has to be crawlable to be indexed, but crawling on its own isn't a ranking factor., not indexingStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed., and why it’s not a deindexingDeindexing means getting a URL to stop appearing in Google's search results. There's no single delete button — the right method depends on whether you own the page, whether removal is temporary or permanent, and whether the content should still exist. tool.
- URL Inspection tool — “Test live URL” fetches the page as GooglebotGooglebot is Google's web crawler — the software that fetches pages so Google can index and rank them. It comes in two variants, Googlebot Smartphone (primary, under mobile-first indexing) and Googlebot Desktop, and runs an evergreen Chromium renderer., the way to catch directives served only to Google.
- Build and submit a sitemap — sitemapsA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. should list the URLs you want in Search, and submitting one is a hint to Google, not a guarantee of crawlingCrawling is how search engines use automated bots (like Googlebot and Bingbot) to discover URLs and download pages. A page has to be crawlable to be indexed, but crawling on its own isn't a ranking factor. or indexing.
Bing / Microsoft
- Bing Webmaster Tools — Help & How-To — Bing honors the robots
<meta name="robots" content="noindex">tag and theX-Robots-Tagheader the same way; its index reports surface noindexed pages similarly. (Lower priority for this Google-specific status.)
Quotes from the source
On-the-record statements from Google, plus my own writing on the robots.txtA plain-text file at the root of a host that tells crawlers which URLs they may and may not request. It controls crawling, not indexing — a blocked URL can still be indexed if it's linked from elsewhere. conflict. Each link is a deep link that jumps to the quoted passage on the source page.
Google — what the status means
- “When Google tried to indexStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. the page it encountered a ‘noindexNoindex is a directive that tells search engines to keep a page out of their index, so it won't appear in search results. It works only on pages a crawler can actually fetch — a page blocked in robots.txt can never be noindexed.’ directive and therefore did not index it.” — Google Search ConsoleA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results. Help (Page Indexing reportThe Google Search Console report (formerly Index Coverage) showing how many of your URLs are indexed vs. not indexed, and grouping the not-indexed ones by reason.). Jump to quote
Google — noindexNoindex is a directive that tells search engines to keep a page out of their index, so it won't appear in search results. It works only on pages a crawler can actually fetch — a page blocked in robots.txt can never be noindexed. is crawl-dependent
- “For the noindex rule to be effective, the page or resource must not be blocked by a robots.txtA plain-text file at the root of a host that tells crawlers which URLs they may and may not request. It controls crawling, not indexing — a blocked URL can still be indexed if it's linked from elsewhere. file, and it has to be otherwise accessible to the crawlerA crawler — also called a spider or bot — is an automated program that fetches web pages, extracts their links, and queues new URLs to visit. Search engines use crawlers to discover and download content for their index.. If the page is blocked by a robots.txt file or the crawlerA crawler — also called a spider or bot — is an automated program that fetches web pages, extracts their links, and queues new URLs to visit. Search engines use crawlers to discover and download content for their index. can’t access the page, the crawler will never see the noindex rule, and the page can still appear in search results, for example if other pages link to it.” — Google Search Central docs (Block search indexingStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. with noindex). Jump to quote
- “Depending on the importance of the page on the internet, it may take months for GooglebotGooglebot is Google's web crawler — the software that fetches pages so Google can index and rank them. It comes in two variants, Googlebot Smartphone (primary, under mobile-first indexing) and Googlebot Desktop, and runs an evergreen Chromium renderer. to revisit a page.” — Google Search Central docs (Block search indexing with noindex), on how long reprocessing after a noindex change can take. Read the article
Google — conflicting rules and where a directive can live
- “Google Search doesn’t enforce placement of meta robotsThe robots meta tag is an HTML element in a page's head — <meta name=\"robots\" content=\"noindex\"> — that tells search engines how to index and serve that page. It's crawl-then-obey: a page blocked in robots.txt is never fetched, so the tag is never seen. in the HTML head and will respect robots meta tagsThe robots meta tag is an HTML element in a page's head — <meta name=\"robots\" content=\"noindex\"> — that tells search engines how to index and serve that page. It's crawl-then-obey: a page blocked in robots.txt is never fetched, so the tag is never seen. in the body section of an HTML document as well.” — Google Search Central docs (Robots meta tag, data-nosnippet, and X-Robots-TagThe X-Robots-Tag is an HTTP response header that carries the same indexing and serving directives as the robots meta tag (noindex, nofollow, nosnippet, and the rest). Because it lives in the header rather than the HTML, it's how you control indexing for non-HTML files like PDFs, images, and videos. specifications). Read the article
- “In the case of conflicting robots rules, the more restrictive rule applies.” — Google Search Central docs (same specification). Read the article
Patrick Stox (Ahrefs) — the robots.txt conflict
- “If you block a page from being crawled, Google may still index it because crawlingCrawling is how search engines use automated bots (like Googlebot and Bingbot) to discover URLs and download pages. A page has to be crawlable to be indexed, but crawling on its own isn't a ranking factor. and indexing are two different things.” — me, “Indexed, though blocked by robots.txtA Google Search Console Page Indexing warning: Google indexed the URL anyway despite your robots.txt disallowing crawling it — Google names other pages linking to it as the likely path. robots.txt blocks crawling, not indexing.” Can Be More Than A Robots.txt Block (Ahrefs). Jump to quote
- “Unless Google can crawl a page, they won’t see the noindex meta tag and may still index it because it has links.” — me (same article). Read the article
- “Just add a noindex meta robots tag and make sure to allow crawling—assuming it’s canonical.” — me (same article). Read the article
”URL marked ‘noindex’” triage checklist
Work top to bottom — most of these end at step 2 with “no action needed.”
- Open the affected URL list in the Page Indexing reportThe Google Search Console report (formerly Index Coverage) showing how many of your URLs are indexed vs. not indexed, and grouping the not-indexed ones by reason. (click the status row).
- Decide intentional vs. accidental: are these pages you meant to exclude (thank-you, internal search, facets, admin, staging)? If yes → done.
- Is the URL also sitting in your submitted sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. (often surfaced as
“Submitted URL marked ‘noindexNoindex is a directive that tells search engines to keep a page out of their index, so it won't appear in search results. It works only on pages a crawler can actually fetch — a page blocked in robots.txt can never be noindexed.’”)? Resolve the contradiction: remove the
noindex(to indexStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed.) or remove the URL from the sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. (to keep it out). - For pages that should be indexed, find the directive in both places:
- Rendered
<head>for<meta name="robots" ... noindex>(check the rendered DOM, not just View Source). - Response headers for
X-Robots-Tag: noindex(curl -Ior DevTools → Network).
- Rendered
- Confirm what GooglebotGooglebot is Google's web crawler — the software that fetches pages so Google can index and rank them. It comes in two variants, Googlebot Smartphone (primary, under mobile-first indexing) and Googlebot Desktop, and runs an evergreen Chromium renderer. sees with URL InspectionA Google Search Console feature that reports how Google sees one specific URL on a property you own. By default it shows the last-indexed snapshot; a separate \"Test live URL\" mode fetches the current version. → Test live URL (or the Rich ResultsRich results (formerly 'rich snippets') are enhanced search listings — stars, images, prices, breadcrumbs, video thumbnails, and more — that Google and Bing build from structured data. They're a display feature, not a ranking factor, and eligibility never guarantees they'll show. Test) — catches GooglebotGooglebot is Google's web crawler — the software that fetches pages so Google can index and rank them. It comes in two variants, Googlebot Smartphone (primary, under mobile-first indexing) and Googlebot Desktop, and runs an evergreen Chromium renderer.-only / CDN-served directives.
- Check for the robots.txtA plain-text file at the root of a host that tells crawlers which URLs they may and may not request. It controls crawling, not indexing — a blocked URL can still be indexed if it's linked from elsewhere. conflict: the URL is not also disallowed (a disallow hides the noindexNoindex is a directive that tells search engines to keep a page out of their index, so it won't appear in search results. It works only on pages a crawler can actually fetch — a page blocked in robots.txt can never be noindexed. and can leave the page indexed).
- Remove the directive at its real source (template / server / CMSA content management system (CMS) is software that lets users create, manage, and publish digital content — like blog posts and pages — without writing raw code. WordPress, Drupal, and Joomla are the most common open-source CMS platforms. / CDN), then clear any CDN or page cache.
- Re-test live that the page now returns no noindex.
- Request IndexingStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. and/or hit Validate Fix; then wait — recrawl timing isn’t fixed. Google says it depends on the page’s importance and can take much longer than a day or two, up to months for lower-priority pages.
Cheat sheets
The three names — same condition
| Label you saw | When it shows | Severity |
|---|---|---|
| URL marked ‘noindexNoindex is a directive that tells search engines to keep a page out of their index, so it won't appear in search results. It works only on pages a crawler can actually fetch — a page blocked in robots.txt can never be noindexed.’ | Google crawled the page and foundA 302 (\"Found\") is a temporary redirect: it forwards users to a new URL while telling search engines the original URL should stay in the index. It's a weak canonicalization signal, not the zero-equity dead end of SEO folklore. a noindex | Info (under “Not indexedStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed.”) — often intentional |
| Submitted URL marked ‘noindexNoindex is a directive that tells search engines to keep a page out of their index, so it won't appear in search results. It works only on pages a crawler can actually fetch — a page blocked in robots.txt can never be noindexed.’ | Same, but the URL was in a submitted sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. | Often surfaced as an error-level row — regardless of label, a contradiction to resolve |
| Excluded by ‘noindex’ tag | Legacy name (pre-2021 Index Coverage reportThe Google Search Console report (formerly Index Coverage) showing how many of your URLs are indexed vs. not indexed, and grouping the not-indexed ones by reason.) | Same as “URL marked ‘noindex’” |
Where the noindex lives: meta tag vs. X-Robots-Tag headerThe X-Robots-Tag is an HTTP response header that carries the same indexing and serving directives as the robots meta tag (noindex, nofollow, nosnippet, and the rest). Because it lives in the header rather than the HTML, it's how you control indexing for non-HTML files like PDFs, images, and videos.
| Meta robotsThe robots meta tag is an HTML element in a page's head — <meta name=\"robots\" content=\"noindex\"> — that tells search engines how to index and serve that page. It's crawl-then-obey: a page blocked in robots.txt is never fetched, so the tag is never seen. tag | X-Robots-TagThe X-Robots-Tag is an HTTP response header that carries the same indexing and serving directives as the robots meta tag (noindex, nofollow, nosnippet, and the rest). Because it lives in the header rather than the HTML, it's how you control indexing for non-HTML files like PDFs, images, and videos. header | |
|---|---|---|
| Form | <meta name="robots" content="noindex"> | X-Robots-Tag: noindex |
| Lives in | The page’s <head> (HTML) | The HTTP response headers |
| Visible in View Source? | Yes (if not JS-injected) | No — check curl -I / DevTools |
| Set by | Template / CMSA content management system (CMS) is software that lets users create, manage, and publish digital content — like blog posts and pages — without writing raw code. WordPress, Drupal, and Joomla are the most common open-source CMS platforms. / page editor | Server / CMS / CDN config |
| Works for non-HTML (PDF, image, video)? | No (no <head>) | Yes |
| Target one engine? | name="googlebot" etc. | X-Robots-Tag: googlebot: noindex |
How this status differs from its neighbors
| Status | Crawled? | Directive found? | Meaning |
|---|---|---|---|
| URL marked ‘noindex’ | Yes | noindex | Google obeyed your noindex |
| Indexed, though blocked by robots.txtA Google Search Console Page Indexing status: the URL was excluded from indexing because your robots.txt disallows crawling it. Usually intentional and benign — robots.txt blocks crawling, not indexing. | No | n/a (can’t read it) | Blocked from crawl but indexed via links |
| Crawled — currently not indexed | Yes | None | No directive; Google just chose not to index |
Intentional-vs-accidental decision tree
| Question | If yes | If no |
|---|---|---|
| Are these pages you meant to exclude? | No action | go down ↓ |
| Is it the “Submitted” error variant? | Remove noindex or remove from sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. | go down ↓ |
| Do you want this page indexed? | Find + remove the noindex, then Validate Fix | Leave it (and remove from sitemap if present) |
The mental models
1. Crawled-and-saw-it. This status only exists because Google crawled the page and read a directive. That single fact distinguishes it from robots.txtA plain-text file at the root of a host that tells crawlers which URLs they may and may not request. It controls crawling, not indexing — a blocked URL can still be indexed if it's linked from elsewhere.-blocked (never crawled) and from “Crawled — currently not indexedStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed.” (crawled, no directive). Locate which of the three you’re in before you touch anything.
2. “Not indexed” ≠ broken. The default assumption should be intentional, not error. Validate the list of URLs first; most of the time the right move is to do nothing. The one combination worth treating as urgent is a noindexed URL that’s also sitting in your submitted sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. — because a sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. is meant to list what you want indexed (submission is only a hint to Google, not a guarantee), and a noindexed sitemap URL contradicts that.
3. Two sources, always check both.
A noindexNoindex is a directive that tells search engines to keep a page out of their index, so it won't appear in search results. It works only on pages a crawler can actually fetch — a page blocked in robots.txt can never be noindexed. is either a meta tag (in the rendered <head>) or an X-Robots-TagThe X-Robots-Tag is an HTTP response header that carries the same indexing and serving directives as the robots meta tag (noindex, nofollow, nosnippet, and the rest). Because it lives in the header rather than the HTML, it's how you control indexing for non-HTML files like PDFs, images, and videos.
header (in the HTTP response). The header is invisible in View Source, so “I
don’t have a noindexNoindex is a directive that tells search engines to keep a page out of their index, so it won't appear in search results. It works only on pages a crawler can actually fetch — a page blocked in robots.txt can never be noindexed.” usually means “I didn’t check the header.” Check both, every
time.
4. Crawl-dependent — never pair noindex with a disallow. Google must crawl a page to see its noindex. Block crawlingCrawling is how search engines use automated bots (like Googlebot and Bingbot) to discover URLs and download pages. A page has to be crawlable to be indexed, but crawling on its own isn't a ranking factor. in robots.txtA plain-text file at the root of a host that tells crawlers which URLs they may and may not request. It controls crawling, not indexing — a blocked URL can still be indexed if it's linked from elsewhere. and the noindex becomes invisible, leaving the page indexable via links. To remove a page: allow crawlingCrawling is how search engines use automated bots (like Googlebot and Bingbot) to discover URLs and download pages. A page has to be crawlable to be indexed, but crawling on its own isn't a ranking factor. + keep noindex, wait for deindexingDeindexing means getting a URL to stop appearing in Google's search results. There's no single delete button — the right method depends on whether you own the page, whether removal is temporary or permanent, and whether the content should still exist., then optionally disallow.
5. Trust GooglebotGooglebot is Google's web crawler — the software that fetches pages so Google can index and rank them. It comes in two variants, Googlebot Smartphone (primary, under mobile-first indexing) and Googlebot Desktop, and runs an evergreen Chromium renderer.’s view, not your browser’s. For phantom noindex (you see none, GSC sees one), your browser’s View Source is the wrong instrument. A CDN, cache, or user-agent rule can show GooglebotGooglebot is Google's web crawler — the software that fetches pages so Google can index and rank them. It comes in two variants, Googlebot Smartphone (primary, under mobile-first indexing) and Googlebot Desktop, and runs an evergreen Chromium renderer. something different. Diagnose with a real Googlebot fetch — URL Inspection’s live test or the Rich ResultsRich results (formerly 'rich snippets') are enhanced search listings — stars, images, prices, breadcrumbs, video thumbnails, and more — that Google and Bing build from structured data. They're a display feature, not a ranking factor, and eligibility never guarantees they'll show. Test — which shows the exact response Google receives.
Playbook: you just saw a “marked ‘noindex’” status
Read this top to bottom the first time you hit one of these statuses. Branch off at each “if you see” — most runs end early.
1. Open the Page Indexing reportThe Google Search Console report (formerly Index Coverage) showing how many of your URLs are indexed vs. not indexed, and grouping the not-indexed ones by reason. and click into the status row. Note which of the three labels it is: “URL marked ‘noindexNoindex is a directive that tells search engines to keep a page out of their index, so it won't appear in search results. It works only on pages a crawler can actually fetch — a page blocked in robots.txt can never be noindexed.’,” “Submitted URL marked ‘noindexNoindex is a directive that tells search engines to keep a page out of their index, so it won't appear in search results. It works only on pages a crawler can actually fetch — a page blocked in robots.txt can never be noindexed.,’” or the legacy “Excluded by ‘noindex’ tag.” Pull the full list of affected URLs — don’t judge from the count alone.
2. Skim the URL list for shape. If you see mostly thank-you pages, internal search, filter/facet URLs, or admin/account pages — these are pages you’d normally want out of the indexStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed.. → Stop here. No action needed; this is the system working as intended.
3. If you see a URL you actually want ranking, isolate it.
Someone or something put a noindex on a page that should be indexable. Move to
step 4 to find where it’s coming from.
4. If the label is “Submitted URL marked ‘noindex’” — or you just notice the
URL is both noindexed and in your sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. — treat it as urgent.
SitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. submission is meant to signal the URLs you want in Search (Google
treats it as a hint, not a guarantee), so a noindex on that same URL is a
direct contradiction, and many reports and tools surface it as an error-level
row for exactly that reason. Decide which side is correct — you want it
indexed (remove the noindex) or you don’t (pull it from the sitemap) — and
resolve the contradiction the same day you find it.
5. Locate the directive.
Check the rendered <head> for a <meta name="robots" content="noindex"> tag,
then check the response headers (curl -I or DevTools → Network) for an
X-Robots-Tag: noindex. If neither shows anything and GSCA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results. still reports one,
you likely have a phantom noindex — go to step 6.
6. If View Source is clean but GSC still says noindex, don’t trust your browser. Run a live GooglebotGooglebot is Google's web crawler — the software that fetches pages so Google can index and rank them. It comes in two variants, Googlebot Smartphone (primary, under mobile-first indexing) and Googlebot Desktop, and runs an evergreen Chromium renderer. fetch (URL InspectionA Google Search Console feature that reports how Google sees one specific URL on a property you own. By default it shows the last-indexed snapshot; a separate \"Test live URL\" mode fetches the current version. → Test live URL, or the Rich ResultsRich results (formerly 'rich snippets') are enhanced search listings — stars, images, prices, breadcrumbs, video thumbnails, and more — that Google and Bing build from structured data. They're a display feature, not a ranking factor, and eligibility never guarantees they'll show. Test). Look for a CDN/cache serving a stale header, a directive conditional on user-agent, or a staging template leaking into production.
7. If the URL is also disallowed in robots.txtA plain-text file at the root of a host that tells crawlers which URLs they may and may not request. It controls crawling, not indexing — a blocked URL can still be indexed if it's linked from elsewhere., fix that first.
A disallow hides the noindex from Google entirely, so nothing you do to the
noindex will take effect until crawlingCrawling is how search engines use automated bots (like Googlebot and Bingbot) to discover URLs and download pages. A page has to be crawlable to be indexed, but crawling on its own isn't a ranking factor. is allowed again. Remove the disallow
(or wait for it to lift) before moving on.
8. Remove the directive at its real source — template, server config, CMSA content management system (CMS) is software that lets users create, manage, and publish digital content — like blog posts and pages — without writing raw code. WordPress, Drupal, and Joomla are the most common open-source CMS platforms. field, or CDN edge rule — and purge any cache sitting in front of it.
9. Re-verify with a live GooglebotGooglebot is Google's web crawler — the software that fetches pages so Google can index and rank them. It comes in two variants, Googlebot Smartphone (primary, under mobile-first indexing) and Googlebot Desktop, and runs an evergreen Chromium renderer. fetch that the page now returns no noindex, then use Request IndexingStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. for priority URLs and/or Validate Fix for the whole affected set.
10. Wait and recheck. Recrawl and reindexing aren’t instant, and there’s no fixed turnaround — Google’s own guidance is that revisit timing depends on the page’s importance and can run to months for lower-priority pages, not just days. Request Indexing asks Google to try sooner; it doesn’t guarantee a timeline. And if you disallowed the page in step 7 only to save crawl budgetThe number of URLs an engine will crawl in a timeframe. after removal, that’s the one case where disallow-after-noindex is correct.
Scripts and snippets
Check the response headers (macOS/Linux, shell) — the only way to see an
X-Robots-Tag, since it never shows up in View Source:
curl -sI -A "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" "https://example.com/page/" | grep -i "x-robots-tag\|^HTTP"Check the response headers (Windows, PowerShell) — same check, no curl
required:
$r = Invoke-WebRequest -Uri "https://example.com/page/" -UserAgent "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" -UseBasicParsing
$r.Headers["X-Robots-Tag"]
$r.StatusCodeFind a meta robotsThe robots meta tag is an HTML element in a page's head — <meta name=\"robots\" content=\"noindex\"> — that tells search engines how to index and serve that page. It's crawl-then-obey: a page blocked in robots.txt is never fetched, so the tag is never seen. tag in the rendered DOM (DevTools Console) — paste into the Console panel on the live page; catches tags injected by a tag manager that raw View Source would miss:
[...document.querySelectorAll('meta[name="robots"], meta[name="googlebot"]')].map(m => m.outerHTML)Bookmarklet — check the current page’s meta robots tag in one click. Save as a bookmark with this as the URL, then click it on any page you’re auditing:
javascript:(function(){var m=[...document.querySelectorAll('meta[name="robots"],meta[name="googlebot"]')].map(function(x){return x.outerHTML}).join('\n')||'No meta robots tag found in DOM';alert(m);})();Regex — pull noindex out of a bulk HTML export. If you’re grepping a batch
of saved page-source files or a crawl export for content="...noindex..."
values, this captures the full content attribute so you can see if noindex is
paired with anything else (like nofollow or noarchive):
<meta\s+name=["'](?:robots|googlebot)["']\s+content=["']([^"']*)["']The capture group (([^"']*)) is the full directive list — check it for
noindex specifically rather than assuming a match means noindexNoindex is a directive that tells search engines to keep a page out of their index, so it won't appear in search results. It works only on pages a crawler can actually fetch — a page blocked in robots.txt can never be noindexed., since the same
tag can carry noarchive or other directives without it.
Patrick's relevant free tools
- Google Index Checker — Check one URL’s observable indexability blockers, or reconcile sitemap, crawl, and supplied Search Console evidence across a URL set before verifying Google’s actual state in URL Inspection.
- GSC Regex Builder & Tester — Lint RE2 regex syntax and test Search Console filters against your own query list in the browser.
- Brand/Non-Brand Splitter — Split GSC or Ads query rows into typo-tolerant brand and non-brand CSVs locally in your browser.
Tools for this task
This site’s tools
- Google Index Checker — fetches a URL as
GooglebotGooglebot is Google's web crawler — the software that fetches pages so Google can index and rank them. It comes in two variants, Googlebot Smartphone (primary, under mobile-first indexing) and Googlebot Desktop, and runs an evergreen Chromium renderer. and reports observable indexability signals: status, redirectsA redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't.,
noindex directivesNoindex is a directive that tells search engines to keep a page out of their index, so it won't appear in search results. It works only on pages a crawler can actually fetch — a page blocked in robots.txt can never be noindexed. (meta tag and header), and canonical hints, all in one
pass. It’s explicit that it can’t see Google’s actual indexStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. state — only
Search ConsoleA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results. can — but it’s the fastest way to check the noindexNoindex is a directive that tells search engines to keep a page out of their index, so it won't appear in search results. It works only on pages a crawler can actually fetch — a page blocked in robots.txt can never be noindexed. + canonical
- status combination before you go anywhere near GSC.
- HTTP Header Checker — raw response headers for a
URL, including
X-Robots-Tag. Use this when you specifically need to confirm a header-based noindex (or confirm it’s gone after a fix), separate from anything in the page’s HTML. - Robots.txt Tester — checks whether a given URL is disallowed for a given user-agentA user agent is the HTTP request header a client (browser, crawler, or bot) sends to identify itself. For crawlers, a short user-agent token — a substring of that string — is what robots.txt rules actually target.. Run this whenever you’re diagnosing a noindex that doesn’t seem to be taking effect — a disallow on the same URL is the classic cause.
Third-party tools
- Google Search ConsoleA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results. — the Page Indexing reportThe Google Search Console report (formerly Index Coverage) showing how many of your URLs are indexed vs. not indexed, and grouping the not-indexed ones by reason. (where this status lives), the sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. report (for the “Submitted” variant), and URL Inspection → Test live URL, the only tool that shows you a real-time GooglebotGooglebot is Google's web crawler — the software that fetches pages so Google can index and rank them. It comes in two variants, Googlebot Smartphone (primary, under mobile-first indexing) and Googlebot Desktop, and runs an evergreen Chromium renderer. fetch and verdict.
- Rich ResultsRich results (formerly 'rich snippets') are enhanced search listings — stars, images, prices, breadcrumbs, video thumbnails, and more — that Google and Bing build from structured data. They're a display feature, not a ranking factor, and eligibility never guarantees they'll show. Test — another live Googlebot fetch; useful as a second read on the HTTP response and rendered snapshot when you’re chasing a phantom or CDN-served noindex.
Validation tests
Run these after removing a noindex you didn’t want, or after resolving a
“Submitted URL marked ‘noindexNoindex is a directive that tells search engines to keep a page out of their index, so it won't appear in search results. It works only on pages a crawler can actually fetch — a page blocked in robots.txt can never be noindexed.’” contradiction.
Test 1: Header no longer sends X-Robots-Tag: noindex
- Test to run:
curl -Ithe URL (or the HTTP Header Checker) and inspect the response headers. - Expected result: No
X-Robots-Tagheader, or one withoutnoindexin it. - Failure interpretation: The directive is still being served — check server/CMSA content management system (CMS) is software that lets users create, manage, and publish digital content — like blog posts and pages — without writing raw code. WordPress, Drupal, and Joomla are the most common open-source CMS platforms. config again, and clear any CDN or edge cache that might be serving a stale response.
- Monitoring window: Immediate — this is a live fetch, not a crawl-dependent signal.
- Rollback trigger: N/A (this test doesn’t change anything); re-run after each config or cache change until it passes.
Test 2: Rendered page has no meta robots noindex
- Test to run: Google Index Checker or a
DevTools/View Source check of the rendered
<head>. - Expected result: No
<meta name="robots" content="noindex">(orgooglebotvariant) in the rendered DOM. - Failure interpretation: A template, tag manager, or JS injection is still adding the tag — check rendered DOM, not just raw source.
- Monitoring window: Immediate.
- Rollback trigger: N/A; re-run after each template/config change.
Test 3: Live Googlebot fetch confirms the page is indexable
- Test to run: GSCA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results. URL InspectionA Google Search Console feature that reports how Google sees one specific URL on a property you own. By default it shows the last-indexed snapshot; a separate \"Test live URL\" mode fetches the current version. → Test live URL.
- Expected result: “URL is available to Google” with no noindexNoindex is a directive that tells search engines to keep a page out of their index, so it won't appear in search results. It works only on pages a crawler can actually fetch — a page blocked in robots.txt can never be noindexed. flagged in the live test result.
- Failure interpretation: GooglebotGooglebot is Google's web crawler — the software that fetches pages so Google can index and rank them. It comes in two variants, Googlebot Smartphone (primary, under mobile-first indexing) and Googlebot Desktop, and runs an evergreen Chromium renderer. is seeing something your browser isn’t — check for a user-agentA user agent is the HTTP request header a client (browser, crawler, or bot) sends to identify itself. For crawlers, a short user-agent token — a substring of that string — is what robots.txt rules actually target.-conditional directive or CDN rule serving Google a different response than you get.
- Monitoring window: Immediate for the live-test result itself.
- Rollback trigger: If the live test still shows noindex after a config change plus a cache purge, treat the fix as not yet live and keep debugging before requesting indexingStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed..
Test 4: URL is not also blocked by robots.txt
- Test to run: Robots.txt Tester against the same URL.
- Expected result: Allowed for GooglebotGooglebot is Google's web crawler — the software that fetches pages so Google can index and rank them. It comes in two variants, Googlebot Smartphone (primary, under mobile-first indexing) and Googlebot Desktop, and runs an evergreen Chromium renderer..
- Failure interpretation: A disallow is hiding whatever noindex state exists — Google can’t recrawlCrawl frequency is how often a search engine comes back to re-fetch a page it already knows about. Popular pages that change often get refreshed many times a day; stable pages can go weeks or months between crawls — and you influence it indirectly, not by setting a dial. to see your fix. Remove the disallow first.
- Monitoring window: Immediate.
- Rollback trigger: N/A; this must pass before the other tests mean anything for a page you want indexed.
Test 5: Page Indexing report clears the status
- Test to run: GSC Page Indexing reportThe Google Search Console report (formerly Index Coverage) showing how many of your URLs are indexed vs. not indexed, and grouping the not-indexed ones by reason., after hitting Validate Fix on the affected group (or Request IndexingStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. for a single priority URL).
- Expected result: The URL moves out of “URL marked ‘noindex’” / “Submitted URL marked ‘noindex’” and into “Indexed” (or your intended status) in the report.
- Failure interpretation: Still pending recrawl, or the directive is still present somewhere you haven’t checked (re-run Tests 1–3).
- Monitoring window: Variable, not fixed — validation runs in the background on Google’s own recrawl schedule. Google’s documentation says revisit timing depends on the page’s importance and can take considerably longer than a few days, up to months for lower-priority pages; don’t treat a slow update as a failure on its own.
- Rollback trigger: If validation still hasn’t moved after a genuinely long wait (and Tests 1–4 all pass), re-check Tests 1–4 in order rather than re-submitting the same fix.
Quiz
Five questions to check what actually stuck from this article.
URL marked 'noindex'
The Google Search Console Page Indexing status for a page Google crawled and found a noindex directive on — a meta robots tag or an X-Robots-Tag header — so it kept the page out of its index. Often intentional, but a red flag when a noindexed page was submitted in a sitemap.
Related: Noindex, Robots Meta Tag, X-Robots-Tag
URL marked 'noindex'
“URL marked ‘noindexNoindex is a directive that tells search engines to keep a page out of their index, so it won't appear in search results. It works only on pages a crawler can actually fetch — a page blocked in robots.txt can never be noindexed.’” is the Google Search ConsoleA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results. Page IndexingThe Google Search Console report (formerly Index Coverage) showing how many of your URLs are indexed vs. not indexed, and grouping the not-indexed ones by reason. status for a page that Google crawled and saw a noindex directive on, so it deliberately kept the page out of its indexStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed.. The directive can be an HTML <meta name="robots" content="noindex"> tag in the <head> (or, per Google’s own documentation, in the body) or an X-Robots-Tag: noindex HTTP response header. These URLs show up under “Not indexed” (formerly “Excluded”).
The same condition goes by more than one name. The current label is “URL marked ‘noindexNoindex is a directive that tells search engines to keep a page out of their index, so it won't appear in search results. It works only on pages a crawler can actually fetch — a page blocked in robots.txt can never be noindexed.’”. When the noindexed URL was also submitted in a sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing., reports and tools commonly sharpen it to “Submitted URL marked ‘noindex’” — worth resolving right away, because a sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. is meant to list URLs you want indexed and a noindex on that same URL contradicts it (submitting a sitemap is a hint to Google, not a guarantee of indexingStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed.). The older (pre-2021 “Index Coverage” report) name was “Excluded by ‘noindex’ tag”, and it’s still the most-searched colloquial version. All describe the same underlying state.
This status is usually fine, not a bug. Thank-you pages, internal search results, faceted URLs, and admin pages are supposed to carry a noindex. It only needs fixing when a page you want indexed is accidentally noindexed — most often a template, CDN, or staging directive leaking onto live URLs. Because noindex is crawl-dependent, the directive also has to be visible: a page blocked in robots.txtA plain-text file at the root of a host that tells crawlers which URLs they may and may not request. It controls crawling, not indexing — a blocked URL can still be indexed if it's linked from elsewhere. can’t be crawled, so Google never sees the noindex.
Related: Noindex, Robots Meta Tag, X-Robots-Tag
Build-time retrieval analysis plus live signals for this exact article. The automatic chunk report includes a deterministic readiness score and is ready without a model download.
Search Console
sampleGA4 traffic (28d)
sampleCloudflare traffic (7d)
sampledCrUX field data (28d, phone)
sampleGoogle NLP entities
localChangelog
Updated Jul 18, 2026.
Editorial summary and recorded change details.Summary
Softened the unverified 'Submitted URL marked noindex' error-status claim to match current Google documentation, replaced invented recrawl-timing figures (days/2–4 weeks) with Google's own 'can take months' guidance, and added verified body-placement and conflicting-rules coverage.
Change details
-
Current Google Page Indexing report documentation does not separately define 'Submitted URL marked noindex' as a distinct status; reworded to present it as common report/tool phrasing for the same underlying sitemap-versus-noindex contradiction, while keeping the sitemap-hint framing accurate.
-
Replaced unsupported 'days, not minutes' and '2–4 weeks' recrawl-timing claims with Google's documented statement that revisiting a page after a noindex change can take months depending on the page's importance.
-
Added Google's verified guidance that a robots meta tag in the page body (not just the head) is respected, and that conflicting robots rules resolve to the more restrictive one.
Full comparison unavailable — no prior snapshot was archived for this revision.