Noindex Checker
Check up to 20 URLs at once for X-Robots-Tag headers and <meta name="robots"> directives — including none, per-crawler rules and redirect chains. No signup, no email.
Want a full-site indexability & technical audit?
Detecting noindex tags is just one part of technical SEO. Run a full SearchVitals audit to analyze page speed, canonical tags, structured data, and broken links across your entire domain.
Start Free Website Audit arrow_forwardHow Noindex Detection Works
Search engines check two distinct places for indexing directives. This tool inspects both simultaneously.
1. HTTP Response Header (X-Robots-Tag)
Server-level header directive sent before any HTML content is rendered. Commonly used for non-HTML files (PDFs, images) or global web application routes (e.g. X-Robots-Tag: noindex, nofollow).
Content-Type: text/html
X-Robots-Tag: noindex
2. HTML Meta Robots Tag
HTML element placed in the page <head> block instructing crawlers like Googlebot, Bingbot, or Baiduspider not to index the specific page.
<meta name="robots" content="noindex, follow">
</head>
Where the directive is actually coming from
Knowing a page is noindexed is the easy half. The directive can be written by a CMS setting, an SEO plugin, a hosting platform, or a line in a server config, and the page source only shows you the ones written into the HTML. If the result above says the directive came from the HTTP header, nothing in your CMS will show it — start from the server and CDN rows.
One cause is worth checking before all the others: a staging configuration that reached production. Staging sites are routinely noindexed on purpose, and when that config, theme, or environment variable is promoted along with a release, the live site goes silently out of the index. If a site dropped out shortly after a deploy, look there first.
| Platform | Written as | Where to look |
|---|---|---|
| WordPress | Meta tag | Settings → Reading → "Discourage search engines from indexing this site". This one checkbox noindexes the entire site and is the most common cause of a whole WordPress site vanishing. |
| Yoast / Rank Math | Meta tag | The post or term editor's Advanced panel ("Allow search engines to show this post?"), plus the global rules for archives, tags and author pages, which are set once and then forgotten. |
| Shopify | Meta tag | theme.liquid and the template files, where conditional blocks noindex search results and filtered collections. A store still under password protection is also noindexed. |
| Webflow | Meta tag | Page Settings → SEO for a single page, and Site Settings → SEO for the "Disable subdomain indexing" switch that governs the .webflow.io staging domain. |
| Wix / Squarespace | Meta tag | The per-page SEO panel, in the option that hides the page from search results. |
| Next.js / Nuxt | Either | The route's metadata export (robots: { index: false }) or head config for the tag; the headers() rules in next.config.js / server middleware for the header. |
| Vercel / Netlify | Header | Preview and branch deployments are given an X-Robots-Tag: noindex by the platform. This is intended, and only a problem when a preview URL gets linked or submitted as if it were production. |
| Nginx | Header | add_header X-Robots-Tag in the server or location block. Note that an add_header inside a location block replaces the ones inherited from the server block rather than adding to them, so the directive can appear and disappear by path. |
| Apache | Header | Header set X-Robots-Tag in .htaccess or the vhost, frequently inside a FilesMatch block aimed at PDFs that ends up matching more than intended. |
| Cloudflare | Header | Transform Rules → Modify Response Header, and any Worker that rewrites responses. Headers added here are invisible to the origin server, so nothing on the server explains them. |
After you remove a directive, the page will not come back until Google recrawls it and sees that it is gone. Re-run the check here to confirm the directive is really no longer being served — a cached CDN response can keep sending the old header for some time — then request indexing in Search Console for the URLs that matter.
Every robots directive, and what it actually does
Only two values keep a page out of the index. The rest change how a page is presented in results, and are routinely mistaken for indexing controls. Any of these can appear in a meta robots tag or an X-Robots-Tag header, and the checker reports the ones it finds.
noindex
Blocks indexing
Keeps the page out of search results. The page is still crawled — that is the only way the directive can be read.
none
Blocks indexing
Shorthand for noindex, nofollow. Blocks indexing without containing the word "noindex", which is why naive checkers miss it.
nofollow
Presentation only
Do not follow the links on this page. Says nothing about whether the page itself is indexed.
noarchive
Presentation only
No cached copy is offered in results. The page still ranks normally.
nosnippet
Presentation only
No text snippet or video preview is shown. The result becomes title and URL only, which usually costs clicks.
max-snippet:[n]
Presentation only
Caps the snippet at n characters. max-snippet:0 is equivalent to nosnippet; -1 means no limit.
noimageindex
Presentation only
Images on the page are not indexed. The page itself is unaffected.
notranslate
Presentation only
No translation of this result is offered to users reading in another language.
unavailable_after:[date]
Blocks indexing
Drops the page from results after the given date. It is a scheduled noindex, and being dated it fails quietly and long after it was written.
noindex vs nofollow vs robots.txt disallow
These three get swapped for one another constantly, and the mistake is expensive in one specific direction: disallowing a page in robots.txt does not remove it from the index. A blocked page is never fetched, so its noindex is never read, and the URL can sit in results indefinitely with no description.
| noindex | nofollow | robots.txt Disallow | |
|---|---|---|---|
| Where it lives | Meta tag or HTTP header | Meta tag, HTTP header, or a link attribute | The robots.txt file |
| Page gets crawled | Yes — required | Yes | No |
| Page appears in results | No | Yes | Possibly, with no description |
| Links on it followed | Yes, unless nofollow is also set | No | No — the page is never read |
| Crawl budget spent | Yes | Yes | No |
| Reach for it when | A page should not appear in results | You do not want to endorse the links on a page | A section should not be crawled at all, and is already out of the index |
How this check is performed, and what it cannot see
Each URL is requested once over HTTP, and the response headers and raw HTML are parsed. Directives are read from the X-Robots-Tag header and from meta robots tags in the document <head>; a robots meta tag placed in the body is ignored, matching how search engines treat it. The origin's robots.txt and sitemap.xml are fetched once and reused across every URL on that host.
- User-agent:
SearchVitals-Bot/1.0. Directives aimed at a named crawler are matched against Google's agent names, so a rule written forgooglebotis reported as applying. - Redirects: followed manually, up to 3 hops. The verdict describes the final URL, and the chain is shown so a directive is never attributed to the wrong page.
- Timeouts: 4 seconds to connect, 6 seconds in total per URL. A slow origin is reported as a timeout rather than guessed at.
- Concurrency: at most 3 requests in flight per host, to avoid tripping rate limiting and reading a challenge page as though it were your content.
- Limits: 20 URLs per run.
The main limitation: JavaScript is not executed. This tool reads the HTML your server returns, which is what a crawler reads on its first pass. If a directive is injected into the DOM by client-side JavaScript, it will not appear here — and if Search Console reports a noindex you cannot find in the page source, that is a likely explanation. Certificate validation is enforced, so a site with an invalid certificate is reported as an error rather than silently fetched.
Frequently Asked Questions
What is the difference between HTML meta noindex and HTTP X-Robots-Tag?
expand_more
The HTML tag works inside HTML documents. The HTTP response header X-Robots-Tag: noindex works for non-HTML files like PDFs, images and API responses as well as web pages. This tool checks both, because a header set at the server or CDN never appears in the page source people look at.
Why are my pages dropped from Google index despite no meta tag?
expand_more
A common hidden cause is an X-Robots-Tag: noindex HTTP header sent by a web server (Nginx, Apache) or CDN middleware (Cloudflare). Another is a robots.txt rule: if crawling is disallowed, Google never fetches the page, so a noindex on it is never read — and the page can linger in the index without a snippet instead of being removed.
Does content="none" mean the same as noindex?
expand_more
Yes. Google treats content="none" as equivalent to noindex, nofollow. It is easy to miss because the word "noindex" does not appear in the tag at all, and a tool that simply searches the page for that string will report the page as indexable. This checker parses directives individually, so none is caught.
How long does it take to get re-indexed after removing noindex?
expand_more
There is no fixed timeline. Google has to recrawl the page before it can see the directive is gone, so the wait depends on how often the page is crawled — days for a frequently updated site, weeks for a rarely crawled one. Requesting indexing in Search Console for an important URL usually speeds it up.
What is the difference between noindex and nofollow?
expand_more
noindex keeps a page out of search results. nofollow tells crawlers not to follow the links on it. They are independent: noindex, follow keeps a page out of results while still letting link equity flow onward, which is the usual choice for pages you want crawled but not listed.
Should I use noindex or a robots.txt disallow?
expand_more
Use noindex to keep a page out of results, and robots.txt to stop a page being crawled at all. Do not use both on the same URL: a disallowed page is never fetched, so its noindex is never seen, and the page can stay in the index with no description. If a page is already indexed and you want it gone, allow crawling and use noindex.
Why does Search Console say "Submitted URL marked noindex"?
expand_more
The URL is listed in your sitemap while also carrying a noindex directive — the site is asking Google to index a page it has been told not to index. Either remove the noindex or remove the URL from the sitemap. This checker flags that combination directly.
Should paginated, archive or tag pages be noindexed?
expand_more
Usually not by default. Google handles pagination reasonably well, and noindexing archive pages can cut off crawl paths to the content they link to. Reach for noindex when a page has no standalone value to a searcher — internal search results, thin filter combinations, staging duplicates — rather than by page type.
Does noindex waste crawl budget?
expand_more
A noindexed page still gets crawled, since the directive can only be read by fetching the page. On a large site that is real crawl budget spent on pages that will never rank. If a section should not be crawled at all, robots.txt is the right tool — but only once those pages are already out of the index.
Do links on a noindexed page still pass value?
expand_more
While the page is still being crawled, yes, if the directive is noindex, follow. Google has said that over the long term it tends to treat a persistently noindexed page as nofollow as well, because it crawls the page less and less. Do not rely on a noindexed page as a lasting part of your internal linking.
Does blocking AI crawlers affect whether my page is indexed?
expand_more
No. Google indexing is governed by Googlebot and your robots directives. Blocking GPTBot or ClaudeBot declines model training and has no effect on Google indexing — or, despite what is often claimed, on whether ChatGPT or Claude can cite you. The agents that decide citation are the retrieval ones: OAI-SearchBot, ChatGPT-User, Claude-SearchBot, Claude-User and PerplexityBot. Google-Extended is the exception, covering Gemini training and grounding under one token. How to become the source AI answers cite covers what to do about it.
Guidance on this page last reviewed .
Keep going on indexing
Crawling & Indexing — Full Guide
How noindex works, the difference between robots.txt blocking and noindex, and when each is the right choice.
Read the guide arrow_forward