A noindex rule is simple to write and easy to misuse. The useful question is not “where do I paste the tag?” but “which URL outcome do I want, and must the crawler still access the page to observe it?” This workflow turns that decision into an implementation, an audit trail, and a verifiable result.
noindex when a reachable URL may remain available to users but must not appear in search. Use another control when the URL should redirect, return an error, consolidate as a duplicate, or require authentication.Choose the intended URL outcome first
| Business outcome | Primary control | Why |
|---|---|---|
| Accessible page, excluded from search | noindex | The crawler can fetch the URL and read the rule |
| Moved content | 301/308 redirect | Users and signals are sent to the replacement |
| Duplicate URL that may remain indexable | Canonical | Consolidates the preferred version without demanding exclusion |
| Deleted content with no replacement | 404/410 | The HTTP status describes the actual state |
| Private content | Authentication | Indexing controls are not access controls |
| Crawl-load management | robots.txt | Controls fetching, not guaranteed removal from search |
Implement the HTML robots meta tag correctly
For an HTML page, place the rule in the document <head>:
<meta name="robots" content="noindex">
Many searches use variations such as meta tags noindex, noindex meta tag, noindex meta, and meta no-index. The supported token is noindex; punctuation in a search phrase is not an alternative syntax. A crawler-specific version such as <meta name="googlebot" content="noindex"> applies only to that crawler.
The tag must be present in the HTML Googlebot receives. If a framework injects it only after unreliable client-side execution, a server-rendered tag or HTTP header is safer.
Use X-Robots-Tag for PDFs and response-level control
For PDFs, images, generated downloads, or centralized server rules, return an HTTP response header:
HTTP/1.1 200 OK
X-Robots-Tag: noindex
The header and the HTML rule can have the same indexing effect. Inspect the final response after redirects, CDN processing, and cache variation; a correct application configuration can still be overwritten at the edge.
Do not hide noindex behind robots.txt
A robots noindex setup fails when robots.txt disallows the same URL. The reversed search wording noindex robots describes the same common confusion: indexing rules and crawl rules are separate controls. Googlebot must crawl the page to see either the robots meta tag or the X-Robots-Tag header. A blocked URL can remain known through links and may appear without a useful snippet.
noindex → wait until Google processes it → only then reconsider crawl controls.Google does not support a noindex directive inside robots.txt. Use crawl statistics to investigate excessive fetching separately from indexing policy.
Understand nofollow instead of adding it automatically
A meta tag nofollow tells a crawler not to follow links on that page. It does not strengthen removal from the index. Variants such as noindex nofollow meta tag, meta noindex nofollow, meta tag noindex nofollow, meta nofollow noindex, and meta tags noindex nofollow combine two different decisions.
<meta name="robots" content="noindex, follow">
follow is the default and need not be written. In most public-site cleanup cases, allow normal link discovery while excluding the page. Use nofollow only when that separate link instruction is intentional.
Resolve multiple and conflicting directives
Templates, plugins, edge headers, and page-level settings may all emit rules. Search phrases like meta robot noindex, robots meta tag, and robots meta noindex often describe the same mechanism, but the production page may contain several mechanisms at once.
- Inspect the raw HTTP headers.
- Inspect the HTML returned to Googlebot, not only the browser DOM.
- Search every robots and crawler-specific meta element.
- Check alternate device, locale, authentication, and cache states.
- Remove contradictory
index/noindexcombinations instead of depending on precedence.
When negative rules are combined, Google applies their cumulative restrictions. Ambiguous mutually exclusive rules are still a deployment defect and should be corrected.
Audit noindex at template scale
A single-page check misses the dangerous cases: a shared layout can exclude thousands of product, category, or article URLs. Build an inventory with the site crawler, then classify each URL by template, status code, robots access, canonical target, HTML directive, HTTP directive, sitemap inclusion, and internal-link count.
Use the page analyzer for representative examples. Compare expected exclusions with Search Console’s Page Indexing report, and investigate unexpected exclusions with the technical SEO audit checklist.
Verify the deployed result in four layers
| Layer | Evidence | Pass condition |
|---|---|---|
| Request | Status and redirect chain | The final URL is reachable by the intended crawler |
| Response | Headers and raw HTML | Exactly the intended directive is present |
| Google fetch | URL Inspection | Googlebot received the rule and crawling is allowed |
| Index state | Page Indexing report and search result | The processed state matches the policy |
Recrawling is required before a new rule changes the index. For urgent hiding, Google’s Removals tool can accelerate temporary suppression, but it does not replace the durable URL control.
Remove noindex without creating a reindexing trap
To restore a page, remove the rule from every layer, confirm a crawlable 200 response, use a self-referencing canonical where appropriate, return the URL to XML sitemaps, and restore meaningful internal links. Then request indexing for a small critical sample and monitor broader recovery.
Do not add index while a stale X-Robots-Tag: noindex remains. The negative rule still wins. The multi-URL indexing case study shows why state, discovery, and evidence need to be tracked together.
Production checklist and definition of done
- The intended outcome and URL owner are documented.
- The URL is crawlable if
noindexmust be processed. - Only one intentional rule is emitted across HTML and headers.
- Canonical, sitemap, hreflang, and internal links do not contradict the policy.
- Representative URLs from every affected template were tested.
- URL Inspection confirms what Googlebot received.
- Monitoring has an owner and a review date.
Record the decision in an SEO evidence stack, not in a screenshot-only ticket. That makes accidental template-wide exclusions easier to detect and reverse.
Official documentation
- Google: block indexing with noindex
- Google: robots meta tag and X-Robots-Tag specifications
- Google: robots.txt introduction
- MDN: X-Robots-Tag header
FAQ
Can I put noindex in robots.txt?
No. Google does not support that rule in robots.txt. Serve it in a robots meta tag or an X-Robots-Tag response header.
Should a noindex page be blocked from crawling?
No. The crawler must fetch the URL to discover the rule. Blocking it can prevent the rule from being processed.
Does noindex remove a page immediately?
No. The search engine must recrawl and process the URL. Request recrawling for critical pages and monitor the indexing report.
Should I combine noindex with nofollow?
Only if you independently want crawlers not to follow links on that page. Nofollow is not required for deindexing.
Is noindex a security control?
No. Anyone with the URL may still access the page. Use authentication or access controls for private information.