Robots.txt
O que o robots.txt realmente faz — ele controla o rastreamento, não a indexação — além da sintaxe exata, de como o Google o trata internamente e dos erros que quebram sites.
Idiomas
1 sinal de evidência nesta página
- Ferramenta relacionada ativarobots.txt Tester
Robots.txt é um arquivo de texto simples na raiz de cada host que informa aos rastreadores quais URLs eles podem ou não solicitar. O ponto essencial: ele controla o rastreamento, não a indexação. Uma URL proibida ainda pode ser indexada sem snippet se estiver vinculada de outro lugar — para manter uma página fora do índice, usar noindex, e a página NÃO pode ser bloqueada no robots.txt ou o Google nunca verá o noindex. O Google aceita apenas user-agent, allow, disallow e sitemap (noindex, nofollow e rastrear-delay foram removidos em 1º de setembro de 2019). O arquivo fica em /robots.txt, é limitado a um host+protocolo+porta, tem limite de 500 KiB, fica em cache por cerca de 24 horas, e um 4xx significa que não há restrições, enquanto um 5xx pode interromper o rastreamento em todo o site. Não bloqueie CSS/JS essenciais para a renderização e não usar o arquivo para esconder nada — ele é público.
TL;DR — Robots.txt é a text arquivo em o raiz de seu site isso informa rastreadores que URLs eles’re permitido para solicitação. o uma coisa everyone obtém errado: isso controla rastreamento, não indexação. Blocking uma página does não remover isso de Google — a bloqueado página pode ainda mostrar up em busca (apenas sem a description). se você quer uma página fora de Google, isso é a diferente ferramenta (
noindex), e você deve não bloquear isso em robôs.txt ou Google nunca sees o instruction.
O que a robôs.txt arquivo é
Quando a mecanismo de busca quer para rastrear seu site, o primeiro thing isso parece para é a
arquivo em https://yourdomain.com/robots.txt. isso arquivo é a lista de instructions
telling rastreadores que parts de seu site eles may e may não solicitação. isso é apenas
texto simples, e você pode ler qualquer site’s robôs.txt por typing /robots.txt depois
o domínio.
A minimal um parece like isto:
Evidence for this claim Cloudflare Radar summarizes which AI user-agent names were observed in robots.txt files during the 28 days ending 2026-07-30. Scope: A dated Cloudflare Radar context chart describing observed robots.txt patterns; it is not a recommendation or a site-specific policy measurement. Confidence: high · Verified: Cloudflare Radar: AI user agents found in robots.txtThe chart summarizes which AI user-agent names Cloudflare observed in robots.txt files during the selected four-week period.
User-agent: *
Disallow: /admin/
Sitemap: https://yourdomain.com/sitemap.xmlisso diz: para cada rastreador (*), não solicitação anything sob /admin/, e por
o way, aqui’s onde my sitemap é.
o uma coisa para entender: bloqueio ≠ removing
isto é o único a maioria dos common erro em todo de SEO, portanto eu’ll dizer isso loudly: robôs.txt para uma página de sendo rastreado, não de sendo indexado. Evidence for this claim A robots.txt rule controls crawling rather than guaranteeing removal from Google Search; a URL can still appear when Google cannot crawl it. Scope: Google Search crawler behavior. Other crawlers can interpret robots.txt differently. Confidence: high · Verified: Google: Introduction to robots.txt
aqueles sound like o mesmo thing. eles não são. rastreamento é o engine fetching e reading seu página. Indexing é o engine deciding para store isso e mostrar isso em resultados. Robots.txt apenas blocks o primeiro etapa.
portanto se você bloquear uma página em robôs.txt, Google won’t buscar isso — mas se outro páginas link para isso URL, Google pode ainda índice a URL itself e mostrar isso em busca. isso apenas mostra up como a bare link com não description underneath, porque Google foi nunca permitido para ler a página para escrever um.
se seu actual goal é “obter isto página fora do Google,” robôs.txt é o errado ferramenta.
você querer noindex (a meta tag em a página ou um HTTP cabeçalho). e aqui’s o
trap: a noindex apenas funciona se Google pode rastrear a página para ver isso. se você
bloquear a página em robôs.txt e adicionar a noindex, Google nunca crawls isso, nunca
sees o noindex, e a página pode linger em o índice anyway. Pick um job:
bloquear rastreamento ou bloquear indexação, não ambos em o mesma URL.
o certo ferramenta para cada job
- “Don’t waste crawling on this.” (tradução) “Não waste rastreamento em isto.” →
robots.txtDisallow. - “Keep this out of Google’s index.” (tradução) “manter isto fora do Google’s índice.” →
noindex(e não bloquear isso). - “Nobody should be able to see this at all.” (tradução) “Nobody deve ser able para ver isto em todos.” → password protection / login.
Robots.txt é público — anyone pode ler isso — portanto listing
/secret/em isso apenas informa o world o folder exists.
A poucos regras isso trip pessoas up
- um arquivo por host.
https://example.com,https://www.example.com, ehttps://blog.example.comcada precisar seu own robôs.txt. eles não share. - isso fica em o raiz. isso tem para ser em
/robots.txt, todo lowercase. A arquivo em a subpasta does nothing. - Não bloquear seu CSS e JavaScript. Google precisa aqueles arquivos para ver seu página o way a visitante does. Blocking eles pode hurt você.
querer o completo sintaxe referência — wildcards, o Allow/Disallow matching regras,
como Google trata a 404 vs um servidor erro em seu robôs.txt, rastrear-delay, e como
para manage AI rastreadores — switch para o Avançado tab.
TL;DR — Robots.txt é a arquivo de texto simples em o raiz de cada host (
/robots.txt, lowercase) isso implements o Robots Exclusion Protocol (RFC 9309). isso controla rastreamento, não indexação — a proibido URL pode ainda ser indexado sem a snippet se linked elsewhere; para deindex usarnoindexem a página isso é não bloqueado. Google oferece suporte a apenasuser-agent,allow,disallow, esitemap;noindex/nofollow/crawl-delayforam dropped Sept 1, 2019. escopo é um host+protocolo+port. Matching usa o mais-específico (longest) regra, menos-restrictive em ties;*e$são o wildcards; paths são caso-sensitive. Google caps o arquivo em 500 KiB, caches ~24h, trata 4xx (except 429) como não-restrictions, e em a 5xx stalls rastreamento para ~12h então falls de volta para o último bom copy para ~30 dias. Não bloquear renderizar-critical CSS/JS, e não treat isso como access controlar — o arquivo é público.
O que isso é e onde isso fica
Robots.txt implements o Robots Exclusion Protocol, created por Martijn Koster em 1994 e finally standardized em 2022 como RFC 9309 — co-authored por Google’s Gary Illyes, Henner Zeller, Lizzi Sassman, e Koster himself. o standard’s own wording: “This document specifies and extends the ‘Robots Exclusion Protocol’ method originally defined by Martijn Koster in 1994 for service owners to control how content served by their services may be accessed, if at all, by automatic clients known as crawlers.” (tradução) “isto document specifies e extends o ‘Robots Exclusion Protocol’ método originally defined por Martijn Koster em 1994 para service owners para controlar como conteúdo served por seu services may ser accessed, se em todos, por automático clients conhecido como rastreadores.”
A poucos fatos isso catch pessoas fora:
- isso deve ser em o raiz, lowercase. RFC 9309 é explicit: “The rules MUST be accessible in a file named ‘/robots.txt’ (all lowercase) in the top-level path of the service.” (tradução) “o regras MUST ser accessible em um arquivo named ‘/robôs.txt’ (todo lowercase) em o top-nível path de o service.” Google adiciona isso a URL itself é caso-sensitive, like qualquer URL.
- escopo é um host + protocolo + port. Google: “The rules listed in the
robots.txt file apply only to the host, protocol, and port number where the
robots.txt file is hosted.” (tradução) “o regras listed em o
robôs.txt arquivo apply apenas para o host, protocolo, e port número onde o
robôs.txt arquivo é hosted.” portanto
https://example.com,https://www.example.com,https://blog.example.com, ehttp://example.comcada precisar seu own arquivo. subdomínios e protocolos não share um. - Supported protocolos para Google são HTTP, HTTPS, e FTP.
o misconception isso defines isto topic: rastreamento vs indexação
se você levar uma coisa de isto página, levar isto: robôs.txt controla rastreamento, não indexação. Blocking a URL é não o mesmo como removing isso de Google. Evidence for this claim A robots.txt rule controls crawling rather than guaranteeing removal from Google Search; a URL can still appear when Google cannot crawl it. Scope: Google Search crawler behavior. Other crawlers can interpret robots.txt differently. Confidence: high · Verified: Google: Introduction to robots.txt
Google’s own intro doc diz isso plainly: robôs.txt “is not a mechanism for keeping
a web page out of Google. To keep a web page out of Google, block indexing with
noindex or password-protect the page.” (tradução) “é não a mechanism para keeping
a web página fora do Google. para manter a web página fora do Google, bloquear indexação com
noindex ou password-protect a página.” e em o que na prática happens para a bloqueado
URL: “While Google won’t crawl or index the content blocked by a robots.txt file,
we might still find and index a disallowed URL if it is linked from other places on
the web.” (tradução) “enquanto Google won’t rastrear ou índice o conteúdo bloqueado por a robôs.txt arquivo,
nós might ainda encontrar e índice a proibido URL se isso é linked de outro places em
o web.” o resultado é o familiar snippet-menos listing: “its URL can still
appear in search results, but the search result won’t have a description.” (tradução) “seu URL pode ainda
appear em busca resultados, mas o busca resultado won’t ter a description.”
o spec restates o mesmo nuance para o disallow regra itself: “Google can’t
index the content of pages which are disallowed for crawling, but it may still
index the URL and show it in search results without a snippet.” (tradução) “Google pode’t
índice o conteúdo de páginas que são proibido para rastreamento, mas isso may ainda
índice a URL e mostrar isso em busca resultados sem a snippet.”
Por que você deve não bloquear uma página você quer para noindex
isto é o trap isso quietly quebra deindexing efforts. A noindex apenas funciona se
Google pode rastrear a página para ler isso. Google’s bloquear-indexação doc spells fora o
dependency: “For the noindex rule to be effective, the page or resource must not
be blocked by a robots.txt file, and it has to be otherwise accessible to the
crawler. If the page is blocked by a robots.txt file or the crawler can’t access
the page, the crawler will never see the noindex rule, and the page can still
appear in search results, for example if other pages link to it.” (tradução) “Para que a regra noindex funcione, a página ou o recurso não pode estar bloqueado por um arquivo robots.txt e precisa continuar acessível ao rastreador. Se o rastreador não puder acessar a página, jamais verá o noindex, e a página ainda poderá aparecer nos resultados caso receba links de outros lugares.” Evidence for this claim Google must be able to crawl a URL to see a noindex rule; blocking the URL in robots.txt can prevent the rule from being observed. Scope: Google Search indexing controls for HTML meta robots and X-Robots-Tag rules. Confidence: high · Verified: Google: Block indexing with noindex
portanto se seu goal é para obter uma página fora de o índice, John Mueller’s orientação é o cleanest way para lembrar isso: quando você quer para unindex páginas, você deve não bloquear Google com robôs.txt, mas em vez de usar noindex.
o lived proof: eu bloqueado dois de nosso own alto-ranqueamento páginas
eu não ter para argue isto de theory. em my experiment bloqueio dois alto-ranqueamento Ahrefs páginas, eu deliberately bloqueado eles em robôs.txt e tracked o que happened. o páginas stayed indexado e kept ranqueamento — eles didn’t vanish. O que nós lost foi o freshness Google obtém de re-rastreamento: “We lost a position here or there and all of the featured snippets for the pages.” (tradução) “nós lost a position aqui ou ali e todos de o featured snippets para o páginas.” Traffic dropped, mas menos de eu expected: “Both pages lost some traffic. But it didn’t result in much change to our traffic estimate like I was expecting.” (tradução) “As duas páginas perderam algum tráfego, mas a queda na estimativa foi bem menor do que eu esperava.”
My takeaway de o dados: “Accidentally blocking pages (that Google already ranks) from being crawled using robots.txt probably isn’t going to have much impact on your rankings, and they will likely still show in the search results.” (tradução) “Accidentally bloqueio páginas (isso Google já ranqueia) de sendo rastreado usando robôs.txt probably não é going para ter muito impacto em seu rankings, e eles vai provável ainda mostrar em o busca resultados.” e o blunt versão: “Don’t block pages you want indexed. It hurts. Not as bad as you might think it does—but it still hurts.” (tradução) “Não bloqueie páginas que você quer indexar. Isso prejudica o desempenho — menos do que se imagina, mas ainda prejudica.”
o flip side é reassurance: quando Search Console flags “Indexed, though blocked by robots.txt” (tradução) “Indexed, though bloqueado por robôs.txt” para a utility URL — cart, filter, parameter junk — é normalmente a non-problema. como Mueller put isso sobre adicionar-para-cart URLs, bloqueio eles é fine, e emé se eles obter “indexado,” é improvável eles’ll ser shown em busca unless someone execuções a muito específico query para aqueles URLs, que usuários reais não do. Distinguish o scary-sounding aviso de um actual problema: isso apenas importa se o bloqueado URL é uma página você na prática wanted rastreado e indexado.
o sintaxe (o referência)
A robôs.txt é a definir de groups. cada group começa com um ou mais
User-agent lines naming que rastreador(s) isso applies para, followed por o regras para
eles.
User-agent: *
Disallow: /cart/
Disallow: /search
Allow: /search/help
User-agent: Googlebot
Disallow: /no-google/
Sitemap: https://example.com/sitemap.xmlUser-agent e groups. A rastreador obeys exatamente um group — o um com o a maioria dos específico agente de usuário isso matches isso — e ignores o rest. Google: “Google’s crawlers determine the correct group of rules by finding in the robots.txt file the group with the most specific user agent that matches the crawler’s user agent. Other groups are ignored.” (tradução) “Google’s rastreadores determine o correct group de regras por finding em o robôs.txt arquivo o group com o a maioria dos específico usuário agent isso matches o rastreador’s usuário agent. Other groups são ignored.” e: “Only one group is valid for a particular crawler.” (tradução) “apenas um group é válido para a particular rastreador.” (Bing behaves o mesmo way — mais em isso abaixo.)
isso também significa a específico group não obter topped up com o wildcard group’s
regras — é usado em seu own, não merged com User-agent: *. Google’s spec é
explicit isso “user agent specific groups and global groups (*) are not
combined.” (tradução) “usuário agent específico groups e global groups (*) são não
combined.” portanto se você escrever a User-agent: googlebot-news group, isso tem para ser
self-contained: anything você ainda querer isso para obey de o * group tem para ser
repeated dentro isso, ou Googlebot-News simply won’t ver aqueles regras em todos.
Disallow e Allow. Disallow listas paths a rastreador deve não solicitação;
Allow carves exceptions de volta fora. o disallow regra “specifies paths that must
not be accessed by the crawlers identified by the user-agent line the disallow rule
is grouped with.” (tradução) “specifies paths isso deve
não ser accessed por o rastreadores identified por o agente de usuário line o proibir regra
é grouped com.” o allow regra “specifies paths that may be accessed by the
designated crawlers. When no path is specified, the rule is ignored.” (tradução) “specifies paths isso may ser accessed por o
designated rastreadores. Quando não path é specified, o regra é ignored.”
o matching regra (a maioria dos guias obter isto errado). Quando dois regras conflict, o
a maioria dos específico um wins, e “a maioria dos específico” significa longest path: “When
matching robots.txt rules to URLs, crawlers use the most specific rule based on the
length of the rule path. In case of conflicting rules, including those with
wildcards, Google uses the least restrictive rule.” (tradução) “Ao comparar regras do robots.txt com URLs, os rastreadores usam a regra mais específica, medida pelo comprimento do caminho. Em caso de conflito, inclusive com curingas, o Google aplica a regra menos restritiva.” portanto em a genuine tie, o
menos restrictive regra wins — Allow beats Disallow. RFC 9309 frames isso como
o “Longest Match”: “The following example shows that in the case of two rules,
the longest one is used for matching.” (tradução) “o following exemplo mostra isso em o caso de dois regras,
o longest um é usado para matching.” Evidence for this claim Google resolves matching robots.txt rules by path specificity and uses the least restrictive rule when equally specific rules conflict. Scope: Google crawler interpretation of robots.txt rules; other crawlers may implement different extensions. Confidence: high · Verified: Google: Robots.txt interpretation
Worked exemplo:
User-agent: *
Allow: /folder/page
Disallow: /folder/o URL /folder/page matches ambos regras. Allow: /folder/page (12 chars) é
longer que Disallow: /folder/ (8 chars), portanto o longer, mais específico Allow wins
e a página é crawlable.
Wildcards * e $. Google: “* designates 0 or more instances of any
valid character. $ designates the end of the URL.” (tradução) “* representa zero ou mais ocorrências de qualquer caractere válido; $ marca o fim do URL.” portanto Disallow: /*.pdf$ blocks
cada URL ending em .pdf, e Disallow: /*? blocks cada URL containing a query
string. Matching é prefix-baseado: Disallow: /fish matches /fish, /fish.html,
e /fish/salmon.html, mas não /Fish (caso-sensitive) ou /catfish (é a
prefix, não a substring).
Case sensitivity (o subtle um). Field e agente de usuário nomes são
caso-insensitive; path valores são caso-sensitive. Google: “Both the
user-agent field name and its value are case-insensitive,” (tradução) “ambos o
user-agent campo nome e seu valor são caso-insensitive,” mas “The field name
(disallow) is case-insensitive, but its value is case-sensitive,” (tradução) “o campo nome
(disallow) é caso-insensitive, mas seu valor é caso-sensitive,” e “The path
value must start with / to designate the root and the value is case-sensitive.” (tradução) “o path
valor deve começar com / para designate o raiz e o valor é caso-sensitive.”
portanto Disallow: /Folder/ does não bloquear /folder/.
Sitemap. o Sitemap: directive leva a completo absolute URL e é independent
de groups — isso pode sit anywhere em o arquivo.
Comments. Anything depois # é ignored: “To include comments, precede your
comment with the # character.” (tradução) “para incluir comments, precede seu
comment com o # character.”
noindex, nofollow, e rastrear-delay são não robôs.txt directives
isto é a persistent myth. como de September 1, 2019, Google retired oferecer suporte a para
unsupported, undocumented regras — incluindo noindex, nofollow, e
crawl-delay. Google’s announcement focused em regras unsupported por o internet
draft, such como rastrear-delay, nofollow, e noindex, noting eles foram nunca
documented por Google, e disse Google foi retiring todo code isso trata
unsupported e unpublished regras (such como noindex) em isso date. o supported
campo lista é curto, e o spec chamadas fora o exclusion diretamente: Google oferece suporte a
user-agent, allow, disallow, e sitemap, e “other fields such as
crawl-delay aren’t supported.” (tradução) “outro campos such como
crawl-delay não são supported.”
se você relied em noindex em robôs.txt, o alternatives são a noindex meta tag
ou X-Robots-Tag cabeçalho, 404/410 códigos de status, password protection, a Disallow,
ou o Search Console removal ferramenta.
Como Google trata robôs.txt por baixo do capô
- Size limit: 500 KiB. “Google enforces a robots.txt file size limit of 500 kibibytes (KiB). Content which is after the maximum file size is ignored.” (tradução) “Google enforces a robôs.txt arquivo size limit de 500 kibibytes (KiB). conteúdo que é depois de o máximo arquivo size é ignored.” RFC 9309 aligns: “The parsing limit MUST be at least 500 kibibytes [KiB].” (tradução) “o parsing limit MUST ser pelo menos 500 kibibytes [KiB].”
- Caching: ~24 horas. “Google generally caches the contents of robots.txt file for up to 24 hours, but may cache it longer in situations where refreshing the cached version isn’t possible.” (tradução) “Google generally caches o conteúdos de robôs.txt arquivo para up para 24 horas, mas may cache isso longer em situations onde refreshing o cached versão não é possível.” portanto a mudança não é necessarily picked up instantly. Evidence for this claim Google generally caches robots.txt for up to 24 hours and changes crawling behavior according to the HTTP status returned for the file. Scope: Google crawler handling of robots.txt fetches, including documented 4xx, 5xx, and redirect behavior. Confidence: high · Verified: Google: Robots.txt file handling
- códigos de status importar em todo o site. isto é o part a maioria dos guias skip:
- 4xx (except 429) → não restrictions. “Google’s crawlers treat all 4xx
errors, except 429, as if a valid robots.txt file didn’t exist. This means that
Google assumes that there are no crawl restrictions.” (tradução) “Google’s rastreadores treat todo 4xx
erros, except 429, como se a válido robôs.txt arquivo didn’t exist. isto significa isso
Google assumes isso ali são não rastrear restrictions.” A 404 em
/robots.txtsignifica “rastrear tudo.” (Não usar 401/403 para throttle rastreamento.) - 5xx / unreachable → dangerous. “For the first 12 hours, Google stops
crawling the site but keeps trying to fetch the robots.txt file. If Google can’t
fetch a new version, for the next 30 days Google will use the last good version,
while still trying to fetch a new version.” (tradução) “para o primeiro 12 horas, Google para
rastreamento o site mas mantém trying para buscar o robôs.txt arquivo. se Google pode’t
buscar a novo versão, para o próximo 30 dias Google vai usar o último bom versão,
enquanto ainda trying para buscar a novo versão.” portanto um servidor erro em
/robots.txtpode effectively proibir seu site inteiro para o primeiro ~12 horas, então execução em o último cached copy para ~30 dias. A persistently erroring robôs.txt é a em todo o site rastrear risk. e se é ainda quebrado depois de aqueles 30 dias: “If the errors are still not fixed after 30 days: If the site is generally available to Google, Google will behave as if there is no robots.txt file (but still keep checking for a new version).” (tradução) “se o erros são ainda não fixed depois de 30 dias: se o site é generally disponível para Google, Google vai behave como se ali é não robôs.txt arquivo (mas ainda manter checking para a novo versão).” em outro words, a robôs.txt isso nunca recovers não stay proibido forever — Google eventually falls de volta para rastreamento com não restrictions, o mesmo como a 404. - 3xx → Google follows pelo menos cinco redirect hops, então trata isso como a 404.
- 4xx (except 429) → não restrictions. “Google’s crawlers treat all 4xx
errors, except 429, as if a valid robots.txt file didn’t exist. This means that
Google assumes that there are no crawl restrictions.” (tradução) “Google’s rastreadores treat todo 4xx
erros, except 429, como se a válido robôs.txt arquivo didn’t exist. isto significa isso
Google assumes isso ali são não rastrear restrictions.” A 404 em
robôs.txt em Bing, Yandex, e beyond
o grouping e sintaxe são essentially shared, mas dois divergences importar:
- rastrear-delay. Google ignores isso, Bing ainda honors isso, e Yandex dropped isso em 2018 — Yandex’s own documentação afirma isso “From February 22, 2018, Yandex doesn’t take into account the Crawl-delay directive,” (tradução) “de February 22, 2018, Yandex não levar em account o rastrear-delay directive,” pointing você para o site rastrear rate setting em Yandex Webmaster em vez disso. Bing é explicit isso “The robots.txt file is the only valid place to set a crawl-delay directive for MSNBot,” (tradução) “o robôs.txt arquivo é o apenas válido place para definir a rastrear-delay directive para MSNBot,” e isso o directive “accepts only positive, inteiro numbers as values… the higher the value, the more throttled down the crawl rate will be.” (tradução) “accepts apenas positive, inteiro números como valores… o higher o valor, o mais throttled down o rastrear rate vai ser.” Note Bing trata o valor como a relative throttle, não literally N seconds.
- A particularidade da seção do bingbot. Assim como na regra do Google “only one group per crawler” (tradução) “apenas um grupo por rastreador”,
regra, se você criar a
User-agent: bingbotseção, Bing applies apenas isso seção e ignores oUser-agent: *padrões (rastrear-delay excepted). portanto a bingbot-específico group deve repeat cada directive você ainda querer enforced. - Amazon’s cache e falha behavior. Amazon diz seu rastreadores may usar a robôs.txt copy cached dentro de o previous 30 dias. se eles não pode buscar o arquivo, eles behave como though isso does não exist. A checker pode relatório o copy isso fetched, mas isso não pode prove que cached versão Amazon usado—ou isso Amazon observed o mesmo falha como o checker. Evidence for this claim Amazon says its crawlers may use a robots.txt copy cached within the previous 30 days and behave as though the file does not exist when they cannot fetch it. Scope: Amazon crawler behavior only; a checker result cannot establish which cached copy Amazon used or whether Amazon observed the same fetch failure. Confidence: high · Verified: Amazon: Amazonbot
Managing AI rastreadores com robôs.txt
Robots.txt é currently o main lever para managing AI rastreadores, e eles obey o mesmo group/agente de usuário sintaxe. o catch: estes são separado tokens, portanto bloqueio um não bloquear o others.
- OpenAI execuções vários distinct bots, e o controla para cada são
independent — allowing um não permitir o others, e bloqueio um não
bloquear o others.
GPTBotcrawls conteúdo para training OpenAI’s models;OAI-SearchBotsurfaces sites em ChatGPT’s busca features;OAI-AdsBotverificações o safety de páginas submitted como ads (seu dados não é usado para training). Block training comUser-agent: GPTBot/Disallow: /— isso alone won’t parar o busca ou ads bots.ChatGPT-Useré diferente novamente: isso fires para actions a person triggers dentro ChatGPT ou a Custom GPT, não automático rastreamento, e OpenAI diz “robots.txt rules may not apply” (tradução) “robôs.txt regras may não apply” para isso — portanto não count em aDisallowpara manter isso fora. se você do mudança o queOAI-SearchBotpode rastrear, OpenAI notas isso pode levar sobre 24 horas para o update para reach seu busca systems. - Google-Extended controla Gemini/Vertex training e é separado de Googlebot.
- Others worth naming:
CCBot(Common rastrear),ClaudeBot(Anthropic),PerplexityBot, eBytespider.
o hard caveat: compliance é voluntary. Robots.txt solicitações; isso não enforce. Well-behaved rastreadores obey isso; scrapers pode e do ignore isso. se você truly precisar para manter algo away de a bot, isso é um authentication/bloqueio problema, não a robôs.txt um.
Common erros (e o corrige)
o arquivo é 200, mas isso é não na prática a usable robôs arquivo. Status alone é
não suficiente. Capture o resposta Content-Type e primeiro bytes: a CDN/custom-erro
template pode return HTML em /robots.txt com 200, que deve ser a aviso em vez de
que um “permitir todos” aprovar. Google documents robôs.txt como UTF-8 texto simples e may
ignore inválido characters. A único UTF-8 BOM em o beginning é tolerated, mas a
segundo BOM, a BOM em o middle, UTF-16 bytes, NULs, ou invisible/controlar characters
pode alter o primeiro token ou invalidate a line. Show o byte offset e affected
line; do não silently normalize o arquivo antes de telling o usuário o que o rastreador
received. Apply Google’s effective 500 KiB parsing limit
antes de calculating permitir/proibir resultados, enquanto ainda reporting o discarded tail.
- Blocking uma página você também querer deindexed. Block + noindex significa Google nunca crawls isso para ver o noindex. usar noindex sem o bloquear.
- usando robôs.txt para deindex. Wrong ferramenta entirely — isso é noindex’s job.
- Blocking renderizar-critical CSS/JS. Google precisa aqueles assets para ver a página como
a usuário does; Google’s own sample robôs.txt explicitly re-permite
.css/.jsportanto Googlebot pode rastrear eles. - Trying para hide sensitive dados. RFC 9309 é blunt: “The Robots Exclusion
Protocol is not a substitute for valid content security measures. Listing paths
in the robots.txt file exposes them publicly and thus makes the paths
discoverable.” (tradução) “o Robots Exclusion
Protocol é não a substitute para válido conteúdo segurança measures. Listing paths
em o robôs.txt arquivo exposes eles publicly e thus torna o paths
discoverable.” Disallowing
/secret-admin/literally advertises isso. usar auth. - A stray
Disallow: /. isto blocks o inteiro site para o named rastreador — o classic staging leftover isso leva um site fora do Google. - Ignoring o resposta code em
/robots.txt. A 5xx pode stall rastreamento em todo o site; treat o arquivo’s availability como production-critical.
para o broader pipeline isto sits dentro — discovery, o rastrear scheduler, renderização, e como rastreamento differs de indexação — ver o rastreamento hub. o sibling topics (ouçamento de rastreamento, e como Google trata sitemaps) cada go deeper em um piece de isto.
Em termos práticos, ## AI summary
A condensed levar em o Advanced versão:
- Robots.txt = a arquivo de texto simples em o raiz de cada host (
/robots.txt, lowercase) implementing o Robots Exclusion Protocol (RFC 9309, 2022; origin 1994). o URL é caso-sensitive. - isso controla rastreamento, não indexação. isto é o #1 myth. A proibido URL pode
ainda ser indexado — shown como a bare URL com não description — se é linked de
elsewhere. para manter uma página fora de o índice, usar
noindex, e a página deve não ser bloqueado em robôs.txt ou Google nunca crawls isso para ver o noindex. - Patrick’s experiment proved isso: bloqueio dois alto-ranqueamento páginas didn’t deindex eles — eles kept ranqueamento mas lost featured snippets e descriptions. “Não bloquear páginas você quer indexado. isso hurts.”
- Right ferramenta para cada job: robôs.txt = rastrear controlar;
noindex= índice controlar; password/auth = secrecy (robôs.txt é público). - Supported campos:
user-agent,allow,disallow,sitemap. não supported por Google:noindex,nofollow,crawl-delay(retired Sept 1, 2019). - escopo é um host + protocolo + port — cada subdomínio/protocolo precisa seu own arquivo.
- Matching: mais-específico (longest path) regra wins; menos-restrictive (Allow)
em ties. Wildcards
*e$; path valores são caso-sensitive. A específico group não é merged com o*group — isso stands alone. - sob o hood: 500 KiB size limit; ~24h caching; 4xx (except 429) → não restrictions; 5xx/unreachable → ~12h rastrear parar, então último bom copy para ~30 dias, então não restrictions se ainda quebrado; 3xx → follows ≥5 hops então trata como 404.
- Other engines: Bing honors
crawl-delay; Google ignores isso e Yandex stopped honoring isso em February 2018 (usar Yandex Webmaster’s rastrear rate setting). Abingbotseção torna Bing ignore o*padrões. - AI rastreadores (GPTBot, OAI-SearchBot, OAI-AdsBot, ChatGPT-User,
Google-Extended, CCBot, ClaudeBot, PerplexityBot, Bytespider) são separado
tokens com independent controla — bloquear um, o others ainda rastrear.
ChatGPT-Useré usuário-triggered, não automático, portanto robôs.txt may não apply para isso em todos; compliance de rastreadores generally é voluntary. - não bloquear renderizar-critical CSS/JS, não usar isso para hide sensitive dados (é
público), e watch para a stray
Disallow: /.
oficial documentação
Primary-source documentação de o mecanismos de busca e o standard itself.
- Introduction para robôs.txt — o beginner doc, incluindo o rastrear-vs-índice caveat. começar aqui.
- Create e submit a robôs.txt arquivo / Como Google interprets o robôs.txt specification — o completo referência: supported campos, grouping, matching, wildcards, size limit, caching, e status-code handling.
- Block Search Indexing com noindex — por que a
noindexpágina deve não ser bloqueado em robôs.txt. - A nota em unsupported regras em robôs.txt (July 2019) — o announcement isso
noindex,nofollow, ecrawl-delayoferecer suporte a termina Sept 1, 2019.
o standard
- RFC 9309 — Robots Exclusion Protocol — o IETF standard (Koster, Illyes, Zeller, Sassman; Sept 2022), incluindo o
/robots.txtlocation requirement, longest-match regra, 500 KiB parsing limit, e o segurança-considerations nota.
Bing / Microsoft
- Bingbot orientação — atual Bing Webmaster orientação documents
crawl-delayvalores de 1–20 seconds. - Como para Create a robôs.txt arquivo (Bing Webmaster ferramentas ajudar) — Bing’s robôs.txt orientação e tester.
Quotes de o source
declarações registradas de Google, Bing, e o RFC. cada link é a deep link isso jumps para o quoted passage em o source página.
Google — rastreamento, não indexação
- “This is used mainly to avoid overloading your site with requests; it is not a mechanism for keeping a web page out of Google. To keep a web page out of Google, block indexing with
noindexor password-protect the page.” (tradução) “isto é usado mainly para avoid overloading seu site com solicitações; isso é não a mechanism para keeping a web página fora do Google. para manter a web página fora do Google, bloquear indexação comnoindexou password-protect a página.” — Google Search Central documentação. Jump para quote - “While Google won’t crawl or index the content blocked by a robots.txt file, we might still find and index a disallowed URL if it is linked from other places on the web.” (tradução) “enquanto Google won’t rastrear ou índice o conteúdo bloqueado por a robôs.txt arquivo, nós might ainda encontrar e índice a proibido URL se isso é linked de outro places em o web.” Jump para quote
- “If your web page is blocked with a robots.txt file, its URL can still appear in search results, but the search result won’t have a description.” (tradução) “se seu web página é bloqueado com a robôs.txt arquivo, seu URL pode ainda appear em busca resultados, mas o busca resultado won’t ter a description.” Jump para quote
Google — por que a noindex página deve stay crawlable
- “For the
noindexrule to be effective, the page or resource must not be blocked by a robots.txt file, and it has to be otherwise accessible to the crawler. If the page is blocked by a robots.txt file or the crawler can’t access the page, the crawler will never see thenoindexrule, and the page can still appear in search results, for example if other pages link to it.” (tradução) “para onoindexregra para ser effective, a página ou recurso deve não ser bloqueado por a robôs.txt arquivo, e isso tem para ser otherwise accessible para o rastreador. se a página é bloqueado por a robôs.txt arquivo ou o rastreador pode’t access a página, o rastreador vai nunca ver onoindexregra, e a página pode ainda appear em busca resultados, para exemplo se outro páginas link para isso.” — Google Search Central documentação. Jump para quote
Google — location, escopo, e o spec
- “The rules listed in the robots.txt file apply only to the host, protocol, and port number where the robots.txt file is hosted.” (tradução) “o regras listed em o robôs.txt arquivo apply apenas para o host, protocolo, e port número onde o robôs.txt arquivo é hosted.” Jump para quote
- “Google can’t index the content of pages which are disallowed for crawling, but it may still index the URL and show it in search results without a snippet.” (tradução) “Google pode’t índice o conteúdo de páginas que são proibido para rastreamento, mas isso may ainda índice a URL e mostrar isso em busca resultados sem a snippet.” Jump para quote
- “When matching robots.txt rules to URLs, crawlers use the most specific rule based on the length of the rule path. In case of conflicting rules, including those with wildcards, Google uses the least restrictive rule.” (tradução) “Quando matching robôs.txt regras para URLs, rastreadores usar o a maioria dos específico regra baseado em o length de o regra path. em caso de conflicting regras, incluindo aqueles com wildcards, Google usa o menos restrictive regra.” Jump para quote
- “
*designates 0 or more instances of any valid character.$designates the end of the URL.” (tradução) “*designates 0 ou mais instances de qualquer válido character.$designates o terminar de a URL.” Jump para quote - “The field name (
disallow) is case-insensitive, but its value is case-sensitive.” (tradução) “o campo nome (disallow) é caso-insensitive, mas seu valor é caso-sensitive.” Jump para quote
Google — size, caching, e códigos de status
- “Google enforces a robots.txt file size limit of 500 kibibytes (KiB). Content which is after the maximum file size is ignored.” (tradução) “O Google impõe ao robots.txt um limite de 500 kibibytes (KiB) e ignora o conteúdo que ultrapassa esse tamanho.” Jump para quote
- “Google generally caches the contents of robots.txt file for up to 24 hours, but may cache it longer in situations where refreshing the cached version isn’t possible.” (tradução) “Google generally caches o conteúdos de robôs.txt arquivo para up para 24 horas, mas may cache isso longer em situations onde refreshing o cached versão não é possível.” Jump para quote
- “Google’s crawlers treat all 4xx errors, except 429, as if a valid robots.txt file didn’t exist. This means that Google assumes that there are no crawl restrictions.” (tradução) “Os rastreadores do Google tratam todos os erros 4xx, exceto 429, como se não houvesse um robots.txt válido; assim, pressupõem que não existem restrições de rastreamento.” Jump para quote
- “For the first 12 hours, Google stops crawling the site but keeps trying to fetch the robots.txt file. If Google can’t fetch a new version, for the next 30 days Google will use the last good version, while still trying to fetch a new version.” (tradução) “Nas primeiras 12 horas, o Google interrompe o rastreamento, mas continua tentando buscar o robots.txt. Se não obtiver uma nova versão, usará a última versão válida pelos 30 dias seguintes enquanto continua tentando.” Jump para quote
- “If the errors are still not fixed after 30 days: If the site is generally available to Google, Google will behave as if there is no robots.txt file (but still keep checking for a new version).” (tradução) “se o erros são ainda não fixed depois de 30 dias: se o site é generally disponível para Google, Google vai behave como se ali é não robôs.txt arquivo (mas ainda manter checking para a novo versão).” Jump para quote
- “User agent specific groups and global groups (
*) are not combined.” (tradução) “agente de usuário específico groups e global groups (*) são não combined.” Jump para quote
Em termos práticos, RFC 9309 — o standard
- “This document specifies and extends the ‘Robots Exclusion Protocol’ method originally defined by Martijn Koster in 1994 for service owners to control how content served by their services may be accessed, if at all, by automatic clients known as crawlers.” (tradução) “isto document specifies e extends o ‘Robots Exclusion Protocol’ método originally defined por Martijn Koster em 1994 para service owners para controlar como conteúdo served por seu services may ser accessed, se em todos, por automático clients conhecido como rastreadores.” — RFC 9309 (Koster, Illyes, Zeller, Sassman). Jump para quote
- “The rules MUST be accessible in a file named ‘/robots.txt’ (all lowercase) in the top-level path of the service.” (tradução) “o regras MUST ser accessible em um arquivo named ‘/robôs.txt’ (todo lowercase) em o top-nível path de o service.” Jump para quote
- “The Robots Exclusion Protocol is not a substitute for valid content security measures. Listing paths in the robots.txt file exposes them publicly and thus makes the paths discoverable.” (tradução) “O Protocolo de Exclusão de Robôs não substitui medidas válidas de segurança de conteúdo. Listar caminhos no robots.txt os expõe publicamente e permite que sejam descobertos.” Jump para quote
Bing — rastrear-delay
- Bingbot orientação documents a
crawl-delayrange de 1–20 seconds. isto é Bing-específico orientação, não um extension isso Google processes.
Patrick Stox — o bloqueio experiment (my own Ahrefs experiment, reviewed por Joshua Hardwick)
- “We lost a position here or there and all of the featured snippets for the pages.” (tradução) “nós lost a position aqui ou ali e todo de o featured snippets para o páginas.” Jump para quote
- “Both pages lost some traffic. But it didn’t result in much change to our traffic estimate like I was expecting.” (tradução) “ambos páginas lost alguns traffic. mas isso didn’t resultado em muito mudança para nosso traffic estimate like eu foi expecting.” Jump para quote
- “Don’t block pages you want indexed. It hurts. Not as bad as you might think it does—but it still hurts.” (tradução) “Não bloquear páginas você quer indexado. isso hurts. não como ruim como você might pensar isso does—mas isso ainda hurts.” Jump para quote
Robots.txt — sintaxe cheat sheet
Em termos práticos, Directives (Google-supported)
| Directive | O que isso does | exemplo |
|---|---|---|
User-agent: | começa a group; nomes o rastreador(s) isso applies para. | User-agent: Googlebot |
Disallow: | Paths o rastreador deve não solicitação. | Disallow: /cart/ |
Allow: | Carves um exception de volta fora de a Disallow. | Allow: /cart/help |
Sitemap: | Absolute URL de a sitemap (group-independent). | Sitemap: https://x.com/sitemap.xml |
Em termos práticos, Special characters
| Token | Meaning |
|---|---|
* | em a path: 0+ de qualquer character. como a agente de usuário: todo rastreadores. |
$ | Anchors o terminar de a URL. Disallow: /*.pdf$ blocks URLs ending em .pdf. |
# | Comment — tudo depois de isso em o line é ignored. |
/ | Path valores deve começar com /. Disallow: / blocks o site inteiro. |
Matching regras
- maioria-específico (longest path) regra wins.
- em a tie, menos-restrictive wins —
AllowbeatsDisallow. - Path valores são caso-sensitive (
/Folder/≠/folder/); campo e agente de usuário nomes são caso-insensitive. - A rastreador obeys exatamente um group — o a maioria dos específico agente de usuário match.
não supported por Google (retired Sept 1, 2019): noindex, nofollow,
crawl-delay. Bing ainda honors crawl-delay (como a relative throttle, não
literal seconds); Yandex stopped honoring isso em Feb 22, 2018 — definir o rastrear rate
em Yandex Webmaster em vez disso.
sob o hood (Google)
- Size limit: 500 KiB (rest ignored). Caching: ~24h.
- 4xx (except 429) → não restrictions. 5xx/unreachable → ~12h rastrear parar, então último bom copy ~30 dias, então não restrictions se ainda quebrado. 3xx → ≥5 hops então treated como 404.
- A específico
User-agentgroup é nunca merged com o*group.
Em termos práticos, Common recipes
# Block a folder for everyone
User-agent: *
Disallow: /admin/
# Block all PDFs
User-agent: *
Disallow: /*.pdf$
# Block AI training crawler (won't stop search bots)
User-agent: GPTBot
Disallow: /
# Point to the sitemap
Sitemap: https://example.com/sitemap.xml Em termos práticos, ## Robots.txt audit checklist
- o arquivo exists em exatamente
https://yourdomain.com/robots.txt(raiz, lowercase) e returns a200. - todo host e protocolo tem seu own arquivo (
www, non-www, subdomínios,httpvshttps). - No stray
Disallow: /bloqueio o site inteiro (o classic staging leftover). - você são não bloqueio qualquer página você também querer para
noindex(Google deve rastrear isso para ver o noindex). - você são não usando robôs.txt para deindex páginas — isso é
noindex’s job. - Render-critical CSS/JS é não bloqueado.
- No
noindex,nofollow, oucrawl-delaylines aimed em Google (unsupported since Sept 1, 2019). - No sensitive paths listed — o arquivo é público e advertises whatever isso nomes; usar authentication em vez disso.
- Wildcard regras (
*,$) tested contra real URLs; lembrar path valores são caso-sensitive. - se você ter a
User-agent: bingbot(ou qualquer bot-específico) seção, isso repeats cada directive você ainda querer enforced — bot-específico groups ignore o*padrões. -
Sitemap:directive present com um absolute URL. - arquivo é sob 500 KiB.
- Validated em o Search Console robôs.txt relatório; spot-checked qualquer “Indexed, though bloqueado por robôs.txt” URLs para confirm eles’re genuinely junk e não páginas você wanted rastreado.
Em termos práticos, ## o mental models
1. rastrear controlar, não índice controlar. Robots.txt apenas governs whether a rastreador may buscar a URL. isso diz nothing sobre whether a URL obtém indexado. Internalize isto e a maioria dos robôs.txt erros disappear. Blocking a URL ≠ removing isso de Google.
2. maioria-específico regra wins; menos-restrictive quebra ties.
Quando dois regras touch o mesma URL, o um com o longer path wins. em a genuine
tie, Allow beats Disallow. isto único regra explains nearly cada “por que é isto
URL crawlable / bloqueado?” head-scratcher.
3. Block vs noindex — a decisão tree.
- querer isso fora de o índice? →
noindex, e tornar sure é não bloqueado em robôs.txt (portanto Google pode rastrear isso para ver o noindex). - querer para parar wasting rastrear em isso mas não care se o bare URL mostra? →
Disallowem robôs.txt. - querer isso genuinely privado? → authentication. Robots.txt é público e nunca hides anything.
nunca bloquear e noindex o mesma URL — eles cancel fora, e a página pode linger em o índice.
4. o arquivo’s availability é production-critical.
o HTTP resposta code em /robots.txt tem em todo o site consequences: a 4xx significa “não
restrictions,” mas a 5xx pode parar Google rastreamento seu site inteiro para ~12 horas.
Treat /robots.txt like qualquer outro critical endpoint.
Fetch e audit robôs.txt em toda hosts
Robots.txt é scoped por host+protocolo+port, portanto é easy para forget um variant exists. isto pulls cada variant de a domínio e flags qualquer isso erro ou 404.
Em termos práticos, macOS / Linux
for url in "https://example.com/robots.txt" "https://www.example.com/robots.txt" "http://example.com/robots.txt"; do
code=$(curl -s -o /dev/null -w "%{http_code}" "$url")
echo "$code $url"
doneEm termos práticos, Windows (PowerShell)
$urls = "https://example.com/robots.txt","https://www.example.com/robots.txt","http://example.com/robots.txt"
foreach ($u in $urls) {
$r = Invoke-WebRequest -Uri $u -UseBasicParsing -SkipHttpErrorCheck
Write-Host "$($r.StatusCode) $u"
}A 200 em cada line é o que você quer. A 4xx significa Google trata isso
host+protocolo como unrestricted (fine se intentional); a 5xx é o dangerous
um — isso pode stall rastreamento para isso host.
Regex para pull cada Disallow/Allow path
Useful para diffing a robôs.txt antes/depois de um edit, ou scripting a verificação contra a lista de URLs você care sobre.
import re
robots_txt = open("robots.txt").read()
# Captures the directive (Disallow/Allow) and its path value
pattern = re.compile(r'^(Disallow|Allow):\s*(\S*)', re.IGNORECASE | re.MULTILINE)
for directive, path in pattern.findall(robots_txt):
print(f"{directive}: {path or '(empty — matches nothing)'}")(Disallow|Allow)— captures que directive fired.\s*(\S*)— captures o path valor, allowing para um emptyDisallow:(que Google trata como “proibir nothing”).re.IGNORECASE— campo nomes são caso-insensitive emé though path valores não são (não lowercase o paths themselves quando você extend isto).
Em termos práticos, ## Chrome DevTools Console snippet
Paste em o Console panel (F12 → Console) em qualquer página para buscar e print isso host’s robôs.txt sem leaving o tab:
fetch(new URL('/robots.txt', location.origin))
.then(r => r.text())
.then(t => console.log(t))
.catch(e => console.error('No robots.txt or fetch blocked:', e));Bookmarklet: jump para o atual site’s robôs.txt
Save como a bookmark com isto como a URL (drag isso para seu bookmarks bar, ou adicionar isso manualmente e paste o code em o “URL” campo), então click isso em qualquer página:
javascript:(function(){var u=new URL('/robots.txt',location.origin).href;location.href=u;})(); ferramentas para testes e validating robôs.txt
- Google Search Console — robôs.txt relatório (Settings) — Google’s atual surface para seeing o robôs.txt Google fetched, seu status, e qualquer parsing problemas. (o antigo standalone robôs.txt tester foi retired; testes agora fica em isto relatório.)
- GSC URL Inspection — confirm whether a específico URL é bloqueado de rastreamento e como Google currently sees isso.
- GSC “Indexed, though blocked by robots.txt” (tradução: “Indexada, embora bloqueada pelo robots.txt”) (relatório de páginas) — mostra URLs Google indexado despite o bloquear, portanto você pode decide que são real problemas.
- Bing Webmaster ferramentas — robôs.txt tester / orientação — Bing’s equivalent para validating seu arquivo contra bingbot.
- Ahrefs Site Audit / Screaming Frog SEO Spider — rastrear seu own site para ver que URLs são bloqueado, surface accidentally-proibido páginas, e teste isso seu regras match o URLs você intend.
- qualquer navegador — o simplest verificação de todos: carregar
yourdomain.com/robots.txte ler isso. Remember everyone mais pode do o mesmo.
Incident: você shipped Disallow: / para production
isto é o classic staging leftover — a robôs.txt construído para bloquear a staging
environment obtém deployed para o ficar site, e User-agent: * / Disallow: /
blocks o inteiro thing. aqui está o ordered recovery.
Step 1 — confirm o blast radius.
Fetch https://yourdomain.com/robots.txt certo agora (navegador ou curl -I). se
você ver a bare Disallow: / sob User-agent: * com não narrower Allow:
carving anything de volta fora, cada rastreador isso respects robôs.txt é currently
bloqueado de seu inteiro site. Continue para Step 2.
Step 2 — corrigir o arquivo e confirm o deploy.
Replace isso com o intended regras (ou a minimal User-agent: * / Allow: / se
você está não sure o que belongs) e deploy. Re-buscar o ficar URL — não confiança
seu deploy dashboard, confiança o actual resposta. se isso ainda mostra o antigo
Disallow: /, você ter a caching/CDN problema, não a code problema — purge o
cache para isso um path antes de moving em.
Step 3 — verificação como longo o site foi bloqueado. Google caches robôs.txt para up para ~24 horas, portanto a corrigir isso apenas went ficar won’t ser picked up instantly. Open Search Console’s robôs.txt relatório para ver quando Google último fetched o arquivo e whether é já seen o corrected versão. se isso hasn’t ainda, solicitação isso ser re-fetched não é a manual opção — você wait, ou usar URL Inspection em seu a maioria dos importante páginas e usar “solicitação Indexing” once o arquivo é confirmed fixed.
Step 4 — verificação para actual damage.
- se o bloquear lasted horas, expect little para não visível impacto — Google não drop páginas de o índice apenas porque um rastrear foi bloqueado.
- se isso lasted dias para weeks, verificação Search Console’s páginas relatório para a aumento em “Blocked by robots.txt” (tradução: “Bloqueada pelo robots.txt”) e verifique se páginas antes indexadas moved para isso status. My own experiment bloqueio dois alto-ranqueamento páginas found eles stayed indexado e mostly kept ranqueamento, mas lost freshness sinais e featured snippets — o damage compounds com tempo bloqueado, não instantly.
- se você ver rankings/impressions na prática falling em Search Console’s Performance relatório para o bloqueado window, isso é seu confirmation o incident teve real impacto, não apenas a scare.
Step 5 — verify o corrigir took, não apenas assume isso. Run o específico paths você care sobre por meio de o Robots.txt Tester contra o corrected arquivo. se qualquer come de volta bloqueado, você está não done — go de volta para Step 2.
Concrete erros para avoid
Blocking uma página em robôs.txt isso você também querer noindexed.
Por que é errado: a noindex apenas funciona se o rastreador pode ler a página para ver
isso. Block a página e Google nunca crawls isso, nunca sees o noindex, e
a página pode linger em o índice se anything links para isso. Do em vez disso: deixar
a página crawlable e put noindex em a página itself (meta tag ou
X-Robots-Tag cabeçalho).
usando robôs.txt como seu deindexing ferramenta.
Por que é errado: robôs.txt controla rastreamento, não indexação. Google’s own documentação
são explicit isso “é não a mechanism para keeping a web página fora de
Google.” A proibido URL pode ainda mostrar up em resultados, apenas sem a
description. Do em vez disso: usar noindex (página não bloqueado) para na prática remover a
página de o índice.
Blocking renderizar-critical CSS ou JavaScript.
Por que é errado: Google renders seu páginas com a real navegador para ver eles o
way a usuário does. Block o assets isso construir o layout ou inject conteúdo e
Google may ver a quebrado ou empty página. Do em vez disso: deixar /assets/,
/static/, ou wherever seu CSS/JS fica crawlable — Google’s own sample
robôs.txt explicitly re-permite estes.
Listing sensitive paths em robôs.txt para “hide” eles.
Por que é errado: o arquivo é público — anyone pode ler isso — portanto Disallow: /admin-panel/ apenas informa o world isso folder exists. RFC 9309 é blunt isso
o protocolo “é não a substitute para válido conteúdo segurança measures.” Do
em vez disso: usar authentication ou a password wall para anything isso na prática
precisa para stay privado.
Trailing-slash confusion em a Disallow path.
Por que é errado: Disallow: /folder (não trailing slash) blocks /folder,
/folder/, /folder-name/, e /folder.html — anything isso começa com
isso string, porque matching é prefix-baseado, não directory-baseado. Do
em vez disso: adicionar o trailing slash (Disallow: /folder/) quando você apenas significar o
directory, e teste o exato prefix behavior contra seu real URLs antes
shipping.
Assuming regras são caso-insensitive.
Por que é errado: campo nomes são caso-insensitive mas path valores são
caso-sensitive — Disallow: /Folder/ does nothing para /folder/. Do em vez disso:
match o exato caso seu URLs na prática usar, e não assume a regra “deve”
funcionar porque isso lê correctly para a humano.
Common problemas
”eu bloqueado isto página, mas é ainda showing up em Google”
- sintoma: a URL ainda appears em busca resultados (normalmente com não description) emé though é proibido em robôs.txt.
- provável causar: a URL é linked de elsewhere em o web (ou seu own site), portanto Google indexado o bare URL sem ever rastreamento seu conteúdo. Blocking rastreamento foi nunca going para remover isso — isso é não o que robôs.txt does.
- corrigir: se você quer isso gone, adicionar
noindexpara a página e tornar sure é não bloqueado em robôs.txt (temporarily permitir rastreamento se isso currently é). Confirm o corrigir com URL Inspection em Search Console once Google tem re-rastreado isso.
”Search Console diz ‘Indexed, though bloqueado por robôs.txt’”
- sintoma: o páginas relatório em GSC flags isto exato status para um ou mais URLs.
- provável causar: normalmente harmless — é common para utility URLs (cart, filtered/faceted variants, session parameters) isso obteve linked somewhere e indexado como a bare URL despite o bloquear.
- corrigir: verificação whether o flagged URLs são páginas você na prática wanted indexado. se eles’re junk parameter URLs, isto status é expected e não worth chasing. se uma página você care sobre mostra up aqui, isso é o “bloqueado + noindex” trap — go crawlable + noindex em vez disso.
”eu edited robôs.txt, mas o mudança não parecer para ser ficar”
- sintoma: você deployed a corrigir, mas a ferramenta ou Google ainda parece para ser reading o antigo regras.
- provável causar: Google caches robôs.txt para up para ~24 horas, portanto a mudança não é picked up instantly. Separately, a CDN ou reverse proxy em front de seu site pode ser servindo a stale cached copy de o arquivo itself.
- corrigir: primeiro confirm o ficar arquivo na prática alterado — buscar
yourdomain.com/robots.txtdiretamente (não por meio de a cache) ou execução isso por meio de o Robots.txt Tester. se o ficar arquivo é correct, o delay é Google’s cache e apenas precisa tempo; verificação o robôs.txt relatório em Search Console para ver quando isso último fetched.
”o tester diz a path é permitido, mas Google ainda não é rastreamento isso”
- sintoma: robôs.txt clearly permits a URL, mas servidor logs ou Search Console mostrar não recent rastrear activity para isso.
- provável causar: robôs.txt allowing a URL não é a rastrear guarantee — é necessário mas não sufficient. o página might ser orphaned (nothing links para isso), missing de o sitemap, ou simply baixo priority em Google’s rastrear scheduling.
- corrigir: confirm a página é discoverable (interno links, sitemap inclusion) em vez de que re-checking robôs.txt novamente — o arquivo não é o bottleneck aqui.
”My Disallow regra não parecer para match o URLs eu expect”
- sintoma: a regra isso parece correct não é bloqueio (ou é bloqueio too muito de) o URLs você intended.
- provável causar: caso sensitivity (
/Folder/≠/folder/) ou prefix matching catching mais de expected (Disallow: /foldertambém matches/folder-name/). - corrigir: re-verificação o exato caso de seu ficar URLs, e adicionar a trailing slash se você meant apenas o directory. testar o específico paths em o Robots.txt Tester antes de trusting o regra.
”Bing stopped following my padrão regras depois de eu added a bingbot seção”
- sintoma: regras sob
User-agent: *isso usado para apply para Bing parecer para ser ignored depois de você added aUser-agent: bingbotgroup. - provável causar: Bing (like Google) applies apenas o a maioria dos específico matching
group para a rastreador. A
bingbot-específico group torna Bing ignore o*padrões entirely (rastrear-delay excepted). - corrigir: repeat cada directive você ainda querer enforced dentro o
bingbotgroup — isso tem para ser self-contained.
Validation testes
Run estes depois de você edit robôs.txt, antes de você considerar o mudança done.
testar 1: o arquivo itself é ficar e correct
- testar para execução:
curl -I https://yourdomain.com/robots.txt(ou aberto o URL em um navegador), e separadamente execução isso por meio de o Robots.txt Tester. - Expected resultado:
HTTP/1.1 200e o tester mostra o exato regras você intended para ship. - Failure interpretation: a non-200 status significa o arquivo não é reachable como expected (verificação deploy/routing); correct-looking regras isso não match o que você edited normalmente significar a cache (CDN ou Google’s ~24h cache) é servindo a stale copy.
- Monitoring window: immediate para o código de status e conteúdo; permitir up para ~24 horas antes de assuming Google tem picked up o mudança.
- Rollback trigger: o arquivo 404s ou 5xxs unexpectedly, ou mostra regras você didn’t intend para ship.
testar 2: o específico path você alterado behaves como intended
- testar para execução: paste o exato URL você meant para permitir ou bloquear em o Robots.txt Tester e verificação o verdict para Googlebot (e Bingbot se relevant).
- Expected resultado: o ferramenta relatórios “permitido” para a path você meant para aberto up, ou “bloqueado” para a path você meant para close off.
- Failure interpretation: o opposite verdict normalmente significa a
longer/mais-específico regra elsewhere em o arquivo é overriding o um você
apenas added — verificação para a competing
Allow/Disallowem a shorter ou overlapping path. - Monitoring window: immediate — isto é a regras-matching verificação, não a ficar-rastrear verificação.
- Rollback trigger: o tested path returns o errado verdict depois de você’ve confirmed o ficar arquivo matches o que você edited.
testar 3: uma página você unblocked na prática obtém rastreado
- testar para execução: Search Console URL Inspection em o específico URL, looking em “rastrear permitido?” e o último rastrear date.
- Expected resultado: “rastrear permitido: Yes,” e a rastrear date depois de seu robôs.txt mudança.
- Failure interpretation: “rastrear permitido: No” depois de você believe você unblocked isso significa Google é ainda reading cached regras, ou another regra em o arquivo ainda matches o path. No novo rastrear date ainda não necessarily significar falha — Google may não ter gotten para isso ainda.
- Monitoring window: 2–4 weeks para Google para na prática re-rastrear e reflect o mudança, longer em grande ou baixo-priority sites.
- Rollback trigger: “rastrear permitido” flips de volta para “No” em a later verificação com não robôs.txt mudança em seu terminar — investigate a CDN/cache problema.
testar 4: você didn’t accidentally bloquear algo mais
- testar para execução: rastrear seu site com Ahrefs Site Audit ou Screaming Frog SEO Spider depois de o mudança e compare o “bloqueado por robôs.txt” URL lista antes de vs. depois.
- Expected resultado: apenas o URLs você intended para newly bloquear ou unblock moved entre listas — nothing mais alterado.
- Failure interpretation: um unexpected página showing up como newly bloqueado normalmente significa a wildcard ou prefix regra correspondeu mais broadly que intended.
- Monitoring window: immediate — execução isto rastrear certo depois de deploying.
- Rollback trigger: qualquer página você rely em para organic traffic appears newly bloqueado.
Em termos práticos, ## Ready-para-copy prompts
Paste seu actual robôs.txt conteúdo (e, para o segundo prompt, o lista de URLs você care sobre) depois de cada prompt.
Audit a robôs.txt arquivo para conflicts e risky regras
I'm going to paste a robots.txt file. Read it as a technical SEO would and
flag:
1. Any Disallow rule that conflicts with an Allow rule on the same or an
overlapping path (tell me which one wins under longest-match rules).
2. Any bare "Disallow: /" under a User-agent group — that blocks everything
for that crawler.
3. Any rule that would block commonly render-critical paths (CSS, JS, fonts,
images used for layout).
4. Any use of noindex, nofollow, or crawl-delay under a Google-facing
User-agent — these are not supported by Google.
5. Anything that looks like it's trying to hide a sensitive path (remember
this file is public).
Here is the file:
<paste robots.txt content>verificar whether específico URLs são safely crawlable e indexable
I want the following URLs to be crawlable AND indexable by Google. Given this
robots.txt file, tell me for each URL whether it would be blocked from
crawling, and separately remind me that robots.txt says nothing about
indexing — a URL can be blocked from crawling but still indexed if it's
linked elsewhere, and a URL can be crawlable but still noindexed via a meta
tag or header this file can't show you.
Robots.txt:
<paste robots.txt content>
URLs:
<paste list of URLs> recursos worth seu tempo
My relacionado writing
- o Story de Blocking 2 High-r ranqueamento páginas com Robots.txt — my own experiment: eu deliberately bloqueado dois alto-ranqueamento Ahrefs páginas e tracked o que na prática happened para rankings e traffic. o proof isso bloqueio ≠ deindexing.
- o Beginner’s guia para Technical SEO — onde robôs.txt fits em o rastrear/índice foundation.
- Enterprise SEO Strategies — managing robôs.txt em scale em grande sites.
My speaking
- Como Search funciona (SlideShare) — my walkthrough de rastrear → renderizar → índice, o pipeline robôs.txt gates em o rastrear etapa. (Standing disclaimer applies: “isto é my understanding de systems… não going para ser 100% completo ou accurate.”)
de others
- Robots.txt e SEO: tudo você precisar para Know — o canonical Ahrefs guia, por Joshua Hardwick (não me) — a thorough sintaxe-e-recipes referência.
- Quando Unindexing páginas de Google Search usar Noindex, não Robots.txt — mecanismo de busca Roundtable cobertura de John Mueller’s orientação: não bloquear com robôs.txt quando você quer páginas fora de o índice, usar noindex em vez disso.
- Google Explains Por que URLs Blocked por Robots.txt pode ainda ser Indexed — mecanismo de busca Journal cobertura de Mueller’s “adicionar-para-cart” exemplo: bloqueado URLs pode ainda ser indexado, e “Indexed, though bloqueado por robôs.txt” é frequentemente harmless para utility páginas.
- Robots.txt Tip de Bing: Include todos Relevant Directives se você Have a Bingbot Section — mecanismo de busca Land em o bingbot-seção gotcha: a Bingbot-específico group torna Bing ignore o wildcard padrões, portanto você deve repeat cada directive você ainda querer enforced.
- Overview de OpenAI rastreadores (GPTBot, OAI-SearchBot, ChatGPT-User) — OpenAI’s oficial lista de seu rastreador agente de usuário tokens, com robôs.txt exemplos para bloqueio training vs. busca vs. usuário-triggered busca separadamente.
- r/TechSEO — o community para rastrear/índice e “Indexed, though bloqueado por robôs.txt” debugging.
Em termos práticos, ## testar yourself: Robots.txt
Five rápido questions em o que robôs.txt controla (e o que faz não). Pick um answer para cada, então verificação.
Registro de alterações
Atualizado em 21 de ago. de 2026.
Resumo editorial e detalhes registrados da alteração.Detalhes da alteração
-
As notas detalhadas sobre as alterações estão disponíveis atualmente em inglês.
Não é possível fazer a comparação completa — nenhum instantâneo anterior foi arquivado para esta revisão.
Atualizado em 30 de jul. de 2026.
Resumo editorial e detalhes registrados da alteração.Detalhes da alteração
-
As notas detalhadas sobre as alterações estão disponíveis atualmente em inglês.
Não é possível fazer a comparação completa — nenhum instantâneo anterior foi arquivado para esta revisão.
Atualizado em 19 de jul. de 2026.
Resumo editorial e detalhes registrados da alteração.Detalhes da alteração
-
As notas detalhadas sobre as alterações estão disponíveis atualmente em inglês.
Não é possível fazer a comparação completa — nenhum instantâneo anterior foi arquivado para esta revisão.
Atualizado em 18 de jul. de 2026.
Resumo editorial e detalhes registrados da alteração.Detalhes da alteração
-
As notas detalhadas sobre as alterações estão disponíveis atualmente em inglês.
-
As notas detalhadas sobre as alterações estão disponíveis atualmente em inglês.
-
As notas detalhadas sobre as alterações estão disponíveis atualmente em inglês.
-
As notas detalhadas sobre as alterações estão disponíveis atualmente em inglês.
-
As notas detalhadas sobre as alterações estão disponíveis atualmente em inglês.
Não é possível fazer a comparação completa — nenhum instantâneo anterior foi arquivado para esta revisão.
Who's been ignoring my robots.txt?
This is live data from this site, not an illustration. My robots.txt
disallows /api/trap/, and the only link to it is invisible to
humans — so a compliant crawler will never request it. Every user-agent
below fetched it anyway. (Humans poking at it with curl show
up too; the user-agent usually gives them away.)