Resposta rápida
Como gero um arquivo llms.txt para o meu site?
Rastreie seu próprio site, pegue o título e o primeiro parágrafo de cada página e escreva-os como uma lista Markdown sob o nome do seu site em um arquivo em /llms.txt. WebReaderAPI faz o rastreamento: até 10.000 páginas por job, como Markdown com metadados, a um crédito por página a partir de US$ 0,07/1K páginas em outubro de 2026. O script Python abaixo escreve o arquivo. Sem KYC; pague com cripto.
llms.txt em resumo
| O que é | Um arquivo Markdown proposto na raiz de um site que lista suas páginas principais para modelos de linguagem |
|---|---|
| Adoção, top 1.000 sites | 9,3% (93 sites) em 18 de setembro de 2026, segundo a Rankability |
| Sites com o arquivo | De 4.088 a 36.120 entre junho de 2025 e maio de 2026, segundo a Originality.ai |
| Uso medido | 97% dos arquivos llms.txt não receberam nenhuma requisição em um estudo da Ahrefs com 137.000 domínios |
| Custo para montar com WebReaderAPI | Um crédito por página rastreada; 10.000 páginas custam US$ 3,75 |
Vale a pena criar o llms.txt?
É barato de criar, e o efeito medido até agora é pequeno. A adoção está crescendo: a Rankability encontrou o arquivo em 9,3% dos 1.000 principais sites em 18 de setembro de 2026, contra 0,3% em junho de 2025, embora o método tenha mudado entre as duas contagens. A Originality.ai contou sites com o arquivo passando de 4.088 para 36.120 entre junho de 2025 e maio de 2026.
O uso é outra história. Um estudo da Ahrefs com 137.000 domínios, noticiado pelo PPC Land em 2 de julho de 2026, descobriu que 97% dos arquivos llms.txt não receberam nenhuma requisição, e que os bots de recuperação de IA fizeram 1,1% das requisições que os arquivos receberam. Crie um se a sua documentação é grande e você quer um índice limpo; não espere que ele, sozinho, mude como os assistentes citam você.
O que vai em um arquivo llms.txt?
Um título, um resumo de um parágrafo e, depois, listas agrupadas de links com uma descrição curta para cada um. Um arquivo mínimo é assim:
# Example Docsna primeira linha, o nome do site ou do projeto.> One sentence on what the site covers.como resumo entre aspas.## Guides,## API referencee outras seções, uma por parte do site.- [Page title](https://example.com/page): one line on what the page answers.para cada página.
Mantenha as descrições factuais e curtas. Não escreva instruções para sistemas de IA no arquivo; os assistentes tratam cada vez mais esse tipo de texto como manipulação.
import os
import time
from collections import defaultdict
from urllib.parse import urlparse
import requests
API = "https://webreaderapi.com/api/v1"
HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}
SITE = "https://docs.example.com/"
def first_paragraph(markdown):
for block in markdown.split("\n\n"):
block = block.strip()
if block and not block.startswith(("#", "-", "|", "!", ">")):
return " ".join(block.split())[:160]
return ""
job = requests.post(API + "/crawl", headers=HEADERS, json={"url": SITE, "limit": 300}, timeout=60).json()
pages, cursor, delay = [], None, 5
while True:
params = {"cursor": cursor} if cursor else {}
batch = requests.get(API + "/jobs/" + job["job_id"], headers=HEADERS, params=params, timeout=60).json()
pages += [p for p in batch.get("results", []) if "markdown" in p]
cursor = batch.get("next_cursor")
if batch["status"] == "done" and not cursor:
break
if not cursor:
time.sleep(delay)
delay = min(delay * 2, 60)
sections = defaultdict(list)
for p in pages:
path = urlparse(p["final_url"]).path.strip("/")
section = path.split("/")[0].replace("-", " ").title() if path else "Home"
summary = p.get("description") or first_paragraph(p["markdown"])
sections[section].append("- [" + p["title"] + "](" + p["final_url"] + "): " + summary)
lines = ["# Example Docs", "", "> Documentation for the Example product.", ""]
for name in sorted(sections):
lines += ["## " + name, ""] + sorted(sections[name]) + [""]
with open("llms.txt", "w", encoding="utf-8") as fh:
fh.write("\n".join(lines))
print(len(pages), "pages written to llms.txt")
Como o script funciona?
Ele inicia um job de rastreamento, coleta os resultados página por página e agrupa as páginas pela primeira pasta do caminho. Para cada página, usa a meta description quando o site fornece uma e, caso contrário, o primeiro parágrafo do Markdown, cortado em 160 caracteres.
Altere SITE, a linha de título e a linha de resumo para combinar com o seu projeto, e aumente limit para um site maior, até 10.000 páginas por job. Revise a saída antes de publicar: os nomes das seções vêm da estrutura de URL e podem precisar de um toque humano.
Meu robots.txt precisa permitir o rastreamento?
Sim. O WebReaderAPI lê apenas o que o robots.txt permite para WebReaderAPI ou para todos os robôs, e espera qualquer Crawl-delay que você definir. Se o seu próprio site bloqueia robôs, adicione um grupo que permita o nosso token durante o rastreamento; nossa página do rastreador mostra as linhas exatas.
Páginas que o robots.txt proíbe são ignoradas e não são cobradas, então um arquivo restritivo não custa nada a mais; ele apenas deixa essas páginas de fora do llms.txt.
Quanto custa?
Um crédito por página lida, dois para páginas que precisam de navegador. Um site de documentação com 300 páginas custa 300 créditos, ou até 600 se for uma aplicação JavaScript. Isso cabe tranquilamente em 10.000 páginas por US$ 3,75, em outubro de 2026, e os créditos que sobram ficam na sua conta: eles nunca expiram.
Recrie o arquivo quando sua documentação mudar. Se você guardar a saída do rastreamento, pode reler apenas as páginas alteradas com um job em lote em vez de rastrear tudo de novo.
llms.txt: perguntas frequentes
Onde coloco o arquivo llms.txt?
Na raiz do seu site, para ser servido em /llms.txt, como texto simples ou Markdown. Alguns sites também publicam llms-full.txt com o texto completo das páginas listadas.
O llms.txt substitui o robots.txt?
Não. O robots.txt diz quais caminhos os robôs devem pular; o llms.txt lista páginas que você quer que os modelos encontrem. Mantenha os dois. Nosso guia do robots.txt explica a diferença.
O llms.txt fará o ChatGPT ou o Claude citarem meu site?
Não há evidência de que ele faça isso sozinho. O estudo da Ahrefs noticiado em julho de 2026 descobriu que 97% dos arquivos não receberam nenhuma requisição. Páginas claras, com respostas diretas e fatos datados, importam mais.
Posso gerar um llms.txt para o site de outra pessoa?
Apenas para seus próprios sites ou com o consentimento do proprietário. O arquivo fala pelo site, então publicá-lo cabe ao dono do site.
Fontes (2)
- Dados de adoção do llms.txt — Rankability (2026-09-18)
- Adoção do llms.txt cresce 8,8x, mas 97% dos arquivos não recebem nenhuma requisição de IA — PPC Land (2026-07-02)