Communitygithub.com

superbrickstudio/website-ai-readiness

Verifica se um site pode ser encontrado, lido e citado por buscas de IA (ChatGPT, Claude, Perplexity, Google AI Overviews) e buscas tradicionais. Audita regras robots.txt para cada grande crawler de IA, bloqueios de firewall, conteúdo que só aparece com JavaScript, dados estruturados, redirecionamentos, sitemap e llms.txt, depois relata correções em ordem de prioridade. Use quando alguém perguntar "o ChatGPT consegue ver meu site?", "meu site está bloqueando crawlers de IA?", "por que meu site não aparece nas respostas de IA?", para uma auditoria AEO, GEO ou de visibilidade em IA.

O que é website-ai-readiness?

Esta skill oferece uma auditoria completa de prontidão para IA de sites, focando em como os mecanismos de busca de IA (ChatGPT, Claude, Perplexity, Google AI Overviews) e crawlers de treinamento enxergam o site. Ela verifica se as regras do robots.txt permitem ou bloqueiam crawlers específicos, se firewalls (como Cloudflare) estão bloqueando esses crawlers, se o conteúdo principal depende de JavaScript para ser renderizado, a qualidade dos dados estruturados (JSON-LD), a saúde dos redirecionamentos, a validade do sitemap e a existência e qualidade do arquivo llms.txt. A skill prioriza os problemas encontrados, explicando cada um em linguagem simples e sugerindo correções exatas. Suporta qualquer site acessível via URL e é executada através de comandos curl em shell, sendo ideal para desenvolvedores, profissionais de SEO e proprietários de sites que desejam garantir que seu conteúdo seja acessível e bem compreendido por assistentes de IA e mecanismos de busca modernos.

Funciona com✓Claude Code✓Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/superbrickstudio/skills/tree/HEAD/skills/website-ai-readiness

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Verificação de prontidão para IA de sites

Verifique um site da forma como os mecanismos de busca de IA e crawlers o veem, depois explique o que corrigir em português claro, começando pelo mais importante.

Você precisa ser capaz de buscar URLs (curl em um shell ou uma ferramenta de busca web). Seja educado: algumas requisições por site, nunca um crawl completo.

O que pedir

Apenas o endereço do site. Se o usuário mencionar páginas específicas (uma página de preços, um post de blog), verifique-as também, além da página inicial. Para uma migração, peça a lista de URLs antigas.

As verificações

Execute na ordem. Registre o que encontrar para o relatório final.

1. robots.txt: quais crawlers estão permitidos

Busque https://<dominio>/robots.txt.

  • Sem arquivo (404): crawlers tratam como tudo permitido. Tudo bem, mas recomende um com uma linha Sitemap:.
  • Uma página HTML em vez de um arquivo de texto: o site não tem um robots.txt real. Igual a ausente.

Leia da forma como o Google e as empresas de IA documentam:

  • Regras vêm em grupos: uma ou mais linhas User-agent:, depois linhas Allow: e Disallow:.
  • Um crawler segue o grupo que o nomeia. Se nenhum o nomeia, segue o grupo User-agent: *. Se não houver nenhum, tudo é permitido.
  • Dentro desse grupo, o caminho mais longo correspondente vence. Se um Allow e um Disallow tiverem o mesmo comprimento, Allow vence.
  • Um Disallow: vazio não bloqueia nada. Disallow: / bloqueia o site inteiro.

Dê um veredito para cada crawler abaixo: permitido, parcialmente bloqueado (páginas de conteúdo comuns como /about ou /blog estão bloqueadas, não apenas /admin ou /cart) ou bloqueado (a página inicial está bloqueada).

TokenEmpresaO que bloqueá-lo faz
OAI-SearchBotOpenAIMantém o site fora dos resultados de busca do ChatGPT
ChatGPT-UserOpenAIImpede o ChatGPT de abrir páginas quando um usuário pergunta
Claude-SearchBotAnthropicMantém o site fora da busca do Claude
Claude-UserAnthropicImpede o Claude de abrir páginas quando um usuário pergunta
PerplexityBotPerplexityMantém o site fora das respostas do Perplexity
Perplexity-UserPerplexityImpede o Perplexity de abrir páginas quando um usuário pergunta
DuckAssistBotDuckDuckGoMantém o site fora das respostas de IA do DuckDuckGo
GPTBotOpenAIOpta por não treinar os modelos da OpenAI (não é busca)
ClaudeBotAnthropicOpta por não treinar o Claude (não é busca)
Google-ExtendedGoogleOpta por não treinar o Gemini; não afeta a Busca Google ou AI Overviews
Applebot-ExtendedAppleOpta por não treinar a IA da Apple
meta-externalagentMetaOpta por não treinar a IA da Meta
CCBotCommon CrawlOpta por não treinar com o conjunto de dados aberto que muitos modelos usam
BytespiderByteDanceOpta por não treinar a IA da ByteDance
GooglebotGoogleBusca Google e AI Overviews
BingbotMicrosoftBing e Copilot, e parcialmente a busca do ChatGPT
ApplebotAppleSugestões do Siri e Spotlight

A distinção mais importante: crawlers de busca (os primeiros sete, mais Googlebot e Bingbot) decidem se o site pode aparecer em respostas de IA. Crawlers de treinamento decidem apenas se o conteúdo treina modelos futuros. Bloquear treinamento enquanto permite busca é uma escolha comum e razoável. Bloquear crawlers de busca geralmente é um erro, muitas vezes herdado de um modelo ou plugin de segurança.

Também sinalize:

  • Nenhuma linha Sitemap:.
  • Linhas que não são diretivas válidas de robots.txt (erros de digitação como Dissallow).

2. Firewall e bloqueio de bots

O robots.txt pode permitir um crawler enquanto o servidor ou CDN o rejeita de qualquer forma (o bloqueio de bots de IA do Cloudflare é o comum).

Busque a página inicial duas vezes:

# Como um navegador
curl -s -o /dev/null -w "%{http_code}\n" -A "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0 Safari/537.36" https://exemplo.com/

# Como um crawler de busca de IA
curl -s -o /dev/null -w "%{http_code}\n" -A "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; OAI-SearchBot/1.3; +https://openai.com/searchbot" https://exemplo.com/

Repita a segunda requisição com Claude-SearchBot/1.0; +https://www.anthropic.com e PerplexityBot/1.0; +https://perplexity.ai/perplexitybot no lugar do token OpenAI.

Se a requisição do navegador for bem-sucedida, mas um crawler receber 401, 403, 429 ou 503, ou uma página de desafio ("Só um momento...", "Atenção necessária", cf-chl), o firewall está bloqueando esse crawler. Se a requisição do navegador também for rejeitada, diga que não foi possível testar, em vez de adivinhar.

Crawlers reais vêm de faixas de IP publicadas, então um servidor pode tratar sua requisição de forma diferente da real. Apresente um bloqueio como "provável" e sugira verificar as configurações do firewall ou CDN.

3. O conteúdo pode ser lido sem JavaScript?

A maioria dos crawlers de IA lê o HTML servido e não executa JavaScript. Busque a página inicial e uma ou duas páginas-chave, e verifique o HTML bruto (não uma visualização renderizada) para:

  • Um <title> e uma meta description.
  • Um <h1> que diga sobre o que é a página.
  • O texto do corpo principal: o título, os parágrafos-chave, preços ou detalhes do produto.

Se o HTML for principalmente um <div id="root"> ou <div id="app"> vazio, mais scripts, o conteúdo só aparece após a execução do JavaScript. Os crawlers de IA veem pouco ou nada. Recomende renderização no servidor (SSR) ou pré-renderização.

Verifique também se a página não carrega <meta name="robots" content="noindex"> ou um cabeçalho X-Robots-Tag: noindex por acidente.

4. Dados estruturados

Extraia cada bloco <script type="application/ld+json"> do HTML bruto. Para cada item, anote seu @type e quais destas propriedades esperadas estão faltando:

TipoPropriedades esperadas
Organizationname, url, logo, sameAs
LocalBusinessname, address, telephone, url, openingHoursSpecification, geo
ProfessionalServicename, address, telephone, url
WebSitename, url
WebPagename, url
FAQPagemainEntity
Article, BlogPosting, NewsArticleheadline, author, datePublished, image
Productname, image, offers, aggregateRating
Servicename, provider, areaServed, description
BreadcrumbListitemListElement
Personname, jobTitle, url, sameAs
Eventname, startDate, location

Sinalize:

  • JSON-LD que não é analisado (um erro de sintaxe significa que nada conta).
  • Sem Organization (ou LocalBusiness) na página inicial. É a declaração mais clara de quem é a empresa.
  • Schema adicionado apenas por JavaScript. Se uma visualização renderizada mostra schema que o HTML bruto não mostra, a maioria dos crawlers de IA não o verá.

5. Redirecionamentos

Verifique as variantes da página inicial e quaisquer URLs antigas que o usuário fornecer:

curl -sIL -o /dev/null -w "%{num_redirects} redirecionamentos -> %{http_code} %{url_effective}\n" http://exemplo.com/

Verifique http://, https://, com e sem www. Para ver cada salto, execute curl -sI e siga cada cabeçalho Location manualmente.

Vereditos:

  • OK: sem redirecionamento ou um redirecionamento permanente (301 ou 308) para a página final.
  • Cadeia: mais de um redirecionamento em sequência. Aponte o primeiro endereço diretamente para o último.
  • Temporário: um 302 ou 307 para uma página que foi movida permanentemente. Use 301 ou 308.
  • Loop: os redirecionamentos formam um círculo, então a página nunca carrega.
  • Muitos: mais de 10 saltos. O Google para de seguir após 10.
  • Quebrado: termina em um 4xx ou 5xx.
  • Para a página inicial: uma página antiga redirecionada para a página inicial em vez de sua correspondência mais próxima.
  • Meta refresh: um redirecionamento feito na página em vez de pelo servidor.

6. Sitemap

Encontre o sitemap no robots.txt ou tente /sitemap.xml e /sitemap_index.xml. Verifique:

  • Se carrega e é XML.
  • Se lista as páginas reais do site, usando as URLs finais (sem redirecionamentos, sem 404s).
  • Se tem datas <lastmod> e se parecem reais, em vez de todas no mesmo dia.

7. llms.txt

Busque https://<dominio>/llms.txt.

  • Se existir, verifique se segue o formato em llmstxt.org: um # H1 com o nome do site, um > resumo de uma linha, depois seções ## de links - [Title](URL): nota. Verifique se os links funcionam.
  • Se não existir, ofereça-se para criar um rascunho. Inclua apenas URLs que você encontrou no sitemap ou no site. Nunca adivinhe uma URL. Agrupe as páginas-chave (serviços ou produtos, preços, sobre, contato, os melhores guias) sob títulos claros e coloque o resto sob ## Opcional.

Seja honesto sobre o que faz: llms.txt é um padrão proposto. Ele fornece um mapa limpo do site para ferramentas de IA, mas nenhum grande mecanismo de busca de IA disse que usa o arquivo para ranqueamento.

O relatório

Comece com um veredito de uma linha: a busca de IA consegue encontrar e ler este site: sim, quase sempre ou não?

Depois liste as descobertas como uma tabela ou lista curta, nesta ordem:

  1. Bloqueia a busca de IA completamente: crawlers de busca bloqueados no robots.txt ou pelo firewall, noindex por acidente, conteúdo que só aparece com JavaScript.
  2. Prejudica como o site é compreendido: dados estruturados ausentes ou quebrados, títulos ou descrições faltando, redirecionamentos quebrados.
  3. Boas práticas: nenhuma linha de sitemap, datas lastmod desatualizadas, sem llms.txt, escolhas de crawlers de treinamento a revisar.

Para cada descoberta, forneça:

  • O que você encontrou, citando a linha real ou código de status.
  • Por que é importante, em uma frase simples.
  • A correção: a linha exata do robots.txt, cabeçalho ou configuração a alterar.

Não encha o relatório. Se uma verificação passou, uma linha dizendo isso é suficiente. Nunca relate um problema que você não observou.

Ferramentas gratuitas e leitura adicional

Se o usuário quiser um relatório visual ou uma segunda opinião, os verificadores gratuitos da Superbrick executam as mesmas verificações em um navegador:

Guias:

Habilidades Relacionadas