Sitemap e robots
O sitemap.xml e o robots.txt que o Blume escreve para os crawlers, e a linha Content-Signal que diz aos crawlers de IA como eles podem usar sua documentação.
Crawlers de busca e crawlers de IA começam pelos mesmos dois arquivos na raiz do seu site. O Blume escreve os dois a cada build, e o robots.txt carrega os sinais de uso de conteúdo que os crawlers de IA procuram, então é aqui que o lado da busca e o lado dos agentes da descobribilidade se encontram.
Sitemap
O Blume escreve um sitemap.xml com todas as páginas indexáveis no momento do build. Ele precisa de um deployment.site absoluto e lista todas as páginas exceto rascunhos, ocultas, páginas com noindex e páginas cujo seo.canonical aponta para outra URL. Em um site versionado, páginas arquivadas cuja canonical aponta para o equivalente ativo também ficam de fora — a página ativa é a que deve ser indexada. Ativado por padrão:
seo: {
sitemap: true,
}
Links alternativos de idioma
Ative links alternativos no sitemap de um site multilíngue:
seo: {
sitemap: { alternates: true },
}
Cada página traduzida lista suas traduções, incluindo ela mesma, como elementos xhtml:link, além de um link x-default quando o locale padrão tem a página. São os mesmos links hreflang que o head da página carrega: uma tradução com noindex, oculta ou com canonical apontando para outro lugar não aparece em nenhum dos dois. Uma página presente em menos de dois locales listados não recebe links alternativos. As URLs incluem a base do deployment. sitemap: true e sitemap: {} mantêm os links alternativos desativados; sitemap: false desativa o sitemap.
Envie seu próprio public/sitemap.xml para assumir o controle — o Blume nunca sobrescreve um arquivo que você coloca em public/.
Robots
O Blume escreve um robots.txt que permite todos os crawlers, declara seus content signals e adiciona uma linha Sitemap: apontando para o sitemap quando houver um disponível. Ativado por padrão:
seo: {
robots: true,
}
User-agent: *
Content-Signal: search=yes, ai-input=yes, ai-train=yes
Allow: /
Sitemap: https://docs.example.com/sitemap.xml
Content signals
A linha Content-Signal — a convenção emergente de uso de conteúdo — declara como os crawlers de IA podem reutilizar sua documentação. O Blume a emite ativada por padrão, com todos os sinais definidos como yes, refletindo sua postura de que a documentação está aberta tanto para humanos quanto para agentes:
search— indexação de busca tradicional e por IAaiInput— grounding / RAG no momento da respostaaiTrain— treinamento de modelos
Restrinja qualquer sinal definindo-o como false; os que você deixar de fora continuam como yes:
agents: {
contentSignals: {
aiTrain: false, // opt out of training, keep search + grounding
},
}
User-agent: *
Content-Signal: search=yes, ai-input=yes, ai-train=no
Allow: /
Defina contentSignals: false para remover a declaração por completo:
agents: {
contentSignals: false,
}
agents.contentSignals?boolean | object
Declaração Content-Signal. true ou omitido emite todos os sinais como yes; false remove a linha; um objeto define os sinais individualmente.
boolean | objectcontentSignals.search?boolean
Permite o uso para indexação de busca (search). Padrão true.
booleancontentSignals.aiInput?boolean
Permite o uso para grounding / RAG de IA no momento da resposta (ai-input). Padrão true.
booleancontentSignals.aiTrain?boolean
Permite o uso para treinamento de modelos de IA (ai-train). Padrão true.
booleanContent signals expressam uma preferência, não controle de acesso: eles dizem aos crawlers bem-comportados como você gostaria que seu conteúdo fosse usado, e cabe ao crawler respeitá-los. A mesma política é espelhada como contentUsage no manifesto de legibilidade para agentes, então um agente que nunca lê o robots.txt mesmo assim a enxerga.
Envie seu próprio public/robots.txt para assumir o controle.