Saltar para o conteúdo
Blume
Esc
↑↓navegar↵abrir⌘Jpré-visualizar
Nesta página

Auditoria

blume audit rastreia o site gerado e reporta problemas de SEO e de saúde do site — cada achado indica o arquivo-fonte e a linha do front matter que o corrige.

blume validate lê o seu conteúdo; blume audit lê o site gerado. Ele rastreia o HTML em dist/ depois de um build e reporta problemas de SEO e de saúde do site: títulos, meta descriptions, canonicals, cards do Open Graph e do X, headings, hreflang, imagens, o sitemap, robots.txt e dados estruturados.

Como foi o Blume que gerou o site, cada achado indica o arquivo-fonte e a linha do front matter que o corrige, e não só a URL que um crawler veria:

⚠ Meta description too long or too short   5 pages
    /docs/configuration/export    content/docs/configuration/export.mdx:3
    fix: Rewrite `description` in the frontmatter to fit the length range.

Rode depois de um build:

blume build
blume audit

Os achados são agrupados por verificação em vez de listados por página, então o relatório funciona como uma lista de tarefas. Use --verbose para expandir cada página afetada com todos os detalhes, e --only/--skip para trabalhar uma categoria de cada vez. blume audit --list-checks imprime o catálogo completo, que também é o catálogo de verificações no fim desta página. O docsUrl de cada achado aponta para a entrada correspondente lá.

Flags

  • --fail-on error|warning|info: o gate de CI. Sai com código diferente de zero a partir dessa severidade. O padrão é error; --strict é um alias para --fail-on warning.
  • --url <origin>: também sonda um deploy ao vivo para verificar códigos de status, headers de resposta e redirecionamentos configurados.
  • --external: sonda os links externos pela rede.
  • --ignore <glob>: junto com --external, não sonda um link externo cuja URL corresponda ao glob, como --ignore "https://api.acme.example/**". Repita a flag para adicionar mais padrões. A correspondência funciona do mesmo jeito que em blume validate --ignore, e os links internos são sempre verificados.
  • --only <check|category> / --skip <check|category>: restringe o relatório a essas verificações ou categorias, ou as exclui dele (separadas por vírgula). A contagem da auditoria no resumo considera só as verificações que continuam incluídas. Um termo que não corresponde a nenhuma verificação ou categoria gera um erro que sugere a mais próxima, então um erro de digitação não esvazia o relatório sem você perceber.
  • --list-checks: imprime todas as verificações que a auditoria pode reportar e sai.
  • --verbose: lista cada página afetada com o detalhe completo de cada achado, em vez de só as primeiras.
  • --json: emite o relatório como JSON no stdout.
  • --codex / --claude: passa os achados para o Codex ou o Claude Code corrigirem de forma interativa.

Fazendo o CI falhar

O código de saída é o contrato. Por padrão, blume audit só falha em erros, ou seja, coisas que com certeza estão quebradas, como um link para uma página que nunca foi gerada, um loop de redirecionamento ou um sitemap inválido. Achados consultivos (uma description curta, um título duplicado) são avisos e não fazem o build falhar:

blume audit                      # fails on errors
blume audit --fail-on warning    # also fails on warnings

Verificando um deploy ao vivo

Algumas coisas só o servidor real consegue dizer: se uma página que existe em dist/ na verdade retorna 404 por causa de um rewrite errado, se as respostas estão comprimidas, se um header X-Robots-Tag está desindexando silenciosamente uma página cujo HTML parece perfeitamente normal e se cada URL antiga em redirects realmente redireciona para onde você configurou. Aponte a auditoria para um deploy para adicionar essas verificações:

blume audit --url https://docs.example.com
blume audit --url https://docs.example.com --external   # also probe outbound links

Essas requisições saem como as de um cliente HTTP comum, e não como as de um crawler: a auditoria não envia o user agent do Googlebot nem o de um crawler de IA, já que a proteção contra bots de um host pode bloquear um cliente que finge ser um deles. Uma regra de firewall ou de CDN que trata crawlers de forma diferente não é testada, então verifique-a com as ferramentas do próprio crawler, como a Inspeção de URL do Google Search Console.

A auditoria faz uma requisição para a URL antiga de cada redirecionamento exato (um padrão não indica uma URL única para requisitar). Se ela retornar 404, é um erro. Se responder 200, é um aviso: um host que não lê o arquivo de redirecionamentos que o build gerou serve ali a página de meta refresh do build em vez de um redirecionamento HTTP, e os leitores seguem essa página, mas os crawlers talvez não. Veja Redirecionamentos para saber o que cada host lê.

Os links externos são classificados, em vez de simplesmente reprovados. Um 404 ou 410, ou um nome de host que não resolve, é um link quebrado que você pode corrigir. Já qualquer outro status de erro (um 401 ou 403 de um site que barra bots, um 429, um 5xx), uma conexão recusada ou um tempo esgotado geralmente é rate limiting ou uma instabilidade no site de outra pessoa, e é reportado como aviso. Use --ignore para deixar de fora as URLs que a auditoria não consegue verificar de onde ela roda, como um domínio de exemplo ou um servidor local.

Corrigindo os achados com um agente

Se você usa o Codex ou o Claude Code, a auditoria pode passar os achados direto para ele:

blume audit --codex   # or --claude

Isso grava o relatório JSON completo em um arquivo, com todas as páginas afetadas e não só a prévia de três páginas do terminal. Depois, abre o agente de forma interativa com um prompt que o guia pelos achados: editar o arquivo-fonte que cada achado indica, aplicar a correção sugerida e rodar blume build e blume audit de novo até o relatório ficar limpo. A sessão é interativa de propósito: você revisa as edições pelo próprio fluxo de permissões do agente, e o agente é instruído a nunca corrigir um achado apagando conteúdo.

--only e --skip restringem o que é repassado ao agente da mesma forma que restringem o relatório, então você pode enviar uma categoria de cada vez.

O que é e o que não é verificado

O conjunto de verificações é propositalmente mais enxuto que o de um crawler de SEO de uso geral. Boa parte do que um crawler desses reporta não tem como acontecer em um site Blume. Ele nunca emite rel=nofollow, e os bundles do Vite com hash de conteúdo nunca estão faltando nem redirecionam. Reportar isso como zeros permanentes só ensinaria você a ignorar o relatório.

Limites que vale deixar claros:

  • Dados estruturados são validados quanto à boa formação (JSON válido, um @context, um @type em cada nó). O Blume não valida contra o vocabulário completo do schema.org nem contra as regras de rich results do Google.
  • Contraste é verificado para as cores que a configuração do seu tema define, e não elemento por elemento. A auditoria não renderiza as páginas, então uma cor que você escreve à mão no MDX ou no theme.css não é medida.
  • Core Web Vitals não são verificados. Eles precisam de um navegador de verdade, e uma flag que silenciosamente não medisse nada seria pior do que não ter flag nenhuma. Por isso, blume audit reporta as causas de layout shift que consegue ver offline (imagens sem width/height, assets grandes demais) e deixa o resto de lado por enquanto.

Tudo o que a auditoria não executou é reportado como ignorado, em vez de passar silenciosamente:

⊘ network      skipped — pass --url <origin> (12 checks)
⊘ external     skipped — pass --external (2 checks)

Catálogo de verificações

Todas as verificações que blume audit pode reportar, agrupadas por categoria, com a severidade padrão, o nível em que rodam e a correção que o relatório sugere. --only e --skip aceitam esses ids (sem o prefixo BLUME_AUDIT_ também funciona) ou a chave de uma categoria. A chave nem sempre é igual ao heading da categoria, então use esta tabela: blume audit --only i18n, e não --only Internationalization.

Categoria Chave
Acessibilidade accessibility
Conteúdo content
Duplicados duplicates
Indexabilidade indexability
Links links
Redirecionamentos redirects
Cards sociais social
Internacionalização i18n
Assets assets
Sitemap sitemap
robots.txt robots
Descoberta por IA ai
Dados estruturados structured-data
Deploy ao vivo network

Conteúdo

Tag title ausente ou vazia

BLUME_AUDIT_TITLE_MISSING · erro · a partir do HTML gerado

Correção: adicione um title ao frontmatter da página.

Várias tags title

BLUME_AUDIT_TITLE_MULTIPLE · erro · a partir do HTML gerado

Correção: remova o <title> extra do layout ou do MDX da página.

Título longo ou curto demais

BLUME_AUDIT_TITLE_LENGTH · aviso · a partir do HTML gerado

Correção: reescreva o title no frontmatter para que fique dentro da faixa de tamanho.

Meta description ausente ou vazia

BLUME_AUDIT_DESCRIPTION_MISSING · aviso · a partir do HTML gerado

Correção: adicione uma description ao frontmatter da página.

Várias tags meta description

BLUME_AUDIT_DESCRIPTION_MULTIPLE · erro · a partir do HTML gerado

Correção: remova o <meta> de description extra do layout ou do MDX da página.

Meta description longa ou curta demais

BLUME_AUDIT_DESCRIPTION_LENGTH · aviso · a partir do HTML gerado

Correção: reescreva a description no frontmatter para que fique dentro da faixa de tamanho.

Tag H1 ausente ou vazia

BLUME_AUDIT_H1_MISSING · aviso · a partir do HTML gerado

Correção: dê um title à página. O Blume o renderiza como o <h1> da página.

Várias tags H1

BLUME_AUDIT_H1_MULTIPLE · aviso · a partir do HTML gerado

Correção: rebaixe o # Heading extra no corpo para ##. O Blume já renderiza o title como h1.

Poucas palavras

BLUME_AUDIT_LOW_WORD_COUNT · info · a partir do HTML gerado

Correção: expanda a página ou incorpore-a a uma página maior.

Níveis de heading pulados (ex.: de h2 para h4)

BLUME_AUDIT_HEADING_SKIP · info · a partir do HTML gerado

Correção: ajuste o heading para o nível imediatamente abaixo. Níveis pulados quebram o aninhamento do sumário e a estrutura lida por leitores de tela.

Página com data no futuro

BLUME_AUDIT_FUTURE_DATED_PAGE · info · a partir do HTML gerado

Correção: corrija a date ou segure a página até o momento em que ela deve ir ao ar.

Viewport não definido

BLUME_AUDIT_VIEWPORT_MISSING · erro · a partir do HTML gerado

Correção: restaure o <meta> de viewport no seu layout ejetado.

Duplicados

Título duplicado

BLUME_AUDIT_DUPLICATE_TITLE · aviso · a partir do HTML gerado

Correção: dê a cada página um title diferente. Os mecanismos de busca o mostram como o título do resultado.

Meta description duplicada

BLUME_AUDIT_DUPLICATE_DESCRIPTION · aviso · a partir do HTML gerado

Correção: dê a cada página uma description diferente.

Páginas duplicadas sem canonical

BLUME_AUDIT_DUPLICATE_CONTENT · aviso · a partir do HTML gerado

Correção: mescle as páginas ou, em todas menos uma, aponte seo.canonical para a página que deve ser indexada.

Indexabilidade

deployment.site não está definido

BLUME_AUDIT_SITE_NOT_SET · aviso · a partir do HTML gerado

Correção: defina deployment.site no blume.config.ts com a URL pública do site.

deployment.site é inferido no momento do deploy

BLUME_AUDIT_SITE_INFERRED_AT_DEPLOY · info · a partir do HTML gerado

Correção: audite um build parecido com o de produção (ex.: VERCEL=1 VERCEL_PROJECT_PRODUCTION_URL=<host> blume build) ou o próprio deploy com --url <origin>. Não fixe deployment.site no código, porque a plataforma o define a cada deploy.

Página é noindex, mas declara um canonical

BLUME_AUDIT_CANONICAL_ON_NOINDEX · aviso · a partir do HTML gerado

Correção: remova o canonical das páginas noindex. O Google trata essa combinação como contraditória e pode ignorar um dos dois.

Página de rascunho está no build

BLUME_AUDIT_DRAFT_PAGE_PUBLISHED · aviso · a partir do HTML gerado

Correção: gere o build de novo sem --preview antes de fazer o deploy, ou remova draft: true se a página já estiver pronta para ser publicada.

URL canonical ausente

BLUME_AUDIT_CANONICAL_MISSING · aviso · a partir do HTML gerado

Correção: defina deployment.site para que o Blume possa emitir URLs canonical absolutas.

Página não canônica

BLUME_AUDIT_CANONICAL_NOT_SELF · info · a partir do HTML gerado

Correção: aponte seo.canonical para esta página, ou remova-o para usar o canonical autorreferente padrão.

Canonical aponta para uma página quebrada ou que redireciona

BLUME_AUDIT_CANONICAL_BAD_TARGET · erro · a partir do HTML gerado

Correção: aponte seo.canonical para uma página que existe e não redireciona.

Protocolo do canonical não corresponde ao do site

BLUME_AUDIT_CANONICAL_PROTOCOL_MISMATCH · erro · a partir do HTML gerado

Correção: use em seo.canonical o mesmo protocolo de deployment.site.

Página não é indexável

BLUME_AUDIT_ROBOTS_META_UNEXPECTED · info · a partir do HTML gerado

Correção: remova noindex do frontmatter da página se ela deve ser indexada.

Página excede o limite de rastreamento de 2 MB do Googlebot

BLUME_AUDIT_HTML_TOO_LARGE · erro · a partir do HTML gerado

Correção: divida a página. O Googlebot para de ler um documento HTML em 2 MB.

Header X-Robots-Tag conflita com a meta robots da página

BLUME_AUDIT_ROBOTS_HEADER_CONFLICT · erro · requer --url

Correção: remova o header X-Robots-Tag ou alinhe-o com a meta robots da página.

BLUME_AUDIT_LINK_TO_BROKEN · erro · a partir do HTML gerado

Correção: corrija o destino do link ou crie a página para a qual ele aponta.

Com deployment.base, um link relativo à raiz sem a base é reportado aqui, já que o host não serve nada deste build nesse caminho. Uma URL completa no mesmo host, mas fora da base, não é reportada: é assim que uma página aponta para outro app que o host serve ao lado da documentação.

BLUME_AUDIT_LINK_TO_REDIRECT · aviso · a partir do HTML gerado

Correção: aponte o link direto para o destino, sem passar pelo redirecionamento.

Página órfã (acessível só pela navegação)

BLUME_AUDIT_ORPHAN_PAGE · aviso · a partir do HTML gerado

Correção: adicione um link para esta página no corpo de uma página relacionada.

BLUME_AUDIT_INTERNAL_LINK_ABSOLUTE · aviso · a partir do HTML gerado

Correção: use um caminho relativo à raiz (/docs/x) para que o link continue funcionando em previews e com basePath.

BLUME_AUDIT_INTERNAL_LINK_NOFOLLOW · info · a partir do HTML gerado

Correção: remova rel="nofollow", porque ele impede que esta página transmita autoridade internamente.

Barra dupla na URL

BLUME_AUDIT_DOUBLE_SLASH_URL · erro · a partir do HTML gerado

Correção: verifique basePath / deployment.base. Uma barra no final de um deles produz //.

Fragmento do link não corresponde a nenhum id na página de destino

BLUME_AUDIT_ANCHOR_BROKEN · aviso · a partir do HTML gerado

Correção: aponte o fragmento para um heading que existe na página de destino, ou corrija o heading ao qual ele se referia.

URL contém maiúsculas, underscores ou espaços

BLUME_AUDIT_URL_STYLE · info · a partir do HTML gerado

Correção: renomeie o arquivo-fonte para um slug em minúsculas e com hifens. Se a URL antiga já tiver sido publicada, adicione um redirecionamento a partir dela.

Redirecionamentos

Redirecionamento quebrado

BLUME_AUDIT_REDIRECT_BROKEN · erro · a partir do HTML gerado

Correção: aponte o redirecionamento para uma página que existe.

Loop de redirecionamento

BLUME_AUDIT_REDIRECT_LOOP · erro · a partir do HTML gerado

Correção: quebre o ciclo em redirects, porque ele nunca se resolve.

Cadeia de redirecionamentos

BLUME_AUDIT_REDIRECT_CHAIN · aviso · a partir do HTML gerado

Correção: aponte cada salto direto para o destino final.

Redirecionamento por meta refresh

BLUME_AUDIT_META_REFRESH · aviso · a partir do HTML gerado

Correção: use um redirecionamento de verdade no blume.config.ts em vez de um meta refresh.

Origem do redirecionamento também é uma página real

BLUME_AUDIT_REDIRECT_SOURCE_IS_PAGE · erro · a partir do HTML gerado

Correção: remova o redirecionamento ou apague a página que ele encobre. Um caminho não pode ser as duas coisas, e o que os leitores recebem depende do host.

Redirecionamento de HTTPS para HTTP

BLUME_AUDIT_REDIRECT_TO_HTTP · erro · requer --url

Correção: redirecione para a URL HTTPS.

Site ao vivo não redireciona como configurado

BLUME_AUDIT_REDIRECT_NOT_SERVED · erro · requer --url

Correção: faça o deploy do arquivo de redirecionamentos que o seu host lê (veja Redirecionamentos na documentação de deploy) ou indique o host em deployment.

Vira um aviso quando a URL antiga responde 200 (a página de meta refresh) ou redireciona para um lugar diferente do destino configurado.

Cards sociais

Tags Open Graph ausentes ou incompletas

BLUME_AUDIT_OG_INCOMPLETE · aviso · a partir do HTML gerado

Correção: adicione uma description. O Blume preenche o resto das tags Open Graph para você.

Imagem Open Graph ausente

BLUME_AUDIT_OG_IMAGE_MISSING · aviso · a partir do HTML gerado

Correção: defina deployment.site para ativar as imagens OG geradas, ou defina seo.image na página.

Imagem Open Graph não está no build

BLUME_AUDIT_OG_IMAGE_BROKEN · aviso · a partir do HTML gerado

Correção: aponte seo.image para um arquivo que existe, ou gere o build de novo. Uma og:image quebrada aparece como um card em branco em todo lugar em que a página for compartilhada.

Imagem Open Graph pequena demais para cards grandes

BLUME_AUDIT_OG_IMAGE_SMALL · aviso · a partir do HTML gerado

Correção: use uma imagem de pelo menos 1200×630. Imagens menores ficam borradas ou são cortadas em layouts de card pequeno.

URL do Open Graph não corresponde ao canonical

BLUME_AUDIT_OG_URL_MISMATCH · aviso · a partir do HTML gerado

Correção: alinhe o og:url com a URL canonical da página.

Card do X (Twitter) ausente ou incompleto

BLUME_AUDIT_TWITTER_CARD_INCOMPLETE · aviso · a partir do HTML gerado

Correção: defina seo.x.handle no blume.config.ts para que o X possa atribuir a autoria do card.

Internacionalização

Atributo lang do HTML ausente

BLUME_AUDIT_HTML_LANG_MISSING · erro · a partir do HTML gerado

Correção: restaure o atributo lang no <html> do seu layout ejetado.

Atributo lang do HTML inválido

BLUME_AUDIT_HTML_LANG_INVALID · erro · a partir do HTML gerado

Correção: use uma tag BCP 47 válida (ex.: en, en-GB) para o locale.

Hreflang e lang do HTML não correspondem

BLUME_AUDIT_HREFLANG_LANG_MISMATCH · erro · a partir do HTML gerado

Correção: o <html lang> da página deve corresponder à anotação hreflang dela mesma.

Anotação hreflang inválida

BLUME_AUDIT_HREFLANG_INVALID · erro · a partir do HTML gerado

Correção: use uma tag BCP 47 válida na anotação hreflang.

Anotação hreflang autorreferente ausente

BLUME_AUDIT_HREFLANG_SELF_MISSING · aviso · a partir do HTML gerado

Correção: o conjunto de hreflang de uma página deve incluir uma autorreferência.

Anotação hreflang x-default ausente

BLUME_AUDIT_HREFLANG_XDEFAULT_MISSING · info · a partir do HTML gerado

Correção: adicione um alternate x-default apontando para a página do locale padrão.

Hreflang recíproco ausente (sem tag de retorno)

BLUME_AUDIT_HREFLANG_NO_RETURN_TAG · erro · a partir do HTML gerado

Correção: cada página de um grupo hreflang deve ter um link de volta para todas as outras.

Hreflang aponta para uma página quebrada, que redireciona ou não canônica

BLUME_AUDIT_HREFLANG_BAD_TARGET · erro · a partir do HTML gerado

Correção: aponte o alternate hreflang para uma página que existe e é canônica.

Grupo hreflang tem um conflito de idioma

BLUME_AUDIT_HREFLANG_CONFLICT · erro · a partir do HTML gerado

Correção: cada idioma de um grupo hreflang deve indicar exatamente uma página.

Acessibilidade

Estas verificações rodam na configuração do seu tema, e não em cada página: uma cor do tema é uma escolha única para o site inteiro. A verificação resolve as cores do mesmo jeito que o build (o tom de um preset para cada modo, e rótulos brancos ou escuros sobre preenchimentos) e mede cada cor de texto que o tema desenha em relação à razão de contraste WCAG AA para texto de corpo, 4,5:1, nos modos claro e escuro.

Cores do tema não atingem o contraste WCAG AA

BLUME_AUDIT_THEME_CONTRAST_LOW · aviso · a partir da configuração do tema

Correção: escolha um tom mais escuro para o modo claro ou um mais claro para o modo escuro, definindo cada modo com theme.accent: { light, dark }.

Ela verifica o texto na cor de destaque sobre a página, os rótulos sobre preenchimentos de destaque e de action, e o texto de corpo e secundário sobre um background personalizado. Cada achado indica o par, o modo e a razão de contraste.

Não é possível verificar o contraste de uma cor do tema

BLUME_AUDIT_THEME_COLOR_UNCHECKED · info · a partir da configuração do tema

Correção: escreva a cor em hex, rgb(), hsl(), hwb(), lab(), lch(), oklab(), oklch() ou como uma cor nomeada para que o contraste dela possa ser verificado.

Assets

Texto alternativo ausente

BLUME_AUDIT_IMAGE_ALT_MISSING · aviso · a partir do HTML gerado

Correção: adicione um texto alt descritivo, ou alt="" se a imagem for decorativa.

Imagem quebrada

BLUME_AUDIT_IMAGE_BROKEN · erro · a partir do HTML gerado

Correção: corrija o caminho da imagem ou adicione o arquivo em public/.

Arquivo de asset grande demais

BLUME_AUDIT_ASSET_TOO_LARGE · aviso · a partir do HTML gerado

Correção: comprima o asset ou sirva um formato moderno (WebP/AVIF).

Imagem sem width/height

BLUME_AUDIT_IMAGE_MISSING_DIMENSIONS · aviso · a partir do HTML gerado

Correção: defina width e height para que o navegador possa reservar espaço (evita layout shift).

Script, estilo ou asset referenciado não está no build

BLUME_AUDIT_SUBRESOURCE_MISSING · erro · a partir do HTML gerado

Correção: corrija a referência ou restaure o arquivo que está faltando.

Conteúdo misto HTTPS/HTTP

BLUME_AUDIT_MIXED_CONTENT · erro · a partir do HTML gerado

Correção: carregue o sub-recurso via HTTPS. Os navegadores bloqueiam conteúdo misto.

Sitemap

Página indexável fora do sitemap

BLUME_AUDIT_INDEXABLE_PAGE_NOT_IN_SITEMAP · aviso · a partir do HTML gerado

Correção: remova draft/hidden/noindex do frontmatter da página se ela deve ser indexada. Um public/sitemap.xml substitui o sitemap gerado, então adicione a página nele ou apague esse arquivo.

Página noindex no sitemap

BLUME_AUDIT_NOINDEX_IN_SITEMAP · erro · a partir do HTML gerado

Correção: uma página noindex não deve ser anunciada no sitemap.

Página não canônica no sitemap

BLUME_AUDIT_NON_CANONICAL_IN_SITEMAP · erro · a partir do HTML gerado

Correção: liste só URLs canônicas no sitemap.

Sitemap indica uma página que não existe ou que redireciona

BLUME_AUDIT_SITEMAP_BAD_URL · erro · a partir do HTML gerado

Correção: remova a URL do sitemap ou gere a página que ele indica.

Sitemap tem erro de sintaxe ou formato incorreto

BLUME_AUDIT_SITEMAP_INVALID · erro · a partir do HTML gerado

Correção: sitemaps devem ser XML válido no formato urlset ou sitemap index do sitemaps.org.

Sitemap excede 50 MB ou 50.000 URLs

BLUME_AUDIT_SITEMAP_TOO_LARGE · erro · a partir do HTML gerado

Correção: divida o sitemap. Os limites são 50 MB e 50.000 URLs.

lastmod do sitemap é inválido ou está no futuro

BLUME_AUDIT_SITEMAP_LASTMOD_INVALID · aviso · a partir do HTML gerado

Correção: use uma data W3C real que não esteja no futuro. Quando um mecanismo de busca pega um sitemap mentindo sobre atualização, ele deixa de confiar no lastmod desse sitemap por completo.

Sitemap inclui URLs fora do seu escopo

BLUME_AUDIT_SITEMAP_OUT_OF_SCOPE · aviso · a partir do HTML gerado

Correção: um sitemap só pode listar URLs da sua própria origem.

Sitemap não está acessível

BLUME_AUDIT_SITEMAP_NOT_ACCESSIBLE · erro · requer --url

Correção: deixe o sitemap.xml acessível na raiz do site.

robots.txt

robots.txt ausente

BLUME_AUDIT_ROBOTS_MISSING · aviso · a partir do HTML gerado

Correção: defina seo.robots: true para gerar o robots.txt.

robots.txt tem erro de sintaxe

BLUME_AUDIT_ROBOTS_INVALID · erro · a partir do HTML gerado

Correção: cada linha do robots.txt deve ser uma diretiva Field: value ou um comentário.

robots.txt bloqueia uma página que está no sitemap

BLUME_AUDIT_ROBOTS_DISALLOWS_INDEXABLE · erro · a partir do HTML gerado

Correção: uma página não pode ser bloqueada no robots.txt e anunciada no sitemap ao mesmo tempo.

robots.txt bloqueia um crawler específico em páginas que estão no sitemap

BLUME_AUDIT_ROBOTS_BLOCKS_CRAWLER · aviso · a partir do HTML gerado

Correção: restrinja ou remova a regra no grupo User-agent desse crawler se ele deve ler essas páginas. Se você bloqueou um crawler de IA de propósito, tudo bem: é só pular esta verificação.

Um crawler que tem o próprio grupo User-agent segue só esse grupo, então uma regra ali (User-agent: GPTBot seguido de Disallow: /) o bloqueia enquanto todos os outros crawlers leem a página. A auditoria reporta cada crawler uma vez, na regra que bloqueia a primeira página dele.

robots.txt não referencia o sitemap

BLUME_AUDIT_ROBOTS_SITEMAP_MISSING · info · a partir do HTML gerado

Correção: defina deployment.site para que o robots.txt possa referenciar o sitemap.

robots.txt não está acessível

BLUME_AUDIT_ROBOTS_NOT_ACCESSIBLE · erro · requer --url

Correção: deixe o robots.txt acessível na raiz do site.

Descoberta por IA

llms.txt ausente do build

BLUME_AUDIT_LLMS_TXT_MISSING · aviso · a partir do HTML gerado

Correção: gere o build de novo. agents.llmsTxt está ativado, mas o build não tem llms.txt. Se isso for intencional, defina agents.llmsTxt: false.

llms.txt lista uma página que o build não serve

BLUME_AUDIT_LLMS_TXT_STALE_ENTRY · aviso · a partir do HTML gerado

Correção: gere o build de novo para que o llms.txt corresponda ao site. Uma entrada desatualizada manda um agente de IA para uma página que não existe.

Página indexável ausente do llms.txt

BLUME_AUDIT_LLMS_TXT_PAGE_MISSING · aviso · a partir do HTML gerado

Correção: gere o build de novo para que o llms.txt corresponda ao site. Se a página foi excluída de propósito, defina ai.exclude: true no front matter dela.

Nenhum registro de descoberta de agentes DNS-AID

BLUME_AUDIT_DNS_AID_MISSING · info · requer --url

Correção: publique um registro SVCB ou HTTPS em ServiceMode em _index._agents.<host> no seu provedor de DNS para que agentes possam descobrir o site via DNS (DNS-AID).

Registros DNS-AID não são autenticados por DNSSEC

BLUME_AUDIT_DNS_AID_UNSIGNED · info · requer --url

Correção: ative o DNSSEC para a zona para que resolvers com validação retornem respostas DNS-AID autenticadas. Se o seu provedor de DNS não oferece suporte a DNSSEC, os registros continuam funcionando sem assinatura.

Dados estruturados

Dados estruturados não são JSON válido

BLUME_AUDIT_JSONLD_INVALID · erro · a partir do HTML gerado

Correção: o bloco JSON-LD deve ser JSON válido.

Dados estruturados sem propriedades obrigatórias

BLUME_AUDIT_JSONLD_INCOMPLETE · aviso · a partir do HTML gerado

Correção: cada nó JSON-LD precisa de @context e @type.

Deploy ao vivo

Página 4XX

BLUME_AUDIT_HTTP_4XX · erro · requer --url

Correção: a página recebe links ou está no sitemap, mas o deploy retorna 404 para ela.

Página 5XX

BLUME_AUDIT_HTTP_5XX · erro · requer --url

Correção: o deploy está dando erro nesta página.

Tempo esgotado

BLUME_AUDIT_HTTP_TIMEOUT · erro · requer --url

Correção: a página não respondeu a tempo.

Sem compressão

BLUME_AUDIT_NOT_COMPRESSED · aviso · requer --url

Correção: ative gzip ou brotli no host.

Página lenta

BLUME_AUDIT_SLOW_RESPONSE · aviso · requer --url

Correção: a página demorou para responder.

BLUME_AUDIT_EXTERNAL_LINK_BROKEN · erro · requer --external

Correção: corrija ou remova o link externo.

BLUME_AUDIT_EXTERNAL_LINK_REDIRECT · info · requer --external

Correção: aponte o link direto para o destino.

Última atualização a

Esta página foi útil?