Researchtechnical seo
Back to writing

Technical SEO

Crawler directives: the right control for each outcome

Use robots.txt to control cooperative crawling, noindex to keep a public page out of Search, and authentication to protect a private page. A crawl block alone can leave the address in search results.

Monochrome generative point study “Glass Nautilus,” a mathematical form rendered in black and white.

To keep a public page out of Search, serve a readable noindex. To protect a private invoice, require authorization. To reduce cooperative crawling, use robots.txt. These controls act at different points, which is why a crawl block can leave a URL indexed and an indexing directive can leave private content exposed.

The table starts with the result you need, then shows the response that can deliver it. Canonicals nominate equivalent representatives; supported robots meta and X-Robots-Tag rules govern indexing or presentation after a fetch. The example.com paths are teaching examples.

Method & limits

Provider documentation checked October 26, 2026. The response designs and local-host demonstration are authored examples, not measured behavior by a search engine or AI provider.

Which control owns the result?

A public thank-you page, a private invoice and a duplicate campaign URL can all be described loosely as “do not index this.” Their correct delivery is different. The invoice should never become public; the thank-you page can expose noindex; the campaign URL may belong to the same canonical family as a clean guide.

Original outcome-to-control table. Search-engine support is required for indexing/presentation directives; access denial is enforced by your server.
Desired outcomeControl and locationKeep fetch available?What to verify
Reduce crawling of low-value pathsDisallow in /robots.txtThe blocked paths are intentionally not fetched.Selected group and representative path/query matches.
Exclude public HTML from Searchnoindex in its head or X-Robots-Tag headerYes: the indexer must read it.Returned directive and later indexed state.
Exclude a public PDFX-Robots-Tag: noindex on the PDF responseYes: an HTML tag cannot be embedded in its head.Actual PDF GET headers across CDN and origin.
Limit search snippetsSupported nosnippet or preview controls in meta/headerYes.Correct resource scope; this is not a crawl block.
Consolidate equivalent URLsrel=canonical or an appropriate permanent redirectKeep the intended representative accessible.Equivalent content and aligned links/sitemap.
Deny private accessAuthentication plus resource authorization and safe cachingOnly authorized principals receive the content.Anonymous and wrong-user body checks.
Protect origin capacityRate/concurrency limits and caching; provider pacing where supportedApply a deliberate service policy.Request rates, statuses and expensive origin work.

The response chooser shows each control in place

Choose a case to see its policy and response together. These are independent alternatives, not a single configuration to combine. The public-HTML case deliberately leaves crawl access open so noindex is visible.

For Google, robots meta and X-Robots-Tag can deliver the same supported indexing rules. The robots meta specification defines their scope, user-agent targeting and conflict behavior. If one delivered rule permits indexing but another says noindex, adding more permissive markup does not cancel the restrictive rule.

Allow the fetch; return noindex.

GET /robots.txt → 200
User-agent: *
Disallow:

GET /thanks → 200
<head><meta name="robots" content="noindex"></head>

Verify the directive in the response, then Google’s later indexed state.

Illustrative alternatives on example.com. Choose one case; these responses are not one combined policy.

A directive governs the response that carries it

A robots file governs its serving scheme, host and port. A meta element belongs in the HTML head of the page it controls. An X-Robots-Tag travels with the resource’s HTTP response, which makes it useful for PDFs and other non-HTML content. None of these locations automatically governs every hostname or alternate download route.

Capture the final GET response, including headers and initial HTML. A CMS setting or HEAD request can miss what a visitor receives. If JavaScript changes the head, inspect the rendered document too, as the HTML and DOM guide shows.

For link following, distinguish a page-level nofollow hint from a robots fetch restriction. For AI collection and search, identify the provider and purpose before choosing a token. The separate AI crawler policy hub owns that purpose-specific decision; a training opt-out is not a universal Search exclusion.

Combined controls depend on the fetch sequence

A crawl block plus noindex is a broken sequence when the block prevents the indexer reading noindex. The indexed-though-blocked repair shows the corrected public response. Canonical plus noindex needs a separate consolidation-versus-exclusion decision.

For capacity, publishing Crawl-delay is a request to supporting clients; it does not impose a server limit. Use the provider-support comparison before deciding whether it helps your actual traffic.

Match acceptance to the intended result: the returned header shows delivery, a later Search Console observation shows what Google processed, and anonymous and wrong-user tests check access on the tested routes and cache states. Choose the control that can deliver the result, then verify that result.

For a cooperative fetch rule, the general robots.txt matching examples show which path a rule permits or blocks.

Sources

  1. Google: robots.txt introductionVerified Oct 26, 2026

    Crawl policy, indexing limitations and protection alternatives.

  2. Google: robots meta and X-Robots-TagVerified Oct 26, 2026

    Directive delivery, resource scope and restrictive-rule combinations.

  3. Google: canonical URL methodsVerified Oct 26, 2026

    Representative selection for equivalent content.

  4. RFC 9309: security considerationsVerified Oct 26, 2026

    Robots exclusion is not access authorization.

Read next