Google Search Console

Excluded by ‘Noindex’ Tag: What It Means and How to Fix It

A noindex directive is telling Google not to show this URL in search results.

The short answer

“Excluded by ‘noindex’ tag” means Google crawled the URL, found a noindex directive, and did not include the page in Google Search. In current Google documentation, the Page indexing reason is phrased “URL marked ‘noindex’.” Older reports, exports, APIs, and common SEO usage may use “Excluded by ‘noindex’ tag.” They describe the same core condition.

If the page is intentionally kept out of search—such as an account page, internal search result, or duplicate utility page—the status is expected. If the page is an important product, service, category, article, or landing page, remove every applicable noindex directive, keep the URL crawlable, and ask Google to recrawl it.

Google’s Page indexing report documentation says Google encountered noindex and therefore did not index the page. The underlying rule can come from HTML or an HTTP response header.

Search Console can report a `noindex` rule found in HTML or an HTTP header; the source of the directive determines the fix.

What noindex does

noindex is a page- or resource-level instruction telling cooperative search engines not to show the URL in their search results. Google supports it in two forms:

  1. A robots meta tag in an HTML page.
  2. An X-Robots-Tag in the HTTP response headers, which also works for PDFs, images, and other non-HTML files.

When Googlebot can crawl the URL and sees the rule, Google drops the resource from Google Search results. Bing also supports noindex in robots meta tags and X-Robots-Tag headers. See the Google robots meta specification, Google’s noindex implementation guide, and Bing’s supported robots directives.

HTML meta tag

<head>
  <meta name="robots" content="noindex">
</head>

Google-specific directive

<head>
  <meta name="googlebot" content="noindex">
</head>

The first applies to compliant search crawlers generally; the second targets Googlebot. If both general and crawler-specific rules are present, Google combines the restrictive rules that apply.

HTTP response header

HTTP/1.1 200 OK
Content-Type: application/pdf
X-Robots-Tag: noindex

The HTTP header is easy to miss because it does not appear in page source. It may be added by the origin server, application, reverse proxy, CDN, hosting platform, security layer, or plugin.

noindex is not the same as robots.txt

This distinction causes many failed fixes:

  • robots.txt controls whether a crawler may fetch a URL.
  • noindex controls whether a fetched URL may appear in search results.

Google must be allowed to crawl the URL to discover the noindex directive. If you block the URL in robots.txt, Google may never see a new noindex or notice that an old one was removed. Google also warns that a URL blocked by robots.txt can still appear in search without a snippet when discovered through other links.

Therefore:

  • To remove a public page from search with noindex, allow crawling long enough for Google to read the directive.
  • To reindex a page after removing noindex, do not block Google from recrawling it.
  • To protect confidential content, use authentication or access controls. Neither noindex nor robots.txt is a security mechanism.

The technical distinction is also summarized in MDN’s robots meta reference.

Is it bad?

Situation Interpretation Recommended response
Account, checkout, admin, internal search, or other utility page Often intentional Leave noindex; consider removing from the sitemap
Important public page Usually an error Find and remove all applicable noindex directives
Staging or preview environment noindex helps but is not sufficient security Require authentication and prevent production leakage
Duplicate page users still need May be intentional, but canonical may be better Choose between noindex and canonicalization based on the goal
Previously indexed URLs suddenly affected in bulk Likely regression Roll back or fix the template/header rule quickly
Private or sensitive content Inadequate protection Use authentication; assume public URLs can be discovered

Where accidental noindex directives come from

1. CMS visibility settings

WordPress, ecommerce platforms, site builders, SEO plugins, and headless CMSs can apply noindex by post type, taxonomy, environment, or template. A global “discourage search engines” setting copied from staging is a common launch failure.

2. Template logic

A conditional rule intended for one page type can spread across a whole section. Examples include noindex on all paginated categories, all products without reviews, all pages using a shared error boundary, or all URLs when an environment variable is missing.

3. HTTP headers added outside the HTML

Web-server configuration, CDN rules, reverse proxies, middleware, and security products can inject X-Robots-Tag: noindex. Viewing source will not reveal it. Inspect the final response headers for the exact public URL and follow redirects first.

4. Conflicting or duplicate robots tags

A page may contain one index tag and a second noindex tag, or a general robots tag plus a crawler-specific googlebot tag. Google uses the combined restrictive rules. Adding <meta name="robots" content="index"> does not cancel a second noindex elsewhere.

5. JavaScript changes the tag

Client-side code can inject or modify robots tags. Google renders JavaScript, so inspect the rendered HTML in URL Inspection, not only the raw source. Avoid changing a clear server-rendered noindex into index with JavaScript; serve the intended directive consistently.

6. Deployment or environment leakage

Production may inherit staging headers, a preview hostname may become canonical, or cached HTML may retain an old noindex. Check the origin and CDN versions, purge affected caches, and confirm behavior across representative URLs.

How to diagnose the status step by step

Do not remove the directive merely because Search Console lists the URL as “not indexed.” Decide based on user and search value.

Good candidates for intentional noindex can include account pages, checkout steps, on-site search results, thin utility views, and temporary campaign variants. But the decision should be deliberate. Public documentation, products, categories, articles, location pages, and conversion landing pages commonly need indexing.

Step 2: Inspect the indexed result and live URL

In URL Inspection:

  1. Open the affected URL.
  2. Under indexing details, check Indexing allowed?
  3. Note whether Search Console says the directive came from a robots meta tag or HTTP header.
  4. Check the last crawl date.
  5. Run Test live URL.
  6. Inspect the tested HTML and response information.

If the live test no longer sees noindex, Google may simply need to recrawl and process the fixed page. If the live test still sees it, continue tracing the source.

Step 3: Check raw and rendered HTML

Search the original response and Google’s rendered HTML for:

<meta name="robots" content="noindex">
<meta name="googlebot" content="noindex">
<meta name="robots" content="none">

none is equivalent to noindex, nofollow for Google. Attribute and directive names are case-insensitive, so check variations. Inventory every applicable tag rather than stopping after the first one.

Step 4: Check the final HTTP response headers

Inspect headers on the requested URL and the final destination after redirects. Look for:

X-Robots-Tag: noindex
X-Robots-Tag: googlebot: noindex

Multiple X-Robots-Tag headers and comma-separated directives are valid. Check HTML and headers together because either can exclude the page.

Step 5: Check robots.txt and access

Make sure Googlebot can crawl the URL. If it is blocked, remove the block before relying on Google to observe a removed or newly added noindex. Also confirm the page is not hidden behind login, IP restrictions, or bot challenges.

Step 6: Trace the rule to its owner

Identify whether the directive is controlled by:

  • Page-level CMS settings.
  • An SEO plugin.
  • A theme or application template.
  • Framework metadata.
  • Server configuration.
  • CDN or proxy rules.
  • A security product.
  • A deployment/environment flag.
  • A cached response.

Fix the source, not only the generated output on one page. Then test representative URLs that should remain noindex and URLs that should become indexable.

An accidental `noindex` can be introduced at several layers, so verify both rendered HTML and the final HTTP response.

How to fix accidental noindex

For an HTML page

Remove the noindex value from every applicable robots meta tag. You do not need to add index; indexing is the default when no restrictive rule applies.

Before:

<meta name="robots" content="noindex, follow">

After:

<!-- No robots meta tag is required for normal indexability. -->

If other serving controls are intentional, keep only those:

<meta name="robots" content="max-image-preview:large">

For an HTTP header

Remove or narrow the server, proxy, or CDN rule that emits X-Robots-Tag: noindex. Verify the final public response after cache purges. For non-HTML files such as PDFs, the header is the relevant location.

For a CMS or plugin

Change the controlling visibility setting and verify the generated output. Do not assume the saved setting took effect; caching, theme code, and multiple plugins can override one another.

After removal

  1. Confirm the URL returns 200 OK.
  2. Confirm it is allowed in robots.txt.
  3. Confirm raw HTML, rendered HTML, and response headers contain no applicable noindex.
  4. Confirm the canonical points to the intended indexable URL.
  5. Add or restore crawlable internal links.
  6. Include the canonical URL in the XML sitemap if it belongs in search.
  7. Run a live URL test.
  8. Request indexing once for a small number of high-priority URLs; maintain the sitemap for larger cohorts.

Removing noindex makes the page eligible for indexing. It does not guarantee inclusion or ranking.

If the noindex is intentional

Keep the directive and align the rest of the site:

  • Remove the URL from XML sitemaps, because sitemaps should list preferred URLs you want in search.
  • Avoid presenting it as a canonical index target.
  • Keep necessary user navigation, but do not create vast crawlable spaces of intentionally excluded URLs.
  • Use authentication for confidential pages.
  • Monitor for unintended changes: an intentional exclusion can become harmful when the page’s role changes.

For duplicates, decide whether rel="canonical" is a better fit. Google specifically recommends canonicalization rather than noindex when the goal is to choose a canonical within one site and consolidate duplicate signals. See Alternate page with proper canonical tag for a working alternate/canonical relationship, and Duplicate, Google chose different canonical than user when Google overrides your preferred URL.

Removing an already indexed page

Adding noindex does not remove the result until Google recrawls the URL and sees the rule. Keep the URL crawlable during that process. If removal is urgent, Google’s Removals tool can temporarily hide a result while the durable noindex, authentication, or removal response is processed. A temporary removal request is not a permanent control.

Never use noindex as the only protection for personal, paid, confidential, or regulated information. Restrict access at the server or application layer.

What not to do

  • Do not add index while leaving another noindex in the HTML or headers.
  • Do not block the URL in robots.txt while waiting for Google to see a changed noindex rule.
  • Do not assume page source contains every directive; check HTTP headers and rendered HTML.
  • Do not use noindex to consolidate duplicate ranking signals when rel="canonical" is the goal. Use the canonical guides instead.
  • Do not include intentionally noindex URLs in XML sitemaps.
  • Do not treat noindex as access control or a confidentiality guarantee.
  • Do not request indexing before the live test confirms the rule is gone.

How to verify the fix

The most reliable sequence is:

  1. Test the public response outside your authenticated CMS session.
  2. Confirm no noindex appears in raw HTML, rendered HTML, or response headers.
  3. Confirm Googlebot is allowed to crawl the URL.
  4. Run URL Inspection’s live test and check Indexing allowed?
  5. Request indexing for a small number of critical URLs.
  6. Monitor the reported last crawl date and indexing status.
  7. For a sitewide incident, track affected template cohorts and verify pages intended to stay excluded did not become indexable.

Google says recrawling can take from a few days to a few weeks and does not guarantee indexing. Search Console’s aggregate report may update after the inspected URL’s state changes.

Example diagnosis

A SaaS company launches a redesigned marketing site. Every resource page returns 200 OK, self-canonicalizes, and is listed in the sitemap, but Search Console reports Excluded by ‘noindex’ tag.

The HTML source contains no robots meta tag. The response headers reveal X-Robots-Tag: noindex, added by a CDN rule created for the staging hostname and accidentally applied to production. The fix is to correct the CDN rule, purge the cached responses, test both production and staging, keep production crawlable, and request indexing for the highest-priority pages. Adding an index meta tag would not have fixed the restrictive HTTP header.

How BoastIndex helps

Use Google Index Monitoring to watch for noindex-driven exclusions on monitored URLs, and Index Status Reports to show whether those pages recover after the directive is removed. BoastIndex cannot remove the directive or force reindexing.

Authoritative sources and further reading

FAQ

Excluded by Noindex Tag FAQ

What does “Excluded by ‘noindex’ tag” mean?

It means Google crawled the URL, found a `noindex` directive in HTML or an HTTP response header, and excluded the page from Google Search. Google’s current documentation calls the reason **URL marked ‘noindex’**.

Is `noindex` an error?

Only when the page is supposed to appear in search. For intentionally excluded utility, account, or duplicate pages, the status can be correct.

Where can a `noindex` directive be located?

It can appear in a `` or crawler-specific meta tag in HTML, or in an `X-Robots-Tag` HTTP response header. CMSs, plugins, applications, servers, proxies, and CDNs can generate it.

Does `` override `noindex`?

No. If another applicable tag or header says `noindex`, Google combines the restrictive rules. Remove the unwanted `noindex` at its source.

Can a page be `noindex, follow`?

Yes, but the essential indexing result is still exclusion. Do not depend on a permanently `noindex` page as the only path through which Google can discover important links; link those destinations from indexable pages too.

How long does Google take to remove a `noindex` page?

Google must recrawl and process the page first, so there is no fixed deadline. Keep it crawlable. For urgent temporary hiding, use Search Console’s Removals tool while maintaining a durable long-term control.

How long does reindexing take after removing `noindex`?

There is no guaranteed timetable. Google says recrawling can take days to weeks, and removal of the directive only makes the URL eligible—it does not guarantee indexing.

Should a `noindex` page be blocked in `robots.txt`?

Not if you need Google to see the directive or notice its removal. A robots block prevents crawling, and Google may still know and display the URL without page content.

Should `noindex` pages be in the sitemap?

Normally no. Google recommends using sitemaps for canonical URLs you want shown in search. Including intentionally excluded URLs sends conflicting intent and makes monitoring noisier.

Is `noindex` secure enough for private content?

No. It is a search-engine instruction, not access control. Protect private content with authentication and appropriate authorization.

What is the difference between `noindex` and `nofollow`?

`noindex` requests that the page not appear in search. `nofollow` requests that the crawler not follow links on the page. They control different behaviors and can be used separately or together.

Can BoastIndex remove the directive or force reindexing?

No. The directive must be changed on the website or its delivery stack. BoastIndex can monitor the reported status and show whether Google later recrawls and indexes the URL.

Free tool

Is the noindex intentional, or did it leak?

The free troubleshooter helps you confirm intent, find the directive layer, and choose the right durable control.

Select Excluded by ‘noindex’ tag when the wizard asks for the GSC status.

What you get

  • 1 Live technical checks for response, robots, noindex, and canonical signals
  • 2 A status-specific decision path grounded in BoastIndex indexing guides
  • 3 Concrete actions, what to avoid, and how to verify after Google recrawls

Catch accidental noindex exclusions before they linger

BoastIndex monitors Google index status so you can see when important URLs become excluded by noindex and whether they recover after a fix.

Also see URL inspection tool, Google index monitoring, and index status reports.