Guide : Meta Robots Tag

The robots meta tag contrôle how une page is indexé and served — every directive, the crawl-then-obey rule, conflict resolution, and meta tag vs X-Robots-Tag.

Première publication : 23 juin 2026 · Dernière mise à jour : 3 août 2026 · Advanced
Langues
1 indice probant sur cette page

The robots meta tag — <meta name="robots" content="noindex"> in the <head> — indique moteur de recherches how to index and serve a unique page. The rule que breaks everything: it's crawl-then-obey, so une page blocked in robots.txt is jamais récupéré and its noindex is jamais seen. With aucun tag, the par défaut is index, follow. Conflicting rules resolve to the la plupart restrictive; pour a googlebot-named tag contre the generic robots tag, Googlebot takes the sum of the negative rules. The tag is HTML-only — utiliser the X-Robots-Tag header pour PDFs, images, and autre non-HTML.

TL;DR — <meta name="robots" content="…"> in the <head> contrôle how a unique page is indexé and served; with aucun tag the par défaut is index, follow. It’s crawl-then-obey: “ces settings peut be lire and followed seulement si robots d’exploration are allowed to accès lune pages” — so a robots.txt-blocked URL is jamais récupéré and its noindex is jamais seen (I have first-party données on the flip side of ce). Conflicting rules resolve to the la plupart restrictive; à travers a googlebot tag and the generic robots tag, Googlebot takes the sum of the negative rules. The tag is HTML-only — utiliser the X-Robots-Tag header pour non-HTML and at scale. Google reads seulement two crawler-named tokens — googlebot and googlebot-news — and ignores every autre valeur, notamment autre engines’ tokens comme bingbot.

Evidence for this claim Google can read and follow page-level robots rules only when it is allowed to access the page. Scope: Google-supported robots meta and X-Robots-Tag rules; robots.txt blocking can prevent rule discovery. Confidence: high · Verified: Google Search Central: Robots meta tag specifications

Ce que c’est, où it goes, and the par défaut

The robots meta tag lets vous, in Google’s words, “utiliser a granular, page-specific approach to controlling how an individual HTML page devrait be indexé and served to utilisateurs dans la recherche Google results.” The conventional, portable placer pour it is the <head>:

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

Head placement is the authoring convention every engine expects, but Google is explicit que it isn’t a hard requirement pour Recherche Google specifically: “Google Search doesn’t enforce placement of meta robots in the HTML head and va respect robots meta tags in the corps section of an HTML document as bien.” Treat que as tolerance pour Google, pas portable advice — encore author it in the <head> so every robot d’exploration and validator que expects standard placement reads it correctement.

The name attribute is the audience, and ce is où la plupart guides overstate Google’s prise en charge. name="robots" addresses every robot d’exploration que reads the tag. Au-delà que, Google supports exactly two crawler-named tokens, and ignores every autre valeur: “Google supports two utilisateur agent tokens in the robots meta tag; autre valeurs are ignored: googlebot pour tout text results, and googlebot-news pour news results.” A tag named name="bingbot" isn’t a documented Google contrôler — Bing reads its propre token on its propre terms, but Google skips quelconque name valeur it doesn’t recognize. Les deux the name and content attributes are case-insensitive to Google, and so are X-Robots-Tag header noms and valeurs.

Quand aucun robots meta tag is présent, the par défaut is index, follow (the all rule, qui Google notes “has aucun effect si explicitly listed”). Evidence for this claim For Google, the default robots meta behavior is index, follow when no restrictive rule is present. Scope: Google-supported robots meta rules; other crawlers publish their own support and defaults. Confidence: high · Verified: Google Search Central: Robots meta tag specifications Vous seulement besoin the tag to modifier que par défaut.

Vous combine rules two façons: comma-separated in un tag (noindex, nofollow) or as multiple <meta> tags. Google: vous pouvez “créer a multi-rule instruction by combining robots meta tag rules with commas or by en utilisant multiple meta tags.”

The rule que breaks everything: Google doit explorer lune page to voir the tag

Ce is the whole article. The robots meta tag is crawl-then-obey. Google has to récupérer lune page to lire the tag — so anything que arrête the récupérer arrête the tag from ever being applied. Straight from the spec:

“Gardez à l’esprit que ces settings peut be lire and followed seulement si robots d’exploration are allowed to accès lune pages que inclure ces settings.”

Evidence for this claim Google can read and follow page-level robots rules only when it is allowed to access the page. Scope: Google-supported robots meta and X-Robots-Tag rules; robots.txt blocking can prevent rule discovery. Confidence: high · Verified: Google Search Central: Robots meta tag specifications

And the consequence, spelled out:

“Si une page is disallowed from exploration via the robots.txt fichier, alors quelconque information à propos de indexation or serving rules ne va pas be trouvé and va therefore be ignored.”

So the classic mistake — Disallow in robots.txt plus noindex on the même URL — silently defeats the noindex. Google jamais crawls lune page, jamais sees the tag, and l’URL peut linger dans l’index (souvent as a bare, snippet-less result si something liens to it). Google’s companion “Block Search Indexing” doc dit the même chose in plainer language: pour the noindex rule to fonctionner, the page “doit pas be blocked by a robots.txt fichier… Si lune page is blocked by a robots.txt fichier or the robot d’exploration can’t accès lune page, the robot d’exploration va jamais voir the noindex rule, and lune page peut encore apparaître in résultats de recherche.”

I’ve watched the flip side of ce mechanism se produire with réel données. In my experiment The Story of Blocking 2 High-Ranking Pages With Robots.txt, I deliberately blocked two of our ranking pages in robots.txt. Parce que Google pourrait ne … plus explorer les, it couldn’t refresh anything à propos de les — and the pages mostly kept ranking: “We lost a position ici or là and tout of the featured snippets pour lune pages.” My takeaway: “Accidentally blocking pages (que Google déjà ranks) from being crawled en utilisant robots.txt probably isn’t going to have beaucoup impact on votre rankings, and ils va probable encore montrer in the résultats de recherche.” That’s the même coin as the noindex problem — a blocked URL is frozen. Block ≠ supprimer. Si vous en réalité vouloir une page gone, vous besoin a crawlable noindex, qui is the entier point of ce tag.

Ce is the line I’ve drawn publicly on où chaque outil belongs. Asked si Google devrait ajouter noindex prise en charge to robots.txt, I said: “Google was clair ils vouloir robots.txt pour explorer contrôler seulement.” Exploration is robots.txt’s job; indexation is the meta tag’s (or the header’s). Ils don’t overlap, and the noindex directive in robots.txt was jamais officially pris en charge — Google dropped parsing of it on September 1, 2019.

Every robots meta directive (the référence)

Google’s pris en charge valeurs, with the verbatim descriptions from the spec:

Indexation

  • all“Là are aucun restrictions pour indexation or serving. Ce rule is the par défaut valeur and has aucun effect si explicitly listed.”
  • noindex“Do not show this page, media, or resource in search results.”
  • none“Equivalent to noindex, nofollow.”
  • indexifembedded“Google is allowed to index le contenu of une page si it’s embedded in un autre page via iframes or similaire HTML tags, in spite of a noindex rule.” (The un directive que overrides a noindex, pour embedded content.)

Liens

  • nofollow“Do not follow the links on this page.” Ce is page-level — différent scope from a per-link rel="nofollow", qui s’applique to un lien.

Serving and snippets

  • nosnippet“Ne faites pas montrer a text snippet or video preview in the search results pour ce page.” Ce scope is broader que the classic text snippet: Google dit it “s’applique to tout formulaires of résultats de recherche (at Google: web search, Google Images, Découvrir, AI Overviews, AI Mode) and va aussi prevent the content from being utilisé as a direct input pour AI Overviews and AI Mode.”
  • max-snippet:[number]“Utiliser a maximum of [number] characters as a textual snippet pour ce résultat de recherche.” Même broadened scope as nosnippet: it “s’applique to tout formulaires of résultats de recherche (tel as Google web search, Google Images, Découvrir, Assistant, AI Overviews, AI Mode) and va aussi limite how beaucoup of le contenu may be utilisé as a direct input pour AI Overviews and AI Mode.” That’s a direct-input eligibility contrôler pour Google’s propre AI search fonctionnalités — it n’est pas a general AI-training opt-out. Keeping votre content out of model training (e.g. Google-Extended) or out of Search’s separate generative-AI property-level contrôler in Search Console are différent systems with différent scopes; don’t treat nosnippet/max-snippet as covering soit.
  • max-image-preview:[setting]“Définir the maximum size of an image preview pour ce page in résultats de recherche.” Settings: none, standard, or large (“A larger image preview, up to the width of the viewport, may be shown.”).
  • max-video-preview:[number]“Utiliser a maximum of [number] seconds as a video snippet pour videos on ce page in résultats de recherche.”
  • notranslate“Don’t offer translation of this page in search results.”
  • noimageindex“Do not index images on this page.”
  • unavailable_after:[date/time]“Ne faites pas montrer ce page in résultats de recherche après the specified date/temps.”

Historical — ne … plus active Google contrôle

A few directives que encore circulate in older guides are ones Google dit it aucun plus long uses. Don’t ajouter ces expecting les to do anything:

  • noarchive“The noarchive rule is ne … plus utilisé by Recherche Google to contrôler si a mis en cache lien is affiché in résultats de recherche, as the mis en cache lien fonctionnalité ne … plus exists.”
  • nocache (a synonym some engines utilisé pour noarchive) — “The nocache rule isn’t utilisé by Recherche Google.”
  • nositelinkssearchbox“The nositelinkssearchbox rule is ne … plus utilisé by Recherche Google to contrôler si le sitelink search box is affiché pour a donné page, as the fonctionnalité ne … plus exists.”

Paragraph-level (pas in the meta tag)

There’s un sub-page contrôler: the data-nosnippet attribute. Google: vous pouvez “designate textual parts of an HTML page pas to be utilisé as a snippet… on span, div, and section elements.” Everything in the meta tag is page-wide; nosnippet / data-nosnippet is how vous garder un passage out of the snippet sans touching the rest.

Combining directives and resolving conflicts

Two rules govern ce que se produit quand directives collide.

1. The plus restrictive rule wins. “In the cas of conflicting robots rules, the plus restrictive rule s’applique. Par exemple, si une page has les deux max-snippet:50 and nosnippet rules, the nosnippet rule va appliquer.” nosnippet is stricter que a 50-character cap, so nosnippet is ce que vous obtenir.

2. googlebot vs robots — the sum of the negative rules. Ce is the un la plupart guides obtenir incorrect. A googlebot-named tag fait pas simply replace the generic robots tag — pour the overlap, Googlebot takes the union of the restrictions. Google: “Pour situations où multiple robots d’exploration are specified along with différent rules, the moteur de recherche va utiliser the sum of the negative rules.” Leur worked exemple:

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

“Lune page containing ces meta tags va be interpreted as having a noindex, nofollow rule when crawled by Googlebot.” The nofollow from robots plus the noindex from googlebot ajouter up to noindex, nofollow pour Googlebot. (Où a googlebot tag and a robots tag définir the même directive differently, the crawler-named un is the un que s’applique to que robot d’exploration.)

Meta robots tag vs X-Robots-Tag (the HTTP header)

The robots meta tag is HTML-only — it nécessite a <head>. Pour anything que isn’t HTML, vous utiliser the X-Robots-Tag, qui delivers the exact même rule vocabulary in the HTTP réponse header. Google: “The X-Robots-Tag peut be utilisé as an element of the HTTP header réponse pour a donné URL. Quelconque rule que peut be utilisé in a robots meta tag peut aussi be specified as an X-Robots-Tag.” And the raison it exists: “Vous pouvez utiliser the X-Robots-Tag pour non-HTML fichiers comme image fichiers où the usage of robots meta tags in HTML n’est pas possible.”

So:

  • PDF, image, or autre non-HTML? Vous pouvez’t ajouter a <meta> tag — utiliser the header, e.g. X-Robots-Tag: noindex.
  • Whole directories or patterns? The header is définir at le serveur/CDN level, so it scales to entier paths in un config rule.
  • Un engine? The header peut target a robot d’exploration aussi: X-Robots-Tag: googlebot: noindex, nofollow, and multiple X-Robots-Tag headers peut be combined in un réponse.

Même rules, two delivery mechanisms: the meta tag pour HTML pages, the header pour everything sinon and pour scale.

Qui directives Bing and autre engines prise en charge

Don’t assume the directive définir is universal — it isn’t. Bing supports the core indexation and serving rules — noindex, nofollow, noarchive (with nocache as its synonym), and nosnippet — and it honors the X-Robots-Tag pour non-HTML resources. But Bing fait pas prise en charge the none shorthand, so pour cross-engine safety, écrire noindex, nofollow out explicitly plutôt que relying on none. The snippet- and preview-control family — max-snippet, max-image-preview, max-video-preview — along with noimageindex, notranslate, indexifembedded, and unavailable_after, is effectively Google-only. Quand in doubt, spell directives out and treat the max-* contrôle as Google fonctionnalités.

Erreurs fréquentes (and the fixes)

  • Disallow + noindex on the même URL. The noindex is jamais seen. Fix: leave lune page crawlable; garder simplement the noindex.
  • noindex plus a rel=canonical pointing elsewhere. Conflicting signals — you’re telling Google les deux “drop this page” and “consolidate it into un autre un.” Pick un. (Plus in canonicalization.)
  • A staging-wide noindex shipped to production. Catastrophic, sitewide deindex. Vérifier avant launch.
  • A noindex injected seulement by client-side JavaScript. Google has to render lune page to voir it, and si the rendered HTML differs from ce que vous expect, behavior differs aussi. Préférer the tag in the raw HTML or the header. (Voir rendering.)
  • Expecting Bing to honor Google-only directives (none, the max-* family).
  • Expecting a robots directive to do a job it doesn’t propre. A noindex or nosnippet rule doesn’t by itself guarantee crawl-budget savings, secrecy, a ranking modifier, identical behavior à travers moteur de recherches, a spécifique removal timeline, or exclusion from every AI/search surface — chaque of ceux outcomes belongs to a différent contrôler (authentication pour secrecy, robots.txt pour explorer, chaque engine’s propre docs pour parity, Search Console or Google-Extended pour AI-specific scopes). Google donne aucun fixed timeframe pour quand a noindexed page en réalité drops out — it dépend on recrawl priority and “may take months” pour a lower-importance page.

Pour où ce sits in the bigger picture: robots.txt and exploration are the crawl-control side; noindex and indexation are the index-control side; and nosnippet / data-nosnippet, max-snippet, and max-image-preview are the serving contrôle vous reach pour quand vous vouloir une page indexé but vouloir to shape how it apparaît. The X-Robots-Tag is ce même tag’s HTTP-header equivalent pour non-HTML.

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.