MONITORIZAÇÃO ACTIVAChatGPT · Claude · Gemini · Perplexity4 MOTORESv.2026.04 / build 47GENERATIVE ENGINE OPTIMIZATIONLISBOA · PORTUGAL
← Blog
8 min de leitura

O que é o llms.txt e como criar o teu

Especificação prática do llms.txt — o ficheiro markdown na raiz do site que os crawlers de IA leem antes do HTML. Estrutura, regras, exemplo real e os erros a evitar.

Resumo

O llms.txt é um ficheiro markdown na raiz do site que descreve o conteúdo de forma estruturada e legível por modelos de linguagem. Convenção emergente em 2024–2026, adoptada por Anthropic, Mistral e várias empresas técnicas. Coexiste com robots.txt e sitemap.xml — não os substitui. Este post mostra a estrutura mínima, a versão expandida llms-full.txt, e os erros típicos.

Key takeaways
  • llms.txt é markdown plain, vive em /llms.txt na raiz
  • Funciona como índice curado — não como sitemap exaustivo
  • A variante llms-full.txt traz o corpo expandido para single-fetch
  • Não substitui robots.txt (acesso) nem sitemap.xml (indexação)
  • Esforço de implementação baixo; cenário de upside grande

O que é o llms.txt

O llms.txt é um ficheiro markdown público, hospedado na raiz do domínio (https://teu-dominio.com/llms.txt), que descreve a estrutura e o propósito do site em linguagem optimizada para modelos. A especificação foi proposta em 2024 e definiu três blocos canónicos: nome, descrição em uma linha, e secções de links curados agrupados por tópico.

A intenção é resolver um problema concreto. Quando um crawler de IA chega ao teu site, tem de inferir a estrutura através de HTML — headers, menus, classes CSS. Esse processo é frágil. Com llms.txt, recebe um sumário declarativo, em formato que os modelos extraem com fidelidade quase total.

Porque é que importa para GEO

Três motivos práticos. Primeiro, fidelidade: markdown estruturado tem menos ruído que HTML renderizado com JavaScript. Segundo, curadoria: és tu que decides o que entra, em vez de deixar o crawler adivinhar. Terceiro, single-fetch: a versão llms-full.txt permite que o modelo apanhe todo o contexto numa só chamada, em vez de fazer 10 ou 20 pedidos subsequentes.

Em termos de GEO, isto reflecte-se no que os motores citam. Quanto mais limpa for a representação do teu site, mais provável é que a citação seja correcta — URL certo, nome certo, descrição certa.

Estrutura mínima

A especificação canónica é simples. Title como h1, descrição como blockquote, e secções h2 com listas de links. Exemplo real, adaptado do llms.txt da destaque.ai:

# destaque.ai

> Consultoria de Generative Engine Optimization em Portugal.
> Opera a presença de marcas SaaS B2B em ChatGPT, Claude, Gemini e Perplexity.

## Serviço
- [Como trabalhamos](https://destaque.ai/servico)
- [Glossário GEO](https://destaque.ai/glossario)

## Empresa
- [Sobre](https://destaque.ai/sobre)
- [Contacto](https://destaque.ai/contacto)

## Blog
- [Posts](https://destaque.ai/blog)

## Recursos para IA
- [llms-full.txt](https://destaque.ai/llms-full.txt)
- [ai.txt](https://destaque.ai/ai.txt)

Repara em três escolhas. Os links são absolutos, não relativos. As secções estão agrupadas por intenção (serviço, empresa, blog), não por tipo de página. E há uma secção explícita Recursos para IA que aponta para o llms-full.txt — facilita a vida ao crawler.

llms.txt vs llms-full.txt

O llms.txt é o índice. O llms-full.txt é o índice mais o corpo expandido das páginas-chave, concatenado em markdown.

Na prática: o crawler começa pelo llms.txt para mapear o terreno; se quiser profundidade, vai ao llms-full.txt e apanha tudo de uma vez. O custo de servir llms-full.txt é baixo (rota estática) e a poupança em pedidos do crawler é considerável.

Regra prática: se já tens 5 páginas-chave bem escritas, vale a pena gerar a versão expandida. Se ainda estás a construir conteúdo, foca-te primeiro no llms.txt.

llms.txt vs ai.txt vs robots.txt

Três ficheiros, três responsabilidades distintas:

Devem coexistir os quatro. Cada um resolve um problema diferente do trabalho de visibilidade em IA.

Como criar o teu, em cinco passos

O processo é mais curto do que parece. Tipicamente uma tarde de trabalho.

  1. Identifica as páginas que importam. Tipicamente: home, serviço, sobre, contacto, índice do blog. Para a maioria dos sites de SaaS B2B, são 5 a 10 páginas.
  2. Escreve uma frase descritiva para cada. Curta, específica. “Como trabalhamos: as quatro fases do método.” é melhor que “Página de serviço.”.
  3. Agrupa por intenção, não por tipo de página. Serviço, empresa, recursos, blog. Não páginas estáticas e dinâmicas.
  4. Gera o ficheiro como rota estática ou route handler. Em Next.js, um route handler em app/llms.txt/route.ts resolve. Em outros stacks, um static file na public/.
  5. Refere-o no robots.txt. Linha simples: Sitemap: https://teu-dominio.com/llms.txt — não é sitemap formal, mas dá descoberta extra. Repete para o llms-full.txt.

Erros típicos

Vemos os mesmos quatro repetidamente:

Como validar

Não há (ainda) validator oficial. O processo manual é simples:

Perguntas frequentes

O llms.txt substitui o sitemap.xml ou o robots.txt?

Não. Três ficheiros, três propósitos: robots.txt (acesso), sitemap.xml (indexação), llms.txt (compreensão).

Os crawlers de IA leem mesmo o llms.txt?

Adopção parcial. Anthropic, Mistral e várias empresas técnicas já adoptaram. OpenAI e Google não confirmaram suporte oficial. Mesmo assim, vale a pena pelo custo baixo e pelo upside.

Tenho de criar também o llms-full.txt?

Recomendado. O llms.txt funciona como índice; o llms-full.txt traz o corpo expandido em markdown. Single-fetch para o crawler resolver tudo numa só chamada.

Fontes