Skip to content
Indexing knowledge base

Robots.txt vs Noindex: How They Block Indexing (and Common Mistakes)

robots.txt blocks crawling; noindex blocks indexing — and mixing them backfires. Learn the difference, the classic mistake, and how to check what's blocking a page.

Part of the Indexing Problems topic guide. Use the guide to move from this specific question to the full diagnostic workflow.

robots.txt and the noindex directive do different jobs: robots.txt controls whether Google can crawl a page; noindex controls whether Google can index it. The classic mistake is blocking a page in robots.txt when you want it deindexed — because if Google can’t crawl the page, it never sees the noindex, so the page can stay in the index.

Robots and noindex are distinct control nodes within the technical indexing diagnosis hub; identify which relation is blocked before changing either directive.

The core difference

robots.txt Disallownoindex (meta tag / header)
ControlsCrawling (access)Indexing (storage)
EffectGooglebot won’t fetch the pageGoogle fetches it but won’t index it
Use it toSave crawl budget on unimportant sectionsKeep a page out of search results

After distinguishing the directives, review how directives are read during crawling to place each signal in the wider pipeline.

The mistake that backfires

If you want a page out of Google, use noindex — and make sure the page is crawlable. If you instead Disallow it in robots.txt, Googlebot can’t fetch the page, so it may not read the noindex. A URL can still appear in results (often without a description) because Google knew about it from links, and a URL that was already indexed before you blocked it can linger in the index — removing it may require a separate step (e.g. the Removals tool) rather than robots.txt alone. Rule: to deindex, allow crawling and add noindex — don’t block it in robots.txt.

Correct deindexing allows crawling so Google can read noindex, while robots.txt blocking hides the directive
To deindex a page, allow Google to crawl it and read the noindex directive.

When to use each

  • noindex: thank-you pages, internal search results, thin tag pages you want out of Google but still crawlable.
  • robots.txt Disallow: large low-value sections you don’t want crawled at all (e.g. faceted parameters) — accepting they may still be indexed if linked.

How to check what’s blocking a page

  1. Run URL Inspection and read “Crawl allowed” (robots.txt) and “Indexing allowed” (noindex).
  2. If “Crawl allowed = No,” a robots.txt rule is blocking it.
  3. If “Indexing allowed = No,” a noindex directive is present.
Google Search Console URL Inspection showing that indexing is blocked by a noindex directive
URL Inspection reports whether crawling and indexing are allowed for the inspected page.

If the authorized property instead records Discovered – currently not indexed, investigate discovery and scheduling evidence before assuming a directive blocked the page.

For backlinks

A backlink source page may expose a noindex directive or a robots.txt restriction. A crawlable page with a noindex directive is intended to be removed from Google Search after Google processes the directive. A robots-blocked URL can still be known or even indexed from other signals, but Google cannot fetch the page to evaluate the current link or read a page-level noindex rule. Report the observed directive separately from the later index observation.

Source-page eligibility for backlink delivery

Observed source stateProvider reportDo not merge it with
Crawlable, no noindex observedNo visible directive conflict was observed at the check timeA guarantee that Google will index the page
Crawlable, noindex presentThe page declares that supporting search engines should not index itA robots.txt crawl block
Blocked by robots.txtThe crawler is disallowed from fetching the path under the tested rulesProof that the URL is absent from the index
Unavailable or gatedThe directive and link state could not be verifiedEither “indexable” or “not indexed”

For the primary rule and implementation details, see Google’s noindex documentation. Keep the directive check time because a later crawl or page update can change the state.

A 401/403 access response, 429 rate limit, 5xx failure or unavailable robots.txt file is not the same entity as a robots.txt Disallow rule. Use the server and access error guide to keep transport, response and directive evidence separate.

Directive relationship matrix

MechanismPrimary relationKey limitation
robots.txtCrawler access to a URL pathDoes not itself guarantee removal from the index
noindexIndexing directive read from a crawlable responseGoogle must be able to retrieve it
canonicalPreferred representation hintNot a blocking directive
HTTP 3xx/4xx/5xxRetrieval and destination stateHas different effects from robots or noindex

FAQ

Does robots.txt remove a page from Google?

No — it blocks crawling, not indexing. A blocked page can still appear if Google found it via links. Use noindex to remove it.

Can I use robots.txt and noindex together?

Not for deindexing — if robots.txt blocks crawling, Google never sees the noindex. Allow crawling so the noindex is read.

Where do I put noindex?

As a <meta name="robots" content="noindex"> tag or an X-Robots-Tag HTTP header.

After removing an accidental block, use the bulk index checker to verify which URLs are visible in Google and keep a dated baseline for the next crawl.

Get started

Turn this into indexed backlinks

Push these URLs into Google and verify the results with IndexVero.