Suas opçõesNós corrigimos $100 uma vez · Watch $29 / mês
- A análise grátis$0
Sua nota, sua pontuação e cada problema que encontramos. O maior é explicado por completo.
Você está aqui · C · 81/100
- Nós corrigimos para você$100 uma vez
Corrigimos cada problema do seu site e depois o escaneamos de novo para comprovar. Trinta dias de monitoramento incluídos.
Cartão, e começamos. Um site por pedido.
- Watch$29 / mês
Verificamos 3 sites duas vezes por dia e mostramos cada problema com sua prova, há quanto tempo está aberto e quando foi corrigido.
Sem cartão. Ou assine o Watch · vários sites
Pagar nunca muda sua nota.
Resultado da análise
denverpost.com
2026-11-12 · há 16 horaswordpressid aasc46z1wvpublic
Assistentes de IA como o ChatGPT conseguem ler o seu site, mas encontram pouco para citar nas suas páginas.
Corrija primeiro
As regras do robots.txt não se aplicam a agentes nomeados
Este achado está segurando a nota. Corrija-o e a nota sobe sozinha.
Visibilidade em IA 81/100. Um mecanismo consegue alcançar e ler este site. O que falta é dar a ele algo específico para dizer.
Travada em C Só a pontuação daria uma nota maior; um achado de gravidade média define a letra. Resolva-o e a nota sobe sozinha.
O que isto não prova
Isto é o que os rastreadores recebem do site hoje — alcançar, ler, citar — medido a partir da própria rede do CrawlCheck. Não mostra se algum mecanismo cita o site, em que posição ele aparece, nem que tráfego ou contatos vêm depois, e uma sondagem com a identidade de um rastreador não é uma requisição feita a partir dos endereços verificados daquele operador. O que um número pode e não pode dizer
11
achados
19/33
seções aprovadas
+19
pontos disponíveis
63%
dos 38 sites do conjunto de referência de publicações tiveram pontuação menor
24
análises registradas
A versão curta
The website's robots.txt rules do not apply to all agents as intended. Specifically, 3 named User-agent groups with 3 agents do not repeat certain Disallow rules that the `*` group carries. As a result, a crawler will only obey its own most-specific group and ignore the `*` group entirely.
Summary written from this scan’s findings, every sentence checked against one of them. How CrawlCheck reads
Em linguagem simples
- 19 de 33 seções pontuadas passam. 7 precisam de ajustes, 7 estão falhando. As outras 8 das 41 seções são medidas a título informativo e nunca pontuadas.
- 11 achados, 4 classificados como graves. Corrija primeiro: as regras do robots.txt não se aplicam aos agentes nomeados — exibido completo abaixo, grátis. Os outros 10 estão nomeados abaixo; as evidências e os passos de correção abrem com Watch. Um deles está segurando a nota em C. O que isso custa.
- Corrija as 41 medidas reprovadas na lista de correções e a pontuação fica em 100. Agora 81, um ganho de 19 pontos.
- Todos os mecanismos de resposta nomeados receberam a página. OAI-SearchBot, Claude-SearchBot, PerplexityBot, ChatGPT-User, Claude-User, Perplexity-User, Googlebot, Googlebot Smartphone, Bingbot, Applebot. Disallowed by policy in robots.txt: Yahoo Slurp, ChatGPT search index, ChatGPT live fetch, Claude search index, Claude live fetch, Perplexity index, Perplexity live fetch, Le Chat live fetch (a choice, not a defect).
- Down 2 points since the previous scan. Média da seção mantida em 80 por 1 análise desde 2026-11-12. Veja o que mudou.
Comece aqui
Os três achados que mais seguram a nota. Abra um para ver o que foi observado e como corrigir.
grave
As regras do robots.txt não se aplicam a agentes nomeados
/robots.txt · Abrir a correção →
grave
Dois registros de empresa nesta página afirmam a mesma identidade
Abrir a correção →
grave
A página inicial depende de arquivos que o próprio 'robots.txt' do site proíbe
/robots.txt · Abrir a correção →
As três etapas, na ordem em que um mecanismo chega a um site
Cada etapa condiciona a próxima: um mecanismo que não consegue alcançar uma página nunca a lê, e um que não consegue lê-la nunca a cita.
Etapa 1 · 40% da pontuação
Alcançar
Um rastreador nomeado de mecanismo de resposta consegue sequer obter as suas páginas?
Pelo menos um mecanismo de resposta foi recusado, desafiado ou recebeu menos do que um navegador.
Etapa 2 · 30% da pontuação
Ler
Depois de ter os bytes, ele consegue encontrar as palavras?
O conteúdo está enterrado na marcação, ou os arquivos que orientam um rastreador estão ausentes.
Etapa 3 · 30% da pontuação
Citar
Existe um fato específico que ele possa afirmar e atribuir?
Um assistente teria que parafrasear sua página em vez de citar um fato.
A etapa a corrigir primeiro é alcançar, a mais baixa das três.
Como isto se compara
Ranqueado em relação a 36 sites na mesma coorte (wordpress/publisher). Este corpus é formado por sites que as pessoas escolheram analisar, não pela web, então uma posição aqui é uma comparação, não um veredito.
Percentil: a parcela de sites comparáveis que este supera. Métricas em que menor é melhor (tamanho da página, bloqueio de renderização) já estão invertidas.
O que vem a seguir
Cada etapa se apoia no mesmo registro assinado. Comece de onde você estiver.
- 01CorrigirCorrija o que reduz a notaEtapas para a sua plataforma, conferidas por uma nova análise.
- 02WatchMonitore todos os diasGrátis por 30 dias. Mudanças e novos achados chegam à sua caixa de entrada.
- 03ReivindicarComprove que o domínio é seuUm registro DNS ou uma meta tag. A partir daí, cada resposta assinada sobre o site informa que o controle está comprovado.
- 04Visão do agenteVeja o que os agentes recebemA resposta assinada que qualquer agente recebe antes de ler, citar, se conectar ou fazer uma transação.
- 05DesenvolverConsulte a partir do seu próprio códigoUma chamada antes de o seu agente agir: npm, PyPI ou HTTPS simples.
O que corrigir
11 achados neste site, 4 deles classificados como graves. Cada um é nomeado abaixo; o principal é mostrado por completo, grátis. O que vimos, por que cada um importa, como corrigir e os bytes por trás são o que uma licença compra — ou implementamos a lista inteira para você.
4 Média 2 Baixa 5 Observação
1As regras do robots.txt não se aplicam a agentes nomeados3 grupos User-agent nomeados (3 agentes) não repetem 8 das regras Disallow que o grupo `*` contém. Um rastreador obedece apenas ao seu próprio grupo mais específico e ignora `MédiaConfiguraçãoConfirmed
medido pela primeira vez em 2026-09-10 · há 63 dias · quantos dias medidos ele se manteve, e se alguma vez foi resolvido e voltou, fica disponível com o Watch — grátis por 30 dias.
O que vimos
3 named User-agent groups (3 agents) do not repeat 8 of the Disallow rules the `*` group carries. A crawler obeys only its own most-specific group and ignores `*` entirely, so those rules do not apply to any of the named agents. Worst group: `amazonadbot` bypasses /wp-admin/, /cgi-bin/, /wp-includes/, /xmlrpc.php, /wp-content/plugins/, /wp-content/cache/, /trackback/, /comments/. /robots.txt
Por que importa
Um rastreador lê apenas o grupo User-agent que melhor corresponde a ele e ignora todos os outros grupos, inclusive `*`. Nomear um agente e dar a ele apenas `Allow: /` portanto apaga todas as suas regras Disallow de `*` para esse agente. O arquivo continua válido e o agente continua chegando à sua página inicial, então isso é invisível numa inspeção — mas os caminhos que você queria manter fora da busca estão abertos, e os mecanismos de busca vão rastreá-los e podem indexá-los.
Como corrigir
Todo grupo User-agent que nomeia um rastreador precisa repetir as regras Disallow que você quer aplicar. Um grupo nomeado sem regras significa “permitir tudo” para esse rastreador.
Configuração: uma configuração no servidor, CDN, DNS ou em um plugin — sem código e sem redação
No WordPress (detectado)
- O WordPress serve um robots.txt virtual. Edite-o no seu plugin de SEO: Yoast SEO → Tools → File editor; Rank Math → General Settings → Edit robots.txt; All in One SEO → Tools → Robots.txt Editor.
- Um arquivo robots.txt real na raiz do site (a pasta com o wp-config.php) prevalece sobre qualquer plugin. Se existir, edite esse arquivo, pelo 'gerenciador de arquivos' ou SFTP da sua hospedagem.
- Mantenha um grupo por rastreador: um rastreador que tem o próprio grupo User-agent ignora totalmente o grupo *, então repita as linhas Disallow de que ele ainda precisa.
Paste this
Each crawler obeys only its own group, so a named group must repeat the rules you want. The corrected file below copies them in for you.
The whole corrected robots.txt for www.denverpost.com · built from the live file, every change listed at the top.
Fix it with a coding agent
Paste into Claude Code, Cursor or Codex, opened on the code that serves this site.
Show prompt
You are working in the codebase (or server/CDN configuration) that serves denverpost.com. A crawler audit found the problem below. Fix it at the source, keep the change as small as possible, and do not change anything a visitor sees unless the fix requires it. Finding: robots.txt rules do not apply to named agents (ROBOTS_RULES_SHADOWED, medium severity) Page: https://denverpost.com/robots.txt What was measured: 3 named User-agent groups (3 agents) do not repeat 8 of the Disallow rules the `*` group carries. A crawler obeys only its own most-specific group and ignores `*` entirely, so those rules do not apply to any of the named agents. Worst group: `amazonadbot` bypasses /wp-admin/, /cgi-bin/, /wp-includes/, /xmlrpc.php, /wp-content/plugins/, /wp-content/cache/, /trackback/, /comments/. Why it matters: A crawler reads only the User-agent group that matches it best and ignores every other group, including `*`. Naming an agent and giving it only `Allow: /` therefore deletes all of your `*` Disallow rules for that agent. The file still parses and the agent still reaches your homepage, so this is invisible on inspection — but the paths you meant to keep out of search are open, and search engines will crawl and may index them. How to fix it: Every User-agent group that names a crawler must repeat the Disallow rules you want applied. A named group with no rules means 'allow everything' for that crawler. Detected platform: WordPress. Make the change where this platform controls it. Rule and examples: https://crawlcheck.io/rules/ROBOTS_RULES_SHADOWED Full report (markdown): https://crawlcheck.io/r/aasc46z1wv.md When you are done: 1. Tell me which files or settings you changed and why. 2. If the fix is a server, CDN or cache setting you cannot change from the code, say exactly where it is set. 3. After deploying, re-scan at https://crawlcheck.io/?url=denverpost.com . The fix counts when ROBOTS_RULES_SHADOWED is gone from the new report.
Por que isto foi decidido
| Regra | ROBOTS_RULES_SHADOWED · pacote de regras sv34 · escopo core |
|---|---|
| Avaliado | 2026-11-12 00:17:42 UTC |
| Decisão | d1:ab6db3d568fdb2282e23 · achado f1:cbfcabeaf2c8fae39c15 resolva em /api/graph/<id> com uma chave |
| Observador | build do crawlcheck-worker be1e3120 · auditoria v4 |
Em que se baseia
| Identidade | Status | Bytes | sha256 | Guardado |
|---|---|---|---|---|
| lido: /robots.txt | 200 | 4.567 | ff800a4d427d | already_held |
Mais 25 no manifesto.
Artefatos: manifest:4098c6573755bdd21d4644c5f14f0df51d807dbfc2d86dd1a7ffd32afab1005b
Efeito na nota Limita a letra em C junto com 3 outros achados de gravidade média; a letra só sobe quando todos tiverem sumido. Não altera pontos.
Regra ROBOTS_RULES_SHADOWED pelas regras de pontuação v34 · impressão digital ROBOTS_RULES_SHADOWED|/robots.txt · persisting (seen in 47 of 48 readings)
Verifique a correção Analise de novo depois da mudança. Este achado é encerrado quando ROBOTS_RULES_SHADOWED não for mais informado em /robots.txt; se voltar depois de encerrado, é marcado como regressão, não como novo achado.
ROBOTS_RULES_SHADOWED · transcrição completa
Abrir os outros 10
O que vimos, por que importa, como corrigir e os bytes de evidência de cada achado — neste relatório e em cada nova análise. A partir de $29 por mês.
Desbloquear os achadosOu peça para corrigirmos
Implementamos a lista no seu site e medimos de novo, com um antes e depois selados. Um site, $100 uma única vez.
Resolva isto — $100O produto principal
Corrigimos os 11 achados em denverpost.com. $100, uma vez.
4 delas são classificadas como graves. Um site. Você mantém a nota de graça — esta é a parte em que a lista deixa de ser só uma lista.
- Every eligible finding implemented on the site itself: machine files, schema, NAP, settings. Not included: new content, redesigns, plugin or theme replacement, custom integrations (the terms list them)
- Um mapa de entidades escrito para a sua empresa, não um modelo com o nome trocado
- Medido de novo depois — o antes e o depois, selados, para que seja comprovado e não apenas afirmado
- Trinta dias de monitoramento incluídos
- O trabalho começa em até dois dias úteis
O que está incluído · um pagamento, nada recorrente
Sites like yours that fixed the same problem
Matched on WordPress. A fix counts once two readings confirm it; sites are not named. Read from the technology record of 2026-11-11.
serves no /llms.txt
12 sites on a stack like yours have made this fix (Published llms.txt); 12 still hold it. 102 on any stack.
- similar site A (WordPress + Amazon CloudFront + WP Engine; shares platform): fixed 2026-11-10, still fixed today
- similar site B (WordPress + Cloudflare + Cloudflare Bot Management; shares platform): fixed 2026-11-04, still fixed today
- similar site C (WordPress + Fastly; shares platform): fixed 2026-10-31, still fixed today
serves no /agents.md (optional)
5 sites on a stack like yours have made this fix (Published agents.md); 4 still hold it. 21 on any stack.
- similar site A (WordPress + Cloudflare; shares platform): fixed 2026-11-09, still fixed today
- similar site B (WordPress + Cloudflare + Cloudflare Bot Management; shares platform): fixed 2026-11-04, still fixed today
- similar site C (WordPress + Cloudflare + Cloudflare Bot Management; shares platform): fixed 2026-10-31, still fixed today
blocks PerplexityBot in robots.txt (optional: only a problem if the block is not deliberate)
4 sites on a stack like yours have made this fix (Unblocked PerplexityBot in robots.txt); 4 still hold it. 10 on any stack.
- similar site A (WordPress + Amazon CloudFront + Netlify; shares platform): fixed 2026-11-06, still fixed today
- similar site B (WordPress + Fastly + Pantheon; shares platform): fixed 2026-10-31, still fixed today
- similar site C (WordPress + Cloudflare + SiteGround + Cloudflare Bot Management; shares platform): fixed 2026-10-31, still fixed today
blocks ChatGPT-User in robots.txt (optional: only a problem if the block is not deliberate)
2 sites on a stack like yours have made this fix (Unblocked ChatGPT-User in robots.txt); 2 still hold it. 7 on any stack.
- similar site A (WordPress + Amazon CloudFront + Netlify; shares platform): fixed 2026-11-06, still fixed today
- similar site B (WordPress + Fastly + Pantheon; shares platform): fixed 2026-10-31, still fixed today
The signed answer lists every match.
Mais detalhes — cálculo da margem, prioridades e agrupamentos
O que cada rastreador recebeu
18 requisições para a mesma URL, a partir de um endereço do CrawlCheck, em 2026-11-12 00:17 UTC: cada rastreador nomeado, um navegador móvel e um cliente sem nome. O robots.txt é o que o site pede; o status e a contagem de palavras são o que o servidor realmente enviou.
| Solicitado como | Robots.txt | O servidor enviou | Palavras | Igual ao navegador | |
|---|---|---|---|---|---|
| Cliente sem nome (controle) | — | 200 | 2.099 | 100% | referência |
| GPTBot | bloqueado por Disallow | 200 | 2.099 | 100% | bloqueado por Disallow, mas servido |
| ClaudeBot | bloqueado por Disallow | 200 | 2.099 | 100% | bloqueado por Disallow, mas servido |
| OAI-SearchBot | bloqueado por Disallow | 200 | 2.099 | 100% | bloqueado por Disallow, mas servido |
| Claude-SearchBot | bloqueado por Disallow | 200 | 2.099 | 100% | bloqueado por Disallow, mas servido |
| PerplexityBot | bloqueado por Disallow | 200 | 2.099 | 100% | bloqueado por Disallow, mas servido |
| ChatGPT-User | bloqueado por Disallow | 200 | 2.099 | 100% | bloqueado por Disallow, mas servido |
| Claude-User | bloqueado por Disallow | 200 | 2.099 | 100% | bloqueado por Disallow, mas servido |
| Perplexity-User | bloqueado por Disallow | 200 | 2.099 | 100% | bloqueado por Disallow, mas servido |
| Googlebot | permitido | 200 | 2.099 | 100% | mesma página |
| Googlebot Smartphone | não listado | 200 | 2.099 | 100% | mesma página |
| Navegador móvel (controle) | — | 200 | 2.099 | 100% | referência |
| Bingbot | permitido | 200 | 2.099 | 100% | mesma página |
| Applebot | bloqueado por Disallow | 200 | 2.099 | 100% | bloqueado por Disallow, mas servido |
| Amazonbot | bloqueado por Disallow | 200 | 2.099 | 100% | bloqueado por Disallow, mas servido |
| Bytespider | bloqueado por Disallow | 429 | 9 | — | bloqueado pelo servidor |
| Meta-ExternalAgent | bloqueado por Disallow | 403 | 5 | — | bloqueado pelo servidor |
| CCBot | bloqueado por Disallow | 200 | 2.099 | 100% | bloqueado por Disallow, mas servido |
19
aprovadas
7
precisam de ajustes
7
reprovadas
8
apenas informativas
Seções, não verificações individuais: 41 no total, 33 pontuadas. Uma seção pontuada que não pôde ser lida é contada à parte e nunca como aprovada; seções informativas são medidas e nunca pontuadas.
Quais rastreadores têm acesso
74 de 115 rastreadores nomeados são permitidos pelo robots.txt em /; 41 estão bloqueados por Disallow. O robots.txt é um pedido; quem decide é a borda. Onde esta análise também obteve a página como aquele rastreador, o chip indica o que a borda fez.
Mecanismos de resposta 7/17 permitidos
The crawlers behind ChatGPT, Claude, Perplexity and Google’s AI answers, and the fetchers that read a page live when a person asks (ChatGPT-User, Claude-User, Perplexity-User)
Mecanismos de busca 17/24 permitidos
Google, Bing, Apple e o restante da busca clássica
Rastreadores de treinamento 22/46 permitidos
Coletam páginas para treinar modelos. Bloqueá-los e permitir os mecanismos de resposta é uma política coerente, não um defeito
Mostrar todos os 46
Opt-out record: the date each crawler was closed or opened here, from every reading on record, each with sealed proof.
The letter beside a crawler is its conduct grade: how that crawler really behaved, from requests verified against its operator’s published addresses. A read the rules and obeyed them; F reached a path the rules forbid.
Alguns grupos nomeados não declaram regras próprias, o que significa “permitir tudo” para esse rastreador, independentemente das regras gerais. Esses chips estão marcados.
Visto de uma segunda rede
The same identities fetched from a second network 49.8 hours before this scan: Cloudways managed hosting, AS20473 The Constant Company, LLC, California. 2 identities were answered differently on the two networks (marked).
| Identidade | Esta análise (rede do CrawlCheck) | Segunda rede | Mesmo status |
|---|---|---|---|
| Cliente sem nome | 200 · 2.099 palavras | 200 · 2.216 palavras | ✓ |
| GPTBot | 200 · 2.099 palavras | 200 · 2.216 palavras | ✓ |
| ClaudeBot | 200 · 2.099 palavras | 429 | differs |
| OAI-SearchBot | 200 · 2.099 palavras | 200 · 2.216 palavras | ✓ |
| Claude-SearchBot | 200 · 2.099 palavras | 200 · 2.216 palavras | ✓ |
| PerplexityBot | 200 · 2.099 palavras | 200 · 2.216 palavras | ✓ |
| ChatGPT-User | 200 · 2.099 palavras | 200 · 2.216 palavras | ✓ |
| Claude-User | 200 · 2.099 palavras | 200 · 2.216 palavras | ✓ |
| Perplexity-User | 200 · 2.099 palavras | 200 · 2.216 palavras | ✓ |
| Googlebot | 200 · 2.099 palavras | 200 · 2.216 palavras | ✓ |
| Googlebot Smartphone | 200 · 2.099 palavras | 200 · 2.216 palavras | ✓ |
| Navegador móvel | 200 · 2.099 palavras | 200 · 2.216 palavras | ✓ |
| Navegador móvel (controle) | — | 200 · 2.216 palavras | — |
| Bingbot | 200 · 2.099 palavras | 200 · 2.216 palavras | ✓ |
| Applebot | 200 · 2.099 palavras | 200 · 2.216 palavras | ✓ |
| Amazonbot | 200 · 2.099 palavras | 200 · 2.216 palavras | ✓ |
| Bytespider | 429 | 403 | differs |
| Meta-ExternalAgent | 403 | 403 | ✓ |
| CCBot | 200 · 2.099 palavras | 200 · 2.216 palavras | ✓ |
A segunda rede não é a rede própria de nenhum operador de rastreador: ela responde se um resultado depende de onde veio a requisição, não como o rastreador real da empresa nomeada é tratado. Cada observação é assinada; a lista de observadores está em /.well-known/crawlcheck-observers.json e a comparação completa em /api/corroboration.
Where the refusal happens
2 identities were refused from CrawlCheck’s network.
| Identidade | From CrawlCheck’s network | From a person’s own connection | Onde |
|---|---|---|---|
| Bytespider | throttled (HTTP 429) | não lido | not named by the refusal |
| Meta-ExternalAgent | refused HTTP 403 | não lido | not named by the refusal |
The right-hand column is the one measurement this server cannot make: whether the same request is served from a home or office connection. The free CrawlCheck extension fills it: install it, open denverpost.com and press Two vantages; the next report shows the result for 14 days.
Site owner? One skip rule tells a refusal in front of the server from one on the server itself. Full comparison: Lente de agentes.
Como os rastreadores percorrem este site
5 of 18 identities reach the page. 11 are turned away by the site’s own robots rules — a policy, not a fault. 2 are refused at the edge before any rule applies, for a request carrying the name from our address — an edge that admits crawlers by their published IP ranges may still let the real one through. Missing: entitymap.json, llms.txt. Of the 15 others that got through, 1 received exactly the browser’s bytes, 14 the same text in different bytes.
Quem pediu
- Cliente sem nomealcança a página · mesmo texto, bytes diferentes
- GPTBotrejeitado pelas regras de robots do site · mesmo texto, bytes diferentes
- ClaudeBotrejeitado pelas regras de robots do site · mesmo texto, bytes diferentes
- OAI-SearchBotrejeitado pelas regras de robots do site · mesmo texto, bytes diferentes
- Claude-SearchBotrejeitado pelas regras de robots do site · mesmo texto, bytes diferentes
- PerplexityBotrejeitado pelas regras de robots do site · mesmo texto, bytes diferentes
- ChatGPT-Userrejeitado pelas regras de robots do site · mesmo texto, bytes diferentes
- Claude-Userrejeitado pelas regras de robots do site · mesmo texto, bytes diferentes
- Perplexity-Userrejeitado pelas regras de robots do site · mesmo texto, bytes diferentes
- Googlebotalcança a página · mesmo texto, bytes diferentes
- Googlebot Smartphonereaches the page · identical bytes
- Navegador móvelalcança a página
- Bingbotalcança a página · mesmo texto, bytes diferentes
- Applebotrejeitado pelas regras de robots do site · mesmo texto, bytes diferentes
- Amazonbotrejeitado pelas regras de robots do site · mesmo texto, bytes diferentes
- Bytespiderrecusado na borda (HTTP 429) para a nossa requisição
- Meta-ExternalAgentrecusado na borda (HTTP 403) para a nossa requisição
- CCBotrejeitado pelas regras de robots do site · mesmo texto, bytes diferentes
Arquivos obtidos
- robots.txtpresente · 4.5 KB
- sitemappresente · 868 KB
- llms.txtmissing
- entitymap.jsonmissing
- HTML da páginapresente · 306.7 KB
Derivado
- JSON-LDpresente
- Texto citávelpresente
- Caminho de contatopresente
- Identidade declarada (NAP)presente
Resultado do mecanismo de resposta — não medido. Nenhum servidor consegue observar o que um mecanismo diz.
Prova
- Bytes guardados26 de 26 respostas
- Manifesto4098c6573755…
- Digest do registrob0e6d0e6517e…
- Raiz do diasela depois de 11-12
- Bitcoindepois do selo
✓ alcançado · ⊘ recusado pelas próprias regras do site · ✗ falha técnica · caixa tracejada = ausente ou não medido. Vem das próprias requisições desta análise; nada aqui é estimado. Obtido em 2026-11-12 00:17 UTC pela versão do worker be1e3120 pelas regras de pontuação v34. Cada identidade foi enviada pelo CrawlCheck da própria rede: ✓ significa que nossa requisição com esse nome passou, não que o crawler da própria empresa passou. O fluxo em JSON.
O que cada identidade recebeu — 26 respostas capturadas, 26 guardadas como evidência
| Quem pediu | HTTP | Tamanho | Comparado com um navegador | Guardado como evidência |
|---|---|---|---|---|
| Cliente sem nome | 200 | 306.7 KB | mesmo texto, bytes diferentes | guardado · 11ba378b |
| GPTBot | 200 | 306.7 KB | mesmo texto, bytes diferentes | guardado · 11ba378b |
| ClaudeBot | 200 | 306.7 KB | mesmo texto, bytes diferentes | guardado · f767f94a |
| OAI-SearchBot | 200 | 306.7 KB | mesmo texto, bytes diferentes | guardado · f767f94a |
| Claude-SearchBot | 200 | 306.7 KB | mesmo texto, bytes diferentes | guardado · 11ba378b |
| PerplexityBot | 200 | 306.7 KB | mesmo texto, bytes diferentes | guardado · f767f94a |
| ChatGPT-User | 200 | 306.7 KB | mesmo texto, bytes diferentes | guardado · f767f94a |
| Claude-User | 200 | 306.7 KB | mesmo texto, bytes diferentes | guardado · f767f94a |
| Perplexity-User | 200 | 306.7 KB | mesmo texto, bytes diferentes | guardado · 11ba378b |
| Googlebot | 200 | 306.7 KB | mesmo texto, bytes diferentes | guardado · 11ba378b |
| Googlebot Smartphone | 200 | 306.7 KB | bytes idênticos | guardado · 3a644788 |
| Navegador móvel | 200 | 306.7 KB | a referência | guardado · 3a644788 |
| Navegador móvel (controle) | 200 | 306.7 KB | bytes idênticos | guardado · 3a644788 |
| Bingbot | 200 | 306.7 KB | mesmo texto, bytes diferentes | guardado · f767f94a |
| Applebot | 200 | 306.7 KB | mesmo texto, bytes diferentes | guardado · 11ba378b |
| Amazonbot | 200 | 306.7 KB | mesmo texto, bytes diferentes | guardado · 1378a569 |
| Bytespider | 429 | 162 B | recusado (HTTP 429) | guardado · 413d294f |
| Meta-ExternalAgent | 403 | 146 B | recusado (HTTP 403) | guardado · 32f2fa94 |
| CCBot | 200 | 306.7 KB | mesmo texto, bytes diferentes | guardado · 11ba378b |
| Busca do CrawlCheck (página inicial) | 200 | 306.7 KB | — | guardado · dc318faa |
| Arquivos que o CrawlCheck buscou | ||||
| /robots.txt | 200 | 4.5 KB | — | guardado · ff800a4d |
| /sitemap.xml | 200 | 868 KB | — | guardado · 493fa919 |
| /sitemap_index.xml | 404 | 93 KB | — | guardado · fa12fd3c |
| /wp-sitemap.xml | 200 | 146.1 KB | — | guardado · a196f657 |
| /llms.txt | 404 | 93 KB | — | guardado · 3557f155 |
| /entitymap.json | 404 | 93 KB | — | guardado · 928fb366 |
Os tamanhos são o corpo de cada resposta como a requisição o retornou: sem a compressão de transferência, antes de qualquer decodificação de texto. Um link “guardado” refaz o hash da cópia armazenada dentro do nosso worker e diz se ela ainda corresponde ao seu digest; os bytes em si não são republicados.
A cadeia de descoberta quebra no llms.txt: tudo depois dele só é alcançável adivinhando o caminho convencional. Linhas por trás disto.
Para onde vão os bytes
Dos 313.548 bytes descomprimidos que a página inicial entrega, 4.4% é texto que um leitor ou um modelo pode realmente usar. A maior parte do que um rastreador baixa aqui não são palavras.
- Texto legível 4.4% · 13.731 B
- Marcação e atributos 65.1% · 204.197 B
- Dados estruturados (JSON-LD) 0.7% · 2.238 B
- CSS inline 14.8% · 46.455 B
- JavaScript inline 14% · 43.837 B
- SVG inline 0.1% · 372 B
- Comentários HTML 0.9% · 2.718 B
Os blocos que mais pesam, um a um, para que a correção seja uma busca e não uma caçada:
- CSS inline · 44.440 B (14,2%) — sem nomecomeça com
@import url(https://fonts.googleapis.com/css2?family=Inter:ital,opsz,w - JavaScript inline · 14.517 B (4.6%) —
#digisubs-social-login-js-aftercomeça com(function () { var logPrefix = '[digisubs-social-login]'; var readyTim - JavaScript inline · 4.739 B (1.5%) —
#mng-ad-free-7day-js-aftercomeça com( function () { const config = window.mngAdFree7DayConfig; if ( ! conf
Todas as seções
25 de 41 têm peso na nota. Cinza significa medido e deliberadamente sem peso - não conta nada, em vez de contar zero, e cada cartão cinza diz por quê. Abra qualquer seção para ver as linhas por trás dela: o que foi medido, o valor atual e a faixa que é aprovada.
🔒 Bloqueadas na análise gratuita: 11 seções
Estas seções precisam de um registro mantido ao longo do tempo, ou de uma conexão que só o dono do site pode fazer, por isso aparecem apenas pelo título, sem dados. Watch libera as dez primeiras; a última é o Studio.
O que o site afirma sobre si mesmo
Os fatos que um mecanismo de resposta poderia repetir sobre esta empresa, tirados apenas do que esta análise buscou, com o local onde cada um foi encontrado. Tudo o que falta está [não informado]: um mecanismo a quem se perguntasse isso teria que adivinhar.
| Fato | Informado como | Encontrado em | Concordância | Visto pela primeira vez |
|---|---|---|---|---|
| Nome | The Denver Post | 2026-09-19 | ||
| Telefone | (303) 954-1010 | apenas dados estruturados | não exibido aos leitores | 2026-09-19 |
| Endereço | 5990 Washington St., Denver, CO, 80216 | 2026-09-19 | ||
| Ponto no mapa | 39.7392, 104.9903 | dados estruturados | inverter o sinal da longitude a coloca dentro dos EUA - um sinal de menos ausente | 2026-09-19 |
| Horário de funcionamento | declarado | dados estruturados | 2026-09-19 | |
| Tipo de negócio | LocalBusiness | dados estruturados | 2026-09-19 | |
| Perfis que vincula | 3 (Facebook, X, LinkedIn) | links no site | 3 de 3 apontam de volta |
Todo o resto que foi medido
Medido para informação, não pontuado
Detalhe da seção
Cada linha: a medida, o valor atual, a faixa que é aprovada e se este site está dentro dela. n/a significa que o dado não pôde ser medido e a linha é excluída, não reprovada.
Camada para máquinas — 67/100
| Medida | Atualmente | Ideal | |
|---|---|---|---|
| robots.txt um rastreador que não consegue ler o robots.txt muitas vezes trata isso como bloquear tudo | 200 · 4567B | 200, text/plain, 100–4.000B | ✓ Aprovado |
| Sitemap XML sem ele, um rastreador enumera o site apenas seguindo links | ativo | 200, XML válido, em um caminho indicado pelo robots.txt | ✓ Aprovado |
| llms.txt reportado, não pontuado. Alguns agentes o buscam e publicá-lo não custa nada, então a linha permanece. Não entra na nota porque nada que medimos, e nada que lemos, relaciona sua presença a uma citação ou a um ranqueamento — um estudo com cerca de 300.000 domínios não encontrou correlação, e remover a variável deixou o modelo mais preciso, não menos. Pontuar um arquivo que não conseguimos mostrar que funciona seria atribuir valor a ele para nossos clientes apenas com base na nossa palavra | ausente (404) | 200, text/plain, 2.000–50.000B | Informado |
| security.txt reported, not scored. Expires is required by RFC 9116; an expired file tells a researcher its contact may be stale | ausente (404) | a Contact and a future Expires, served as text/plain (RFC 9116) | Informado |
| entitymap.json camada de entidades legível por máquina; opcional, mas é o sinal de identidade mais forte disponível | ausente (404) | 200, application/json | ✗ Reprovado |
| Quão raro é o que este site publica as contagens de adoção são agregados de terceiros lidos em agosto de 2026 e contam sites naquele índice, não a web inteira; estão aqui para dimensionar a oportunidade, não para pontuar o site | llms.txt — cerca de 70.200 sites publicam um; este não está entre eles. entitymap.json — ausente, e não existe número de adoção de terceiros para ele. para dar escala, cerca de 677.748 sites publicam alguma coisa feita para agentes, e cerca de 107.200 agora bloqueiam o GPTBot por completo, então uma política de IA é comum, enquanto um mapa do site legível por máquina não é. | publique o que quase ninguém publica e mantenha isso correto | Informado |
| Concordância entre hosts um rastreador que resolve o www não pode receber uma camada para máquinas diferente | os hosts concordam | 0 arquivos divergentes | ✓ Aprovado |
| Served whatever the Accept header crawlers ask for machine files with Accept: */* or a text type, not text/html | same answer to Accept: */* | every live file answers Accept: */* | ✓ Aprovado |
| Custo de uma falha cada arquivo ausente cobra do rastreador uma página HTML 404 completa | 3 arquivo(s) ausente(s) retornam >20KB de HTML | um arquivo para máquinas ausente deveria retornar um 404 pequeno, não uma página completa | ✗ Reprovado |
Hosts e URLs
/robots.txt | www.denverpost.com: 200 · 4.567B ao vivo denverpost.com: 301 → https://www.denverpost.com/robots.txt |
/llms.txt | www.denverpost.com: 404 · 95.230B de HTML (não o arquivo) denverpost.com: 301 → https://www.denverpost.com/llms.txt |
/entitymap.json | www.denverpost.com: 404 · 95.247B de HTML (não o arquivo) denverpost.com: 301 → https://www.denverpost.com/entitymap.json |
/sitemap.xml | www.denverpost.com: 200 · 888.839B ao vivo denverpost.com: 200 · 888.839B ao vivo |
/sitemap_index.xml | www.denverpost.com: 404 · 95.255B de HTML (não o arquivo) denverpost.com: 301 → https://www.denverpost.com/sitemap_index.xml |
Analisado em www.denverpost.com. denverpost.com responde com 301 para www.denverpost.com, então esse é o host que um rastreador acaba lendo. Verificado com redirecionamentos não seguidos, então um 200 aqui significa que o arquivo é servido exatamente nessa URL — um redirecionamento seguido reportaria um arquivo que fica em outro lugar. O host denverpost.com serve a sua própria camada para máquinas. Um rastreador que resolve esse nome de host lê esses arquivos, não os de www.denverpost.com.
Servidor e hospedagem — 80/100
| Medida | Atualmente | Ideal | |
|---|---|---|---|
| Compressão nossa requisição descompacta o corpo e descarta o cabeçalho content-encoding antes que possamos lê-lo — é uma limitação nossa, não um achado sobre o site. Verifique no painel de rede de um navegador ou com curl --compressed -I | não visível daqui | br preferível, gzip aceitável | Não medido |
| Borda / CDN absorve a carga dos rastreadores e mantém os arquivos para máquinas rápidos | nenhum detectado | uma CDN na frente da origem | ✗ Reprovado |
| HTTP/3 advertised HTTP/3 runs over QUIC (UDP datagrams) and recovers faster on lossy mobile networks; crawlers still fetch over HTTP/1.1 and HTTP/2, so this is not scored. Whether the QUIC handshake itself completes cannot be tested from a server fetch. An ech= key in the same DNS record is Encrypted Client Hello (RFC 9849, published in DNS per RFC 9848), which hides the site name from the network. | não | h3 in the Alt-Svc header or the DNS HTTPS record | Informado |
| Post-quantum key exchange Hybrid key exchange protects today’s traffic against later decryption by a quantum computer (harvest now, decrypt later). Browsers offer it by default; most CDNs agree it. Measured weekly from outside by offering only that group; not scored. The share across measured sites is at /data/tls-posture. | not in the weekly probe sample (2026-11-09) | X25519MLKEM768 agreed (RFC 10024) | Informado |
| Estado do cache DYNAMIC significa que cada acesso de rastreador chega à origem. Exibido, não pontuado: as linhas de velocidade abaixo pontuam o que isso custa, e pontuar também o mecanismo contaria duas vezes | 4 de 5 arquivos para máquinas DYNAMIC | HIT ou MISS nos arquivos para máquinas; DYNAMIC é o padrão da Cloudflare para .txt e .xml | Informado |
| Exposição de versão uma versão pública do CMS diz a um invasor exatamente quais exploits tentar | não exposta | nenhuma versão de generator no HTML | ✓ Aprovado |
| Exposição do runtime mesmo motivo acima | não exposta | nenhum cabeçalho x-powered-by | ✓ Aprovado |
| Vary determina se uma cópia em cache é reutilizada corretamente | accept-encoding | Accept-Encoding no mínimo | ✓ Aprovado |
| Strict-Transport-Security max-age de 365 dias, subdomínios incluídos · hstspreload.org: desconhecido. Mostrado, não pontuado: o HSTS não muda nada no que os rastreadores recebem | max-age=31536000;includeSubdomains | max-age com includeSubDomains; preload só se for para valer | Informado |
| Tags de verificação de webmaster apenas meta tags — a verificação por DNS ou por arquivo não deixa nada no HTML, então uma tag ausente não prova ausência de registro. Exibido, não pontuado | Google sem tag visível · Tag do Bing presente · Yandex sem tag visível | Pelo menos o Bing: o índice dele alimenta a busca do ChatGPT e o Copilot | Informado |
| Renderização no lado do cliente framework presente, HTML entregue com texto. Medido nos bytes que o servidor enviou, não numa visualização renderizada | bundle de scripts, nenhum framework conhecido · 2099 palavras entregues | texto presente no HTML entregue | ✓ Aprovado |
| Aplicação | WordPress detectado a partir do HTML entregue, não de um cabeçalho que pode ser removido |
| Varia conforme | accept-encoding uma resposta que varia pode ser armazenada em cache de forma diferente para cada cliente |
Schema e grafo de entidades — 55/100
| Medida | Atualmente | Ideal | |
|---|---|---|---|
| Nós de entidade sem schema, o site não tem nenhuma identidade declarada | 3 | pelo menos 3 nós tipados | ✓ Aprovado |
| Cobertura de @id estável sem um @id, cada página declara uma entidade nova e sem relação | 33.3% | 80–100% | ✗ Reprovado |
| Arestas de credenciais a forma legível por máquina de por que esta empresa é qualificada; uma editora, uma loja ou um SaaS não são avaliados por isso | 0 | pelo menos 1 (licença, associação ou prêmio) para um serviço local ou profissional | ✗ Reprovado |
| Locais sem endereço de rua uma empresa que atende no local do cliente omite isso legitimamente — não pontuado de nenhuma forma | 0 | 0 para uma empresa com endereço físico; esperado para área de atendimento | ✓ Aprovado |
| Declarações sameAs sameAs afirma identidade, então um alvo ERRADO diz que a empresa é outra coisa. Um grande número de perfis corretos não é um defeito; um único alvo que não aponta de volta para cá é. | 3 (3 corroborados, 0 sem link de volta, 0 mortos) | pelo menos 2, nenhum morto, pelo menos um apontando de volta | ✓ Aprovado |
| sameAs apontando para um lugar um link de mapa no sameAs afirma que a empresa É aquele local | 1 | 0 | ✗ Reprovado |
| Quantidade de H1 prática comum, não uma regra do Google: o Google diz que uma página com vários títulos h1 não tem problema. Um único h1 que nomeia o assunto ainda dá aos leitores e aos mecanismos de respostas o esboço mais claro, por isso é mantido como verificação de prática | 2 | 1 (prática comum) | ✗ Reprovado |
| Saltos de cabeçalho um nível pulado quebra a estrutura do documento que um parser monta | 0 | 0 | ✓ Aprovado |
| Canonical sem ele, as duplicatas competem entre si | presente | presente em todas as páginas | ✓ Aprovado |
| Meta description prática comum, não uma regra do Google: o Google não define limite de tamanho e corta os snippets para caber na tela, muitas vezes reescrevendo-os. Acima de cerca de 160 caracteres o final costuma ser cortado; abaixo de 50, parece um rótulo, não uma descrição. 95 caracteres está bom | 157 caracteres | 50–160 caracteres (prática comum) | ✓ Aprovado |
| Largura do título nos resultados de busca display, not ranking: Google measures a title by width, not characters, shows about 600 px of it on desktop and ends the rest with an ellipsis (it may also rewrite the title). Cut off: “weather, entertainment.”. Put the words that matter first. | 765 px — shows as “The Denver Post – Colorado breaking news, sports, business, ...” | até cerca de 600 px (Google desktop, Arial 20 px) | ✗ Reprovado |
| Entidades declaradas | 3 nós, 2 tipos distintos |
| Identidade estável | 1 de 3 têm um @id (33,3%) Sem um @id, um nó não pode ser referenciado nem mesclado — cada página declara de novo uma entidade nova e sem relação. |
| Arestas de credenciais | 0 Licenças, associações e prêmios expressos como arestas do grafo, e não em texto corrido. |
| Arestas de tópicos | 0 Uma contagem alta com valores genéricos geralmente significa que o grafo está sendo usado para guardar palavras-chave. |
| Locais | 1 declarados, 0 sem endereço de rua |
| Declarações sameAs | 3 no total · 1 links de mapa · 0 resolvem para esta entidade · 1 resolvem para um lugar sameAs afirma identidade. Um link de mapa que aponta para uma cidade diz que a empresa é aquela cidade. Nenhum validador informa isso — só aparece se os alvos forem resolvidos. |
| Estrutura do documento | 2 h1 · 129 cabeçalhos · 0 saltos de nível · canonical presente · meta description com 157 caracteres |
Superfície de RDF e dados vinculados — 100/100
| Medida | Atualmente | Ideal | |
|---|---|---|---|
| Blocos JSON-LD que fazem parse um bloco que não faz parse não contribui com nenhuma tripla e, para um validador que conta tags, parece dados estruturados presentes | 2 de 2 | todos os blocos | ✓ Aprovado |
| @context é schema.org um grafo em outro vocabulário é RDF válido que nenhum resolvedor de mecanismo de resposta foi feito para ler | 2 de 2 | todos os blocos | ✓ Aprovado |
| Triplas declaradas (aproximado) o tamanho do que um leitor de dados vinculados realmente recebe; uma única Organization com nome e URL são três declarações | 68 | pelo menos 20 em uma página inicial | ✓ Aprovado |
| Referências @id pendentes uma referência a um @id que nenhum nó declara é uma afirmação sobre nada; o resolvedor descarta a aresta e a entidade perde essa relação | 0 | 0 | ✓ Aprovado |
| Nós de nível superior com um IRI de sujeito um nó raiz ou de @graph sem @id é um sujeito vazio que nenhuma outra página ou site pode referenciar; valores aninhados (um endereço, uma oferta, um item de lista) não são avaliados por isso | 0 de 2 (12 nós no total) | todas as entidades que a página declara — exibido; a seção de schema pontua a cobertura de @id | Informado |
| RDFa e Microdata Serializações secundárias são lidas por alguns parsers e são um segundo lugar onde os fatos podem divergir. Não pontuado enquanto houver JSON-LD; quando uma página não declara nenhum nó JSON-LD, seu Microdata e RDFa de schema.org são lidos como o grafo dela e todas as verificações de entidade rodam sobre eles | sem RDFa, sem Microdata, 23 metas Open Graph | opcional; uma serialização mantida correta vale mais que três que divergem | Informado |
| Negociação de conteúdo RDF Um cliente que entende RDF enviou Accept: text/turtle. Quase nenhum site comercial responde com um grafo, e a ausência não é um defeito; um site que responde entrega à máquina os mesmos fatos em um décimo dos bytes. Não pontuado | text/html servido (HTTP 200), Vary: Accept | opcional: text/turtle ou application/ld+json para um cliente que pedir | Informado |
| Representação RDF alternativa vinculada Diz a um cliente de dados vinculados onde o grafo está sem precisar negociar. Não pontuado | nenhuma | opcional: <link rel=alternate type=text/turtle> ou um cabeçalho Link | Informado |
| Identificadores de nó vazio (_:) Um rótulo _: é local a um documento e muda entre serializações; nada em outra página ou site pode apontar para ele. Exibido, não pontuado | nenhuma | nenhum: cada entidade recebe um IRI persistente | Informado |
| Empresa declarada sob dois @ids Dois nós com o mesmo nome e @ids diferentes são dois sujeitos para um leitor de grafo; o '#organization' de um plugin ao lado do '/#org' de um tema divide uma empresa em duas. Exibido, não pontuado | nenhuma | um @id por empresa, reutilizado em todo lugar | Informado |
| Convenção de @id local Identificadores com hash e com caminho são ambos válidos; misturá-los para o mesmo tipo de entidade é como surgem sujeitos duplicados. Exibido, não pontuado | sem @ids locais | uma única convenção em todo o site | Informado |
| O mesmo endereço escrito de duas formas /café/ e /caf%C3%A9/ são a mesma página para um navegador e dois IRIs diferentes para um grafo; a variação no percent-encoding divide o nó. Exibido, não pontuado | nenhuma | uma grafia exata, byte a byte, por recurso | Informado |
| IRIs fora do Unicode NFC As formas composta e decomposta do mesmo caractere são diferentes byte a byte, então o mesmo identificador escrito duas vezes pode não coincidir consigo mesmo. Exibido, não pontuado | nenhum de 6 | NFC em todo lugar | Informado |
| Nomes de domínio internacionais sem codificação Parsers que esperam um host ASCII podem rejeitar ou recodificar um host Unicode de forma diferente do canônico. Exibido, não pontuado | nenhuma | a forma xn-- (Punycode) nos dados estruturados | Informado |
| Forma do identificador Wikidata Ambas levam ao mesmo item. Misturá-las não prejudica o Wikidata e custa a um leitor que compara strings uma etapa de normalização. Exibido, não pontuado | sem sameAs do Wikidata | qualquer uma; /entity/Q… é o IRI do conceito, /wiki/Q… a página sobre ele | Informado |
| Perfis sameAs que respondem Lido das buscas de corroboração de entidade (até seis perfis por análise); um perfil morto é uma afirmação de identidade que aponta para nada. Pontuado lá, exibido aqui | 3 responderam, 0 mortos, 0 não verificáveis | cada perfil declarado responde | Informado |
JSON-LD é uma serialização de RDF, então cada bloco de schema acima já é um grafo de triplas. Esta seção o lê como um só: 68 declarações sobre 0 sujeitos identificados, 1 referência entre eles, nenhuma solta. A contagem de triplas é aproximada: cada valor de propriedade é uma declaração e cada @type mais uma; objetos aninhados sem @id são contados como valores, não expandidos. Peso 0.8 no total, abaixo da seção de schema com a qual se sobrepõe.
Sinais de autoria e confiança (indicadores de E-E-A-T) — 57/100
| Medida | Atualmente | Ideal | |
|---|---|---|---|
| Uma pessoa nomeada é declarada um avaliador que pergunta quem está por trás disto encontra uma resposta legível por máquina ou nada; um site sem nó Person é anônimo para um resolvedor | nenhuma | pelo menos 1 nó Person com nome | ✗ Reprovado |
| A pessoa tem propriedades de especialização jobTitle, hasCredential, alumniOf, memberOf, knowsAbout ou award: as declarações que dizem POR QUE essa pessoa é qualificada, na forma que um leitor pode verificar | — | cada pessoa nomeada | Não medido |
| A pessoa é corroborada em outros lugares (sameAs) uma pessoa que existe só neste site é uma alegação; uma pessoa com perfis que apontam de volta é um fato que outra pessoa também afirma | — | cada pessoa nomeada | Não medido |
| A pessoa tem uma página própria a página em que um avaliador chega para julgar a experiência; sem ela, a pessoa é um nome dentro de uma tag script | — | uma url ou mainEntityOfPage em cada | Não medido |
| Artigos nomeiam um autor tipado author como string é um rótulo; author como objeto Person ou Organization é uma entidade que pode carregar a especialização acima | nenhum nó Article nesta página | cada artigo | Informado |
| Artigos têm datePublished e dateModified a atualidade é lida do dateModified; um artigo só com data de publicação parece nunca ter sido mantido | — | ambos em cada artigo | Não medido |
| A Organization declara quem a dirige conecta a entidade da empresa às entidades das pessoas; sem essa aresta os dois grafos nunca se encontram | 0 de 2 | founder, employee ou member na organização | ✗ Reprovado |
| A Organization declara foundingDate a única alegação por trás de todo contador de “anos de experiência” que um leitor pode conferir em um registro oficial | 1 de 2 | na organização principal | ✓ Aprovado |
| Canal de contato declarado no schema uma empresa que não pode ser contatada por um canal declarado é, por definição, impossível de verificar | 1 de 2 | telephone, email ou contactPoint | ✓ Aprovado |
| Página Sobre com link na página inicial a página que um avaliador abre primeiro; se a página inicial não aponta para ela, a maioria dos leitores nunca a encontra | não | com link | ✗ Reprovado |
| Página de contato ou contato direto com link um caminho de contato no HTML entregue, não apenas em uma imagem do rodapé ou em um widget que renderiza depois | sim | com link | ✓ Aprovado |
| Política de privacidade ou termos com link o sinal de confiança mais barato da lista e o que sites pequenos mais esquecem | sim | com link | ✓ Aprovado |
| Avaliações têm um valor e uma contagem uma nota sem contagem é um número que ninguém consegue pesar; uma contagem sem avaliações por trás tem a forma de uma avaliação fabricada | sem aggregateRating | ratingValue com reviewCount ou ratingCount | Informado |
| Referências externas Citações para fora fazem parte de como a autoridade é lida, e uma contagem não diz se são boas. Não pontuado | 19 hosts externos com link (excluindo redes sociais): checkout.denverpost.com, accuweather.com, enewspaper.denverpost.com | cite aquilo em que o conteúdo se apoia; não existe número certo | Informado |
O que isto pode e não pode dizer. E-E-A-T é um julgamento que um avaliador faz sobre experiência, especialização, autoridade e confiança; não está no tráfego de rede e o CrawlCheck não finge pontuá-lo. Cada linha acima é uma declaração legível por máquina que um site faz e que um leitor poderia usar como evidência para esse julgamento, medida a partir da página inicial entregue e de seu JSON-LD. Uma linha inteira de aprovações não cria especialização, e uma linha de reprovações não a refuta; o que elas decidem é se uma máquina lendo este site consegue sequer encontrar a evidência. Peso 1.0 no total, o mesmo da carga: o que estas linhas medem é se a evidência pode ser encontrada por uma máquina, e essa é a parte que o CrawlCheck pode garantir.
Estrutura de acessibilidade (a partir do HTML entregue) — 96/100
| Medida | Atualmente | Ideal | |
|---|---|---|---|
| Idioma do documento declarado um leitor de tela escolhe a voz e a pronúncia a partir disso; sem ele, cada palavra é lida no idioma padrão do usuário | lang=en-US | um atributo lang válido em <html> (3.1.1) | ✓ Aprovado |
| A página tem um título a primeira coisa anunciada quando uma página abre, e o rótulo de cada aba e favorito | 89 caracteres | um <title> não vazio que nomeia a página (2.4.2) | ✓ Aprovado |
| Imagens têm atributo alt um atributo alt ausente faz o leitor anunciar o nome do arquivo; alt="" marca a imagem como decorativa e está correto | 44 de 44 | todas as imagens (alt="" para decoração) | ✓ Aprovado |
| Controles de formulário têm nome um campo sem nome é anunciado como "editar texto"; um placeholder não é um rótulo, ele desaparece na primeira tecla digitada | 1 de 2 (faltando: checkbox) | um <label for>, label envolvente, aria-label ou title em cada | ✗ Reprovado |
| Botões têm nome acessível um botão só com ícone e sem nome é anunciado como "botão" e nada mais | 3 de 3 | texto, aria-label ou uma imagem com alt dentro de cada | ✓ Aprovado |
| Frames têm título um frame sem título é um buraco na ordem de leitura que o usuário não consegue identificar nem pular de propósito | sem frames | um title em cada iframe | Informado |
| Um landmark main a região para a qual um leitor salta para chegar ao conteúdo; ter dois é tão inútil quanto não ter nenhum | um | exatamente um <main> ou role=main | ✓ Aprovado |
| Uma forma de pular a navegação sem isso, toda página começa com tabulação por todo o menu | skip link | um skip link, ou landmarks nav e main | ✓ Aprovado |
| Sem ids duplicados 4.1.1 Parsing está obsoleto (errata do W3C, 2023), então um id duplicado por si só não é uma falha; um que um rótulo ou link de salto resolve envia para o elemento errado | 0 | cada id usado por um rótulo, descrição ou #link é único | ✓ Aprovado |
| 1.1.1 Botões de imagem e áreas de mapa têm nome uma imagem usada como controle é anunciada pelo nome do arquivo ou nem é anunciada | nenhum na página | alt em cada <input type=image> e <area> com link | Informado |
| 1.1.1 Imagens SVG têm nome role=img promete uma imagem com alternativa em texto; sem ela o leitor diz "imagem" e nada mais. Um ícone dentro de um botão ou link com nome não é cobrado por isso | nenhum svg com role=img | um <title> ou aria-label em cada svg marcado com role=img | Informado |
| 1.1.1 O texto alt não é um nome de arquivo nem um placeholder falha WCAG F30: um alt que é um nome de arquivo ou a palavra "imagem" é lido em voz alta e não diz nada a quem ouve | nenhuma | alt que descreve a imagem, nunca "IMG_1234.jpg" ou "imagem" | ✓ Aprovado |
| 2.4.4 Links têm nome acessível um link só com ícone e sem nome é anunciado pela URL ou como "link"; o usuário não sabe para onde ele leva | 357 de 357 | texto, aria-label ou uma imagem com alt dentro de cada link | ✓ Aprovado |
| 4.1.2 Controles personalizados têm nome uma div transformada em botão por role=button é anunciada como "botão" sem indicar o que faz | 2 de 2 | um nome em cada elemento com papel de widget (role=button, tab, checkbox...) | ✓ Aprovado |
| 2.5.3 O rótulo visível faz parte do nome quem usa entrada por voz diz as palavras da tela; se o aria-label as substitui por outras palavras, o comando não corresponde a nada | 5 de 5 | cada palavra visível de um link ou botão dentro do seu aria-label | ✓ Aprovado |
| 1.3.1 Títulos não estão vazios um título vazio é anunciado como "título nível 2" e quebra o esboço pelo qual os leitores navegam | 129 de 129 | texto em cada h1-h6 | ✓ Aprovado |
| 1.3.1 Tabelas de dados têm células de cabeçalho sem células de cabeçalho, um leitor anuncia cada valor sem o nome da coluna, e uma tabela de preços vira uma lista de números | nenhuma tabela de dados | <th> (ou scope/headers) em cada tabela de dados | Informado |
| 1.3.1 Botões de opção estão agrupados a pergunta que um conjunto de opções responde se perde quando as opções não estão agrupadas; o leitor ouve "Sim, botão de opção" sem pergunta | nenhum grupo de botões de opção | um <fieldset> ou role=radiogroup em volta de cada conjunto | Informado |
| 1.3.5 Campos de dados pessoais declaram sua finalidade o token permite que navegadores preencham o campo e que ferramentas assistivas o marquem com um ícone conhecido; um token inválido (falha F107) não faz nenhum dos dois | nenhum campo de nome, e-mail, telefone ou endereço | um token de autocomplete válido em cada campo que pede os 'dados pessoais' do visitante | Informado |
| 2.2.1 Sem atualização temporizada uma página que recarrega ou redireciona por temporizador tira o conteúdo antes que um leitor lento termine (falhas F40/F41) | nenhuma | sem <meta http-equiv=refresh> com atraso | ✓ Aprovado |
| 2.2.2 Sem conteúdo em movimento sem botão de parar texto que rola sozinho e não pode ser pausado é ilegível para muitos usuários e distrai os demais | nenhuma | sem marquee | ✓ Aprovado |
| 1.4.2 Sem som que toca sozinho um som que começa sozinho fala por cima do leitor de tela que o usuário está ouvindo | nenhuma mídia com reprodução automática | áudio ou vídeo com reprodução automática sem som, ou com controles | ✓ Aprovado |
| 1.2.2 Vídeo assistível tem faixa de legendas visitantes surdos ou com deficiência auditiva não aproveitam nada da trilha sonora sem legendas | nenhum vídeo nativo com controles | uma <track> de legendas (não pontuado: legendas gravadas na imagem não podem ser lidas pela marcação) | Informado |
| 2.1.1 Alvos de clique acessíveis pelo teclado um onclick numa div não pode ser alcançado com Tab nem acionado com Enter, então usuários de teclado e de acionadores não conseguem usá-lo | nenhuma | cada elemento clicável pode receber foco | ✓ Aprovado |
| 3.2.1/3.2.2 Sem mudança de contexto ao focar ou inserir um select que navega assim que o valor muda leva os usuários de teclado embora enquanto ainda estão escolhendo (falha F37) | nenhuma | navegação só com um envio explícito | ✓ Aprovado |
| 4.1.2 Nada focável fica oculto para leitores o foco do teclado cai em algo que o leitor de tela diz não existir, e o usuário ouve silêncio | nenhuma | nenhum aria-hidden em link, botão ou campo | ✓ Aprovado |
| 4.1.2 Papéis ARIA são válidos um papel desconhecido é ignorado, e o elemento é anunciado como o que ele realmente é | nenhuma | cada papel é um papel do WAI-ARIA 1.2 | ✓ Aprovado |
| 4.1.2 Atributos ARIA existem um atributo com erro de grafia (aria-labeledby) não faz nada; o nome ou estado que deveria definir nunca é exposto | nenhuma | cada atributo aria-* definido no WAI-ARIA 1.2 | ✓ Aprovado |
| 1.3.1 Referências de rótulo e descrição são resolvidas um label cujo for aponta para nenhum id não rotula nada; o campo para o qual foi escrito continua sem nome | nenhuma | cada id de for, aria-labelledby, aria-describedby e headers presente | ✓ Aprovado |
| 2.4.1 O link de salto chega ao destino um link de salto para um id inexistente não move o foco para lugar nenhum, e o usuário percorre o menu inteiro com Tab mesmo assim | destino presente | o #id que um link de salto nomeia existe na página | ✓ Aprovado |
| 3.1.2 Idioma das partes é válido uma tag inválida é ignorada, então uma citação em francês numa página em inglês é lida com pronúncia inglesa | nenhuma | tags BCP 47 (en, fr-CA) em cada atributo lang | ✓ Aprovado |
| 2.4.3 Sem tabindex positivo um tabindex positivo puxa um elemento para a frente da ordem de tabulação, geralmente antes do conteúdo ao qual pertence | nenhuma | tabindex 0 ou -1 apenas (não pontuado: uma ordem ainda pode fazer sentido) | Informado |
O que é isto. Lido contra o texto completo da WCAG 2.1: dos seus 78 critérios de sucesso, 21 podem ser decididos, em parte, a partir do documento que o servidor retorna, e cada um é verificado aqui. Outros 4 são medidos em outras seções (zoom, texto dos links, ordem dos títulos, um sitemap). Contraste, refluxo, visibilidade do foco, armadilhas de teclado e movimento precisam de uma página renderizada (27 critérios); precisão das legendas, ordem de leitura e linguagem simples precisam de uma pessoa (26). Nada disso é afirmado. Uma página que passa em todas as linhas aqui não fica por isso em conformidade, e isto não é uma declaração de conformidade. Cada linha só conta uma falha quando a marcação a resolve: um ícone dentro de um botão com nome não é uma falha 1.1.1, e um id duplicado só falha quando algo é resolvido por ele. Peso 0.8 no total, na etapa Leitura.
Todos os 78 critérios de sucesso da WCAG 2.1 e a situação de cada um
| Critério | Nível | CrawlCheck |
|---|---|---|
| 1.1.1 Conteúdo não textual | A | Medido nesta seção |
| 1.2.1 Apenas áudio e apenas vídeo (pré-gravado) | A | Precisa de uma pessoa |
| 1.2.2 Legendas (pré-gravado) | A | Medido nesta seção |
| 1.2.3 Audiodescrição ou mídia alternativa (pré-gravado) | A | Precisa de uma pessoa |
| 1.2.4 Legendas (ao vivo) | AA | Precisa de uma pessoa |
| 1.2.5 Audiodescrição (pré-gravado) | AA | Precisa de uma pessoa |
| 1.2.6 Língua de sinais (pré-gravado) | AAA | Precisa de uma pessoa |
| 1.2.7 Audiodescrição estendida (pré-gravado) | AAA | Precisa de uma pessoa |
| 1.2.8 Mídia alternativa (pré-gravado) | AAA | Precisa de uma pessoa |
| 1.2.9 Apenas áudio (ao vivo) | AAA | Precisa de uma pessoa |
| 1.3.1 Informações e relações | A | Medido nesta seção |
| 1.3.2 Sequência com significado | A | Precisa de uma pessoa |
| 1.3.3 Características sensoriais | A | Precisa de uma pessoa |
| 1.3.4 Orientação | AA | Precisa de uma página renderizada |
| 1.3.5 Identificar a finalidade da entrada | AA | Medido nesta seção |
| 1.3.6 Identificar a finalidade | AAA | Precisa de uma pessoa |
| 1.4.1 Uso de cor | A | Precisa de uma página renderizada |
| 1.4.2 Controle de áudio | A | Medido nesta seção |
| 1.4.3 Contraste (mínimo) | AA | Precisa de uma página renderizada |
| 1.4.4 Redimensionar texto | AA | Medido em outra seção deste relatório |
| 1.4.5 Imagens de texto | AA | Precisa de uma pessoa |
| 1.4.6 Contraste (melhorado) | AAA | Precisa de uma página renderizada |
| 1.4.7 Áudio de fundo baixo ou ausente | AAA | Precisa de uma pessoa |
| 1.4.8 Apresentação visual | AAA | Precisa de uma página renderizada |
| 1.4.9 Imagens de texto (sem exceção) | AAA | Precisa de uma pessoa |
| 1.4.10 Refluxo | AA | Precisa de uma página renderizada |
| 1.4.11 Contraste não textual | AA | Precisa de uma página renderizada |
| 1.4.12 Espaçamento de texto | AA | Precisa de uma página renderizada |
| 1.4.13 Conteúdo em foco ou ao passar o mouse | AA | Precisa de uma página renderizada |
| 2.1.1 Teclado | A | Medido nesta seção |
| 2.1.2 Sem armadilha de teclado | A | Precisa de uma página renderizada |
| 2.1.3 Teclado (sem exceção) | AAA | Precisa de uma página renderizada |
| 2.1.4 Atalhos de tecla de caractere | A | Precisa de uma página renderizada |
| 2.2.1 Tempo ajustável | A | Medido nesta seção |
| 2.2.2 Pausar, parar, ocultar | A | Medido nesta seção |
| 2.2.3 Sem limite de tempo | AAA | Precisa de uma pessoa |
| 2.2.4 Interrupções | AAA | Precisa de uma pessoa |
| 2.2.5 Nova autenticação | AAA | Precisa de uma pessoa |
| 2.2.6 Tempos limite | AAA | Precisa de uma pessoa |
| 2.3.1 Três flashes ou abaixo do limite | A | Precisa de uma página renderizada |
| 2.3.2 Três flashes | AAA | Precisa de uma página renderizada |
| 2.3.3 Animação a partir de interações | AAA | Precisa de uma página renderizada |
| 2.4.1 Ignorar blocos | A | Medido nesta seção |
| 2.4.2 Página com título | A | Medido nesta seção |
| 2.4.3 Ordem do foco | A | Precisa de uma página renderizada |
| 2.4.4 Finalidade do link (em contexto) | A | Medido nesta seção |
| 2.4.5 Várias formas | AA | Medido em outra seção deste relatório |
| 2.4.6 Títulos e rótulos | AA | Medido nesta seção |
| 2.4.7 Foco visível | AA | Precisa de uma página renderizada |
| 2.4.8 Localização | AAA | Precisa de uma pessoa |
| 2.4.9 Finalidade do link (apenas o link) | AAA | Medido em outra seção deste relatório |
| 2.4.10 Títulos de seção | AAA | Medido em outra seção deste relatório |
| 2.5.1 Gestos de ponteiro | A | Precisa de uma página renderizada |
| 2.5.2 Cancelamento de ponteiro | A | Precisa de uma página renderizada |
| 2.5.3 Rótulo no nome | A | Medido nesta seção |
| 2.5.4 Atuação por movimento | A | Precisa de uma página renderizada |
| 2.5.5 Tamanho do alvo | AAA | Precisa de uma página renderizada |
| 2.5.6 Mecanismos de entrada simultâneos | AAA | Precisa de uma página renderizada |
| 3.1.1 Idioma da página | A | Medido nesta seção |
| 3.1.2 Idioma das partes | AA | Medido nesta seção |
| 3.1.3 Palavras incomuns | AAA | Precisa de uma pessoa |
| 3.1.4 Abreviações | AAA | Precisa de uma pessoa |
| 3.1.5 Nível de leitura | AAA | Precisa de uma pessoa |
| 3.1.6 Pronúncia | AAA | Precisa de uma pessoa |
| 3.2.1 Em foco | A | Medido nesta seção |
| 3.2.2 Em entrada | A | Medido nesta seção |
| 3.2.3 Navegação consistente | AA | Precisa de uma página renderizada |
| 3.2.4 Identificação consistente | AA | Precisa de uma página renderizada |
| 3.2.5 Mudança a pedido | AAA | Medido nesta seção |
| 3.3.1 Identificação de erros | A | Precisa de uma página renderizada |
| 3.3.2 Rótulos ou instruções | A | Medido nesta seção |
| 3.3.3 Sugestão de erro | AA | Precisa de uma página renderizada |
| 3.3.4 Prevenção de erros (legais, financeiros, de dados) | AA | Precisa de uma pessoa |
| 3.3.5 Ajuda | AAA | Precisa de uma pessoa |
| 3.3.6 Prevenção de erros (todos) | AAA | Precisa de uma pessoa |
| 4.1.1 Parsing (obsoleto, sempre atendido para HTML segundo a errata do W3C) | A | Medido nesta seção |
| 4.1.2 Nome, função, valor | A | Medido nesta seção |
| 4.1.3 Mensagens de status | AA | Precisa de uma página renderizada |
Corroboração da entidade — 100/100
| Medida | Atualmente | Ideal | |
|---|---|---|---|
| Alegação de identidade — facebook.com a página de destino referencia denverpost.com de volta | corroborado | corroborado | ✓ Aprovado |
| Alegação de identidade — x.com a página de destino faz referência de volta a denverpost.com | corroborado | corroborado | ✓ Aprovado |
| Alegação de identidade — linkedin.com a página de destino faz referência de volta a denverpost.com | corroborado | corroborado | ✓ Aprovado |
| Wikidata Q2668654 o sinal de identidade de terceiros mais forte que uma máquina consegue ler | o site oficial corresponde a este domínio | P856 nomeia este domínio | Informado |
3 corroborados · 0 sem reciprocidade · 0 não verificáveis · 0 mortos. Um link sameAs é uma AFIRMAÇÃO de identidade, e uma afirmação de identidade pode ser recíproca — o destino aponta de volta para este domínio ou não. Plataformas que recusam leitores de datacenter são contadas como não verificáveis, nunca como falhas: a afirmação não pode ser confirmada nem contestada daqui, e fingir o contrário seria fabricar achados. Afirmações corroboradas passam, afirmações sem reciprocidade e mortas falham, e afirmações não verificáveis ou apenas declaradas ficam fora da pontuação — assim, uma página de perfil que bloqueia leitores nunca custa um ponto, e um link morto ou que nunca menciona este site custa.
Conteúdo citável — 67/100
| Medida | Atualmente | Ideal | |
|---|---|---|---|
| O parágrafo inicial define o assunto o primeiro parágrafo é o que mais é aproveitado inteiro; se for um slogan, o mecanismo precisa montar a resposta a partir de fragmentos. Nomear o assunto é exibido, não pontuado | não o nomeia, sem verbo definidor | uma primeira frase que diz o que é isto (corpus: 30% das páginas iniciais fazem isso) | ✗ Reprovado |
| Parágrafos que um mecanismo pode citar inteiros um parágrafo autônomo de 15-70 palavras com um fato é a unidade que os mecanismos de resposta extraem; um parágrafo de 200 palavras é resumido, e o resumo é deles | 8 de 12 (67%) | pelo menos 25% (mediana do corpus 29%) | ✓ Aprovado |
| Cabeçalhos em forma de pergunta com resposta abaixo é a forma que uma consulta tem quando chega; uma página que já traz a pergunta e uma resposta curta é citada nessa ordem. Não ter nenhum não é pontuado | sem cabeçalhos em forma de pergunta | pelo menos metade, onde existirem cabeçalhos em forma de pergunta | Informado |
| A marcação de FAQ corresponde ao texto visível marcação de FAQ para texto que o visitante não vê é uma alegação sem nada por trás; mecanismos que comparam os dois descartam a marcação | sem FAQPage | cada pergunta declarada legível na página | Informado |
| Cabeçalhos têm um id um cabeçalho com id é um endereço estável para um trecho; sem ele, uma citação só pode apontar para a página inteira | 0 de 29 | um id em cada, para que um trecho possa ser citado por fragmento (não pontuado: mediana do corpus 0%) | Informado |
| Tamanho das frases citações são curtas; uma frase de 40 palavras é parafraseada, e a paráfrase leva as palavras do mecanismo, não as suas | mediana de 15 palavras, 67% abaixo de 26 | uma mediana de 22 palavras ou menos (mediana do corpus 15) | Informado |
| Frases com um fato verificável 8-30 palavras com um número, data ou nome, em terceira pessoa: a frase que um mecanismo pode atribuir a você sem editá-la | 2 de 3 (67%) | pelo menos 15% (mediana do corpus 20%) | Informado |
| Parágrafos que começam em primeira pessoa "Oferecemos" precisa ser reescrito antes de poder ser citado sobre você; "A Acme oferece" não | 0 de 12 (0%) | um terço ou menos (corpus p90 24%) | ✓ Aprovado |
| Tabelas com linha de cabeçalho e pelo menos duas linhas de dados uma tabela é a única estrutura que todo extrator lê da mesma forma; os mesmos fatos em texto corrido são remontados de forma diferente por cada mecanismo | 0 | uma por conjunto de fatos comparáveis (não pontuado: raro em páginas iniciais) | Informado |
| Uma data visível de atualização ou publicação os mecanismos avaliam a atualidade pelo texto e também pelo schema; uma data que o leitor vê é aquela em que eles confiam | nada encontrado | uma linha datada no texto (não pontuado: 4% das páginas iniciais têm uma) | Informado |
Frases que um mecanismo poderia aproveitar como estão:
- “Sign up for Newsletters and Alerts Sign Up Democrat Eileen Laubacher declares victory over Rep.”
- “Lauren Boebert in Colorado's 4th Congressional District Democrat Eileen Laubacher declares victory over Rep.”
A abertura, como entregue: “Sign up for Newsletters and Alerts Sign Up”
O que isto pontua, e o que não é. Estas linhas leem o HTML entregue em busca da forma de um texto citável: nada aqui julga se o texto é bom, verdadeiro ou desejado. As contagens vêm dos parágrafos do corpo e itens de lista, com navegação, cabeçalho, rodapé e formulários removidos; uma página com menos de cinco não é pontuada aqui. Os limites foram definidos a partir de uma passada em um corpus de 176 páginas iniciais, e cada linha informa o número do corpus usado como referência. Peso 0.8 no total e parte da etapa Citar, a partir da versão de pontuação 15.
Desperdício de rastreamento — 100/100
| Medida | Atualmente | Ideal | |
|---|---|---|---|
| Links internos com query string cada forma de parâmetro é uma URL separada para um rastreador; parâmetros de tracking e de ordenação em links internos multiplicam as páginas que ele acha que você tem | 1 de 309 - ntv_adpz | 0, a menos que o parâmetro mude a página | ✓ Aprovado |
| Internal links to http:// cada um é um redirecionamento antes da página, e um redirecionamento é uma busca que não retornou nada | 4 de 309 | 0 | Informado |
| URLs declaradas que redirecionam uma entrada do sitemap que redireciona manda o rastreador para um lugar que o sitemap deveria ter indicado desde o início | 0 de 6 amostradas | 0 | ✓ Aprovado |
| URLs declaradas que não respondem 200 uma página declarada que não existe mais é uma requisição gasta em uma página que não será indexada | 0 de 6 amostradas | 0 | Informado |
| Apex e www respondem 200 dois hosts servindo o mesmo site significam cada página em dobro, e o mecanismo precisa adivinhar qual cópia é a verdadeira | não, um redireciona | um host, o outro redireciona | ✓ Aprovado |
Um rastreador chega com um orçamento. Cada linha aqui é uma requisição que não produziu nenhuma página nova: um redirecionamento, uma variante de parâmetro, uma variante de maiúsculas/minúsculas, uma página declarada que aponta para outro lugar. Contado a partir da página inicial entregue, do sitemap, das URLs declaradas amostradas e da leitura diária do site inteiro, quando existe. Nada disso altera a nota.
Assunto da página, a pergunta Webref — 100/100
| Medida | Atualmente | Ideal | |
|---|---|---|---|
| Entidades de empresa declaradas na página o Webref decide de qual entidade uma página trata e em que medida; uma página que cita várias empresas não relacionadas divide sua relevância temática entre elas | 1 | um assunto, os outros só por relação declarada | Informado |
| O assunto da página mainEntity é a declaração explícita; uma URL neste host é a melhor evidência seguinte; adivinhar pelo primeiro nó é exatamente o que esta verificação se recusa a fazer | The Denver Post - encontrado por URL neste host | declarado como WebPage.mainEntity | Informado |
| O título e o h1 nomeiam o assunto as duas afirmações mais fortes na página sobre do que trata o documento | title sim, h1 sim | ambos | Informado |
| Lugares nomeados no grafo areaServed é lido como os lugares que a empresa atende; uma localidade ONDE a empresa fica é outra relação, e as duas pertencem ao registro | 2 (Denver, Denver Metropolitan Area and the state of Colorado) | a localidade da própria filial mais uma área de atendimento declarada | Informado |
| Veredito single: uma entidade. related: várias, todas conectadas. diluted: empresas não relacionadas dividem a página. ambiguous: nenhum assunto pode ser resolvido | single - uma entidade empresarial, e ela é o assunto | single ou related | ✓ Aprovado |
Um documento não compete por uma palavra-chave sozinho; o índice o liga a entidades pela identidade delas no Knowledge Graph e classifica os documentos entre si para essa entidade. Esta seção lê os dados estruturados da página inicial entregue e faz a pergunta que essa camada faz: de qual empresa esta página trata, e como cada outra empresa nela está relacionada? Pertencer a uma rede, subsidiária, departamento e contenção são relações declaradas; uma segunda empresa sem relação é uma afirmação que o mecanismo precisa arbitrar. Medido, não pontuado, até que o corpus mostre com que frequência cada veredito ocorre.
Agentes de IA e de busca — 33/100
| Medida | Atualmente | Ideal | |
|---|---|---|---|
| Mecanismos de resposta permitidos estes obtêm uma página enquanto compõem uma resposta ao vivo | 7 de 17 | todos | ✗ Reprovado |
| Índices de busca permitidos a cobertura de índice clássica ainda gera a maior parte da descoberta | 17 de 24 | todos | ✗ Reprovado |
| Rastreadores de treinamento permitidos bloquear os de treinamento e permitir os mecanismos de resposta é coerente, não um defeito | 22 de 46 | uma escolha de política sua — não pontuado | Informado |
| Mecanismos de busca regionais permitidos Naver, Sogou, 360 e Yisou importam se você vende nesses mercados e são irrelevantes se não vende; é um fato do negócio que não conseguimos ler na página | 7 de 7 | uma escolha de política sua — não pontuado | Informado |
| Prévias de links em redes sociais permitidas bloqueá-las não afeta os mecanismos de resposta, só faz os seus links aparecerem como URLs sem prévia quando alguém os compartilha | 6 de 6 | uma escolha de política sua — não pontuado | Informado |
| Rastreadores de SEO e de pesquisa permitidos bloquear um rastreador de índice de links custa visibilidade para concorrentes, não visibilidade em mecanismos de resposta — uma troca diferente da de cima | 15 de 15 | uma escolha de política sua — não pontuado | Informado |
| Grupos do robots.txt um segundo grupo * é invisível para parsers que param na primeira correspondência | 70 | 1 grupo por user-agent, sem grupo * duplicado | ✓ Aprovado |
| Mecanismos de resposta — obtêm no momento da pergunta — 7 de 17 permitidos | |
| OAI-SearchBot | BLOQUEADO em / · ChatGPT search index · named rule · line 150: Disallow: / |
| ChatGPT-User | BLOQUEADO em / · ChatGPT live fetch · named rule · line 63: Disallow: / |
| Claude-SearchBot | BLOQUEADO em / · Claude search index · named rule · line 69: Disallow: / |
| Claude-User | BLOQUEADO em / · Claude live fetch · named rule · line 72: Disallow: / |
| PerplexityBot | BLOQUEADO em / · Perplexity index · named rule · line 159: Disallow: / |
| Perplexity-User | BLOQUEADO em / · Perplexity live fetch · named rule · line 162: Disallow: / |
| Gemini-Deep-Research | permitido · Gemini research agent · wildcard rule · group at line 9, no rule matches / |
| MistralAI-User | BLOQUEADO em / · Le Chat live fetch · named rule · line 144: Disallow: / |
| DuckAssistBot | BLOQUEADO em / · DuckDuckGo AI assist · named rule · line 96: Disallow: / |
| YouBot | BLOQUEADO em / · You.com · named rule · line 198: Disallow: / |
| PhindBot | permitido · Phind · wildcard rule · group at line 9, no rule matches / |
| Kagibot | permitido · Kagi · wildcard rule · group at line 9, no rule matches / |
| Copilot-User | permitido · Microsoft Copilot fetch · wildcard rule · group at line 9, no rule matches / |
| Meta-ExternalFetcher | BLOQUEADO em / · Meta AI live fetch · named rule · line 138: Disallow: / |
| Amzn-User | permitido · Amazon live fetch for Alexa questions · wildcard rule · group at line 9, no rule matches / |
| Google-Agent | permitido · Google user-triggered agent, acts on the web · wildcard rule · group at line 9, no rule matches / |
| Google-GeminiNotebook | permitido · Gemini Notebook user-supplied URL fetch · wildcard rule · group at line 9, no rule matches / |
| Índices de busca — 17 de 24 permitidos | |
| Googlebot-Image | permitido · Google image crawler · wildcard rule · group at line 9, no rule matches / |
| Googlebot-News | permitido · Google News · wildcard rule · group at line 9, no rule matches / |
| Googlebot-Video | permitido · Google video crawler · wildcard rule · group at line 9, no rule matches / |
| Storebot-Google | permitido · Google Shopping · wildcard rule · group at line 9, no rule matches / |
| Mediapartners-Google | permitido · Google AdSense · wildcard rule · group at line 9, no rule matches / |
| APIs-Google | permitido · Google push delivery · wildcard rule · group at line 9, no rule matches / |
| BingPreview | permitido · Bing page preview · wildcard rule · group at line 9, no rule matches / |
| msnbot | permitido · Microsoft legacy crawler · wildcard rule · group at line 9, no rule matches / |
| Slurp | BLOQUEADO em / · Yahoo Slurp · named rule · line 177: Disallow: / |
| Yandex | permitido · Yandex (umbrella token) · wildcard rule · group at line 9, no rule matches / |
| coccocbot-web | permitido · Coc Coc · wildcard rule · group at line 9, no rule matches / |
| Googlebot | permitido · Google Search and AI Overviews · wildcard rule · group at line 9, no rule matches / |
| bingbot | permitido · Bing and Copilot index · wildcard rule · group at line 9, no rule matches / |
| Applebot | BLOQUEADO em / · Apple and Siri · named rule · line 36: Disallow: / |
| Amazonbot | BLOQUEADO em / · Amazon · named rule · line 27: Disallow: / |
| DuckDuckBot | permitido · DuckDuckGo · wildcard rule · group at line 9, no rule matches / |
| YandexBot | BLOQUEADO em / · Yandex · named rule · line 195: Disallow: / |
| Baiduspider | BLOQUEADO em / · Baidu · named rule · line 45: Disallow: / |
| Seznambot | permitido · Seznam · wildcard rule · group at line 9, no rule matches / |
| Neevabot | permitido · Neeva · wildcard rule · group at line 9, no rule matches / |
| PetalBot | BLOQUEADO em / · Huawei Petal · named rule · line 165: Disallow: / |
| Amzn-SearchBot | BLOQUEADO em / · Amazon search eligibility, separate from Amazonbot · named rule · line 30: Disallow: / |
| MistralAI-Index | permitido · Mistral search index for Vibe · wildcard rule · group at line 9, no rule matches / |
| ExaSearchBot | permitido · Exa AI search index, Web Bot Auth signed · wildcard rule · group at line 9, no rule matches / |
| Rastreadores de treinamento / corpus — 22 de 46 permitidos | |
| Magpie-crawler | permitido · Magpie AI · wildcard rule · group at line 9, no rule matches / |
| img2dataset | permitido · img2dataset image corpus · wildcard rule · group at line 9, no rule matches / |
| AwarioRssBot | permitido · Awario RSS · wildcard rule · group at line 9, no rule matches / |
| AwarioSmartBot | permitido · Awario smart · wildcard rule · group at line 9, no rule matches / |
| TurnitinBot | permitido · Turnitin · wildcard rule · group at line 9, no rule matches / |
| archive.org_bot | BLOQUEADO em / · Internet Archive · named rule · line 42: Disallow: / |
| ia_archiver | permitido · Internet Archive (legacy) · wildcard rule · group at line 9, no rule matches / |
| meta-webindexer | BLOQUEADO em / · Meta web index · named rule · line 141: Disallow: / |
| omgili | BLOQUEADO em / · Webz.io omgili · named rule · line 153: Disallow: / |
| cohere-training-data-crawler | BLOQUEADO em / · Cohere training corpus · named rule · line 78: Disallow: / |
| PanguBot | BLOQUEADO em / · Huawei PanGu · named rule · line 156: Disallow: / |
| Ai2Bot-Dolma | BLOQUEADO em / · Allen Institute Dolma · named rule · line 24: Disallow: / |
| FriendlyCrawler | permitido · FriendlyCrawler ML · wildcard rule · group at line 9, no rule matches / |
| VelenPublicWebCrawler | BLOQUEADO em / · Velen · named rule · line 186: Disallow: / |
| MyCentralAIScraperBot | permitido · MyCentral AI · wildcard rule · group at line 9, no rule matches / |
| DeepSeekBot | permitido · DeepSeek · wildcard rule · group at line 9, no rule matches / |
| ICC-Crawler | BLOQUEADO em / · NICT ICC · named rule · line 117: Disallow: / |
| GoogleOther | permitido · Google non-search fetch · wildcard rule · group at line 9, no rule matches / |
| Google-CloudVertexBot | permitido · Vertex AI agent build · wildcard rule · group at line 9, no rule matches / |
| GPTBot | BLOQUEADO em / · OpenAI training and index · named rule · line 108: Disallow: / |
| ClaudeBot | BLOQUEADO em / · Anthropic training · named rule · line 66: Disallow: / |
| anthropic-ai | BLOQUEADO em / · Anthropic legacy agent · named rule · line 33: Disallow: / |
| Claude-Web | BLOQUEADO em / · Anthropic legacy agent · named rule · line 75: Disallow: / |
| Google-Extended | BLOQUEADO em / · Gemini training and grounding · named rule · line 105: Disallow: / |
| Applebot-Extended | BLOQUEADO em / · Apple training · named rule · line 39: Disallow: / |
| CCBot | BLOQUEADO em / · Common Crawl · named rule · line 57: Disallow: / |
| Bytespider | BLOQUEADO em / · ByteDance · named rule · line 51: Disallow: / |
| meta-externalagent | BLOQUEADO em / · Meta AI training · named rule · line 135: Disallow: / |
| FacebookBot | BLOQUEADO em / · Meta legacy · named rule · line 99: Disallow: / |
| cohere-ai | permitido · Cohere · wildcard rule · group at line 9, no rule matches / |
| Diffbot | BLOQUEADO em / · Diffbot knowledge graph · named rule · line 90: Disallow: / |
| Omgilibot | BLOQUEADO em / · Webz.io · named rule · line 153: Disallow: / |
| ImagesiftBot | permitido · Imagesift · wildcard rule · group at line 9, no rule matches / |
| Timpibot | BLOQUEADO em / · Timpi · named rule · line 183: Disallow: / |
| AI2Bot | BLOQUEADO em / · Allen Institute · named rule · line 21: Disallow: / |
| Scrapy | permitido · Generic scraper framework · wildcard rule · group at line 9, no rule matches / |
| SemrushBot-OCOB | permitido · Semrush AI corpus · wildcard rule · group at line 9, no rule matches / |
| Applebot-Extended-Ads | BLOQUEADO em / · Apple ads corpus · named rule · line 39: Disallow: / |
| TikTokSpider | permitido · TikTok · wildcard rule · group at line 9, no rule matches / |
| QuillBot | permitido · QuillBot · wildcard rule · group at line 9, no rule matches / |
| Webzio-Extended | BLOQUEADO em / · Webz.io extended · named rule · line 192: Disallow: / |
| ProRataInc | permitido · ProRata · wildcard rule · group at line 9, no rule matches / |
| AwarioBot | permitido · Awario · wildcard rule · group at line 9, no rule matches / |
| MistralAI-Training | permitido · Mistral training crawl · wildcard rule · group at line 9, no rule matches / |
| GoogleOther-Image | permitido · Google common crawler, public image URLs · wildcard rule · group at line 9, no rule matches / |
| GoogleOther-Video | permitido · Google common crawler, public video URLs · wildcard rule · group at line 9, no rule matches / |
| Rastreadores de SEO e pesquisa de mercado — 15 de 15 permitidos | |
| KlaviyoAIBot | permitido · Klaviyo Customer Agent knowledge-source crawler · wildcard rule · group at line 9, no rule matches / |
| AhrefsBot | permitido · Ahrefs link index · wildcard rule · group at line 9, no rule matches / |
| SemrushBot | permitido · Semrush crawler · wildcard rule · group at line 9, no rule matches / |
| MJ12bot | permitido · Majestic link index · wildcard rule · group at line 9, no rule matches / |
| DotBot | permitido · Moz link index · wildcard rule · group at line 9, no rule matches / |
| rogerbot | permitido · Moz site crawler · wildcard rule · group at line 9, no rule matches / |
| DataForSeoBot | permitido · DataForSEO · wildcard rule · group at line 9, no rule matches / |
| BLEXBot | permitido · WebMeUp link index · wildcard rule · group at line 9, no rule matches / |
| CloudflareBrowserRenderingCrawler | permitido · Cloudflare Browser Run /crawl · wildcard rule · group at line 9, no rule matches / |
| Cloudflare-AutoRAG | permitido · Cloudflare AutoRAG · wildcard rule · group at line 9, no rule matches / |
| Peer39_Crawler | permitido · Peer39 ad context · wildcard rule · group at line 9, no rule matches / |
| AdsBot-Google | permitido · Google Ads quality · wildcard rule · group at line 9, no rule matches / |
| AmazonAdBot | permitido · Amazon Ads · named rule · group at line 200, no rule matches / |
| AdIdxBot | permitido · Microsoft Ads · wildcard rule · group at line 9, no rule matches / |
| OAI-AdsBot | permitido · OpenAI ChatGPT ads page validation · wildcard rule · group at line 9, no rule matches / |
| Mecanismos de busca regionais — 7 de 7 permitidos | |
| Yeti | permitido · Naver · wildcard rule · group at line 9, no rule matches / |
| YoudaoBot | permitido · Youdao · wildcard rule · group at line 9, no rule matches / |
| Exabot | permitido · Exalead · wildcard rule · group at line 9, no rule matches / |
| Sogou web spider | permitido · Sogou · wildcard rule · group at line 9, no rule matches / |
| YisouSpider | permitido · Shenma mobile search · wildcard rule · group at line 9, no rule matches / |
| 360Spider | permitido · 360 Search · wildcard rule · group at line 9, no rule matches / |
| Sosospider | permitido · Soso · wildcard rule · group at line 9, no rule matches / |
| Prévias de links em redes sociais — 6 de 6 permitidos | |
| Facebot | permitido · Meta link crawler · wildcard rule · group at line 9, no rule matches / |
| Twitterbot | permitido · X link preview · named rule · group at line 212, no rule matches / |
| LinkedInBot | permitido · LinkedIn link preview · wildcard rule · group at line 9, no rule matches / |
| facebookexternalhit | permitido · Facebook link preview · named rule · group at line 203, no rule matches / |
| Pinterestbot | permitido · Pinterest · wildcard rule · group at line 9, no rule matches / |
| Slackbot-LinkExpanding | permitido · Slack unfurl · wildcard rule · group at line 9, no rule matches / |
| 153 more crawler names checked — 141 allowed; the ones this robots.txt names or blocks: | |
| AI2Bot-DeepResearchEval | BLOQUEADO em / · Ai2 — AI assistant or agent · named rule · line 21: Disallow: / |
| ChatGLM-Spider | BLOQUEADO em / · AI data crawler · named rule · line 60: Disallow: / |
| Cotoyogi | BLOQUEADO em / · ROIS — AI data crawler · named rule · line 81: Disallow: / |
| Diffbot-User | BLOQUEADO em / · Diffbot — AI assistant or agent · named rule · line 90: Disallow: / |
| imageSpider | BLOQUEADO em / · AI data crawler · named rule · line 120: Disallow: / |
| laion-huggingface-processor | BLOQUEADO em / · AI data crawler · named rule · line 126: Disallow: / |
| LCC | BLOQUEADO em / · AI data crawler · named rule · line 129: Disallow: / |
| MistralAI-User/1.0 | BLOQUEADO em / · Mistral AI — AI assistant or agent · named rule · line 144: Disallow: / |
| Mozilla-Tabstack | permitido · Mozilla that performs programmatic — AI data crawler · named rule · line 224: Allow: / |
| SBIntuitionsBot | BLOQUEADO em / · SB Intuitions — AI data crawler · named rule · line 168: Disallow: / |
| Spider | BLOQUEADO em / · AI data crawler · named rule · line 177: Disallow: / |
| Thinkbot | BLOQUEADO em / · Thinkbot — AI data crawler · named rule · line 180: Disallow: / |
| Baiduspider-image | BLOQUEADO em / · Baidu image search · named rule · line 45: Disallow: / |
10 mecanismo(s) de resposta estão bloqueados. Estes são os agentes que obtêm uma página enquanto compõem uma resposta, então isso remove o site diretamente das respostas ao vivo.
A velocidade que um rastreador vê, e dados de campo onde existirem — 44/100
| Medida | Atualmente | Ideal | |
|---|---|---|---|
| Largest Contentful Paint (p75) quanto tempo um visitante real espera até o elemento principal da página aparecer | 3.52s | 2.5s ou menos | ✗ Reprovado |
| Interaction to Next Paint (p75) quanto tempo a página leva para responder depois que um visitante real toca em algo | 136ms | 200ms ou menos | ✓ Aprovado |
| Cumulative Layout Shift (p75) quanto a página se mexe enquanto a pessoa está lendo | 0.13 | 0.1 ou menos | ✗ Reprovado |
| Time to First Byte (p75) a parte do servidor em todos os outros números desta lista | 677ms | 800ms ou menos | ✓ Aprovado |
| Largest Contentful Paint trend holding steady — +1.8% across 40 weekly readings (2026-02-07 to 2026-11-07), real Chrome visitors | 3.45s → 3.51s | lower over time | Informado |
| Interaction to Next Paint trend getting faster — -7.5% across 40 weekly readings (2026-02-07 to 2026-11-07), real Chrome visitors | 146ms → 135ms | lower over time | Informado |
| Cumulative Layout Shift trend holding steady — 0% across 40 weekly readings (2026-02-07 to 2026-11-07), real Chrome visitors | 0.13 → 0.13 | lower over time | Informado |
| Os arquivos para máquinas respondem rápido (medido aqui) o tempo mediano que o CrawlCheck esperou pelos seus próprios arquivos robots, sitemap e de entidades. Um rastreador que atinge o tempo limite não registra nada, então este é o número de velocidade que decide se você é lido | 338 ms de mediana em 5 | abaixo de 500 ms | ✓ Aprovado |
| Nenhum valor lento fora da curva entre eles um único arquivo lento basta para perder um rastreamento. Esta é a pior resposta individual do mesmo conjunto, não uma média que a esconde | 848 ms a mais lenta | abaixo de 1500 ms | ✓ Aprovado |
| LCP de laboratório — sintético, não dados de campo uma execução móvel simulada a partir dos servidores do Google. NÃO é o que seus visitantes viveram — não existem dados de campo para esta origem | 19.14s | 2.5s ou menos | ✗ Reprovado |
| Total Blocking Time de laboratório trabalho na thread principal que bloquearia a interação na execução simulada | 1.86s | 200ms ou menos | ✗ Reprovado |
| Cumulative Layout Shift de laboratório quanto o layout simulado se moveu durante o carregamento | 0.193 | 0.1 ou menos | ✗ Reprovado |
Medido nesta URL exata. Estes são o 75º percentil do que usuários reais do Chrome viveram nos últimos 28 dias, não um teste rodado daqui — os limites são os publicados pelo Google, os únicos que existem.
Carga e caminho de renderização — 20/100
| Medida | Atualmente | Ideal | |
|---|---|---|---|
| Proporção de conteúdo o resto é marcação que um modelo precisa ler e descartar | 4.4% | 10–100% dos bytes descomprimidos são texto visível | ✗ Reprovado |
| Bytes descomprimidos páginas grandes são buscadas com menos frequência e truncadas com mais frequência | 313,548B | abaixo de 500.000B | ✓ Aprovado |
| Tokens to read this page estimated at about 4 characters per token. An agent that reads raw HTML pays for every byte of markup, scripts and styles; one that extracts the text pays for the words only. A markdown version served on request (Accept: text/markdown) lets agents take the cheap path. | ~78.4k as HTML, ~3.4k as text (4%) | an agent reading text pays a fraction of the HTML cost | Informado |
| JavaScript inline JS inline é puro custo extra para um rastreador que extrai texto | 43,837B | abaixo de 20.000B | ✗ Reprovado |
| Recursos que bloqueiam a renderização cada um atrasa a primeira pintura e consome o orçamento de renderização do rastreador | 27 | 0–5 | ✗ Reprovado |
| Scripts adiados vs. bloqueantes um script bloqueante interrompe completamente a análise do HTML | 2 adiados / 17 bloqueantes | todo script com defer ou async | ✗ Reprovado |
Para onde vão os bytes
| Texto visível | 13,731 B | 4,4% |
|---|---|---|
| CSS inline | 46,455 B | 14,8% |
| JavaScript inline | 43,837 B | 14,0% |
| Dados estruturados | 2,238 B | 0,7% |
| Marcação e atributos | 204,197 B | 65,1% |
| Recursos que bloqueiam a renderização | 27 | 10 folhas de estilo, 17 scripts |
| Entidades com um @id estável | 1 / 3 | 33,3% |
| Arestas de credenciais | 0 | nenhum declarado |
1 de 1 links de identidade de mapa apontam para lugares, não para esta empresa — 5990 Washington St, Denver, CO 80216. sameAs afirma que duas URLs descrevem a mesma entidade.
Cadeia de confiança dos arquivos para máquinas — 100/100
| Medida | Atualmente | Ideal | |
|---|---|---|---|
| O robots.txt pôde ser lido todos os outros arquivos da cadeia normalmente são descobertos pelo robots.txt | sim | 200, text/plain | ✓ Aprovado |
| O robots.txt indica um sitemap um rastreador que precisa adivinhar o caminho do sitemap muitas vezes não o encontra | 2 linha(s) Sitemap: | pelo menos uma | ✓ Aprovado |
| O robots.txt aponta para o llms.txt um llms.txt para o qual nada aponta só é alcançável adivinhando o caminho convencional | — | indicado quando o arquivo existe | Não medido |
| Os links do llms.txt ficam neste host uma URL de outro host no seu llms.txt manda o modelo para a página de outra pessoa como se fosse a sua | — | a maioria dos links neste host | Não medido |
| O llms.txt aponta adiante a cadeia deve continuar: o llms.txt é um mapa, não um ponto final | — | indica o sitemap ou o grafo de entidades | Não medido |
| O entitymap.json é JSON válido um arquivo para máquinas que não pode ser interpretado vale menos do que um ausente, porque parece presente | — | JSON válido | Não medido |
| O grafo de entidades menciona este host um grafo que nunca cita este site está descrevendo outra coisa | — | sim | Não medido |
| O canonical aponta para este host um canonical em outro host entrega a relevância da página a esse host | mesmo host | o mesmo host que serve a página | ✓ Aprovado |
| O canonical usa https um canonical em http provoca uma cadeia de redirecionamentos a cada rastreamento | https | https | ✓ Aprovado |
robots.txt ✓ → sitemap ✓ → llms.txt ✗ → entitymap.json ✗
Um ✗ quebra a cadeia naquele ponto: tudo o que vem depois só é alcançável por um rastreador que adivinhe o caminho convencional.
Consistência das afirmações — 100/100
| Medida | Atualmente | Ideal | |
|---|---|---|---|
| O schema declara uma entidade para este site um grafo de entidades que só nomeia outras empresas não dá a um mecanismo de resposta nada a que associar este site | sim, uma organização | uma Organization, LocalBusiness ou Person cuja url é este host | ✓ Aprovado |
| O nome da empresa no schema aparece na página um mecanismo de resposta absorve a afirmação e nunca a compara com a página, então uma desatualizada é repetida por meses | — | o nome que o schema afirma é o nome que o leitor vê | Não medido |
| As strings do schema não têm escape de HTML uma string JSON não é um contexto HTML: a entidade é lida literalmente, então o nome da empresa contém os caracteres a-m-p | — | nenhum & ou ' dentro de um valor JSON-LD | Não medido |
| O telefone do schema aparece na página um número de telefone que só existe na marcação é o que um assistente vai ler em voz alta | — | os mesmos 10 dígitos | Não medido |
| A localidade do schema aparece na página uma localidade que ninguém menciona na página é uma afirmação sem nada que a sustente | — | a cidade declarada é citada no texto | Não medido |
| A alegação de experiência é sustentada pelo schema uma alegação datável no texto que os dados estruturados contradizem é a coisa mais barata de refutar numa auditoria | — | o texto e o foundingDate concordam dentro de um ano | Não medido |
Verificado contra o próprio texto visível da página, sem requisição extra. Tipo de nó: NewsMediaOrganization.
Superfície de instruções para agentes — 100/100
| Medida | Atualmente | Ideal | |
|---|---|---|---|
| Nenhuma instrução dirigida a agentes em superfícies só para máquinas texto oculto, comentários, atributos alt e o llms.txt são lidos por uma máquina e revisados por ninguém | 41 superfície(s) lida(s), nada correspondeu | 0 ocorrências | ✓ Aprovado |
| Nenhum bloco oculto com mais de 50 palavras um agente absorve texto oculto com peso total, enquanto um leitor nunca o vê | nenhuma | 0 blocos | ✓ Aprovado |
| Arquivo de instruções para agentes (agents.md) o arquivo que os agentes são orientados a obedecer, diferente do llms.txt, que é o mapa de conteúdo. Toda loja Shopify já publica um; em outros lugares a adoção é inicial, então a ausência não é um defeito — mas, se você publicar um, tudo nele será lido como instrução | 404 | escolha sua — não pontuado | Informado |
Isto relata EXPOSIÇÃO, não intenção. A maior parte do texto oculto é um velho hábito de SEO ou um menu recolhido, e uma correspondência aqui é um convite para ir lê-lo — não um achado de que alguém atacou o site.
O que cada agente recebe — 88/100
| Medida | Atualmente | Ideal | |
|---|---|---|---|
| Toda identidade recebe uma resposta para o agente que faz a requisição, uma requisição que morre é indistinguível de um site fora do ar | todas as 18 respondidas | 0 sem resposta | ✓ Aprovado |
| Nenhum mecanismo de resposta é recusado um 403 para o GPTBot é a resposta completa para por que um site nunca é citado | nenhum recusado | 0 recusas | ✓ Aprovado |
| Nenhum mecanismo de resposta recebe uma página intermediária um desafio com HTTP 200 parece normal para uma verificação de status e não contém conteúdo algum | nenhuma | 0 páginas de desafio | ✓ Aprovado |
| Rastreadores recebem o mesmo que um cliente sem nome essas requisições enviam o user-agent de um rastreador a partir do NOSSO endereço, que não está na faixa que o operador publica — então uma diferença tem duas leituras, cloaking ou rejeição correta de falsificação, e só o operador pode dizer qual é | nenhuma | nenhuma divergência por identidade | ✓ Aprovado |
| Nenhuma identidade é enviada para outra URL um redirecionamento só para bots remove discretamente a página que um mecanismo de resposta deveria ler | nenhuma | 0 redirecionadas | ✓ Aprovado |
| Mesmo x-robots-tag para todas as identidades um noindex só para bots tira a página da busca enquanto o site parece perfeitamente normal no navegador, e nada mais verifica isso | consistente | nenhum cabeçalho específico por identidade | ✓ Aprovado |
| Os mecanismos de resposta recebem o mesmo texto que um navegador a página que um navegador renderiza não é prova da página que um mecanismo de resposta recebeu | 100% das palavras do navegador | 90-100% | ✓ Aprovado |
| Rastreadores de treinamento que alcançam o site estes coletam páginas para treinar modelos, não para responder perguntas, então recusá-los é uma decisão de política e não um defeito — é informado porque a borda pode estar fazendo isso sem que ninguém tenha decidido, e um 403 aqui não é o mesmo fato que um 429 | Bytespider 429, Meta-ExternalAgent 403 of 6 turned away | escolha sua — não pontuado | Informado |
| A política declarada no robots corresponde ao comportamento real o robots.txt é uma promessa e a borda é o comportamento; nenhum dos dois sozinho consegue dizer que eles discordam | OAI-SearchBot: disallowed but served, Claude-SearchBot: disallowed but served, PerplexityBot: disallowed but served, ChatGPT-User: disallowed but served, Claude-User: disallowed but served, Perplexity-User: disallowed but served, Applebot: disallowed but served | 0 conflitos | ✗ Reprovado |
| O mesmo conteúdo foi servido em todas as regiões testadas um site que serve conteúdo diferente por país está dizendo coisas diferentes sobre si mesmo a mecanismos diferentes | — | texto idêntico no mundo todo | Não medido |
Uma URL, buscada como cada rastreador nomeado e como navegador. As requisições de controle coincidiram (autossimilaridade 1), então as diferenças de texto abaixo são diferenças, não ruído. Um user-agent é uma alegação, inclusive quando somos nós que a fazemos.
| Identidade | Status | Palavras | Mesmo texto | O que aconteceu |
|---|---|---|---|---|
| Cliente sem nome | 200 | 2099 | 1 | |
| GPTBot | 200 | 2099 | 1 | |
| ClaudeBot | 200 | 2099 | 1 | |
| OAI-SearchBot | 200 | 2099 | 1 | |
| Claude-SearchBot | 200 | 2099 | 1 | |
| PerplexityBot | 200 | 2099 | 1 | |
| ChatGPT-User | 200 | 2099 | 1 | |
| Claude-User | 200 | 2099 | 1 | |
| Perplexity-User | 200 | 2099 | 1 | |
| Googlebot | 200 | 2099 | 1 | |
| Googlebot Smartphone | 200 | 2099 | 1 | |
| Navegador móvel | 200 | 2099 | 1 | |
| Bingbot | 200 | 2099 | 1 | |
| Applebot | 200 | 2099 | 1 | |
| Amazonbot | 200 | 2099 | 1 | |
| Bytespider | 429 | 9 | — | rate-limited (HTTP 429) — throttled, not blocked — vendor unidentified; reproduced on a second request |
| Meta-ExternalAgent | 403 | 5 | — | HTTP 403 recusado — fornecedor não identificado; reproduzido em uma segunda requisição |
| CCBot | 200 | 2099 | 1 |
| Agente | Conflito | Detalhe |
|---|---|---|
| OAI-SearchBot | bloqueado por Disallow, mas servido | HTTP 200 com 2099 palavras |
| Claude-SearchBot | bloqueado por Disallow, mas servido | HTTP 200 com 2099 palavras |
| PerplexityBot | bloqueado por Disallow, mas servido | HTTP 200 com 2099 palavras |
| ChatGPT-User | bloqueado por Disallow, mas servido | HTTP 200 com 2099 palavras |
| Claude-User | bloqueado por Disallow, mas servido | HTTP 200 com 2099 palavras |
| Perplexity-User | bloqueado por Disallow, mas servido | HTTP 200 com 2099 palavras |
| Applebot | bloqueado por Disallow, mas servido | HTTP 200 com 2099 palavras |
Which document each identity received
Against the Desktop browser's copy: 17 identities were handed the same document, 0 a different one on at least one field, 2 an error, challenge or redirect instead of the document.
| Identidade | Document | Differs on | Looks like |
|---|---|---|---|
| Bytespider | error | HTTP 429 | |
| Meta-ExternalAgent | error | HTTP 403 |
Compared on the copy each identity was served: title, H1, robots meta, canonical, word count, unique-token ratio (first screen and whole body), the dates the page states, its schema entities, author and salient terms. Reported, never scored. A difference is usually a device-segmented cache or a consent gate, and the last column says which it looks like.
Recuperação por mecanismo. Cada mecanismo de resposta lê por meio de rastreadores nomeados com funções diferentes — um constrói o índice, um busca ao vivo quando um usuário pergunta, um coleta dados de treinamento. São permissões separadas, e é comum um site conceder uma e recusar outra. Nada aqui é pontuado: esses mesmos fatos já são pontuados uma vez acima, e isto mede o que um mecanismo tem permissão de receber e recebe — nunca o que um modelo reteve ou citaria, algo que nenhum scanner consegue ver de fora.
| Mecanismo | Índice | Obtenção ao vivo | Treinamento | O que a borda realmente fez | Mencionado pelo nome |
|---|---|---|---|---|---|
| ChatGPT | ✗ bloqueado | ✗ bloqueado | ✗ bloqueado | ✓ 2099 palavras entregues | — nenhum dos dois arquivos |
| Claude | ✗ bloqueado | ✗ bloqueado | ✗ bloqueado | ✓ 2099 palavras entregues | — nenhum dos dois arquivos |
| Perplexity | ✗ bloqueado | ✗ bloqueado | — — | ✓ 2099 palavras entregues | — nenhum dos dois arquivos |
| Google AI Overviews / Gemini | ✓ permitido | ✓ permitido | ✗ bloqueado | ✓ 2099 palavras entregues | — nenhum dos dois arquivos |
| Microsoft Copilot | ✓ permitido | ✓ permitido | — — | ✓ 2099 palavras entregues | — nenhum dos dois arquivos |
| Apple Intelligence | ✗ bloqueado | — — | ✗ bloqueado | ✓ 2099 palavras entregues | — nenhum dos dois arquivos |
| Meta AI | ✗ bloqueado | ✗ bloqueado | ✗ bloqueado | ✗ HTTP 403 | — nenhum dos dois arquivos |
| Amazon | ✗ bloqueado | — — | — — | ✓ 2099 palavras entregues | — nenhum dos dois arquivos |
| DuckAssist | ✗ bloqueado | — — | — — | — não testado | — nenhum dos dois arquivos |
| Mistral | — — | ✗ bloqueado | — — | — não testado | — nenhum dos dois arquivos |
| Common Crawl (alimenta muitos modelos) | — — | — — | ✗ bloqueado | ✓ 2099 palavras entregues | — nenhum dos dois arquivos |
Uma coluna de treinamento bloqueada ao lado de uma coluna de índice permitida é uma política coerente, não um defeito: ela diz "use-me nas respostas, não me use para treinar". A última coluna indica se o seu llms.txt ou agents.md se dirige a esse mecanismo pelo nome — o robots.txt é uma permissão; esses dois arquivos são onde um operador realmente fala com um agente. Não citar ninguém é o normal e não é pontuado.
nenhum provedor de ponto de observação está configurado e não existe leitura da extensão para este site nos últimos 14 dias, então isto não foi medido
Superfície móvel — 100/100
| Medida | Atualmente | Ideal | |
|---|---|---|---|
| Imagens e embeds com dimensões declaradas Mídia sem largura e altura não reserva espaço, então tudo abaixo dela se move quando a imagem carrega. Isto é lido da marcação e é um indicador de risco, não um valor de CLS medido — o número real exige um carregamento real da página. | 1 de 46 | 97,8% sem dimensões — não pontuado | Informado |
| Meta viewport sem ela, um celular renderiza o layout de desktop reduzido, e é isso que um rastreador móvel registra. Cerca de 218 milhões de sites ativos declaram uma (BuiltWith, agosto de 2026), então a ausência é a exceção, não a regra. | width=device-width | width=device-width, initial-scale=1 | ✓ Aprovado |
| O zoom não está bloqueado bloquear o zoom é uma falha de acessibilidade e se corrige com uma linha | leitores podem dar zoom | sem user-scalable=no, sem maximum-scale abaixo de 1.5 | ✓ Aprovado |
| Apple touch icon o que um atalho salvo na tela inicial e várias superfícies de compartilhamento usam | declarado | um link apple-touch-icon — não pontuado | Apenas declarado |
| Cor do tema define a interface do navegador no celular; a ausência é a lacuna visível mais barata desta lista | ausente | uma meta theme-color — não pontuado | Informado |
| Além do básico quase todo site declara um viewport e quase nenhum declara o resto, então esta linha é onde um site se destaca, não onde perde pontos | nenhum além do viewport | não pontuado — são diferenciais, não defeitos | Informado |
Presença local, citações e NAP — 86/100
| Medida | Atualmente | Ideal | |
|---|---|---|---|
| Links para o seu Perfil da Empresa no Google o perfil e o site são uma única entidade para um mecanismo de resposta; o campo de site no perfil os liga do lado do Google, e este link os liga a partir do site | sim | uma URL g.page, maps.app.goo.gl ou de lugar no Maps | ✓ Aprovado |
| Esse link de perfil responde um link de perfil morto é pior do que nenhum: afirma uma identidade que não pode ser verificada. Um 429 ou 403 aqui é o Google limitando nossa verificação, não uma falha no seu site, e fica sem pontuação | 429 → www.google.com | 200 em um host do Google | Informado |
| Endereço nos dados estruturados uma empresa que atende no local do cliente omite isso legitimamente, então a ausência é reportada e não pontuada contra você | declarado | declarado para uma empresa com endereço físico | ✓ Aprovado |
| Coordenadas geográficas coordenadas são como uma máquina liga a entidade a um lugar sem interpretar uma string de endereço | declarado | latitude e longitude | ✓ Aprovado |
| Horário de funcionamento “está aberto agora” é uma das perguntas mais comuns que se faz a um assistente sobre uma empresa local | declarado | openingHours ou openingHoursSpecification | ✓ Aprovado |
| Telefone nos dados estruturados os mecanismos também leem o número escrito na página; o número declarado deve ser o mesmo | declarado | declarado | ✓ Aprovado |
| Números de telefone escritos na página a extração local do Google só guarda os telefones de uma página quando há 4 ou menos; uma página que lista mais não fornece nenhum | 0 | 1 a 4 | Informado |
| Endereços escritos na página o mesmo limite vale para endereços: mais de 4 numa página e nenhum é guardado; uma empresa com área de atendimento sem endereço escrito não é penalizada | 1 | 4 ou menos | ✓ Aprovado |
| O telefone declarado está escrito na página o Google lê telefones do texto da página, não só da marcação; um número que existe só nos dados estruturados não tem nada na página com que coincidir | não | sim | ✗ Reprovado |
| As coordenadas são utilizáveis duas casas decimais são cerca de um quilômetro — suficiente para uma cidade, inútil para uma loja até onde alguém está sendo levado | 1 par(es), precisão total | dentro do intervalo, não 0,0, pelo menos 3 casas decimais | ✓ Aprovado |
| Cada local tem suas próprias coordenadas um único centroide copiado em todas as filiais diz a um assistente que todas são o mesmo lugar | — | nenhum par de locais compartilha um ponto | Não medido |
| As coordenadas coincidem com o país declarado inverter o sinal da longitude a coloca dentro dos EUA - um sinal de menos ausente | fora dos EUA — sinal da longitude | o ponto fica dentro do país que o endereço indica — reportado, não pontuado | Informado |
| As coordenadas coincidem com o endereço declarado o endereço e o ponto são duas afirmações independentes sobre um lugar, e nada mais na web as compara | — | a menos de 500m | Não medido |
| Entidades de local declaradas mais entidades de local do que listagens reais é a forma mais comum de um grafo de entidades local dar errado | 1 | 1 por endereço físico real — não pontuado | Informado |
| Cidade na página vs. endereço declarado o lugar que a página divulga e o lugar que ela declara são o mesmo, então um mecanismo não tem nada a conciliar | ambos dizem Denver | informado, não pontuado | Informado |
| Nome da empresa nos dados estruturados duas grafias de um nome jurídico são duas entidades para um sistema de recuperação, e ele não consegue dizer qual delas é você | The Denver Post | exatamente uma grafia | ✓ Aprovado |
| Schema e página concordam no número de telefone com apenas uma fonte não há nada a comparar, o que não é o mesmo que concordância | apenas os dados estruturados declaram um | os dois lugares informam o mesmo número | Informado |
| Números de telefone que uma máquina consegue ler um assistente que dita um número precisa escolher um; um segundo número costuma ser um antigo que ainda toca em algum lugar | +13039541010 | exatamente um número | ✓ Aprovado |
| Endereço postal nos dados estruturados dois endereços dividem a entidade entre dois lugares | 5990 Washington St., Denver, CO, 80216 | um endereço, ou nenhum para uma empresa que atende no local do cliente | ✓ Aprovado |
| Perfis que o site declara sameAs é uma afirmação de identidade: cada link diz que esta empresa É aquilo que está naquela URL | 3 | os perfis que você realmente possui | ✓ Aprovado |
| Listagens externas encontradas pelo seu número de telefone pesquisadas pela única chave que uma empresa que atende no local do cliente não pode esconder; Yelp, Angi, Thumbtack, Houzz, Facebook recusam um cliente externo e são registrados como nosso limite, não como ausência | 4 em YellowPages, DexKnows, BBB | todos os que você possui, declarados | Informado |
| Encontradas fora do site, não declaradas no sameAs uma listagem que você nunca vinculou é corroborada sem você: o que ela mostrar vira seu nome e sua categoria na resposta | 4 — quais, com uma licença | 0 | ✗ Reprovado |
| Listagens exibindo um nome de empresa diferente dois nomes em um número de telefone são duas entidades para um sistema de recuperação | 0 | 0 | ✓ Aprovado |
| A Data Axle tem este número de telefone Data Axle (formerly Infogroup / infoUSA) compiles business lists and sells them. Google licensed its data from 2005 to 2013; Google’s current business-listings notice names no US supplier. Reported, not scored, and not something to pay for: the next step is the free CrawlCheck registry (/registry). | recusado (403) — um limite nosso, não uma ausência | — | Informado |
| Listagens em diretórios declaradas reportado, não pontuado — de quantas citações uma empresa precisa é um julgamento de marketing, não uma medição | 0 | as que importam para o seu ramo | Informado |
| Fact trace: business name Carried through every layer: a machine that reads only the text gets it, and so does one that reads only the structured data. Reported, not scored | The Denver Post · HTML ✓ · text ✓ · schema ✓ | in the HTML, in the readable text and in the structured data | Informado |
| Fact trace: phone First missing at: readable text. It is only in the structured data, not in words on the page. Reported, not scored | (303) 954-1010 · HTML ✓ · text ✗ · schema ✓ | in the HTML, in the readable text and in the structured data | Informado |
| Fact trace: email First missing at: readable text. It is only in the structured data, not in words on the page. Reported, not scored | newsroom@denverpost.com · HTML ✓ · text ✗ · schema ✓ | in the HTML, in the readable text and in the structured data | Informado |
| Fact trace: street address First missing at: readable text. It is only in the structured data, not in words on the page. Reported, not scored | 5990 Washington St. · HTML ✓ · text ✗ · schema ✓ | in the HTML, in the readable text and in the structured data | Informado |
| Fact trace: service area Named only in the structured data: Denver Metropolitan Area and the state of Colorado. A text reader does not learn you serve them. Reported, not scored | 0 of 1 declared place in the readable text | every declared place also named on the page | Apenas declarado |
Verificado porque este site declara uma entidade de negócio local (LocalBusiness). Isto mede o lado do site do alinhamento com o Perfil da Empresa no Google — se a empresa aponta para o próprio perfil e tem os campos usados para corresponder a um perfil. Não lê o perfil em si: isso exige uma chave de API, e inventar fatos sobre uma listagem que não conseguimos ver seria pior do que não reportar nada. Link de perfil encontrado: https://maps.app.goo.gl/aK261HiEe923wgBV7.
Cada perfil abaixo é um que o próprio site declara em sameAs. Nada aqui foi descoberto adivinhando diretórios — listagens não declaradas exigem um índice que esta análise não tem.
| Perfil | Respondeu | Seu telefone | Seu nome |
|---|---|---|---|
| Facebook https://www.facebook.com/denverpost | não verificado | — | — |
| X https://x.com/denverpost | não verificado | — | — |
| LinkedIn https://www.linkedin.com/company/denver-post-media/ | não verificado | — | — |
Cobertura de diretórios
Dez fontes às quais um mecanismo de resposta provavelmente recorre quando perguntado sobre uma empresa local, verificadas contra o que este site declara. Declarado significa que o site cita o perfil em seus próprios dados estruturados — a única coisa que esta análise pode verificar. Uma listagem que existe mas não é declarada aparece aqui como ausente, e isso por si só vale corrigir: um mecanismo que lê o seu site também não tem como encontrá-la.
| Yelp a fonte local mais citada em respostas de IA depois do próprio Google | não declarado |
| BBB sinal de confiança, e um dos poucos diretórios com um processo de verificação em que um mecanismo pode se apoiar | não declarado |
| Facebook traz horários e telefone, e é lido por vários mecanismos como fonte primária | declarado |
| Nextdoor hiperlocal, e citado de forma desproporcional para serviços residenciais | não declarado |
| Thumbtack canal de contatos específico de categoria para prestadores de serviço | não declarado |
| Angi específico de categoria, ainda muito indexado | não declarado |
| Bing Places alimenta o Copilot e, historicamente, várias recuperações do ChatGPT | não declarado |
| Apple Maps o mapa padrão em todo iPhone, e invisível para a maioria das ferramentas de SEO | não declarado |
| Trustpilot base de avaliações que os mecanismos de resposta citam diretamente | não declarado |
| Yellow Pages pouco valor sozinho, mas uma âncora de consistência barata | não declarado |
9 de 10 não estão declarados. Cada um é um lugar onde um sistema de recuperação poderia ter encontrado uma segunda declaração independente do seu nome, endereço e telefone — e a concordância entre essas declarações é o que torna qualquer uma delas confiável.
Camada de máquina ao longo do tempo. Nosso próprio histórico de um site começa na primeira vez que o analisamos; o Internet Archive guarda o que veio antes. Nada aqui é pontuado — o passado de um site não é um defeito, e a cobertura do Archive é irregular, então a falta de um snapshot não diz nada sobre o site.
Arquivado robots.txt versões | 40 distintas, 2002-09-23 → 2004-04-12 |
Arquivado llms.txt | nenhum arquivado |
Exposed files and secrets — 89/100
| Medida | Atualmente | Ideal | |
|---|---|---|---|
| Version-control folder (.git) (/.git/HEAD) a readable version-control folder lets anyone download the site's source code and its history, passwords included | not readable (HTTP 403) | not readable | ✓ Aprovado |
| Git config file (/.git/config) a readable version-control folder lets anyone download the site's source code and its history, passwords included | not readable (HTTP 403) | not readable | ✓ Aprovado |
| Environment file (.env) (/.env) environment files hold database passwords and API keys | not readable (HTTP 403) | not readable | ✓ Aprovado |
| WordPress config backup (/wp-config.php.bak) a config backup is served as plain text, with the database password inside | not readable (HTTP 403) | not readable | ✓ Aprovado |
| Subversion folder (.svn) (/.svn/entries) a readable version-control folder lets anyone download the site's source code and its history, passwords included | not readable (HTTP 403) | not readable | ✓ Aprovado |
| Apache server-status page (/server-status) shows every visitor's address and every URL being served, live | not readable (HTTP 404) | not readable | ✓ Aprovado |
| Published source maps a source map hands out the original, unminified source of the site's scripts, comments included | 0 of 2 readable | none readable | ✓ Aprovado |
| Keys or secrets in page code a live key in public code can be used by anyone who reads the page: to send mail, charge cards or read data as the site | Private key private key block in /wp-content/plugins/mng-digisubs/static/mng-digisubs.shared.bundle.js | none | ✗ Reprovado |
| AI files (llms.txt and the documents it links) nothing is published for AI agents to read | not applicable: no llms.txt or llms-full.txt | nothing private: no keys, internal addresses or personal emails | Não aplicável |
| Account names listed by the site's API (/wp-json/wp/v2/users) the API does not hand out login names | not listed (HTTP 403) | not listed to the public | ✓ Aprovado |
Something here is readable that should not be. Lock it at the server (deny the path, remove the file, revoke and replace any key shown) before anything else on this report.
Read 2026-11-12 00:17 UTC. Six well-known paths were requested once each, the AI files (llms.txt, llms-full.txt and up to six documents they link) were read for keys, internal addresses and personal emails, and the WordPress account list (/wp-json/wp/v2/users) was requested once; a path counts as readable only when it answers directly with the file itself, so a site that answers every address with a page never reads as exposed. Keys are matched by their published formats and shown masked. Scored in Reach. A readable private file or live key is also raised as a finding, held as advisory (outside the grade) until its accuracy is measured; see /accuracy.
Páginas de erro — 100/100
| Medida | Atualmente | Ideal | |
|---|---|---|---|
| A missing page answers 404 the right answer for a page that does not exist | HTTP 404 | 404 or 410 | ✓ Aprovado |
| The 404 page helps a visitor on a 404 with no links is a dead end; one with the menu or a home link keeps the visitor | 169 links, 389 words | a way back (home link or menu) | ✓ Aprovado |
| A missing file answers 404 the right answer for a file that does not exist | HTTP 404 | 404 | ✓ Aprovado |
| Error pages reveal server details server versions, PHP warnings and stack traces tell an attacker exactly which known flaws to try | nothing revealed | nothing revealed | ✓ Aprovado |
Two addresses that cannot exist were requested once each (an invented page and an invented script file), with redirects not followed, so the answer is the server's own. Read 2026-11-12 00:17 UTC. Scored in Read: a missing page that answers 200 or redirects home is read as a real page by every crawler.
Cobertura do sitemap — 100/100
| Medida | Atualmente | Ideal | |
|---|---|---|---|
| Um sitemap pôde ser lido um sitemap é o único lugar onde um rastreador fica sabendo de páginas para as quais nada aponta | 835 URLs declaradas | pelo menos um sitemap resolve e é interpretado | ✓ Aprovado |
| Os sitemaps indicados no robots.txt resolvem um robots.txt que aponta para um sitemap morto manda todo rastreador para um 404 | 2 de 2 | todo sitemap indicado retorna 200 | ✓ Aprovado |
| Cada sitemap lido lista pelo menos uma URL um sitemap que responde 200 sem entradas <url> é um ponteiro morto: os rastreadores o buscam em cada visita e não aprendem nada, e o Search Console o informa com 0 descobertas | cada arquivo lido lista URLs | 0 vazio | ✓ Aprovado |
| Os links da página inicial estão declarados no sitemap uma página ausente do sitemap ainda pode ser encontrada seguindo links; uma página ausente de ambos não é encontrada por nada | não medido — apenas 20 de 6000 sitemaps filhos foram lidos | 0 não declaradas | Informado |
| Uma amostra das URLs declaradas responde um sitemap que lista URLs mortas gasta o orçamento de um rastreador à toa | 0 de 6 quebradas | 0 quebradas | ✓ Aprovado |
| As URLs declaradas na amostra são finais declarar a URL anterior ao redirecionamento faz cada rastreamento pagar um salto extra | 0 de 6 redirecionam | 0 redirecionamentos | ✓ Aprovado |
| URLs declaradas no sitemap | 835 20 de 6000 sitemaps filhos lidos — a contagem é um mínimo, não um total |
| Links internos na página inicial | 202 |
| Com link, mas não declaradas | não medido apenas 20 de 6000 sitemaps filhos foram lidos, então uma página ausente do que lemos pode estar declarada em uma parte que não lemos |
| URLs declaradas na amostra | 6 verificadas · 0 não resolveram · 0 redirecionadas |
Isto compara o sitemap apenas com os links da página inicial, então encontra páginas que o sitemap omite — não pode provar que uma página declarada é inalcançável, porque isso exige um rastreamento completo. A lacuna inversa (declarada, mas sem link de lugar nenhum) é real e não é medida aqui. Uma página ausente do sitemap ainda pode ser encontrada seguindo links; uma página ausente de ambos não é encontrada por nada.
Links internos — 100/100
| Medida | Atualmente | Ideal | |
|---|---|---|---|
| Links internos nesta página uma página que não aponta para lugar nenhum é um beco sem saída para um rastreador que segue a sua própria estrutura | 309 | o suficiente para alcançar as páginas que importam | ✓ Aprovado |
| Destinos distintos uma navegação repetida no cabeçalho e no rodapé conta duas vezes e leva aos mesmos lugares | 203 de 309 links | a maioria dos links indo para lugares diferentes | ✓ Aprovado |
| Texto âncora que não diz nada o texto âncora é a única descrição de um destino que uma máquina lê antes de decidir segui-lo | 0 | zero | ✓ Aprovado |
| Links sem nenhuma palavra um link de ícone ou só de imagem é mudo — um leitor de tela e um rastreador não recebem nada | 0 | zero | ✓ Aprovado |
| Links internos marcados como nofollow dizer a um rastreador para não seguir suas próprias páginas é quase sempre um padrão de plugin que ninguém escolheu | 0 | zero | ✓ Aprovado |
| Links externos links de saída são uma escolha editorial, não um defeito | 45 | informado, não pontuado | Informado |
Quais páginas declaradas não recebem nenhum link
Seu sitemap foi comparado com os seus próprios links internos nesta análise, e as páginas que não recebem nenhum link foram identificadas. Essa lista faz parte do relatório pago e está retida aqui — retida, não ausente.
Consistência de nomes e maiúsculas/minúsculas — 80/100
| Medida | Atualmente | Ideal | |
|---|---|---|---|
| Maiúsculas no nome do host nomes de host não diferenciam maiúsculas de minúsculas, mas um host com maiúsculas e minúsculas misturadas divide logs e analytics | minúsculas | sempre em minúsculas | ✓ Aprovado |
| Caminhos dos links internos caminhos DIFERENCIAM maiúsculas de minúsculas na maioria das origens: /About e /about são duas URLs, duas chaves de cache e duas entradas no índice | todos os 309 em minúsculas | 98–100% em minúsculas | ✓ Aprovado |
| Barra final uma página com link como /x e /x/ são duas URLs para um rastreador; ambas são buscadas e ambas disputam o mesmo canonical | 1 destino com link com e sem barra (/contact-us) | uma forma por URL, e a outra forma redireciona para ela | ✗ Reprovado |
| Forma do host nos links absolutos links tanto para www quanto para o domínio sem www mandam um rastreador para duas cópias do site, diga o canonical o que disser | consistente | um único nome de host em todos os links para o próprio site | ✓ Aprovado |
| Query strings nos links internos uma query string cria uma URL distinta; uma navegação que carrega uma produz páginas quase duplicadas | nenhuma | abaixo de 2% dos links internos (e menos de 3) | ✓ Aprovado |
Sinais de imagem — 80/100
| Medida | Atualmente | Ideal | |
|---|---|---|---|
| Imagens na página contadas a partir das tags <img> no HTML entregue | 44 (3 SVG) | Informado | |
| Texto alt ausente o alt é o texto que um mecanismo lê para uma imagem, junto com as palavras ao redor; alt vazio é correto para decoração, alt ausente é uma lacuna | 0 ausentes, 1 vazios (0% ausentes) | 0 ausentes; vazio só em imagens decorativas | ✓ Aprovado |
| Largura e altura declaradas sem as duas, o navegador não consegue reservar espaço e a página se desloca à medida que as imagens carregam (a pontuação de CLS) | 0 de 44 | todas | ✗ Reprovado |
| Carregamento lento (lazy) aplicar lazy-loading na imagem principal atrasa a maior pintura; aplicar no resto acelera todo o restante | 0 de 44 | só abaixo da dobra | ✓ Aprovado |
| Formatos modernos (WebP/AVIF) arquivos menores, mesma imagem | 0 de 44 | a maioria | Informado |
| Imagem principal priorizada a única imagem que o navegador deve buscar primeiro | 5 fetchpriority=high, 5 pré-carregado(s) | uma, quando a maior pintura é uma imagem | Informado |
| Imagem da entidade nos dados estruturados o que um mecanismo mostra ao lado do nome; uma URL em image ou logo, idealmente um ImageObject com dimensões | sim | uma image ou logo no nó da organização | ✓ Aprovado |
| og:image a imagem que uma prévia de link usa quando a página é compartilhada | sim | presente | ✓ Aprovado |
| Content Credentials and AI labels read from each image file's own C2PA manifest and IPTC source-type label, the tags AI generators and editors write; most AI images carry no label, so no label does not mean a camera took it | 8 of 8 photos read: 0 made by AI, 0 edited with AI, 0 camera, 0 with Content Credentials, 8 no label | labels that say how each image was made | Informado |
O que um mecanismo consegue aprender com as imagens. Cinco linhas pontuam: alt ausente, dimensões declaradas, nada com lazy-loading acima da dobra, uma imagem da entidade no JSON-LD e um og:image. Alt vazio, formato de arquivo e prioridade da imagem principal são informados e nunca pontuados — alt vazio é correto em uma imagem decorativa, e formato é uma preferência, não algo que um mecanismo não consiga ler.
O que esta análise não pôde ver 25 de 26 seções pontuadas medidas · 16 de 18 identidades responderam · 0 falhas de etapa · 1 leitura de 1 rede (cloudflare) em 6 h · 5 não observados
| Item | Estado | Tentado | Motivo |
|---|---|---|---|
nl_entities | ignorado | não | a leitura profunda de entidades roda para domínios com registro contínuo; esta análise usou o resolvedor sem chave |
vantage | não medido | não | nenhum provedor de ponto de observação está configurado e não existe leitura da extensão para este site nos últimos 14 dias, então isto não foi medido |
identity:Bytespider | recusado | sim | HTTP 429 |
identity:Meta-ExternalAgent | recusado | sim | HTTP 403 |
section:commerce | não medido | desconhecido | nenhuma linha desta seção foi produzida para esta página; ela não entrou na nota |
Uma não observação é registrada, nunca pontuada: uma linha não medida é excluída da sua seção, não contada como falha. Só contagens; não existe um número composto de confiança.
De onde vem cada fato desta página 16 fatos · 21 declarações · nenhuma divergência
| Fato | Valor informado | Informado em | |
|---|---|---|---|
name | The Denver Post | JSON-LD LocalBusiness meta og:site_name | concorda |
telephone | +13039541010 | JSON-LD LocalBusiness | uma fonte |
email | newsroom@denverpost.com | JSON-LD LocalBusiness | uma fonte |
address | 5990 Washington St., Denver, CO, 80216 | JSON-LD LocalBusiness | uma fonte |
hours | Mo 8AM-4PM; Tu 8AM-4PM; We 8AM-4PM; Th 8AM-4PM; Fr 8AM-4PM | JSON-LD LocalBusiness | uma fonte |
geo | 39.7392,104.9903 | JSON-LD LocalBusiness | uma fonte |
url | https://www.denverpost.com/ | JSON-LD NewsMediaOrganization JSON-LD LocalBusiness | concorda |
logo | https://i0.wp.com/www.denverpost.com/wp-content/uploads/2020/11/denverpost.jpg?w=1200&crop=00px100630px&ssl=1 | JSON-LD LocalBusiness | uma fonte |
foundingDate | 1892 | JSON-LD LocalBusiness | uma fonte |
areaServed | 1 área: Denver Metropolitan Area and the state of Colorado | JSON-LD LocalBusiness | uma fonte |
sameAs | 3 perfis | JSON-LD LocalBusiness | uma fonte |
title | The Denver Post – Colorado breaking news, sports, business, weather, entertainment. | <title> | concorda |
| The Denver Post | meta og:title | ||
description | Colorado breaking news, sports, business, weather, entertainment. | meta og:description | uma fonte |
canonical | https://www.denverpost.com | meta og:url | uma fonte |
language | en-US | <html lang> | concorda |
| en_US | meta og:locale | ||
image | https://www.denverpost.com/wp-content/uploads/2020/11/denverpost.jpg | meta og:imagemeta twitter:image | concorda |
Lido da página que esta análise recebeu: seus nós de schema, meta tags, elementos link e links da página, cada valor guardado com o elemento que o informou. Um fato informado em vários lugares deveria dizer a mesma coisa em cada um. Registrado, não pontuado.
Se você preferir não fazer isso por conta própria
| Corrigir tudo neste relatório The 11 findings above, including 6 scored serious, corrected on your site and re-measured afterwards. You get a change receipt: the before and after, each sealed and independently verifiable on your own machine, so the fix is evidenced rather than asserted.
| Resolva isto — $100 um site de empresa local · o que isso cobre |
A correção inclui a camada para máquinas: um mapa de entidades, um agents.md e um llms.txt escrito para esta empresa, não gerado a partir de um modelo — 7 das 8 superfícies para agentes verificadas acima estão ausentes aqui. Um site maior, ou vários domínios de uma vez, recebe orçamento com base no relatório primeiro: envie um e-mail para hello@crawlcheck.io com este endereço.
Medido, fora da nota (16)
Estes são medidos em toda análise e mostrados por completo. Cada um diz por que ainda não tem peso: a maioria aguarda sites suficientes para calibrar, e alguns dependem de uma integração que um site pode não ter, o que nunca deve decidir uma nota.
Superfícies para agentes (emergentes, não pontuadas) — 12 de 12 linhas lidas
Fora da nota: são padrões publicados em estágios de adoção muito diferentes, e vários não se aplicam a todas as empresas.
| Medida | Atualmente | Ideal | |
|---|---|---|---|
| agents.md A única superfície aqui que dá retorno para uma empresa comum hoje. Quase todo agents.md na web é um padrão da plataforma que o dono nunca escreveu | ausente | Um arquivo escrito em /agents.md: o que a empresa faz, a área que atende, o que um agente deve coletar antes de agir e o que ele não deve prometer | Informado |
| SKILL.md A convenção de habilidades para agentes. Um 200 que traz HTML é um soft 404 e conta como ausente - uma verificação ingênua o consideraria presente | ausente (404) | Um arquivo markdown em /SKILL.md com frontmatter YAML nomeando a habilidade e, em seguida, o que um agente pode fazer aqui e como | Informado |
| Markdown para agentes Reduz o que um agente precisa interpretar. Uma opção a ativar em algumas plataformas de borda, não algo a desenvolver | ausente (text/html; charset=utf-8) | Accept: text/markdown retorna um corpo em markdown; o HTML continua sendo o padrão para navegadores | Informado |
| DNS-AID records An IETF draft (DNS for AI Discovery). Early: almost no site has these yet, so absence is not a defect | ausente | SVCB or TXT records at _index._agents (and _mcp._agents / _a2a._agents) pointing agents at your MCP server or agent card | Informado |
| Cabeçalhos de resposta Link Úteis onde a relação é real. Inventar uma para ganhar um ponto é o culto à carga que essas listas incentivam | present: <https://www.denverpost.com/wp-json/>; rel="https://api.w.org/", <https://wp.me/7yQli>; rel=shortlink | Somente relações registradas - canonical, alternate, describedby. Nunca um rel inventado para satisfazer um verificador | Informado |
| ARD manifest The index agent registries crawl. Applies once the site has an agentic resource to list; a brochure site has nothing to put in it | ausente | /.well-known/ard.json (Agentic Resource Discovery v0.91): one entry per MCP server, agent card, skill or API this site offers, each with a urn:air:denverpost.com:<name> identifier, a media type, a url, and 2-5 representativeQueries | Informado |
| Índice de habilidades para agentes Para sites que expõem ações que um agente pode executar. Um site institucional não tem habilidades a declarar | ausente | /.well-known/agent-skills/index.json listando cada habilidade com name, description, url e sha256 | Informado |
| Catálogo de API NÃO SE APLICA: nenhuma API pública encontrada. Um catálogo de nada não é uma melhoria | ausente | Nada a publicar - nenhuma API pôde ser descoberta neste site | Informado |
| Cartão do servidor MCP Aplica-se quando você tem um servidor MCP. Publicar um cartão sem ter um anuncia um endpoint que não responde | ausente | /.well-known/mcp/server-card.json com serverInfo, endpoint de transporte e capabilities | Informado |
| Protocolos de pagamento para agentes NÃO SE APLICA: nenhum Product, Offer ou checkout encontrado. Um scanner que penaliza uma empresa de serviços por isso está medindo o site errado | não se aplica | Nada a publicar - nenhum sinal de comércio neste site | Não aplicável |
| Metadados OAuth / de recurso protegido NÃO SE APLICA: não há nada contra o que autenticar | não se aplica | Nada a publicar - nenhuma API protegida neste site | Não aplicável |
| Web Bot Auth Identifica você como quem faz a chamada, não como destino. Irrelevante para um site que só recebe tráfego | informativo | Um JWKS em /.well-known/http-message-signatures-directory - só se ESTE site envia requisições de agente assinadas para outros | Informado |
Nada disso afeta a nota. São padrões publicados em estágios de adoção muito diferentes, e vários não se aplicam a todas as empresas — quando é o caso, esta tabela diz isso e por quê. Uma checklist que conta todos eles está medindo o site errado.
Entidades do conteúdo (medidas, ainda não pontuadas) — 4 de 4 linhas lidas
Fora da nota: a leitura é sólida, mas a regra de pontuação não está definida, e uma regra que pode mudar não deve mudar uma nota.
| Medida | Atualmente | Ideal | |
|---|---|---|---|
| Entidades lidas do conteúdo as entidades declaradas vêm do próprio JSON-LD da página; o resto é uma leitura HEURÍSTICA do texto e está marcado como tal | 24 | os assuntos de que esta página trata | Informado |
| Resolvem para um registro público de entidade resolver significa que o Wikidata tem um item com este nome. Não é um sinal de ranqueamento e não significa que a página ranqueia para ele | 15 de 24 | algo nomeado que o registro público conhece | Informado |
| O sentido principal, não o da página um nome sozinho é resolvido para o que o registro público trata como seu sentido principal — "Aurora" é lido como a aurora boreal, não como a cidade do Colorado. A descrição aparece ao lado de cada resolução para você ver qual sentido obteve. Resolver EM CONTEXTO exige um modelo contextual e não é mensurável com uma consulta sem chave | não desambiguado | resolvido no contexto | Informado |
| Resolvida e ausente do grafo de entidades um assunto de que o texto trata, que o registro público reconhece e que os dados estruturados deste site nunca nomeiam — uma lacuna do autor, não da máquina | 14 | 0 | Informado |
As entidades são resolvidas com base no Wikidata — gratuito, sem chave, e responde à pergunta que quem escreve realmente tem: isto existe como registro público de entidade, ou é só uma expressão. Duas classes de evidência, mantidas separadas: entidades declaradas são lidas do próprio JSON-LD da página; entidades detectadas são uma leitura heurística do texto e terão algum ruído. A resolução não é um sinal de ranqueamento.
Mencionados no texto, reconhecidos pelo registro público, ausentes dos dados estruturados deste site:
Denver Broncos— Q223507 · National Football League franchise in Denver, Colorado · 11 mentionsColorado— Q1261 · state of the United States of America · 10 mentionsBroncos— Q60740406 · untrained horse or a horse that habitually bucks · 8 mentionsDaiyan Henley— Q114245319 · American football player (born 1999) · 6 mentionsOpinion— Q3962655 · judgement, viewpoint, or statement that is not conclusive · 5 mentionsBestReviews— Q7020906 · American media company · 3 mentionsBoulder— Q581776 · natural rock fragment larger than 25.6 cm in diameter (larger than 200 mm diameter according to ISO 14688) · 3 mentionsThanksgiving— Q13959 · holiday in various countries · 3 mentionsAurora— Q40609 · natural light display that occurs in the sky, primarily at high latitudes (near the Arctic and Antarctic on Earth) or even on other planets · 2 mentionsCarolina Panthers— Q330120 · National Football League franchise in Charlotte, North Carolina · 2 mentionsCongressional District— Q192611 · territorial division made or used for elections · 2 mentionsKansas City Chiefs— Q223522 · National Football League franchise in Kansas City, Missouri · 2 mentions
Mais 2 não listados.
Nada nesta seção afeta a nota — o corpus mede a distribuição primeiro.
Área de atendimento, como declarada (medida, não pontuada) — 4 de 6 linhas lidas
Fora da nota: uma área de atendimento declarada só pode estar certa ou errada diante de fatos que esta análise não consegue ver.
| Medida | Atualmente | Ideal | |
|---|---|---|---|
| Áreas de atendimento declaradas no schema a lista que um mecanismo de resposta lê quando perguntado "eles atendem X"; uma empresa que atende o lugar mas nunca o declara fica invisível para essa pergunta | 1 | cada lugar que a empresa realmente atende, como nós City ou Place | Informado |
| Raio declarado o raio é a única afirmação que delimita todas as outras | sem GeoCircle | um GeoCircle em torno do centro real | Informado |
| Áreas que puderam ser colocadas em um mapa um nome que nenhum gazetteer resolve é um nome que um mecanismo também não consegue localizar | 0 de 1 | cada nome declarado corresponde a um lugar | Informado |
| Áreas com página própria declarar uma área e ter uma página para ela são afirmações diferentes; a página é o que é citado | 0 de 1 | uma página de local para cada área que importa | Informado |
| Áreas declaradas fora do raio declarado o grafo se contradiz: o círculo diz não, a lista diz sim, e um leitor precisa adivinhar qual é verdade | nenhuma | zero | Informado |
| Área declarada mais distante a distância com que a empresa se compromete publicamente | — | dentro do raio | Não medido |
declarada, tem página própria · declarada só no schema · fora do raio declarado · anel = GeoCircle
Não posicionadas (sem correspondência no gazetteer perto do centro): Denver Metropolitan Area and the state of Colorado
Não pontuado. As posições são centroides de lugares do OpenStreetMap resolvidos uma vez por nome; uma página conta quando uma URL do sitemap contém o nome do lugar. O que isto mostra é o que o site declara, disposto de forma que as contradições fiquem visíveis; se a empresa realmente atua ali não está no tráfego de rede.
O site inteiro, não só a porta de entrada (medido, não pontuado) — 1 de 1 linhas lidas
Fora da nota: a nota continua ancorada na página inicial para ser comparável entre sites e dias.
| Medida | Atualmente | Ideal | |
|---|---|---|---|
| Leitura do site inteiro a página inicial já recebeu nota; o restante do site está sendo lido em segundo plano. Analise de novo em cerca de um minuto para ver | na fila nesta análise | até 60 páginas declaradas, lidas uma vez por dia | Informado |
Atualidade, conforme o site declara (medida, não pontuada) — 9 de 10 linhas lidas
Fora da nota: cada data aqui foi publicada pelo site, então isto reporta o que ele declara, não o que é verdade. Calibrado em 2026-09-16 com 114 registros: a única linha que a maioria dos sites tem (um sitemap que declara lastmod, 68%) não é um defeito quando ausente, e as linhas que seriam defeitos (todo lastmod marcado no mesmo dia, 8%; o sitemap e o dateModified divergindo em mais de um mês, 2%) podem ser medidas em poucos sites demais para terem peso.
| Medida | Atualmente | Ideal | |
|---|---|---|---|
| URLs do sitemap com data de alteração o lastmod é o único sinal de alteração que um mecanismo consegue ler sem uma conta. Um sitemap sem datas não diz nada a um rastreador sobre o que buscar de novo primeiro | 835 de 835 | toda URL, com a data real | Informado |
| Data mais recente do sitemap o que o site diz ter sido alterado por último; a distância até hoje é uma afirmação sobre atividade, não um defeito por si só | 2026-11-11 (hoje) | no último mês, para um site que publica | Informado |
| Dispersão das datas do sitemap uma dispersão de datas é como um histórico real de edições se parece | 25 dias distintos em 835 URLs datadas (2026-10-15 a 2026-11-11) | muitos dias - histórico real de edição | Informado |
| Cabeçalho Last-Modified da página inicial a data de alteração no nível HTTP; um cache na frente geralmente a define, então ela descreve a cópia servida, não a edição | 2026-11-12 (hoje) | enviado, e verdadeiro | Informado |
| dateModified da página inicial no JSON-LD a data que os dados estruturados afirmam; um mecanismo pode citá-la ao lado de um fato, e por isso uma desatualizada é pior do que nenhuma | nenhuma | presente, e alterado quando a página mudou | Informado |
| Elementos datados na página um elemento <time datetime> é uma data que uma máquina consegue ler sem adivinhar pelo texto | 7 (mais recente 2026-11-11, hoje) | toda data que uma pessoa vê também marcada no código | Informado |
| RSS or Atom feed a refusal is a fact about the request, not the feed; the file may be fine for readers the shield allows | declared (www.denverpost.com/feed/), but the site refused CrawlCheck’s request for it | declared, valid, recent | Apenas declarado |
| Unchanged page answers 304 to a re-check a crawler re-checking a page it already has sends If-None-Match or If-Modified-Since; a 304 costs it a few hundred bytes instead of the whole page, so it can afford to check more often | no ETag or Last-Modified, so a crawler cannot ask | 304 Not Modified | Informado |
| IndexNow (instant change pings to Bing and others) IndexNow is sent by the site, so a scanner cannot see it; ChatGPT search draws on Bing's index, which IndexNow updates within minutes. CrawlCheck's guide shows how to set it up and confirm a 200 | cannot be seen from outside | pinged on every publish | Informado |
| Histórico do robots.txt no arquivo público há quanto tempo o site mantém uma porta de entrada legível por máquinas; a profundidade no tempo é a única afirmação que um site novo não consegue fabricar | visto pela primeira vez em 2002-09-23, 40 versões | um histórico longo | Informado |
Toda data nesta seção é uma que o site publicou sobre si mesmo. A seção informa as afirmações e onde elas divergem; não decide se uma página está desatualizada, porque só a empresa sabe disso. Nada disso altera a nota.
Intenções locais, o vocabulário do Maps (medido, não pontuado) — 2 de 3 linhas lidas
Fora da nota: o vocabulário de intenções é um conjunto de nomes recuperados sem pesos, e uma intenção declarada sem uma página é uma decisão de conteúdo, não um defeito; informado até que o corpus mostre como se distribui.
| Medida | Atualmente | Ideal | |
|---|---|---|---|
| Intenções locais nomeadas pelas próprias declarações do site uma consulta local é classificada em um de 446 tipos de intenção antes de qualquer lugar ser buscado; aqui, quem os nomeia são os tipos de negócio, os nós Service, o título e os cabeçalhos do site | 1 (post offices) | toda intenção que você atende, e nenhuma que não atende | Informado |
| Intenções declaradas com uma página vinculada a partir da página inicial uma intenção citada só num parágrafo compete com todas as páginas da web que a citam; uma página cujo endereço carrega a intenção é onde uma busca chega | 0 de 1 - sem página para: post offices | todos | Informado |
| Intenções que os usuários usaram para encontrar o Perfil da Empresa nenhum termo de busca do Perfil da Empresa registrado para este domínio | não medido | lido dos termos de busca do perfil | Não medido |
Caminho de conversão na página (medido, não pontuado) — 5 de 6 linhas lidas
Fora da nota: se um visitante consegue agir é um julgamento de negócio, e a nota é sobre o que uma máquina recebe.
| Medida | Atualmente | Ideal | |
|---|---|---|---|
| Link de telefone na página no celular, um link tel: é o caminho mais curto entre ler e ligar; um número impresso não pode ser tocado | nenhuma | pelo menos um link de toque para ligar | Informado |
| Link de telefone acima da dobra o visitante que chegou de um mecanismo de resposta já decidiu; o número deve estar onde ele chega | não | no primeiro quarto da página | Informado |
| Formulário de orçamento ou contato um formulário é o único caminho que funciona quando o escritório está fechado | 1 encontrados, um acima da dobra | um formulário, alcançável sem rolar a página | Informado |
| Chamadas para ação contadas a partir do texto de links e botões: orçamento, estimativa, ligar, reservar, agendar, contato | 6 (o primeiro acima da dobra) | um pedido claro, logo no início | Informado |
| Página de contato ou orçamento com link a página para onde o visitante vai quando o destaque principal não converteu | sim | com link em todas as páginas | Informado |
| Botão de ligar fixo (celular) uma barra fixa de ligação mantém o número alcançável em qualquer posição de rolagem no celular | não detectado | presente em sites de serviços | Informado |
A camada de SXO: se um visitante que chegou pronto para agir consegue agir. Contado a partir do HTML entregue, então um formulário dentro de um iframe de terceiros só aparece como formulário se o iframe o nomear. Nada disso altera a nota.
What AI looks for vs what your page shows (measured, not scored) — 0 de 1 dentro do intervalo
Not in the grade: the effects come from one model ranking fictional businesses, and a fact a business does not have should never be added to please a model.
| Medida | Atualmente | Ideal | |
|---|---|---|---|
| Business name in the text An agent reading this page through a fetch tool gets the text and often only its opening part; a name that lives only in markup or images is not in what it reads. Position is reported, not graded | word 1 of 2,099 (1% in) | in the opening text, where a reader cut short still finds it | Informado |
| Phone number in the text A number that exists only as a tel: link or in markup is invisible to an agent reading the text; written out, it can be quoted | not in the text (+13039541010 is in a link or markup only) | written out in the opening text | ✗ Reprovado |
| Higher rating changing “Rated 4.8 of 5” to “Rated 4.1 of 5” dropped the business in 176 of 177 paired tests, 3.87 places on average; 2 of 2 models tested punish it | not found on the homepage | shown, if true of the business | Informado |
| Many reviews changing “212 Google reviews” to “9 Google reviews” dropped the business in 136 of 177 paired tests, 1.58 places on average; 2 of 2 models tested punish it | not found on the homepage | shown, if true of the business | Informado |
| Serves the asker's city changing “Serves the asker’s city and nearby” to “Serves a town 40 miles from the asker’s city” dropped the business in 117 of 175 paired tests, 1.52 places on average; 2 of 2 models tested punish it | shown: service area in structured data | shown, if true of the business | Informado |
| Licence number shown changing “State licence #48213, active” to “No licence information” dropped the business in 85 of 175 paired tests, 0.78 places on average; 1 of 2 models tested punish it | not found on the homepage | shown, if true of the business | Informado |
| Insurance stated changing “Insured and bonded” to “No insurance information” dropped the business in 68 of 173 paired tests, 0.64 places on average; 0 of 2 models tested punish it | not found on the homepage | shown, if true of the business | Informado |
| Fast reply changing “Replies to inquiries within 1 hour” to “Replies to inquiries within 3-5 days” dropped the business in 51 of 176 paired tests, 0.38 places on average; 0 of 2 models tested punish it | not found on the homepage | shown, if true of the business | Informado |
| Years in business changing “In business since 2009” to “Founded in 2025” dropped the business in 45 of 172 paired tests, 0.36 places on average; 0 of 2 models tested punish it | shown: founded 1892 in structured data | shown, if true of the business | Informado |
| Emergency service changing “24/7 emergency service” to “Weekday appointments only” dropped the business in 44 of 177 paired tests, 0.29 places on average; 0 of 2 models tested punish it | not found on the homepage | shown, if true of the business | Informado |
| Phone listed changing “Phone (555) 010-4477” to “No phone listed (contact form only)” dropped the business in 32 of 178 paired tests, 0.19 places on average; 0 of 2 models tested punish it | shown: phone in structured data | shown, if true of the business | Informado |
| Hours stated changing “Hours: Mon-Sat 7am-6pm” to “Hours: not listed” dropped the business in 28 of 175 paired tests, 0.13 places on average; 0 of 2 models tested punish it | shown: opening hours in structured data | shown, if true of the business | Informado |
| Prices published changing “Prices published, free written estimates” to “Call for pricing” dropped the business in 11 of 173 paired tests, 0.03 places on average; 0 of 2 models tested punish it | shown: $60,000 | shown, if true of the business | Informado |
When an AI model picks a business, it weighs facts like these. CrawlCheck measures how much each one moves a model’s ranking (five businesses ranked with and without the fact, openai/gpt-oss-120b) and checks your homepage for it. The facts that cost the most when missing and are not on your homepage: higher rating, many reviews. Add only what is true of the business. Full method: the sensitivity census.
Trust and reputation (measured, not scored) — 7 de 8 dentro do intervalo
Not in the grade: these are signals to check, not proof: a complaint can come from someone spoofing the number, and a young domain can be an honest new business.
| Medida | Atualmente | Ideal | |
|---|---|---|---|
| Business phone on the page with no number on the page, an agent cannot match the site to its listings or check the number's reputation | nada encontrado | a phone number visitors and agents can check | ✗ Reprovado |
| Same phone on the page and in its markup two different numbers for one business make every listing and answer less certain | consistente | consistent | ✓ Aprovado |
| Malware or phishing listing a listed site is warned on or dropped by browsers and search, and refused by agents that check first | no match in the checked threat source | no match | ✓ Aprovado |
| Domain age most scam and copycat sites are weeks old; a new domain is not proof of anything, only a reason to check | 1995-03-10 (31 years) | older than 90 days | ✓ Aprovado |
| Registration an expiring domain can lapse and be bought by someone else | renews by 2028-03-11 | more than 30 days left | ✓ Aprovado |
| Parked, for sale or placeholder a parked or for-sale page is not a working business | não | não | ✓ Aprovado |
| Redirects to another organisation a site that forwards to a different organisation is not the business it names | não | não | ✓ Aprovado |
| Homepage text copied on other domains near-identical visible text on different domains, with each site's own name, numbers and links masked. Copycat sites clone a real business's page | nada encontrado | none | ✓ Aprovado |
Red flags: Business phone on the page. These are the checks an AI agent should run before it cites or calls a business: its phone number in public complaint data, its listing for malware or phishing, how old and how secure its domain is, and whether the site is really the business it names. Reported, not scored.
Claims and their evidence (measured, not scored) — 3 de 3 dentro do intervalo
Not in the grade: a source that cannot be read is not evidence against a claim, and a listing can lag a real change, so this reports what agrees rather than grading it.
| Medida | Atualmente | Ideal | |
|---|---|---|---|
| Profile link: facebook.com an outside source agrees, so an assistant repeating this is on firm ground | ✓ facebook.com (the profile links back to this site) | confirmed by a source outside the site | ✓ Aprovado |
| Profile link: x.com an outside source agrees, so an assistant repeating this is on firm ground | ✓ x.com (the profile links back to this site) | confirmed by a source outside the site | ✓ Aprovado |
| Profile link: linkedin.com an outside source agrees, so an assistant repeating this is on firm ground | ✓ linkedin.com (the profile links back to this site) | confirmed by a source outside the site | ✓ Aprovado |
3 confirmed outside the site · 0 contradicted · 0 where the markup and the page disagree · 0 stated only by the site · 0 with no readable source. Built from this scan’s own readings, no extra requests. As a graph (schema.org Claim and ClaimReview, signed): claims.json.
Site safety (measured, not scored) — 23 de 29 dentro do intervalo
Not in the grade: only a malware or phishing listing changes what AI systems do with a site, and the rest is protection rather than a property of what a machine is served.
| Medida | Atualmente | Ideal | |
|---|---|---|---|
| Malware or phishing listing no match means none was found in that source, not that the site is proven clean | no match in Cloudflare security resolver (malware and phishing threat intelligence) | no match | ✓ Aprovado |
| Homepage links to listed sites a link to a malware or phishing domain sends visitors there, and injected outbound links are often the first sign a site has been hacked | none of 10 linked domains | none | ✓ Aprovado |
| Content served only to crawlers injected spam and cloaked redirects are usually shown to crawlers only, so the owner never sees them in a browser; a difference on the first read is re-read in paired rounds before it is reported | none: every named answer and search crawler got the outside scripts, links and redirects the unnamed client got (19 identities sent) | none: crawlers get the scripts, links and redirects visitors get | ✓ Aprovado |
| HTTPS homepage an agent or browser that cannot load the page securely shows a warning or nothing | loads over HTTPS (200) | loads over HTTPS | ✓ Aprovado |
| Certificate an expired certificate blocks every visitor and crawler with a security error | newest valid to 2027-02-04 (84 days) | valid, renewed before expiry | ✓ Aprovado |
| HSTS (HTTPS on every return visit) browsers that have seen the site refuse plain HTTP for the next year | max-age 31536000, includeSubDomains | max-age of at least one year | ✓ Aprovado |
| Script-injection protection (Content Security Policy) a wildcard source lets an injected script load from anywhere. Fix: list the hosts the site actually uses | enforced, but scripts are allowed from any source (*, https: or http:) | an enforced policy that limits where scripts come from | Warning |
| Clickjacking protection (framing) any site can load the page in a hidden frame and trick visitors into clicking. Fix: X-Frame-Options: SAMEORIGIN or frame-ancestors 'self' | não definido | DENY, SAMEORIGIN or frame-ancestors | ✗ Reprovado |
| MIME-sniffing protection (nosniff) a browser may run an uploaded file as a script because it looks like one. Fix: X-Content-Type-Options: nosniff | não definido | set | ✗ Reprovado |
| Referrer-Policy current browsers already pass other sites the origin only; setting it makes that hold in older browsers too | not set (current browsers default to strict-origin-when-cross-origin) | strict-origin-when-cross-origin or stricter | Informado |
| Browser permission restrictions (camera, microphone, location) an advisory, not a sign of misuse: with no policy, any script on the page, third-party ones included, may ask the visitor for camera, microphone or location. Fix: Permissions-Policy: camera=(), microphone=(), geolocation=() | no Permissions-Policy | blocked with an empty list, e.g. camera=() | Warning |
| Insecure resources on the HTTPS page http:// scripts, images or frames on an HTTPS page can be swapped in transit; browsers block or flag them | 0 | 0 | ✓ Aprovado |
| Software version shown in headers a visible version tells attackers which known flaws to try | none shown | none shown | ✓ Aprovado |
| Cookies without the Secure flag a cookie without Secure can be sent over plain HTTP. Fix: add Secure where each is set | 0 de 3 | 0 | ✓ Aprovado |
| Session cookies readable by page scripts analytics and preference cookies are not judged here; cookies set after signing in were not observed | not applicable: none of the 3 cookies observed is a session or login cookie | HttpOnly on every session cookie | Não aplicável |
| Forms that send over plain HTTP every form posts over HTTPS | none of 3 forms | none | ✓ Aprovado |
| Where forms send their data nothing typed into these forms leaves the site's own host | only this site | this site or a processor the owner chose | ✓ Aprovado |
| HTTP to HTTPS redirect the first answer moves the visitor to HTTPS | http://www.denverpost.com (301) → https://www.denverpost.com (200) | one redirect straight to HTTPS, never back to HTTP | ✓ Aprovado |
| jquery 3.5.1 no advisory in OSV.dev (npm advisories) lists this version (2026-11-12); a new one is picked up on a later read | no published advisory | no library with a published advisory | ✓ Aprovado |
| Script and form hosts in threat intelligence checked against Cloudflare security resolver (malware and phishing threat intelligence); no match means none was found in that source, not that a host is safe | no match for 15 hosts | no match | ✓ Aprovado |
| Same protections on login, contact and checkout pages the pages that take visitors' details carry the homepage's protections | same as the homepage on the login page (/login), contact page (/contact-us), checkout page (/2026/11/10/colorado-buffaloes-basketball-ian-inman-san-diego/) | every sampled page as protected as the homepage | ✓ Aprovado |
| Security changes since the last read new form destinations, script providers and advisories are listed so the owner can confirm each was intended | since 2026-11-10: new script provider embed.sendtonews.com | every new script or form destination intended | Warning |
| Email forgery protection (DMARC) without an enforcing policy, anyone can send email that appears to come from this domain | p=quarantine | p=quarantine or p=reject | ✓ Aprovado |
| SPF names the servers allowed to send this domain's mail | present, ends fail | present, ends fail or softfail | ✓ Aprovado |
| CAA (who may issue certificates) limits which certificate authorities can issue a certificate for the domain | nenhuma | set | ✗ Reprovado |
| DNSSEC protects visitors from forged DNS answers | not signed | signed | ✗ Reprovado |
| Domain registration a lapsed registration takes the site and its email offline and can be bought by someone else | registered 1995-03-10, renews by 2028-03-11 | renewal more than 30 days away | ✓ Aprovado |
| Google Safe Browsing (Chrome, Firefox, Safari, Android) check it by hand: transparencyreport.google.com/safe-browsing/search?url=www.denverpost.com | not read in this scan | no unsafe content | Informado |
| OpenPhish phishing feed a live phishing feed, updated hourly, that mail filters and security tools import | não listado | não listado | ✓ Aprovado |
| Registrar transfer lock the domain cannot be moved to another registrar without unlocking it first | on | on (client transfer prohibited) | ✓ Aprovado |
| HSTS preload list a preloaded domain is HTTPS-only in every major browser from the very first visit, so no first request can be intercepted or downgraded | not preloaded: Subdomain; No preload directive | preloaded | Informado |
| Third-party scripts and styles unpinned library files from ajax.googleapis.com, cdn.jsdelivr.net: if that CDN is compromised, the altered file runs here; add integrity= with the file's hash | 18 from 17 outside hosts, 0 pinned with integrity= | static library files pinned with integrity= | ✗ Reprovado |
| Scripts from CDNs taken over in 2024 polyfill.io and its sister CDNs (bootcss.com, bootcdn.net, staticfile.org) changed hands in 2024 and served malicious code to the sites loading them; remove the tag | nenhuma | none | ✓ Aprovado |
| Hacked-site signatures hidden spam links, cryptominers and obfuscated loaders are the usual traces of a hacked site | nada encontrado | none | ✓ Aprovado |
| Subdomain takeover a subdomain left pointing at a hosting account that was closed can be claimed by anyone and used to host phishing under this domain's name | none of 24 common subdomains | none | ✓ Aprovado |
| Regression tests from this site's own fixes each problem this domain had and fixed is re-run on every later scan; one that returns is marked as a regression, not as a new finding: Almost nothing a machine receives from this page is readable text | 3 fixed problems re-checked on every scan · 2 holding · 1 came back | every fixed problem stays fixed | ✗ Reprovado |
Read 2026-11-12 00:17 UTC and refreshed daily. The malware and phishing listing is the only row here that changes what AI systems do with a site. The rest is protection against the site being hacked or its email being forged, which is what gets sites listed; none of it is a ranking factor, so this section is not scored.
Security filters that do not publish their ratings for automated reading. Check each one and request a correction there: McAfee WebAdvisor (site lookup and re-rating request) · Norton Safe Web · Microsoft SmartScreen (Edge) · Google Safe Browsing. A new domain shows as unrated or “Unknown” in these filters until they first crawl it.
AI rights and consent (measured, not scored) — 5 de 5 dentro do intervalo
Fora da nota: cada linha aqui é uma leitura, não uma aprovação ou reprovação, então nada nela pode alterar uma nota.
| Medida | Atualmente | Ideal | |
|---|---|---|---|
| AI training collecting the page to train AI models. The signal and line named here are what a crawler reading the site's own declarations finds. | denied — decided by robots.txt line 21 | a stated answer either way: allow or deny | ✓ Aprovado |
| Grounding an answer fetching the page while answering a person's question. The signal and line named here are what a crawler reading the site's own declarations finds. | denied — decided by robots.txt line 21 | a stated answer either way: allow or deny | ✓ Aprovado |
| Summaries and snippets showing an excerpt of the page in an AI answer. The signal and line named here are what a crawler reading the site's own declarations finds. | denied — decided by robots.txt line 21 | a stated answer either way: allow or deny | ✓ Aprovado |
| Citation listing the page as a search or answer source. Nothing on the site says, so each crawler falls back to its own default, and the defaults differ. | not declared · robots.txt closes it to OAI-SearchBot, Claude-SearchBot, PerplexityBot and not to the rest | a stated answer either way: allow or deny | Informado |
| Acting for a user an agent acting or buying on the page for a person. The signal and line named here are what a crawler reading the site's own declarations finds. | denied — decided by robots.txt line 21 | a stated answer, once a standard signal for this use exists | Informado |
| Signals that disagree two signals answering the same question differently leave each crawler to pick the one it honours; a denial anywhere is read here as a denial | nenhuma | none | ✓ Aprovado |
| Where it is declared robots.txt answers who may fetch; only a use signal answers what they may do with what they fetched | robots.txt, TDM-Rep meta | robots.txt plus at least one use signal (Content-Signal, TDM-Rep, ai.txt or a robots meta directive) | ✓ Aprovado |
| Terms page a crawler reads robots.txt, not the terms; a restriction that exists only in prose binds nothing that fetches | no terms link found on the page | machine-readable signals that say what the terms say | Informado |
One answer per use, merged from everything the site publishes about what AI may do with its pages: robots.txt read for each agent’s own group, Content-Signal, ai.txt, TDM-Rep, robots meta and X-Robots-Tag, and the terms page. A denial anywhere denies; an explicit yes allows; a snippet limit limits; a clause in the terms restricts a use nothing machine-readable answers. The right answer is yours to choose; what is measured is whether you chose one and whether your signals agree. Not legal advice. The full answer: every signal, per path and per agent · the same answer travels in the Resolve record agents read before they fetch.
Price transparency (measured, not scored) — 2 de 3 dentro do intervalo
Fora da nota: cada linha aqui é uma leitura, não uma aprovação ou reprovação, então nada nela pode alterar uma nota.
| Medida | Atualmente | Ideal | |
|---|---|---|---|
| Prices stated on the page an assistant asked what the job costs can only quote a number the site states; with none it quotes a directory or a competitor | 2 amounts ($60,000, $15) | at least one figure or range | ✓ Aprovado |
| Link to a pricing or cost page a crawler that lands on the homepage finds the cost page only through a link | /2026/11/11/denver-home-sellers-price-drops-colorado/, /2026/08/26/colorado-peaches-senior-womens-softball-35th-anniversary-photos/, /2026/11/10/inflation-consumer-prices-october/ | linked, or prices on this page | ✓ Aprovado |
| Prices in the markup machines read prices from the markup first; a priceRange alone gives no figure to quote | nenhuma | Offer or price range declared | ✗ Reprovado |
Read from the delivered homepage text and its structured data. Prices drawn only by a script after load are not in that copy, which is also what most AI crawlers see. Measured, not scored.
Third-party dependencies (measured, not scored) — 1 de 3 dentro do intervalo
Fora da nota: cada linha aqui é uma leitura, não uma aprovação ou reprovação, então nada nela pode alterar uma nota.
| Medida | Atualmente | Ideal | |
|---|---|---|---|
| Outside services the page loads each outside host is a service the site cannot fix when it is slow or down; every one adds a connection before the page is complete | 18 hosts: tracking 1, forms and widgets 1, fonts 1, code library (CDN) 2, consent 1, other 12 | 10 ou menos | ✗ Reprovado |
| Outside files that hold the page until they load a script without async or defer, or a stylesheet, in the head from another host stops the page from drawing until that host answers; when it is down the page stays blank | 7: cmp.osano.com, ajax.googleapis.com, accounts.google.com, prodmg2.blob.core.windows.net, … | none | ✗ Reprovado |
| Trackers loaded listed so the owner can confirm each is still wanted; every tracker is another script on every visit | 1: stats.wp.com | only the ones you use | ✓ Aprovado |
- other: metrics.rapidedge.io, prodmg2.blob.core.windows.net, cdn.sophi.io, plugins.mngdigisubs.com, htlbid.com, ak.sail-horizon.com, cdn.parsely.com, applepay.cdn-apple.com, cdn.p-n.io, delivery.revcontent.com, cdn.cityspark.com, esm.sh
- consent: cmp.osano.com
- code library (CDN): ajax.googleapis.com, cdn.jsdelivr.net
- forms and widgets: accounts.google.com
- tracking: stats.wp.com
- fonts: fonts.googleapis.com
Read from the delivered HTML: scripts, stylesheets, frames and media. Anything a script loads later is not counted here (the browser view in the extension lists those). Measured, not scored.
Language and region (measured, not scored) — 3 de 3 dentro do intervalo
Fora da nota: cada linha aqui é uma leitura, não uma aprovação ou reprovação, então nada nela pode alterar uma nota.
| Medida | Atualmente | Ideal | |
|---|---|---|---|
| The page names its language engines and screen readers read the page in the language it names; without one they guess from the text | lang="en-US" (English) | a valid lang on <html> | ✓ Aprovado |
| The named language matches the words a Spanish page marked English is indexed and quoted as English, and served to the wrong searchers | the text reads as English, the page says English | the same language | ✓ Aprovado |
| Language versions declared (hreflang) hreflang tells an engine which version to show to which searcher | nenhuma | only needed when the site has versions in other languages or regions | Informado |
| The country signals agree an engine places a local business by these signals; when they name different countries it has to pick one | page language en-US (US); og:locale en_US (US); phone prefix +1 (US/CA) | one country | ✓ Aprovado |
Read from the delivered homepage: its lang attribute, the Content-Language header, the words on the page (common words in 13 languages, or the writing system for 9 more), its hreflang links and the countries its domain, og:locale, address, phone prefix and currency name. Up to 6 language versions were requested once each to see whether they answer and point back. Measured, not scored.
Where AI already cites this site (measured, not scored) — 3 de 3 linhas lidas
Fora da nota: cada linha aqui é uma leitura, não uma aprovação ou reprovação, então nada nela pode alterar uma nota.
| Medida | Atualmente | Ideal | |
|---|---|---|---|
| Answers that cited this site an engine that has already cited a site is the likeliest to cite it again; one engine alone is one point of failure | none of the answers CrawlCheck has run cited it | cited by more than one engine | Informado |
| Pages the answers cited these are the pages an engine quotes for you; keep them current, fast and in the sitemap before anything else | no page of it recorded in a cited answer | the pages that answer the question | Informado |
| This site's own answer test the watch plan runs the site's own prompts daily and records which answers cite it | not run for this domain yet | a run of prompts with and without its name | Informado |
From the answers CrawlCheck itself has collected: the local trade-by-city prompts, the daily citation watch and manual runs, across Perplexity, Gemini, Google AI Overviews and ChatGPT where each was run. It is a sample, not every answer an engine has given, so "none" means none in that sample. Pages and prompts are recorded for answers given with web search on. Read 2026-11-12 00:17 UTC. Measured, not scored.
Visibilidade no Common Crawl — medida, não pontuada
O CCBot é bloqueado pelo robots.txt, então os rastreamentos futuros vão pular este site. Verificado contra October 2026 Index, a partir de um resultado armazenado.
0 de 2 páginas verificadas foram capturadas, e 4 não puderam ser verificadas — o índice limita a taxa de requisições, e isso não diz nada sobre o site.
| Página | No conjunto de dados | Capturada | Status |
|---|---|---|---|
| / | não foi possível verificar | — | o índice respondeu 521 (ele limita rajadas; isso não diz nada sobre |
| /sitemap.xml?yyyy=2026&mm=10&dd=31 | não encontrada | — | — |
| /sitemap.xml?yyyy=2026&mm=10&dd=30 | não foi possível verificar | — | o índice respondeu 504 (ele limita rajadas; isso não diz nada sobre |
| /sitemap.xml?yyyy=2026&mm=10&dd=29 | não encontrada | — | — |
| /sitemap.xml?yyyy=2026&mm=10&dd=28 | não foi possível verificar | — | o índice respondeu 504 (ele limita rajadas; isso não diz nada sobre |
| /sitemap.xml?yyyy=2026&mm=10&dd=27 | não foi possível verificar | — | o índice respondeu 520 (ele limita rajadas; isso não diz nada sobre |
Uma captura significa que a página está em um conjunto de dados aberto. Isso não estabelece que algum modelo tenha sido treinado com ela, e nada aqui afirma o contrário.
Leitura profunda de entidades — medida, não pontuada
a leitura profunda de entidades roda para domínios com registro contínuo; esta análise usou o resolvedor sem chave
Impressão digital de identidade — medida, não pontuada
A identidade que este site publica está inalterada desde 2026-11-11. Mesmo nome, mesmo telefone, mesmo endereço, mesmos perfis declarados.
Tipo de schema newsmediaorganization. Não temos um número de população para este tipo, então nenhuma raridade é afirmada.
Uma impressão digital da identidade que este site publica, recalculada a cada análise. Uma mudança aqui é uma mudança que o site fez, não um julgamento sobre ela. Qualquer pessoa pode recalculá-la a partir da página publicada: a forma canônica e o hash são públicos em /api/entity-drift/latest.
Como isto se compara — 36 sites wordpress/publisher, de 983 medidos
| Medida | Este site | Mediana do corpus | Posição |
|---|---|---|---|
| Pontuação de visibilidade em IA (a nota exibida) | 81 | 80 | Percentil 56 |
| Média das seções (ponderada) | 80 | 81 | 41º percentil |
| Proporção de conteúdo (% de texto visível) | 4.4 | 3.4 | Percentil 69 |
| Cobertura de @id estável (%) | 33.3 | 84.6 | Percentil 8 |
| Recursos que bloqueiam a renderização | 27 | 10.5 | Percentil 19 |
| Tamanho da página entregue (KB) | 306 | 182 | Percentil 14 |
Os percentis vêm de sites que o próprio CrawlCheck mediu, não de um estudo publicado — então descrevem este corpus, não a web. O corpus não é uma amostra aleatória e pesa mais para sites que foram enviados ou semeados, por isso a posição aparece ao lado do número bruto em vez de substituí-lo. Uma métrica fica em branco, em vez de classificada, quando menos de 8 pares a têm. Esta posição é em relação à coorte wordpress/publisher (36 sites), não ao corpus inteiro de 983, porque um site WordPress de serviço local e um site pessoal estático não são o mesmo problema de medição.
Alcançar, ler, citar — as três etapas
Um mecanismo consegue alcançar e ler este site. O que falta é dar a ele algo específico para dizer.
Acima de 66% dos 1350 sites medidos aqui. Isso vale para este corpus, não para a web — sites que as pessoas escolheram analisar, o que puxa para aqueles de que alguém já suspeitava.
| Etapa | Pergunta | Pontuação | |
|---|---|---|---|
| Alcançar 40% da pontuação | Um rastreador nomeado de mecanismo de resposta consegue sequer obter as suas páginas? Pelo menos um mecanismo de resposta foi recusado, desafiado ou recebeu menos do que um navegador. | 79 | |
| Ler 30% da pontuação | Depois de ter os bytes, ele consegue encontrar as palavras? O conteúdo está enterrado na marcação, ou faltam os arquivos que orientam um rastreador. | 83 | |
| Citar 30% da pontuação | Existe um fato específico que ele possa afirmar e atribuir? Um assistente teria que parafrasear sua página em vez de citar um fato. | 83 |
Quais mecanismos, pelo nome
Das sondagens desta análise — a mesma requisição que o rastreador de cada mecanismo faz, a partir do nosso endereço.
| Receberam a página | OAI-SearchBot · Claude-SearchBot · PerplexityBot · ChatGPT-User · Claude-User · Perplexity-User · Googlebot · Googlebot Smartphone · Bingbot · Applebot |
| Bloqueado por Disallow no robots.txt | Yahoo Slurp · ChatGPT search index · ChatGPT live fetch · Claude search index · Claude live fetch · Perplexity index · Perplexity live fetch · Le Chat live fetch uma recusa por política, que é uma decisão e não um defeito — está aqui para ficar visível, não porque esteja errada |
Corrija os 30 itens que este relatório já lista e a mesma conta resulta em 100. Isso é soma sobre a tabela abaixo, não uma previsão — todo ponto tem um componente nomeado por trás:
- Mecanismos de resposta permitidos — agora
7 of 17, valendo 2 pontos - Índices de busca permitidos — agora
17 of 24, valendo 2 pontos - O parágrafo inicial define o assunto — agora
does not name it, no defining verb, valendo 2 pontos - Edge / CDN — now
none detected, valendo 2 pontos
A etapa a corrigir primeiro é alcançar, a mais baixa das três. As etapas dependem umas das outras: um mecanismo não consegue ler o que foi recusado, e não consegue citar o que não conseguiu ler.
O que este número cobre. Tudo acima foi medido em páginas que esta análise buscou no seu próprio domínio. Um mecanismo de resposta também lê fontes que você não controla — listagens em diretórios, bases de avaliações e seu Perfil da Empresa no Google — e nenhuma delas está nesta pontuação. Os perfis que este site declara estão listados abaixo, mas não foram buscados nesta análise, então nada aqui reflete o que essas listagens realmente dizem. Um site pode pontuar bem aqui e ainda ser descrito de forma errada por um mecanismo que lê uma listagem que o contradiz.
O que este número não é. Ele não mede se o ChatGPT, o Perplexity ou as respostas de IA do Google realmente citam você. Nenhum servidor consegue medir isso, e uma pontuação que sugerisse o contrário seria inventada. Isto mede se um mecanismo consegue — alcançar, ler, citar —, que é a parte que você controla e a parte que precisa ser verdade primeiro.
Mudança desde a última análise — 24 estados distintos em 26 análises
Comparando com a última leitura que foi diferente, feita em 2026-11-11T00:17:41.462Z.
| Medida | Antes | Agora | Mudança |
|---|---|---|---|
| Pontuação geral | 81/100 | 80/100 | -1/100 ✗ |
| Proporção de conteúdo | 4,6% | 4.4% | -0.2% ✗ |
| Cobertura de @id estável | 33,3% | 33.3% | sem mudança |
| Recursos que bloqueiam a renderização | 27 | 27 | sem mudança |
| Tamanho da página | 310 KB | 306 KB | -4 KB ✓ |
| Achados | 11 | 11 | sem mudança |
O histórico mantém as últimas 24 mudanças neste domínio — leituras idênticas repetidas se juntam em uma entrada que registra quando o estado começou e quantas análises o confirmaram, então repetir uma análise nunca empurra histórico real para fora da janela. Um achado que vem e vai é o padrão sobre o qual vale agir: uma falha permanente é notada, uma intermitente só aparece se algo estiver olhando no momento certo.
Três formas de reler este registro — site, regras e leitor verificados separadamente
Uma nota pode mudar por três motivos e esta página os mantém separados: o site mudou (visto só por uma nova análise), as regras mudaram (visto ao reprocessar as medições armazenadas) ou o código que lê os bytes mudou (visto ao executá-lo de novo sobre os bytes armazenados). Mudanças de regras e de código nunca são publicadas como mudanças do site.
| Operação | O que faz | Este registro | |
|---|---|---|---|
| Nova análise | Uma nova busca do site, gravada como um novo registro. A única operação que pode mostrar uma mudança no próprio site. | Última medição em 2026-11-12 00:17 UTC | Analisar de novo |
| Reprocessar | As medições armazenadas neste registro, pontuadas sob o pacote de regras de hoje. Nada é buscado; uma diferença é uma mudança de regra. | Pontuado pelas regras atuais (v34); recalculá-las dá o mesmo C 81. | GET /api/reprocess?id=aasc46z1wv (key) |
| Reexecutar | O código de hoje executado sobre os bytes exatos que esta análise recebeu, guardados por SHA-256. Nada é buscado; uma diferença é uma mudança de código. | O código de hoje sobre os 314053 bytes exatos que esta análise recebeu dá o mesmo resultado. (napAudit) | GET /api/replay?id=aasc46z1wv (key) |
Tráfego, contatos e vendas
Não medido aqui, e não mensurável aqui. Todo o resto deste relatório foi produzido buscando suas páginas de fora. Cliques, contatos e pedidos acontecem onde nenhum scanner pode ver — no seu Search Console, na sua caixa de entrada e no seu checkout. Conecte um deles e esta seção se preenche com base nas datas acima. Até lá ela fica vazia em vez de mostrar uma estimativa, porque um número de tráfego inventado em um relatório que mede honestidade desfaria o produto inteiro.
Prova de data e hora — registrado, sela hoje à noite
Este relatório tem uma impressão digital calculada sobre suas medições, e as impressões digitais de cada dia são reunidas em uma raiz que é enviada aos calendários do OpenTimestamps e de lá para uma transação de Bitcoin. Isso prova que este relatório existia nesta forma neste momento e não foi alterado. Isso não prova que a medição estava correta — essa é outra afirmação, e nenhum carimbo de tempo pode resolvê-la. Como funciona.
| Resumo deste relatório | b0e6d0e6517e9048399de38a42208b2e2dde97fc29f2356012d0fea6ddfd47fd |
| Regras de pontuação | v34 — atual |
| Raiz | registrado, e não está na raiz selada em — esta análise veio depois dela. O dia é selado de novo quando fecha, e este digest entra nessa raiz. |
Citar este relatório
Este relatório é regerado quando é aberto, por isso os dois registros trazem o horário da análise como versão e a data de acesso como data de consulta. Uma citação que sugerisse conteúdo fixo estaria errada.
BibTeX baixar
@techreport{crawlcheck_denverpost_com_aasc46z1wv,
author = {{CrawlCheck}},
title = {Machine-layer measurement of {denverpost.com}},
institution = {CrawlCheck},
type = {Scan report},
number = {aasc46z1wv},
year = {2026},
url = {https://crawlcheck.io/r/aasc46z1wv},
urldate = {2026-11-12},
note = {Scanned 2026-11-12; report regenerates on access, figures are as of the access date}
}
RIS baixar
TY - RPRT TI - Machine-layer measurement of denverpost.com AU - CrawlCheck PB - CrawlCheck PY - 2026 DA - 2026/11/12 M1 - aasc46z1wv UR - https://crawlcheck.io/r/aasc46z1wv Y2 - 2026/11/12 N1 - Report regenerates on access; figures are as of the access date ER -
O tipo é RPRT — um relatório datado sobre um site específico, não o conjunto de dados agregado em /data. Observe que /r/ está bloqueado no nosso robots.txt, portanto esta marcação serve a leitores e gerenciadores de referências, não a mecanismos de busca.
19
aprovadas
7
precisa de ajustes
7
reprovadas
8
não mensuráveis
Seções, não verificações individuais. Não mensurável é contado à parte e nunca como aprovado — uma seção que não conseguimos ler não é uma seção aprovada.
Mostre isto no seu site
O selo exibe o número como foi medido, seja qual for — ele se atualiza quando este relatório é executado de novo. Ele é vinculado ao id deste relatório, então só quem tem este link pode gerá-lo.
Cole isto onde quiser:
<a href="https://crawlcheck.io/r/aasc46z1wv?via=badge"><img src="https://crawlcheck.io/badge/aasc46z1wv.svg" alt="AI visibility 81/100, measured by CrawlCheck" width="228" height="64"></a>Nenhuma chegada veio deste selo ainda. O link carrega via=badge, então as que chegarem são contadas aqui.
Como ler a transcrição
O CrawlCheck não afirma prever rankings. Ele mede as entradas que um rastreador e um sistema de recuperação precisam receber com sucesso antes que ranquear, indexar ou citar seja sequer possível.
1
Observado
O CrawlCheck recebeu exatamente este status, cabeçalho, corpo e resultado de texto renderizado. Tudo nas seções abaixo está neste nível, salvo indicação contrária — é um fato sobre uma resposta real, com os bytes anexados.
2
Consequência do protocolo
O que essa resposta necessariamente significa para um rastreador que segue as regras. Uma regra disallow, um robots.txt que não é texto ou uma dependência de JavaScript pode impedir ou prejudicar o acesso por construção — não porque ranqueamos algo, mas porque o protocolo diz isso.
3
Implicação para a busca
Possível ou desconhecido, e rotulado como tal. Nenhum achado aqui afirma um efeito no ranking, uma fórmula de citação ou uma ponderação. Se uma afirmação não pode ser reduzida ao nível 1 ou 2, ela não é feita.
Um limite importante, dito com clareza: as 19 identidades acima são enviadas do próprio endereço do CrawlCheck usando a string de user-agent de cada rastreador. Isso é uma simulação de política de borda — mostra o que sua borda faz com uma requisição que se declara como aquele rastreador. Ela não é uma requisição do rastreador real, e não pode ser. Um WAF pode tratar um Googlebot verificado de forma diferente de qualquer coisa que apenas use o nome, que é exatamente o que o Google recomenda. Onde um resultado diz que um rastreador foi recusado, leia como um cliente que declarou esse nome foi recusado — para provar o que o rastreador real recebeu, confira os logs do seu próprio servidor com as faixas de endereços publicadas pelo operador, o que o verificador de logs gratuito faz linha por linha.
Transcrição das requisições de arquivos para máquinas
| Caminho | Status | Tipo de conteúdo | Bytes | Borda | |
|---|---|---|---|---|---|
| /robots.txt | 200 | text/plain | 4.567 | HIT | ok |
| /sitemap.xml | 200 | application/xml | 888.839 | DYNAMIC | ok |
| /sitemap_index.xml | 404 | text/html | 95.255 | DYNAMIC | ausente |
| /wp-sitemap.xml | 200 | text/html | 149.638 | DYNAMIC | ausente |
| /llms.txt | 404 | text/html | 95.230 | DYNAMIC | ausente |
O que este relatório não pode provar
- A nota não é um ranking nem uma contagem de citações. Ela diz se os bytes que um mecanismo recebe podem ser buscados, lidos e atribuídos a www.denverpost.com. Se algum mecanismo classifica, cita ou recomenda o site é decidido por esse mecanismo e não é medido aqui.
- Uma URL, um momento, um ponto de observação. Medido em 2026-11-12 00:17 UTC a partir da rede do CrawlCheck, para a página inicial e os arquivos de máquina do site. O site pode mudar depois disso, e um rastreador de outra rede ou outro país pode receber uma resposta diferente.
- Os rastreadores nomeados foram simulados, não observados. As requisições levaram o nome de cada rastreador a partir do próprio endereço do CrawlCheck. Uma recusa mostra o que recebe um cliente que usa esse nome; o rastreador real, a partir do endereço do seu operador, pode ser tratado de outra forma.
- Aprovação não é entrada no índice. Passar em todas as verificações aqui não significa que um mecanismo de busca ou um índice de IA tenha a página. Só esse mecanismo (para o Google, o Search Console) pode dizer o que tem armazenado.
O que a análise não mede de forma alguma está em Método.
19 / 19
identity probe responses read
5
arquivos para máquinas obtidos nos dois hosts
115
agentes nomeados resolvidos a partir do robots.txt
33
de 41 seções pontuadas
53
invariantes verificadas neste próprio relatório
11
achados
Também foi solicitado um caminho aleatório que não pode existir — o controle que distingue o seu site de uma barreira na frente dele.
162
✓ Aprovado
dentro da faixa de aprovação
41
✗ Reprovado
fora da faixa de aprovação
3
Warning
in place, but weaker than it should be; shown with its fix and excluded from the score like every state that is not passed or failed
20
Não medido
nenhuma leitura foi feita: a entrada estava ausente, inacessível ou não foi buscada nesta análise; excluído, não reprovado
0
Inconclusivo
uma leitura foi feita, mas não pôde ser julgada em nenhum sentido (um erro, um tempo esgotado ou uma resposta ambígua)
3
Apenas declarado
o site afirma isso; nada nesta análise o observou funcionando
0
Divergência
duas leituras da mesma coisa não coincidem (hosts, pontos de observação ou fontes)
4
Não aplicável
a medida não se aplica a este site
136
Informado
uma leitura exibida para informação; não tem aprovação nem reprovação
Só linhas aprovadas e reprovadas alteram a pontuação de uma seção. Uma linha não medida, não aplicável, inconclusiva, apenas declarada, em divergência ou informada para referência fica fora da pontuação, e nunca aparece como aprovada.
Lendo as pontuações
- As duas pontuações não são uma nota
- Clareza para rastreadores indica se uma máquina consegue obter, ler e distinguir as suas páginas. Clareza para usuários indica se um leitor consegue entender o que é isto e a quem pertence. Elas falham de forma independente, então leia cada uma separadamente em vez de tirar a média.
- Um traço significa não medido, não zero
- Componentes exibidos como
—e excluído da pontuação. Se uma análise foi limitada por taxa de requisições ou se as páginas são renderizadas com JavaScript, essa medição é retida. Um falso atestado de saúde é mais perigoso que um falso defeito. - Achados não confirmados são separados de propósito
- Qualquer coisa que possa descrever o nosso acesso em vez do seu site — uma recusa, um tempo esgotado — é listada à parte e nunca conta para a nota.
- A proporção de conteúdo é em bytes, não em tokens
- A parcela dos bytes descompactados que é texto visível - o corpo como um parser o lê, não a transferência menor em gzip. A auditoria aprofundada mede tokens por KB com um tokenizador real; as duas têm nomes diferentes porque são medições diferentes.
- O que fazer com isso
- Prefira correções que são uma única configuração às que exigem um sprint. CSS inline costuma ser o maior ganho barato, porque não pode ser armazenado em cache entre páginas — um rastreador paga por ele de novo em cada URL.
O que esta análise NÃO mede
Esta é uma sondagem da camada para máquinas de uma URL e dos arquivos que descrevem o site inteiro. Tudo abaixo está fora desse escopo por design, e nenhuma pontuação nesta página é ajustada por isso.
- Não é um rastreador do site inteiro
- Não há aqui um grafo completo de URLs, nem um inventário de links quebrados em todas as páginas, nem comparação de conteúdo duplicado. A cobertura do sitemap é verificada apenas em relação aos links da página inicial. Para um rastreamento exaustivo de milhares de URLs, use um rastreador dedicado — Screaming Frog, Sitebulb ou a auditoria de site do Ahrefs ou do Semrush — e use esta ferramenta para verificar a camada para máquinas que eles não leem.
- Não é uma plataforma de análise de logs
- O comportamento dos rastreadores é amostrado em um intervalo rigidamente controlado, não acompanhado ao longo de semanas. Orçamento de rastreamento, caminhos dos bots e as páginas em que um rastreador realmente gasta seu tempo só podem vir dos logs do seu próprio servidor. O verificador de logs gratuito deste site lê esses logs linha por linha, comparando com as faixas de endereços publicadas pelos operadores.
- Não substitui o Search Console
- Cobertura de indexação, escolha de canônica, ações manuais e diagnósticos específicos do Google vêm do Search Console e de nenhum outro lugar. Uma página pode estar perfeitamente legível para todos os rastreadores medidos aqui e ainda assim não ser indexada, por motivos que só o Google pode informar.
- Extraibilidade e chegadas - mas não citação
- Isto mede se os bytes que um mecanismo recebe podem ser buscados, interpretados e atribuídos a você. Onde o beacon próprio está instalado, também conta chegadas: pessoas que clicaram vindas de um assistente de IA, registradas a partir do seu próprio site em vez de estimadas. O que ele ainda não faz é perguntar ao ChatGPT, Claude, Perplexity ou Google se eles mencionam você quando ninguém clica. Uma citação que não gera clique é invisível aqui, e medir isso exige monitoramento de prompts, que é outro instrumento.
- Nosso ponto de observação não é o do rastreador
- Toda requisição aqui é honesta e não autenticada: é enviada de um endereço de datacenter em nosso próprio nome e nunca se passa pelo IP de um rastreador verificado. Uma recusa, portanto, descreve o que recebe um cliente que declara esse nome — o que um WAF pode tratar de forma diferente do rastreador real, exatamente como o Google recomenda.
- Não é uma auditoria WCAG
- A seção de acessibilidade verifica se a estrutura da qual um leitor de tela depende existe no documento entregue: um idioma, um título, nomes em imagens, campos, botões e frames, um landmark main, uma forma de pular a navegação, ids únicos. Contraste, ordem de foco, armadilhas de teclado e movimento exigem uma página renderizada e uma pessoa, e não são medidos.
- Uma renderização, sem execução de JavaScript
- O que é medido é o documento que o servidor retorna. Conteúdo injetado por JavaScript no cliente não é executado aqui — o que é deliberado, porque a maioria dos rastreadores medidos nesta página também não o executa, mas significa que um site renderizado com JavaScript vai parecer mais magro aqui do que no navegador.
O que não conseguimos medir — 3
Cada linha deste relatório é uma medição do seu site ou nada. Estas consultas não retornaram uma medição, então ficaram sem pontuação em vez de contar contra você. Elas são listadas porque uma ausência silenciosa é indistinguível de um resultado limpo, e é essa diferença que esta ferramenta existe para preservar.
Isto cobre apenas as consultas de terceiros e de enriquecimento — CrUX, o link do perfil no Google, o Internet Archive, o geocodificador e os dois arquivos well-known. As recusas do seu próprio servidor nunca aparecem aqui: um 403 para o GPTBot é o achado, não uma lacuna do nosso instrumento, e é relatado como achado acima.
| Consulta | Resultado | Limitação de quem | Por quê |
|---|---|---|---|
| Presença fora do site (diretórios pesquisados pelo número de telefone) | alcançados | seus | Yelp, Angi, Thumbtack, Houzz, Facebook recusam clientes de datacenter e são nosso limite, nunca uma ausência. O Perfil da Empresa no Google e as contagens de avaliações ainda não são lidos daqui |
| Compressão da resposta | não alcançado | nossa | nossa requisição descomprime o corpo e descarta o cabeçalho content-encoding antes que possamos lê-lo — verifique no painel de rede do navegador ou com curl --compressed -I |
| Link do Perfil da Empresa no Google | recusado | deles, apontado para nós | O Google limitou nossa verificação a partir de um endereço de datacenter |
Todos os números aqui foram medidos sem cookies e sem sessão. Isso é deliberado: é o que um mecanismo de resposta recebe. Se você abre o seu próprio site com login no painel de administração, está vendo um documento diferente — plugins de cache, construtores de páginas e ferramentas de assinatura costumam pular seus filtros de saída para usuários logados, e barras de administração e links de edição são adicionados por cima.
Para ver o que este relatório descreve, abra o seu site em uma janela anônima. Se os dois divergirem, a janela anônima é a que um rastreador vê.
| componente | status | pontuação | medido |
|---|---|---|---|
| Arquivos para máquinas | pontuado | 67 | robots.txt, llms.txt, sitemap e entitymap, pontuados como acima |
| Carga — proporção de conteúdo | pontuado | 26 | 4,4% dos bytes descomprimidos são texto visível (no nível de bytes; a auditoria profunda pontua tokens por KB separadamente) |
| Caminho de renderização | pontuado | 0 | 27 recursos que bloqueiam a renderização |
| Estrutura do documento | pontuado | 80 | 0 saltos de cabeçalho, 2 h1 |
| componente | status | pontuação | medido |
|---|---|---|---|
| Identidade da entidade | pontuado | 33 | 33,3% de 3 entidades têm um @id estável |
| Posição declarada | pontuado | 40 | nenhuma aresta de credencial declarada |
| Coerência de localização | pontuado | 100 | 1/1 locais têm endereço |
| Afirmações de identidade | pontuado | 0 | 1 de 1 links de mapa apontam para lugares, não para a empresa |
| Rotulagem da página | pontuado | 100 | descrição de 157 caracteres, canonical presente |
0 componentes não medidos e excluídos da pontuação — um componente não medido nunca é contado como zero.
Composição da pontuação — A letra foi definida pelo pior achado, não pela média — por isso uma pontuação alta pode vir com uma nota baixa.
| Seção | Pontuação | Peso |
|---|---|---|
| Camada para máquinas | 67/100 | 1.5 |
| Servidor e hospedagem | 80/100 | 0.6 |
| Schema e grafo de entidades | 55/100 | 1.2 |
| Superfície RDF e de dados vinculados | 100/100 | 0.8 |
| Sinais de autoria e confiança (indicadores de E-E-A-T) | 57/100 | 1 |
| Estrutura de acessibilidade (a partir do HTML entregue) | 96/100 | 0.8 |
| Corroboração da entidade | 100/100 | 0.6 |
| Conteúdo citável | 67/100 | 0.8 |
| Desperdício de rastreamento | 100/100 | 0.6 |
| Assunto da página, a pergunta Webref | 100/100 | 0.6 |
| Agentes de IA e de busca | 33/100 | 1.2 |
| A velocidade que um rastreador vê, e dados de campo onde existem | 44/100 | 1 |
| Carga e caminho de renderização | 20/100 | 1 |
| Cadeia de confiança dos arquivos para máquinas | 100/100 | 1.5 |
| Consistência das afirmações | 100/100 | 1.3 |
| Superfície de instruções para agentes | 100/100 | 1 |
| O que cada agente recebe | 88/100 | 1.5 |
| Superfície móvel | 100/100 | 0.8 |
| Presença local, citações e NAP | 86/100 | 1.3 |
| Exposed files and secrets | 89/100 | 0.6 |
| Páginas de erro | 100/100 | 0.4 |
| Cobertura do sitemap | 100/100 | 1.2 |
| Links internos | 100/100 | 1 |
| Consistência de nomes e maiúsculas/minúsculas | 80/100 | 0.4 |
| Sinais de imagem | 80/100 | 0.6 |
Not scored, and therefore excluded rather than counted as zero: Agent surfaces (emerging, not scored), Content entities (measured, not yet scored), Service area, as declared (measured, not scored), The whole site, not just the front door (measured, not scored), Freshness, as the site declares it (measured, not scored), Local intents, the Maps vocabulary (measured, not scored), Conversion path on the page (measured, not scored), Where AI already cites this site (measured, not scored), What AI looks for vs what your page shows (measured, not scored), Trust and reputation (measured, not scored), Claims and their evidence (measured, not scored), Site safety (measured, not scored), AI rights and consent (measured, not scored), Price transparency (measured, not scored), Third-party dependencies (measured, not scored), Language and region (measured, not scored).
Alcançar, depois ler, depois citar
Alcançar, depois ler, depois citar — cada etapa condiciona a seguinte
Monitorar este site
Isso quebra sem aviso. Verificamos este site duas vezes por dia e enviamos um e-mail quando um resultado muda, nada além disso.
Export this result: JSON · CSV · PDF · Signed report card (image) Same stored record as this page, so an export can never disagree with the report.
For an AI agent: Markdown brief Paste it into ChatGPT, Claude or a coding agent and it has every finding, its evidence and its fix.