CrawlCheck
Sus opcionesLo arreglamos $100 una vez · Watch $29 / mes
  1. El escaneo gratuito$0

    Su calificación, su puntuación y cada problema que encontramos. El más grande se explica completo.

    Estás aquí · C · 81/100

  2. Lo arreglamos por usted$100 una vez

    Arreglamos cada problema de su sitio y luego lo volvemos a escanear para demostrarlo. Treinta días de monitoreo incluidos.

    Encargar la corrección

    Tarjeta y empezamos. Un sitio por pedido.

  3. Watch$29 / mes

    Revisamos 3 sitios dos veces al día y mostramos cada problema con su prueba, cuánto tiempo lleva abierto y cuándo se arregló.

    Empezar la prueba de 30 días

    Sin tarjeta. O compra Watch · muchos sitios

Pagar nunca cambia su calificación.

Resultado del escaneo

denverpost.com

2026-11-12 · hace 16 horaswordpressid aasc46z1wvpublic

81
Ccalificación

Los asistentes de IA como ChatGPT pueden leer su sitio, pero encuentran poco que citar en sus páginas.

Corregir primero

las reglas de robots.txt no se aplican a los agentes con nombre

Este hallazgo mantiene baja la calificación. Corríjalo y la calificación sube sola.

Corríjanlo por mí Vigilarlo, 30 días gratis

Visibilidad en IA 81/100. Un motor puede alcanzar y leer este sitio. Lo que falta es darle algo concreto que decir.

Limitada a C La puntuación por sí sola daría una calificación más alta; un hallazgo de gravedad media fija la letra. Resuélvelo y la calificación sube por sí sola.

Lo que esto no demuestra

Esto es lo que los rastreadores reciben hoy del sitio (alcanzar, leer, citar), medido desde la propia red de CrawlCheck. No muestra si algún motor cita el sitio, en qué posición aparece ni qué tráfico o contactos genera, y una prueba con la identidad de un rastreador no es una solicitud desde las direcciones verificadas de ese operador. Lo que un número puede decir y lo que no

11

hallazgos

19/33

secciones que aprueban

+19

puntos disponibles

63%

de 38 sitios del conjunto de referencia de editores obtuvieron una puntuación más baja

24

escaneos registrados

🔒 Escaneo gratuito: partes de este informe están bloqueadas

La calificación, la puntuación, cada hallazgo por su nombre y el principal completo son gratis. Un nivel de pago desbloquea:

  • el detalle, la corrección y la evidencia de 10 de los 11 hallazgos (cada hallazgo tiene nombre; el principal se muestra completo)
  • 40 filas de margen de mejora: lo que vale cada corrección en puntos
  • 11 secciones que siguen el sitio a lo largo del tiempo

Empezar la prueba de 30 días Watch, 30 días, sin tarjeta.Qué hace cada sección bloqueada

En resumen

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

En pocas palabras

  • 19 de 33 secciones puntuadas aprueban. 7 necesitan mejoras, 7 fallan. Las otras 8 de las 41 secciones se miden a título informativo y nunca se puntúan.
  • 11 hallazgos, 4 calificados como graves. Corregir primero: las reglas de robots.txt no se aplican a los agentes con nombre; se muestra completo abajo, gratis. Los otros 10 se nombran abajo; sus evidencias y pasos de corrección se abren con Watch. Uno de ellos mantiene la calificación en C. Cuánto cuesta.
  • Corrige las 41 medidas que fallan en la lista de correcciones y la puntuación será 100. Ahora 81, una ganancia de 19 puntos.
  • A todos los motores de respuestas con nombre se les sirvió la 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. Promedio de la sección mantenido en 80 durante 1 escaneo desde el 2026-11-12. Ver qué cambió.

Empieza aquí

Los tres hallazgos que más bajan la nota. Abre uno para ver qué se vio y cómo corregirlo.

Las tres etapas, en el orden en que un motor llega a un sitio

Cada etapa condiciona la siguiente: un motor que no puede alcanzar una página nunca la lee, y uno que no puede leerla nunca la cita.

79

Etapa 1 · 40% de la puntuación

Alcanzar

¿Puede un rastreador de motor de respuestas con nombre obtener tus páginas?

Al menos un motor de respuestas fue rechazado, desafiado o recibió menos que un navegador.

83

Etapa 2 · 30% de la puntuación

Leer

Una vez que tiene los bytes, ¿puede encontrar las palabras?

El contenido está enterrado en el marcado, o faltan los archivos que guían a un rastreador.

83

Etapa 3 · 30% de la puntuación

Citar

¿Hay un dato concreto que pueda enunciar y atribuir?

Un asistente tendría que parafrasear tu página en lugar de citar un dato.

La etapa que hay que corregir primero es alcance, la más baja de las tres.

Cómo se compara

Clasificado frente a 36 sitios de la misma cohorte (wordpress/publisher). Este corpus son sitios que la gente eligió escanear, no la web, así que un puesto aquí es una comparación, no un veredicto.

Puntuación de visibilidad en IA (la calificación mostrada)tú 81 · mediana 80
56º
Promedio de la sección (ponderado)tú 80 · mediana 81
41º
Proporción de contenido (% de texto visible)tú 4.4 · mediana 3.4
69º
Cobertura de @id estables (%)tú 33.3 · mediana 84.6
8º
Recursos que bloquean el renderizadotú 27 · mediana 10.5
19º
Tamaño de página entregado (KB)tú 306 · mediana 182
14º

Percentil: la proporción de sitios comparables que este supera. Las métricas en las que menos es mejor (tamaño de página, bloqueo del renderizado) ya están invertidas.

Media de la sección en 22 escaneos con esta versión de puntuación · se mantiene en 81 desde el 2026-11-12
0501002026-10-23 00:17 · 83/100 · 10 hallazgos2026-10-24 00:17 · 82/100 · 10 hallazgos2026-10-25 00:17 · 82/100 · 10 hallazgos2026-10-26 00:17 · 82/100 · 10 hallazgos2026-10-27 00:17 · 83/100 · 10 hallazgos2026-10-28 00:18 · 83/100 · 10 hallazgos2026-10-29 00:18 · 82/100 · 10 hallazgos2026-10-30 00:17 · 82/100 · 10 hallazgos2026-10-31 00:17 · 82/100 · 10 hallazgos2026-11-01 00:17 · 82/100 · 10 hallazgos2026-11-02 00:17 · 81/100 · 10 hallazgos2026-11-03 00:17 · 83/100 · 11 hallazgos2026-11-04 00:17 · 83/100 · 11 hallazgos2026-11-05 00:17 · 83/100 · 11 hallazgos2026-11-06 00:17 · 83/100 · 11 hallazgos2026-11-07 00:17 · 83/100 · 11 hallazgos2026-11-07 01:02 · 83/100 · 11 hallazgos2026-11-08 00:17 · 83/100 · 12 hallazgos2026-11-09 00:17 · 83/100 · 11 hallazgos2026-11-10 00:17 · 83/100 · 11 hallazgos2026-11-11 00:17 · 83/100 · 11 hallazgos2026-11-12 00:17 · 81/100 · 11 hallazgos

Qué sigue

Cada paso se apoya en el mismo registro firmado. Empiece donde se encuentre.

  1. 01CorregirCorrija lo que baja la notaPasos para su plataforma, comprobados con un nuevo análisis.
  2. 02WatchVigílelo cada díaGratis durante 30 días. Los cambios y los nuevos hallazgos llegan a su bandeja de entrada.
  3. 03ReclamarDemuestre que el dominio es suyoUn registro DNS o una etiqueta meta. A partir de ahí, cada respuesta firmada acerca del sitio indica que el control está demostrado.
  4. 04Vista del agenteVea lo que se les dice a los agentesLa respuesta firmada que recibe cualquier agente antes de leer, citar, conectarse o realizar una transacción.
  5. 05DesarrollarConsulte desde su propio códigoUna llamada antes de que su agente actúe: npm, PyPI o HTTPS simple.

Qué corregir

11 hallazgos en este sitio, 4 de ellos calificados como graves. Todos se nombran abajo; el principal se muestra completo, gratis. Lo que vimos, por qué importa cada uno, cómo corregirlo y los bytes que lo respaldan es lo que compra una licencia; o implementamos la lista completa por ti.

4 Media 2 Baja 5 Nota

1las reglas de robots.txt no se aplican a los agentes con nombre3 grupos User-agent con nombre (3 agentes) no repiten 8 de las reglas Disallow que tiene el grupo `*`. Un rastreador obedece solo su grupo más específico e ignora `MediaConfiguraciónConfirmed

medido por primera vez el 2026-09-10 · hace 63 días · cuántos días medidos se ha mantenido, y si alguna vez se cerró y volvió, se desbloquea con Watch, gratis durante 30 días.

Lo 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 qué importa

Un rastreador lee solo el grupo User-agent que mejor le corresponde e ignora todos los demás grupos, incluido `*`. Nombrar un agente y darle solo `Allow: /` elimina, por tanto, todas tus reglas Disallow de `*` para ese agente. El archivo sigue siendo válido y el agente sigue llegando a tu página de inicio, así que esto es invisible al inspeccionarlo, pero las rutas que querías mantener fuera de la búsqueda están abiertas, y los motores de búsqueda las rastrearán y puede que las indexen.

Cómo corregirlo

Cada grupo User-agent que nombra a un rastreador debe repetir las reglas Disallow que quieres aplicar. Un grupo con nombre sin reglas significa «permitir todo» para ese rastreador.

Configuración: un ajuste en el servidor, la CDN, el DNS o un plugin; sin código y sin redacción

En WordPress (detectado)

  1. WordPress sirve un robots.txt virtual. Edítalo en tu plugin de SEO: Yoast SEO → Herramientas → Editor de archivos; Rank Math → Ajustes generales → Editar robots.txt; All in One SEO → Herramientas → Editor de Robots.txt.
  2. Un archivo robots.txt real en la raíz del sitio (la carpeta con wp-config.php) prevalece sobre cualquier plugin. Si existe, edita ese archivo en su lugar, con el gestor de archivos de tu 'hosting' o por SFTP.
  3. Mantén un grupo por rastreador: un rastreador que tiene su propio grupo User-agent ignora por completo el grupo *, así que repite las líneas Disallow que todavía necesite.

Todas las correcciones de WordPress

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 qué se decidió esto
ReglaROBOTS_RULES_SHADOWED · paquete de reglas sv34 · alcance core
Evaluado2026-11-12 00:17:42 UTC
Decisiónd1:ab6db3d568fdb2282e23 · hallazgo f1:cbfcabeaf2c8fae39c15 resuélvelo en /api/graph/<id> con una clave
Observadorbuild de crawlcheck-worker be1e3120 · auditoría v4

En qué se basa

IdentidadEstadoBytessha256Guardado
leído: /robots.txt2004.567ff800a4d427dalready_held

25 más en el manifiesto.

Artefactos: manifest:4098c6573755bdd21d4644c5f14f0df51d807dbfc2d86dd1a7ffd32afab1005b

Efecto en la nota Limita la letra a C junto con 3 hallazgos más de gravedad media; la letra solo sube cuando desaparecen todos. No mueve puntos.

Regla ROBOTS_RULES_SHADOWED según las reglas de puntuación v34 · huella ROBOTS_RULES_SHADOWED|/robots.txt · persisting (seen in 47 of 48 readings)

Verifica la corrección Vuelve a escanear tras el cambio. Este hallazgo se da por resuelto cuando ROBOTS_RULES_SHADOWED ya no se informa en /robots.txt; si vuelve a aparecer tras resolverse, se marca como regresión, no como un hallazgo nuevo.

ROBOTS_RULES_SHADOWED · transcripción completa

2Dos registros de negocio en esta página reclaman la misma identidad🔒 Lo que vimos, por qué importa, la corrección y los bytes de evidencia están en el informe con licencia.Media
3La página de inicio depende de archivos que el propio 'robots.txt' del sitio prohíbe/robots.txt🔒 Lo que vimos, por qué importa, la corrección y los bytes de evidencia están en el informe con licencia.Media
4Casi nada de lo que una máquina recibe de esta página es texto legible🔒 Lo que vimos, por qué importa, la corrección y los bytes de evidencia están en el informe con licencia.Media
5El sitemap no dice cuándo cambió nada/sitemap.xml🔒 Lo que vimos, por qué importa, la corrección y los bytes de evidencia están en el informe con licencia.Baja
6Las coordenadas publicadas no están en el país que nombra la dirección🔒 Lo que vimos, por qué importa, la corrección y los bytes de evidencia están en el informe con licencia.Baja
7Se llega a la página de inicio a través de una cadena de redirecciones🔒 Qué vimos, por qué importa, la corrección y los bytes de evidencia están en el informe con licencia.Nota
8Sin llms.txt/llms.txt🔒 Lo que vimos, por qué importa, la corrección y los bytes de evidencia están en el informe con licencia.Nota
9Los archivos para máquinas pesan más que la página🔒 Lo que vimos, por qué importa, la corrección y los bytes de evidencia están en el informe con licencia.Nota
10Private files or live keys are readable by anyone (advisory: not in the grade yet)🔒 Lo que vimos, por qué importa, la corrección y los bytes de evidencia están en el informe con licencia.Nota
114 listados externos tienen este número de teléfono y el sitio nunca los enlaza🔒 Lo que vimos, por qué importa, la corrección y los bytes de evidencia están en el informe con licencia.Nota

Abrir los otros 10

Lo que vimos, por qué importa, cómo corregirlo y los bytes de evidencia de cada hallazgo, en este informe y en cada nuevo escaneo. Desde $29 al mes.

Desbloquear los hallazgos

O encarga la corrección

Implementamos la lista en tu sitio y volvemos a medir, con un antes y un después sellados. Un sitio, $100 una sola vez.

Que lo corrijan — $100

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.

Más detalle — aritmética del margen de mejora, prioridades y grupos

Lo que recibió cada rastreador

18 solicitudes de la misma URL, desde una dirección de CrawlCheck, el 2026-11-12 a las 00:17 UTC: cada rastreador con nombre, un navegador móvil y un cliente sin nombre. Robots.txt es lo que pide el sitio; el estado y el número de palabras son lo que su servidor envió realmente.

Solicitado comoRobots.txtEl servidor envióPalabrasIgual que el navegador
Cliente sin nombre (control)—2002.099100%referencia
GPTBotbloqueado con Disallow2002.099100%bloqueado con Disallow pero servido
ClaudeBotbloqueado con Disallow2002.099100%bloqueado con Disallow pero servido
OAI-SearchBotbloqueado con Disallow2002.099100%bloqueado con Disallow pero servido
Claude-SearchBotbloqueado con Disallow2002.099100%bloqueado con Disallow pero servido
PerplexityBotbloqueado con Disallow2002.099100%bloqueado con Disallow pero servido
ChatGPT-Userbloqueado con Disallow2002.099100%bloqueado con Disallow pero servido
Claude-Userbloqueado con Disallow2002.099100%bloqueado con Disallow pero servido
Perplexity-Userbloqueado con Disallow2002.099100%bloqueado con Disallow pero servido
Googlebotpermitido2002.099100%misma página
Googlebot Smartphoneno listado2002.099100%misma página
Navegador móvil (control)—2002.099100%referencia
Bingbotpermitido2002.099100%misma página
Applebotbloqueado con Disallow2002.099100%bloqueado con Disallow pero servido
Amazonbotbloqueado con Disallow2002.099100%bloqueado con Disallow pero servido
Bytespiderbloqueado con Disallow4299—bloqueado por el servidor
Meta-ExternalAgentbloqueado con Disallow4035—bloqueado por el servidor
CCBotbloqueado con Disallow2002.099100%bloqueado con Disallow pero servido

19

aprueban

7

necesitan mejoras

7

fallan

8

solo informativo

Secciones, no comprobaciones individuales: 41 en total, 33 puntuadas. Una sección puntuada que no se pudo leer se cuenta por separado y nunca como aprobada; las secciones informativas se miden y nunca se puntúan.

Qué rastreadores pueden entrar

74 de 115 rastreadores con nombre están permitidos por robots.txt en /; 41 están bloqueados con Disallow. Robots.txt es una petición; decide el Edge. Cuando este escaneo también obtuvo la página como ese rastreador, la etiqueta dice lo que hizo el Edge.

Motores de respuestas 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)

✗Índice de búsqueda de ChatGPTA✗Obtención en vivo de ChatGPTA✗Índice de búsqueda de Claude✗Obtención en vivo de ClaudeA✗Índice de PerplexityD✗Obtención en vivo de Perplexity✓Agente de investigación de Gemini✗Obtención en vivo de Le Chat✗Asistente de IA de DuckDuckGo✗You.com✓Phind✓Kagi✓Obtención de Microsoft Copilot✗Obtención en vivo de Meta AI✓Obtención en vivo de Amazon para preguntas a Alexa✓Agente de Google activado por el usuario, actúa en la webA✓Obtención de URL aportadas por el usuario en Gemini Notebook

Motores de búsqueda 17/24 permitidos

Google, Bing, Apple y el resto de la búsqueda clásica

✓Rastreador de imágenes de Google✓Google News✓Rastreador de vídeo de Google✓Google Shopping✓Google AdSense✓Entrega push de Google✓Vista previa de páginas de Bing✓Rastreador heredado de Microsoft✗Yahoo Slurp✓Yandex (token general)✓Coc Coc✓Búsqueda de Google y AI OverviewsA✓Índice de Bing y CopilotD✗Apple y SiriD✗AmazonD✓DuckDuckGoB✗YandexA✗BaiduB✓SeznamA✓Neeva✗Huawei Petal✗Elegibilidad para la búsqueda de Amazon, separada de Amazonbot✓Índice de búsqueda de Mistral para Vibe✓Índice de búsqueda de Exa AI, firmado con Web Bot Auth

Rastreadores de entrenamiento 22/46 permitidos

Recopilan páginas para entrenar modelos. Bloquearlos mientras se permiten los motores de respuestas es una política coherente, no un defecto

Mostrar los 46
✓Magpie AI✓corpus de imágenes img2dataset✓Awario RSS✓Awario smart✓Turnitin✗Internet Archive✓Internet Archive (heredado)✗Índice web de Meta✗Webz.io omgili✗Corpus de entrenamiento de Cohere✗Huawei PanGu✗Allen Institute Dolma✓FriendlyCrawler ML✗Velen✓MyCentral AI✓DeepSeek✗NICT ICC✓Obtención de Google ajena a la búsquedaA✓Creación de agentes de Vertex AI✗Entrenamiento e índice de OpenAIB✗Entrenamiento de AnthropicD✗Agente heredado de Anthropic✗Agente heredado de Anthropic✗Entrenamiento y fundamentación de Gemini✗Entrenamiento de Apple✗Common CrawlA✗ByteDance✗Entrenamiento de Meta AI✗Meta (heredado)✓Cohere✗Grafo de conocimiento de Diffbot✗Webz.io✓Imagesift✗Timpi✗Allen Institute✓Framework genérico de scraping✓Corpus de IA de Semrush✗Corpus publicitario de Apple✓TikTok✓QuillBot✗Webz.io ampliado✓ProRata✓Awario✓Rastreo de entrenamiento de Mistral✓Rastreador común de Google, URL públicas de imágenes✓Rastreador común de Google, URL públicas de vídeo

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.

Algunos grupos con nombre no declaran reglas propias, lo que significa «permitir todo» para ese rastreador, independientemente de las reglas generales. Esas etiquetas están marcadas.

Visto desde una segunda red

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).

IdentidadEste escaneo (red de CrawlCheck)Segunda redMismo estado
Cliente sin nombre200 · 2.099 palabras200 · 2.216 palabras✓
GPTBot200 · 2.099 palabras200 · 2.216 palabras✓
ClaudeBot200 · 2.099 palabras429differs
OAI-SearchBot200 · 2.099 palabras200 · 2.216 palabras✓
Claude-SearchBot200 · 2.099 palabras200 · 2.216 palabras✓
PerplexityBot200 · 2.099 palabras200 · 2.216 palabras✓
ChatGPT-User200 · 2.099 palabras200 · 2.216 palabras✓
Claude-User200 · 2.099 palabras200 · 2.216 palabras✓
Perplexity-User200 · 2.099 palabras200 · 2.216 palabras✓
Googlebot200 · 2.099 palabras200 · 2.216 palabras✓
Googlebot Smartphone200 · 2.099 palabras200 · 2.216 palabras✓
Navegador móvil200 · 2.099 palabras200 · 2.216 palabras✓
Navegador móvil (control)—200 · 2.216 palabras—
Bingbot200 · 2.099 palabras200 · 2.216 palabras✓
Applebot200 · 2.099 palabras200 · 2.216 palabras✓
Amazonbot200 · 2.099 palabras200 · 2.216 palabras✓
Bytespider429403differs
Meta-ExternalAgent403403✓
CCBot200 · 2.099 palabras200 · 2.216 palabras✓

La segunda red no es la red propia de ningún operador de rastreadores: responde a si un resultado depende de dónde vino la solicitud, no a cómo se trata al rastreador real de la empresa nombrada. Cada observación está firmada; la lista de observadores está en /.well-known/crawlcheck-observers.json y la comparación completa en /api/corroboration.

Where the refusal happens

2 identities were refused from CrawlCheck’s network.

IdentidadFrom CrawlCheck’s networkFrom a person’s own connectionDónde
Bytespiderthrottled (HTTP 429)no leídonot named by the refusal
Meta-ExternalAgentrefused HTTP 403no leídonot 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.

Cómo se mueven los rastreadores por este sitio

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.

QUIÉN PREGUNTÓEDGEARCHIVOS OBTENIDOSDERIVEDPROCESSEDENGINECliente sin nombre✓GPTBot⊘ClaudeBot⊘OAI-SearchBot⊘Claude-SearchBot⊘PerplexityBot⊘ChatGPT-User⊘Claude-User⊘Perplexity-User⊘Googlebot✓Googlebot Smartphone✓Navegador móvil✓Bingbot✓Applebot⊘Amazonbot⊘Bytespider✗Meta-ExternalAgent✗CCBot⊘entitymap.json (JSON) — ausentellms.txt (texto) — ausenteHTML de la página — abiertorobots.txt (text/plain) — abiertositemap (XML) — abiertonombre, teléfono, dirección — abiertotexto de respuesta — sin medirentidades declaradas — ausentenodos tipados — abiertoconsulta — abiertoidentidad por corroborar — abiertoJSON-LD incrustado — abiertoformularios y enlaces de llamada — abiertostexto visible — abiertounidades citables — abiertoreglas por user-agent — abiertoEdgedecisión4 cuerpos de respuesta distintos servidos a las identidades que recibieron respuesta, por SHA-2564 versionesservidorobots.txt — presente · 4.5 KB · sha256 ff800a4d427d901b5b4b8e6c08e0ec5132808d483171e0fa53d3c855b55f00e3 · guardadorobots.txtpresente · 4.5 KBsitemap — presente · 868 KB · sha256 493fa919e7c8a1490849b4693b6a56fdc01f5b923ac8b66c631fcddb6f97d215 · guardadositemappresente · 868 KBllms.txt — missing · 404 · sha256 3557f1559e468e7d4a4b649f985a9142c3bb90935cc46833e1b53c64e363f228 · keptllms.txtausente · 404entitymap.json — missing · 404 · sha256 928fb366b5d8e4791552be46d9b3739f9a98ed3fc30897059d7e1ef3e3042871 · keptentitymap.jsonausente · 404HTML de la página — presente · 306.7 KB · sha256 3a6447883d90b34647c5a10a041e3737e332c3baf40e5ee7fd8426504f505c3a · guardadoHTML de la páginapresente · 306.7 KBJSON-LD — presenteJSON-LDpresenteIdentidad declarada (NAP) — presenteIdentidad (NAP)presenteTexto citable — presenteTexto citablepresenteVía de consulta — presenteVía de consultapresenteResolución de robots.txtreglas de robotsAnálisis y grafo de entidadesGrafo de entidadesCorroboración de nombre, dirección y teléfonoComprobación NAPExtracción de citasExtracción de citasConsulta (formulario o llamada)ConsultaSalida del motor de respuestas — sin medirMotorsalida nomedidaEVIDENCEcada respuesta anterior, guardada por su resumen y selladaBytes guardados: 13 objetos distintos, 2.8 MB, cada uno almacenado bajo su propio SHA-256Bytes guardados26 de 26 respuestasManifest — sha256 4098c6573755bdd21d4644c5f14f0df51d807dbfc2d86dd1a7ffd32afab1005b: cada respuesta anterior, listada por huellaManifiesto4098c6573755…Resumen del registro: el hash del manifiesto forma parte del resumen de este registroResumen del registrob0e6d0e6517e…Raíz del día: el día se sella cuando termina (UTC); este resumen ya está registradoRaíz del díase sella después del 11-12Bitcoin: la raíz va a los calendarios de OpenTimestamps en el sellado; después sigue un bloque de Bitcoin, normalmente en pocas horasBitcoindespués del sellado

Quién preguntó

  • Cliente sin nombrellega a la página · mismo texto, bytes distintos
  • GPTBotrechazado por las reglas robots del sitio · mismo texto, bytes distintos
  • ClaudeBotrechazado por las reglas robots del sitio · mismo texto, bytes distintos
  • OAI-SearchBotrechazado por las reglas robots del sitio · mismo texto, bytes distintos
  • Claude-SearchBotrechazado por las reglas robots del sitio · mismo texto, bytes distintos
  • PerplexityBotrechazado por las reglas robots del sitio · mismo texto, bytes distintos
  • ChatGPT-Userrechazado por las reglas robots del sitio · mismo texto, bytes distintos
  • Claude-Userrechazado por las reglas robots del sitio · mismo texto, bytes distintos
  • Perplexity-Userrechazado por las reglas robots del sitio · mismo texto, bytes distintos
  • Googlebotllega a la página · mismo texto, bytes distintos
  • Googlebot Smartphonereaches the page · identical bytes
  • Navegador móvilllega a la página
  • Bingbotllega a la página · mismo texto, bytes distintos
  • Applebotrechazado por las reglas robots del sitio · mismo texto, bytes distintos
  • Amazonbotrechazado por las reglas robots del sitio · mismo texto, bytes distintos
  • Bytespiderrechazado en el edge (HTTP 429) a nuestra solicitud
  • Meta-ExternalAgentrechazado en el edge (HTTP 403) a nuestra solicitud
  • CCBotrechazado por las reglas robots del sitio · mismo texto, bytes distintos

Archivos obtenidos

  • robots.txtpresente · 4.5 KB
  • sitemappresente · 868 KB
  • llms.txtmissing
  • entitymap.jsonmissing
  • HTML de la páginapresente · 306.7 KB

Derivado

  • JSON-LDpresente
  • Texto citablepresente
  • Vía de consultapresente
  • Identidad declarada (NAP)presente

Salida del motor de respuestas — sin medir. Ningún servidor puede observar lo que dice un motor.

Prueba

  • Bytes guardados26 de 26 respuestas
  • Manifiesto4098c6573755…
  • Resumen del registrob0e6d0e6517e…
  • Raíz del díase sella después del 11-12
  • Bitcoindespués del sello

✓ alcanzado · ⊘ rechazado por las propias reglas del sitio · ✗ fallo técnico · recuadro discontinuo = falta o no medido. Sale de las propias peticiones de este escaneo; aquí no se estima nada. Obtenido el 2026-11-12 a las 00:17 UTC por la versión de worker be1e3120 según las reglas de puntuación v34. Cada identidad la envió CrawlCheck desde su propia red: ✓ significa que nuestra solicitud con ese nombre pasó, no que lo hiciera el propio crawler de la empresa. El flujo en JSON.

Lo que recibió cada identidad — 26 respuestas capturadas, 26 guardadas como evidencia
Quién preguntóHTTPTamañoComparado con un navegadorGuardado como evidencia
Cliente sin nombre200306.7 KBmismo texto, bytes distintosguardado · 11ba378b
GPTBot200306.7 KBmismo texto, bytes distintosguardado · 11ba378b
ClaudeBot200306.7 KBmismo texto, bytes distintosguardado · f767f94a
OAI-SearchBot200306.7 KBmismo texto, bytes distintosguardado · f767f94a
Claude-SearchBot200306.7 KBmismo texto, bytes distintosguardado · 11ba378b
PerplexityBot200306.7 KBmismo texto, bytes distintosguardado · f767f94a
ChatGPT-User200306.7 KBmismo texto, bytes distintosguardado · f767f94a
Claude-User200306.7 KBmismo texto, bytes distintosguardado · f767f94a
Perplexity-User200306.7 KBmismo texto, bytes distintosguardado · 11ba378b
Googlebot200306.7 KBmismo texto, bytes distintosguardado · 11ba378b
Googlebot Smartphone200306.7 KBbytes idénticosguardado · 3a644788
Navegador móvil200306.7 KBla referenciaguardado · 3a644788
Navegador móvil (control)200306.7 KBbytes idénticosguardado · 3a644788
Bingbot200306.7 KBmismo texto, bytes distintosguardado · f767f94a
Applebot200306.7 KBmismo texto, bytes distintosguardado · 11ba378b
Amazonbot200306.7 KBmismo texto, bytes distintosguardado · 1378a569
Bytespider429162 Brechazado (HTTP 429)guardado · 413d294f
Meta-ExternalAgent403146 Brechazado (HTTP 403)guardado · 32f2fa94
CCBot200306.7 KBmismo texto, bytes distintosguardado · 11ba378b
Obtención de CrawlCheck (página de inicio)200306.7 KB—guardado · dc318faa
Archivos que obtuvo CrawlCheck
/robots.txt2004.5 KB—guardado · ff800a4d
/sitemap.xml200868 KB—guardado · 493fa919
/sitemap_index.xml40493 KB—guardado · fa12fd3c
/wp-sitemap.xml200146.1 KB—guardado · a196f657
/llms.txt40493 KB—guardado · 3557f155
/entitymap.json40493 KB—guardado · 928fb366

Los tamaños son el cuerpo de cada respuesta tal como lo devolvió la solicitud: sin la compresión de transferencia y antes de cualquier decodificación de texto. Un enlace “guardado” vuelve a calcular el hash de la copia almacenada dentro de nuestro worker e indica si todavía coincide con su resumen; los bytes en sí no se vuelven a publicar.

La cadena de descubrimiento se rompe en llms.txt: todo lo que viene después solo es accesible adivinando la ruta convencional. Filas en las que se basa.

A dónde van los bytes

De los 313.548 bytes descomprimidos que entrega la página de inicio, 4.4% es texto que un lector o un modelo puede usar de verdad. La mayor parte de lo que descarga un rastreador aquí no son palabras.

  • Texto legible 4.4% · 13.731 B
  • Marcado y atributos 65.1% · 204.197 B
  • Datos estructurados (JSON-LD) 0.7% · 2.238 B
  • CSS en línea 14.8% · 46.455 B
  • JavaScript en línea 14% · 43.837 B
  • SVG en línea 0.1% · 372 B
  • Comentarios HTML 0.9% · 2.718 B

Los bloques que más pesan, uno a uno, para que la corrección sea una búsqueda y no una cacería:

  • CSS en línea · 44.440 B (14,2%) — sin nombreempieza por @import url(https://fonts.googleapis.com/css2?family=Inter:ital,opsz,w
  • JavaScript en línea · 14.517 B (4.6%) — #digisubs-social-login-js-afterempieza por (function () { var logPrefix = '[digisubs-social-login]'; var readyTim
  • JavaScript en línea · 4.739 B (1.5%) — #mng-ad-free-7day-js-afterempieza por ( function () { const config = window.mngAdFree7DayConfig; if ( ! conf

Todas las secciones

25 de 41 tienen peso en la calificación. Gris significa medido y deliberadamente sin peso: no cuenta para nada, en lugar de contar como cero, y cada tarjeta gris explica por qué. Abre cualquier sección para ver las filas que la componen: qué se midió, cuál es su valor actual y el rango que aprueba.

Archivos para máquinas67robots.txt, llms.txt, sitemap y el grafo de entidades: presentes, legibles y servidos con el tipo correcto puntuadoSuperficies para agentes—Estándares emergentes (agents.md, catálogo de API, tarjeta MCP). Medido solo a título informativo sin puntuar: son estándares publicados en etapas de adopción muy distintas, y varios no se aplican a todos los negociosServidor y alojamiento80Lo que nos dijeron el edge y el origen: estado de la caché, compresión, el software detrás de la página puntuadoDatos estructurados55El grafo de entidades JSON-LD: @ids estables, nodos conectados, credenciales y ubicaciones declaradas puntuadoDatos enlazados100Si los datos estructurados se analizan como RDF correcto y no queda nada colgando puntuadoAutores y señales de confianza57Personas con nombre, artículos fechados, una organización con datos de contacto: los indicadores que usa un motor para la confianza puntuadoEstructura de accesibilidad96Idioma, texto alternativo, controles etiquetados y un único punto de referencia principal, leídos del HTML entregado puntuadoCorroboración de la entidad100Si los enlaces de identidad que declara el sitio apuntan de vuelta a él, y si un registro de Wikidata nombra este dominio puntuadoEntidades del contenido—Cosas con nombre en el texto de la página que un grafo de conocimiento reconoce. Medido, no puntuado sin puntuar: la lectura es sólida pero la regla de puntuación no está fijada, y una regla que puede cambiar no debe mover una calificaciónContenido citable67Si las frases que un motor de respuestas extraería están en la página en una forma que pueda tomar: una entrada que define, párrafos factuales cortos, preguntas respondidas, pocas aperturas en primera persona puntuadoMapa de la zona de servicio—Cada lugar que declara el schema, situado en un mapa alrededor del centro y el radio declarados: cuáles tienen página y cuáles quedan fuera del círculo. Se mide, no se puntúa sin puntuar: un área de servicio declarada solo puede ser correcta o incorrecta frente a hechos que este escaneo no puede verSitio completo—Hasta 60 páginas declaradas, leídas una vez al día tras un escaneo: no-200, páginas pobres y casi todo código, JSON-LD ausente, canonical en otro sitio, noindex, h1 ausente o duplicado, huérfanas, páginas no declaradas, títulos duplicados, y la mediana de palabras, proporción de texto y tiempo de respuesta en todas ellas. Cada recuento es gratis; Watch dice qué páginas. Medido, no puntuado sin puntuar: la calificación sigue anclada en la página de inicio para que sea comparable entre sitios y díasActualidad—Cada fecha que el sitio publica sobre sí mismo: lastmod del sitemap, Last-Modified, dateModified, elementos fechados y dónde no coinciden. Medido, no puntuado no puntuado: cada fecha aquí la publicó el sitio, así que esto informa de lo que afirma y no de lo que es cierto. Calibrado el 2026-09-16 con 114 registros: la única fila que tienen la mayoría de los sitios (un sitemap que declara lastmod, 68%) no es un defecto si falta, y las filas que serían defectos (todos los lastmod con el mismo día, 8%; el sitemap y dateModified con más de un mes de diferencia, 2%) se pueden medir en demasiado pocos sitios como para pesarRastreo desperdiciado100Peticiones que no producen ninguna página nueva: variantes de parámetros y de mayúsculas, enlaces http, URL declaradas que redirigen o ya no existen, páginas canónicas en otro sitio y noindex puntuadoTema de la página100De qué entidad de negocio trata la página y cómo se relaciona con ella cada otra entidad de negocio que aparece: cadena, filial, departamento o sin declarar puntuadoIntenciones locales—Qué tipos de intención de Google Maps nombra el sitio sobre sí mismo, y cuáles tienen una página enlazada desde la de inicio. Medido, no puntuado sin puntuar: el vocabulario de intenciones son nombres recuperados sin pesos, y una intención declarada sin página es una decisión de contenido, no un defecto; se informa hasta que el corpus muestre cómo se distribuyeRuta de conversión—Enlace de teléfono, formulario y llamada a la acción en la página, y si están antes del pliegue. Medido, no puntuado sin puntuar: si un visitante puede actuar es un juicio de negocio, y la calificación es sobre lo que recibe una máquinaPermisos de rastreadores33Lo que robots.txt indica realmente a cada rastreador de IA y de búsqueda nombrado que puede hacer puntuadoVelocidad44Qué tan rápido respondió la página a nuestra solicitud, más datos de campo de visitantes reales donde Google los tiene puntuadoPeso de página y texto20Cuántos de los bytes entregados son palabras legibles y cuánto es marcado, scripts y estilos puntuadoCadena de archivos para máquinas100robots.txt nombra el sitemap, llms.txt apunta más allá, el grafo de entidades apunta al inicio: la cadena que sigue un rastreador puntuadoCoherencia de las afirmaciones100Nombre, teléfono, ciudad y años en el negocio coinciden entre los datos estructurados y la página visible puntuadoInstrucciones para agentes100Texto dirigido a agentes de IA y no a personas: presente, visible y no oculto puntuadoQué recibe cada rastreador88Cada rastreador con nombre pidió la página; esto indica si todos recibieron lo mismo puntuadoMóvil100Viewport, zoom, iconos y manifiesto: si un teléfono recibe una página que puede usar puntuadoPresencia local y NAP86Dirección postal, coordenadas, horario, teléfono y los listados de directorios que declara el propio sitio puntuadoWhat AI looks for—The facts an AI model weighs when it picks a business, ordered by how far each moved its ranking in CrawlCheck's tests, and whether the homepage shows each one. Measured, not scored not scored: the effects come from one model ranking fictional businesses, and a fact a business does not have should never be added to please a modelTrust and reputation—Red flags an agent should check before it cites or calls a business: the phone number in FTC unwanted-call complaints, malware or phishing listing, domain age and registration, parked or for-sale pages and redirects to another organisation. Measured, not scored. not scored: 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 businessClaims and their evidence—Each fact the site states about itself beside every outside source that confirms or contradicts it. Measured, not scored. not scored: 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 itSite safety—Malware or phishing listing, HTTPS and certificate, each security header graded, forms and where they send data, cookies, the http:// redirect, libraries with published advisories, sampled login, contact and checkout pages, changes since the last read, insecure resources, exposed versions, email forgery protection and domain registration. Measured, not scored. not scored: 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 servedExposed files and secrets89Backups, environment files, repository folders, debug logs and keys reachable on the live host puntuadoAI rights and consent—What the site declares AI may do with its pages, per use, which signal decided it, and where signals disagree. Measured, not scored sin puntuar: cada fila aquí es una lectura y no un aprobado o un suspenso, así que nada de esto puede mover una calificaciónPrice transparency—Whether the page states what the work costs, in text and in markup, and whether the two agree. Measured, not scored sin puntuar: cada fila aquí es una lectura y no un aprobado o un suspenso, así que nada de esto puede mover una calificaciónThird-party dependencies—Every outside host the page loads, grouped, and the ones that hold the page until they answer. Measured, not scored sin puntuar: cada fila aquí es una lectura y no un aprobado o un suspenso, así que nada de esto puede mover una calificaciónLanguage and region—Declared language, hreflang alternates and the region the page serves. Measured, not scored sin puntuar: cada fila aquí es una lectura y no un aprobado o un suspenso, así que nada de esto puede mover una calificaciónWhere AI already cites this site—Answer-engine arrivals and citations this site has already received. Measured, not scored sin puntuar: cada fila aquí es una lectura y no un aprobado o un suspenso, así que nada de esto puede mover una calificaciónPáginas de error100A missing page answers 404 with a real page, not a 200 soft 404 or a blank; the error page is not a dead end puntuadoSitemap100Existe un sitemap, se resuelve y declara las páginas que enlaza la página de inicio puntuadoEnlaces internos100Los anclajes llevan palabras, los destinos resuelven y el grafo de enlaces no es mayormente repeticiones puntuadoNombres de URL80Hosts y rutas en minúsculas, sin duplicados que solo difieren en mayúsculas, archivos para máquinas bien escritos puntuadoSeñales de imagen80Texto alternativo, dimensiones declaradas, carga diferida, formatos modernos, prioridad de la imagen principal y la imagen de la entidad en JSON-LD. puntuado

🔒 Bloqueadas en el escaneo gratuito: 11 secciones

Estas secciones necesitan un registro mantenido en el tiempo, o una conexión que solo el propietario del sitio puede hacer, por lo que se listan por título sin datos. Watch abre las diez primeras; la última es Studio.

El registroAntigüedad del hallazgo, fechas de primera detección y de cierre, si un defecto volvió: cada medición como serie fechada, cada día sellado WatchRecibos de cambiosEl antes y el después entre dos fechas cualesquiera, como un artefacto que un tercero verifica en su propia máquina WatchQué páginasRespuestas no-200, páginas escasas, sin JSON-LD, canonical a otra parte, noindex, huérfanas, no declaradas y títulos duplicados: con nombre, en hasta 60 páginas declaradas WatchEl recorrido de 300 páginasEl grafo de enlaces y cada página que contiene, bajo demanda, por dominio WatchVigilancia de citasUna vez al día se hacen a los motores las preguntas que responden tus páginas; una primera cita, una posición perdida, datos erróneos afirmados WatchLlegadas y contactosFuente de primer y último contacto en cada lead, asistentes de IA nombrados como tales, un referente ausente informado como desconocido WatchSeries de Search ConsoleClics e impresiones por propiedad y día, leídos junto al registro de escaneos WatchSeries del Perfil de EmpresaImpresiones, solicitudes de indicaciones y clics al sitio web desde el perfil vinculado al sitio WatchDirectorios y quién enlazaQué directorios incluyen el negocio y con qué nombre, y quién enlaza al sitio WatchYouTubeUn canal revisado por completo frente a los campos de anclaje de vídeo, y si el sitio incluye sus vídeos con schema VideoObject WatchIdentity GuardQué rastreadores de IA verificados llegaron de verdad al servidor, leído desde el propio sitio: verificados, falsificados, no verificables Studio

Lo que el sitio afirma sobre sí mismo

Los datos que un motor de respuestas podría repetir sobre este negocio, tomados solo de lo que obtuvo este escaneo, con el lugar donde se encontró cada uno. Todo lo ausente figura como [no indicado]: un motor al que se le pregunte tendría que adivinarlo.

DatoIndicado comoEncontrado enConcordanciaVisto por primera vez
NombreThe Denver Post2026-09-19
Teléfono(303) 954-1010solo datos estructuradosno se muestra a los lectores2026-09-19
Dirección5990 Washington St., Denver, CO, 802162026-09-19
Punto en el mapa39.7392, 104.9903datos estructuradosnegar la longitud la sitúa dentro de US - falta un signo menos2026-09-19
Horario de aperturadeclaradodatos estructurados2026-09-19
Tipo de negocioLocalBusinessdatos estructurados2026-09-19
Perfiles que enlaza3 (Facebook, X, LinkedIn)enlaces en el sitio3 de 3 enlazan de vuelta

Todo lo demás que se midió

Medido a título informativo, sin puntuar

Superficies para agentes—Estándares emergentes (agents.md, catálogo de API, tarjeta MCP). Medido solo a título informativoEntidades del contenido—Cosas con nombre en el texto de la página que un grafo de conocimiento reconoce. Medido, no puntuadoMapa de la zona de servicio—Cada lugar que declara el schema, situado en un mapa alrededor del centro y el radio declarados: cuáles tienen página y cuáles quedan fuera del círculo. Se mide, no se puntúaSitio completo—Hasta 60 páginas declaradas, leídas una vez al día tras un escaneo: no-200, páginas pobres y casi todo código, JSON-LD ausente, canonical en otro sitio, noindex, h1 ausente o duplicado, huérfanas, páginas no declaradas, títulos duplicados, y la mediana de palabras, proporción de texto y tiempo de respuesta en todas ellas. Cada recuento es gratis; Watch dice qué páginas. Medido, no puntuadoActualidad—Cada fecha que el sitio publica sobre sí mismo: lastmod del sitemap, Last-Modified, dateModified, elementos fechados y dónde no coinciden. Medido, no puntuadoIntenciones locales—Qué tipos de intención de Google Maps nombra el sitio sobre sí mismo, y cuáles tienen una página enlazada desde la de inicio. Medido, no puntuadoRuta de conversión—Enlace de teléfono, formulario y llamada a la acción en la página, y si están antes del pliegue. Medido, no puntuadoWhat AI looks for0The facts an AI model weighs when it picks a business, ordered by how far each moved its ranking in CrawlCheck's tests, and whether the homepage shows each one. Measured, not scoredTrust and reputation88Red flags an agent should check before it cites or calls a business: the phone number in FTC unwanted-call complaints, malware or phishing listing, domain age and registration, parked or for-sale pages and redirects to another organisation. Measured, not scored.Claims and their evidence100Each fact the site states about itself beside every outside source that confirms or contradicts it. Measured, not scored.Site safety79Malware or phishing listing, HTTPS and certificate, each security header graded, forms and where they send data, cookies, the http:// redirect, libraries with published advisories, sampled login, contact and checkout pages, changes since the last read, insecure resources, exposed versions, email forgery protection and domain registration. Measured, not scored.AI rights and consent100What the site declares AI may do with its pages, per use, which signal decided it, and where signals disagree. Measured, not scoredPrice transparency67Whether the page states what the work costs, in text and in markup, and whether the two agree. Measured, not scoredThird-party dependencies33Every outside host the page loads, grouped, and the ones that hold the page until they answer. Measured, not scoredLanguage and region100Declared language, hreflang alternates and the region the page serves. Measured, not scoredWhere AI already cites this site—Answer-engine arrivals and citations this site has already received. Measured, not scored

Detalle de la sección

Cada fila: la medida, su valor actual, el rango que aprueba y si este sitio está dentro de él. n/a significa que el dato de entrada no se pudo medir y la fila se excluye, no se marca como fallida.

Capa para máquinas — 67/100
Puntuación de la sección 67 / 100
MedidaActualmenteÓptimo
robots.txt
un rastreador que no puede leer robots.txt suele tratarlo como si todo estuviera bloqueado
200 · 4567B200, text/plain, 100–4.000B✓ Aprobado
Sitemap XML
sin él, un rastreador enumera el sitio solo siguiendo enlaces
activo200, XML válido, en una ruta que robots.txt indica✓ Aprobado
llms.txt
se informa, no se puntúa. Algunos agentes lo obtienen y publicarlo no cuesta nada, así que la fila se mantiene. No se califica porque nada de lo que hemos medido, ni nada de lo que hemos leído, vincula su presencia con una cita o un posicionamiento: un estudio sobre unos 300.000 dominios no encontró correlación, y eliminar la variable hizo el modelo más preciso, no menos. Calificar un archivo que no podemos demostrar que funciona le pondría precio para nuestros clientes solo por nuestra palabra
ausente (404)200, text/plain, 2.000–50.000BInformado
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
capa de entidades legible por máquinas; opcional, pero es la señal de identidad más fuerte disponible
ausente (404)200, application/json✗ Suspendido
Qué tan poco común es lo que publica este sitio
las cifras de adopción son agregados de terceros consultados en agosto de 2026 y cuentan los sitios de ese índice, no toda la web; están aquí para dimensionar la oportunidad, no para puntuar el sitio
llms.txt: aproximadamente 70.200 sitios publican uno; este no está entre ellos. entitymap.json: ausente, y no existe ninguna cifra de adopción de terceros. como referencia, aproximadamente 677.748 sitios publican algo pensado para agentes, y unos 107.200 ya bloquean GPTBot por completo, así que una política de IA es algo común mientras que un mapa del sitio legible por máquinas no lo es.publicar lo que casi nadie publica, y mantenerlo correctoInformado
Concordancia entre hosts
un rastreador que resuelve www no debe recibir una capa para máquinas distinta
los hosts coinciden0 archivos divergentes✓ Aprobado
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: */*✓ Aprobado
Coste de un fallo
cada archivo ausente le cobra al rastreador un HTML 404 completo
3 archivo(s) ausente(s) devuelven >20KB de HTMLun archivo para máquinas ausente debería devolver un 404 pequeño, no una página completa✗ Suspendido

Hosts y URL

/robots.txtwww.denverpost.com: 200 · 4.567B en vivo
denverpost.com: 301 → https://www.denverpost.com/robots.txt
/llms.txtwww.denverpost.com: 404 · 95.230B de HTML (no el archivo)
denverpost.com: 301 → https://www.denverpost.com/llms.txt
/entitymap.jsonwww.denverpost.com: 404 · 95.247B de HTML (no el archivo)
denverpost.com: 301 → https://www.denverpost.com/entitymap.json
/sitemap.xmlwww.denverpost.com: 200 · 888.839B en vivo
denverpost.com: 200 · 888.839B en vivo
/sitemap_index.xmlwww.denverpost.com: 404 · 95.255B de HTML (no el archivo)
denverpost.com: 301 → https://www.denverpost.com/sitemap_index.xml

Escaneado en www.denverpost.com. denverpost.com responde 301 hacia www.denverpost.com, así que ese es el host que un rastreador acaba leyendo. Sondeado sin seguir las redirecciones, así que un 200 aquí significa que el archivo se sirve en esa URL exacta; seguir una redirección informaría de un archivo que está en otro sitio. El host denverpost.com sirve su propia capa para máquinas. Un rastreador que resuelve ese nombre de host lee esos archivos, no los de www.denverpost.com.

Servidor y alojamiento — 80/100
Puntuación de la sección 80 / 100
MedidaActualmenteÓptimo
Compresión
nuestra descarga descomprime el cuerpo y elimina la cabecera content-encoding antes de que podamos leerla; es una limitación nuestra, no un hallazgo sobre el sitio. Compruébalo en el panel de red de un navegador o con curl --compressed -I
no visible desde aquíbr preferido, gzip aceptableNo medido
Edge / CDN
absorbe la carga de los rastreadores y mantiene rápidos los archivos para máquinas
no se detectó ningunouna CDN delante del origen✗ Suspendido
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.
noh3 in the Alt-Svc header or the DNS HTTPS recordInformado
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 de caché
DYNAMIC significa que cada visita de un rastreador llega al origen. Se muestra, no se puntúa: las filas de velocidad de abajo puntúan lo que eso cuesta, y puntuar también el mecanismo lo contaría dos veces
4 de 5 archivos para máquinas DYNAMICHIT o MISS en los archivos para máquinas; DYNAMIC es el valor predeterminado de Cloudflare para .txt y .xmlInformado
Divulgación de versión
una versión pública del CMS le dice a un atacante exactamente qué exploits probar
no divulgadasin versión de generator en el HTML✓ Aprobado
Divulgación del entorno de ejecución
por el mismo motivo que arriba
no divulgadasin cabecera x-powered-by✓ Aprobado
Vary
determina si una copia en caché se reutiliza correctamente
accept-encodingAccept-Encoding como mínimo✓ Aprobado
Strict-Transport-Security
max-age 365 días, subdominios incluidos · hstspreload.org: desconocido. Se muestra, no se puntúa: HSTS no cambia nada de lo que reciben los rastreadores
max-age=31536000;includeSubdomainsmax-age con includeSubDomains; preload solo si realmente lo quieresInformado
Etiquetas de verificación para webmasters
solo etiquetas meta: la verificación por DNS o por archivo no deja nada en el HTML, así que una etiqueta ausente no demuestra que no haya registro. Se muestra, no se puntúa
Google sin etiqueta visible · Etiqueta de Bing presente · Yandex sin etiqueta visibleAl menos Bing: su índice alimenta la búsqueda de ChatGPT y CopilotInformado
Renderizado en el cliente
framework presente, HTML entregado con texto. Medido sobre los bytes que envió el servidor, no sobre una vista renderizada
paquete de scripts, sin framework conocido · 2099 palabras entregadastexto presente en el HTML entregado✓ Aprobado
AplicaciónWordPress
detectado a partir del HTML entregado, no de una cabecera que se puede eliminar
Varía segúnaccept-encoding
una respuesta que varía puede almacenarse en caché de forma distinta según el cliente
Schema y grafo de entidades — 55/100
Puntuación de la sección 55 / 100
MedidaActualmenteÓptimo
Nodos de entidad
sin schema el sitio no tiene ninguna identidad declarada
3al menos 3 nodos tipados✓ Aprobado
Cobertura de @id estables
sin un @id, cada página declara una entidad nueva y sin relación
33.3%80–100%✗ Suspendido
Relaciones de credenciales
la forma legible por máquinas de por qué este negocio está cualificado; a un editor, una tienda o un SaaS no se les exige
0al menos 1 (licencia, membresía o premio) para un servicio local o profesional✗ Suspendido
Ubicaciones sin dirección postal
un negocio con área de servicio lo omite legítimamente; no se puntúa en ningún sentido
00 para un negocio con local; esperado para zona de servicio✓ Aprobado
Afirmaciones sameAs
sameAs afirma identidad, así que un destino ERRÓNEO afirma que el negocio es otra cosa. Un gran número de perfiles correctos no es un defecto; un solo destino que no remite de vuelta aquí, sí.
3 (3 corroborados, 0 sin enlace de vuelta, 0 caídos)al menos 2, ninguno caído, al menos uno que enlace de vuelta✓ Aprobado
sameAs que apunta a un lugar
un enlace de mapa en sameAs afirma que el negocio ES esa ubicación
10✗ Suspendido
Recuento de H1
práctica habitual, no una regla de Google: Google dice que una página con varios encabezados h1 está bien. Un único h1 que nombre el tema sigue dando a lectores y motores de respuestas el esquema más claro, así que se mantiene como comprobación de práctica
21 (práctica habitual)✗ Suspendido
Saltos de encabezado
un nivel omitido rompe el esquema del documento que construye un analizador
00✓ Aprobado
Canónica
sin ella, los duplicados compiten entre sí
presentepresente en todas las páginas✓ Aprobado
Meta descripción
práctica habitual, no una regla de Google: Google no fija un límite de longitud y recorta los fragmentos para que quepan en pantalla, a menudo reescribiéndolos. Pasados unos 160 caracteres, el final suele cortarse; por debajo de 50 se lee como una etiqueta, no como una descripción. 95 caracteres está bien
157 caracteres50–160 caracteres (práctica habitual)✓ Aprobado
Ancho del título en los resultados de búsqueda
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, ...”hasta unos 600 px (Google escritorio, Arial de 20 px)✗ Suspendido
sameAs · 3 profilesdeclared relations · 0facebook.com/denverpostlinks backx.com/denverpostlinks backlinkedin.com/company/denver-post-…links backnone declared (owns, brand, founder, subOrganization …)LocalBusinessThe Denver Postrobots.txtpublishedsitemap.xmlpublishedsitemap_index.xmlHTTP 404wp-sitemap.xmlpublishedllms.txtHTTP 404machine files read on this scan
The entity graph as this site’s own structured data declares it: The Denver Post in the middle, 3 sameAs profiles (3 confirmed to link back), 0 declared relations. A profile that links back is evidence an assistant can check; one that does not is only a claim.
Entidades declaradas3 nodos, 2 tipos distintos
Identidad estable1 de 3 llevan un @id (33,3%)
Sin un @id, un nodo no puede referenciarse ni fusionarse: cada página vuelve a declarar una entidad nueva y sin relación.
Relaciones de credenciales0
Licencias, afiliaciones y premios expresados como aristas del grafo en lugar de prosa.
Relaciones temáticas0
Un número alto con valores genéricos suele indicar que el grafo se usa para almacenar palabras clave.
Ubicaciones1 declaradas, 0 sin dirección postal
Afirmaciones sameAs3 en total · 1 enlaces de mapa · 0 resuelven a esta entidad · 1 resuelven a un lugar
sameAs afirma identidad. Un enlace de mapa que apunta a una ciudad afirma que el negocio es esa ciudad. Ningún validador lo informa: solo aparece si se resuelven los destinos.
Estructura del documento2 h1 · 129 encabezados · 0 saltos de nivel · canonical presente · meta description de 157 caracteres
Superficie RDF y de datos enlazados — 100/100
Puntuación de la sección 100 / 100
MedidaActualmenteÓptimo
Bloques JSON-LD que se analizan
un bloque que no se analiza no aporta ninguna tripleta y, para un validador que cuenta etiquetas, parece datos estructurados presentes
2 de 2todos los bloques✓ Aprobado
@context es schema.org
un grafo en otro vocabulario es RDF válido que ningún resolutor de motores de respuestas está preparado para leer
2 de 2todos los bloques✓ Aprobado
Tripletas declaradas (aproximado)
el tamaño de lo que recibe realmente un lector de datos enlazados; una sola Organization con un nombre y una URL son tres enunciados
68al menos 20 en una página de inicio✓ Aprobado
Referencias @id colgantes
una referencia a un @id que ningún nodo declara es un enunciado sobre nada; el resolutor descarta la relación y la entidad la pierde
00✓ Aprobado
Nodos de nivel superior con un IRI de sujeto
un nodo raíz o de @graph sin @id es un sujeto en blanco que ninguna otra página ni sitio puede referenciar; a los valores anidados (una dirección, una oferta, un elemento de lista) no se les exige
0 de 2 (12 nodos en total)cada entidad que declara la página — se muestra; la sección de schema puntúa la cobertura de @idInformado
RDFa y Microdata
Algunas herramientas de análisis leen estas serializaciones secundarias, y son un segundo lugar donde los datos pueden contradecirse. No se puntúan mientras haya JSON-LD; cuando una página no declara ningún nodo JSON-LD, su Microdata y RDFa de schema.org se leen como su grafo y todas las comprobaciones de entidades se ejecutan sobre ellos
sin RDFa, sin Microdata, 23 meta de Open Graphopcional; una serialización mantenida con precisión es mejor que tres que divergenInformado
Negociación de contenido RDF
Un cliente compatible con RDF envió Accept: text/turtle. Casi ningún sitio comercial responde con un grafo y la ausencia no es un defecto; un sitio que lo hace entrega a la máquina los mismos datos en una décima parte de los bytes. Sin puntuar
se sirve text/html (HTTP 200), Vary: Acceptopcional: text/turtle o application/ld+json a un cliente que lo soliciteInformado
Representación RDF alternativa enlazada
Indica a un cliente de datos enlazados dónde está el grafo sin tener que negociarlo. Sin puntuar
ningunaopcional: <link rel=alternate type=text/turtle> o una cabecera LinkInformado
Identificadores de nodo en blanco (_:)
Una etiqueta _: es local a un documento y cambia entre serializaciones; nada en otra página u otro sitio puede apuntar a ella. Se muestra, no se puntúa
ningunaninguno: cada entidad tiene un IRI persistenteInformado
Negocio declarado con dos @ids
Dos nodos con el mismo nombre y distintos @ids son dos sujetos para un lector de grafos; el '#organization' de un plugin junto al '/#org' de un tema divide un negocio en dos. Se muestra, no se puntúa
ningunaun @id por negocio, reutilizado en todas partesInformado
Convención de @id local
Los identificadores con almohadilla y con ruta son válidos; mezclarlos para el mismo tipo de entidad es como aparecen sujetos duplicados. Se muestra, no se puntúa
sin @ids localesuna sola convención en todo el sitioInformado
La misma dirección escrita de dos formas
/café/ y /caf%C3%A9/ son la misma página para un navegador y dos IRIs distintos para un grafo; la deriva en la codificación porcentual divide el nodo. Se muestra, no se puntúa
ningunauna única grafía exacta byte a byte por recursoInformado
IRIs que no están en Unicode NFC
Las formas compuesta y descompuesta del mismo carácter no son iguales byte a byte, así que el mismo identificador escrito dos veces puede no coincidir consigo mismo. Se muestra, no se puntúa
ninguno de 6NFC en todas partesInformado
Nombres de dominio internacionales sin codificar
Los analizadores que esperan un host ASCII pueden rechazar o volver a codificar un host Unicode de forma distinta al canónico. Se muestra, no se puntúa
ningunala forma xn-- (Punycode) en los datos estructuradosInformado
Forma del identificador de Wikidata
Ambas resuelven al mismo elemento. Mezclarlas no perjudica a Wikidata y le cuesta a un lector que compara cadenas un paso de normalización. Se muestra, no se puntúa
sin sameAs de Wikidatacualquiera; /entity/Q… es el IRI del concepto, /wiki/Q… la página sobre élInformado
Perfiles sameAs que responden
Leído de las obtenciones de corroboración de entidades (hasta seis perfiles por escaneo); un perfil muerto es una afirmación de identidad que no apunta a nada. Se puntúa allí, se muestra aquí
3 respondieron, 0 muertos, 0 no verificablescada perfil declarado respondeInformado

JSON-LD es una serialización de RDF, así que cada bloque de schema de arriba ya es un grafo de tripletas. Esta sección lo lee como uno solo: 68 declaraciones sobre 0 sujetos identificados, 1 referencia entre ellos, ninguna colgando. El recuento de tripletas es aproximado: cada valor de propiedad es una declaración y cada @type una más; los objetos anidados sin @id se cuentan como valores, no se expanden. Peso 0.8 en el total, por debajo de la sección de schema con la que se solapa.

Señales de autoría y confianza (indicadores de E-E-A-T) — 57/100
Puntuación de la sección 57 / 100
MedidaActualmenteÓptimo
Se declara una persona con nombre
un evaluador que pregunta quién está detrás encuentra una respuesta legible por máquinas o nada; un sitio sin nodo Person es anónimo para un resolutor
ningunaal menos 1 nodo Person con nombre✗ Suspendido
La persona tiene propiedades de experiencia
jobTitle, hasCredential, alumniOf, memberOf, knowsAbout o award: los enunciados que dicen POR QUÉ esta persona está cualificada, en una forma que un lector puede comprobar
—cada persona con nombreNo medido
La persona está corroborada en otros sitios (sameAs)
una persona que solo existe en este sitio es una afirmación; una persona con perfiles que enlazan de vuelta es un hecho que alguien más también afirma
—cada persona con nombreNo medido
La persona tiene su propia página
la página a la que llega un evaluador para juzgar la experiencia; sin ella, la persona es un nombre dentro de una etiqueta script
—una url o mainEntityOfPage en cada unaNo medido
Los artículos nombran un autor tipado
author como texto es una etiqueta; author como objeto Person u Organization es una entidad que puede llevar la experiencia anterior
no hay nodos Article en esta páginacada artículoInformado
Los artículos llevan datePublished y dateModified
la actualidad se lee de dateModified; un artículo con solo fecha de publicación parece no haberse mantenido nunca
—ambas en cada artículoNo medido
Organization declara quién la dirige
conecta la entidad del negocio con las entidades de personas; sin esa relación, los dos grafos nunca se encuentran
0 de 2founder, employee o member en la organización✗ Suspendido
Organization declara foundingDate
la única afirmación detrás de cada contador de «años de experiencia» que un lector puede contrastar con un registro
1 de 2en la organización principal✓ Aprobado
Vía de contacto declarada en schema
un negocio al que no se puede contactar por un canal declarado es, por definición, inverificable
1 de 2telephone, email o contactPoint✓ Aprobado
Página «Acerca de» enlazada desde la página de inicio
la primera página que abre un evaluador; si la página de inicio no la enlaza, la mayoría de los lectores nunca la encuentran
noenlazada✗ Suspendido
Página de contacto o contacto directo enlazado
una vía de contacto en el HTML entregado, no solo en una imagen del pie de página o en un widget que se renderiza después
síenlazada✓ Aprobado
Política de privacidad o términos enlazados
la señal de confianza más barata de la lista y la que más a menudo omiten los sitios pequeños
síenlazada✓ Aprobado
Las valoraciones llevan un valor y un recuento
una valoración sin recuento es un número que nadie puede ponderar; un recuento sin reseñas detrás tiene la forma de uno inventado
sin aggregateRatingratingValue con reviewCount o ratingCountInformado
Referencias salientes
Las citas hacia fuera forman parte de cómo se interpreta la autoridad, y un recuento no puede decir si son buenas. Sin puntuar
19 hosts externos enlazados (sin contar redes sociales): checkout.denverpost.com, accuweather.com, enewspaper.denverpost.comcita aquello en lo que se basa el contenido; no hay un número correctoInformado

Lo que esto puede y no puede decir. E-E-A-T es un juicio que hace un evaluador sobre experiencia, pericia, autoridad y confianza; no viaja por la red y CrawlCheck no pretende puntuarlo. Cada fila de arriba es una declaración legible por máquinas que hace un sitio y que un lector podría usar como evidencia para ese juicio, medida a partir de la página de inicio entregada y su JSON-LD. Una fila completa de aprobados no crea pericia, y una fila de suspensos no la refuta; lo que deciden es si una máquina que lee este sitio puede encontrar la evidencia siquiera. Peso 1.0 en el total, el mismo que la carga útil: lo que miden estas filas es si una máquina puede encontrar la evidencia, y esa es la parte que CrawlCheck puede respaldar.

Estructura de accesibilidad (del HTML entregado) — 96/100
Puntuación de la sección 96 / 100
MedidaActualmenteÓptimo
Idioma del documento declarado
un lector de pantalla elige su voz y su pronunciación a partir de esto; sin él, cada palabra se lee en el idioma predeterminado del usuario
lang=en-USun atributo lang válido en <html> (3.1.1)✓ Aprobado
La página tiene título
lo primero que se anuncia al abrir una página, y la etiqueta de cada pestaña y marcador
89 caracteresun <title> no vacío que nombre la página (2.4.2)✓ Aprobado
Las imágenes llevan un atributo alt
sin atributo alt, el lector anuncia el nombre del archivo; alt="" marca una imagen como decorativa y es correcto
44 de 44todas las imágenes (alt="" para las decorativas)✓ Aprobado
Los controles de formulario tienen nombre
un campo sin nombre se anuncia como "editar texto"; un placeholder no es una etiqueta, desaparece con la primera pulsación
1 de 2 (falta: checkbox)un <label for>, label envolvente, aria-label o title en cada uno✗ Suspendido
Los botones tienen un nombre accesible
un botón con solo un icono y sin nombre se anuncia como "botón" y nada más
3 de 3texto, aria-label o una imagen con alt dentro de cada uno✓ Aprobado
Los marcos tienen título
un marco sin título es un hueco en el orden de lectura que el usuario no puede identificar ni saltar a propósito
sin marcosun title en cada iframeInformado
Un único punto de referencia principal
la región a la que salta un lector para ir al contenido; tener dos es tan inutilizable como no tener ninguno
unoexactamente un <main> o role=main✓ Aprobado
Una forma de saltar la navegación
sin ella, cada página empieza recorriendo con el tabulador todo el menú
enlace de saltoun enlace de salto, o puntos de referencia nav y main✓ Aprobado
Sin ids duplicados
4.1.1 Parsing está obsoleto (fe de erratas del W3C, 2023), así que un id duplicado por sí solo no es un fallo; uno a través del cual se resuelve una etiqueta o un enlace de salto lo envía al elemento equivocado
0cada id a través del cual se resuelve una etiqueta, una descripción o un #enlace es único✓ Aprobado
1.1.1 Los botones de imagen y las áreas de mapa tienen nombre
una imagen usada como control se anuncia por su nombre de archivo o no se anuncia
ninguno en la páginaalt en cada <input type=image> y <area> enlazadaInformado
1.1.1 Las imágenes SVG llevan un nombre
role=img promete una imagen con alternativa textual; sin ella, el lector dice "imagen" y nada más. Un icono dentro de un botón o enlace con nombre no está sujeto a esto
ningún svg con role=imgun <title> o aria-label en cada svg marcado con role=imgInformado
1.1.1 El texto alt no es un nombre de archivo ni un marcador de posición
fallo F30 de WCAG: un alt que es un nombre de archivo o la palabra "imagen" se lee en voz alta y no le dice nada al oyente
ningunaun alt que describa la imagen, nunca "IMG_1234.jpg" ni "imagen"✓ Aprobado
2.4.4 Los enlaces tienen un nombre accesible
un enlace solo con icono y sin nombre se anuncia por su URL o como "enlace"; el usuario no sabe adónde lleva
357 de 357texto, aria-label o una imagen con alt dentro de cada enlace✓ Aprobado
4.1.2 Los controles personalizados tienen nombre
un div convertido en botón con role=button se anuncia como "botón" sin indicar qué hace
2 de 2un nombre en cada elemento con un rol de widget (role=button, tab, checkbox...)✓ Aprobado
2.5.3 La etiqueta visible forma parte del nombre
quien usa entrada por voz dice las palabras que ve en pantalla; si aria-label las sustituye por otras, el comando no coincide con nada
5 de 5cada palabra visible de un enlace o botón dentro de su aria-label✓ Aprobado
1.3.1 Los encabezados no están vacíos
un encabezado vacío se anuncia como "encabezado de nivel 2" y rompe el esquema por el que navegan los lectores
129 de 129texto en cada h1-h6✓ Aprobado
1.3.1 Las tablas de datos tienen celdas de encabezado
sin celdas de encabezado, un lector anuncia cada valor sin nombre de columna, así que una tabla de precios se convierte en una lista de números
sin tablas de datos<th> (o scope/headers) en cada tabla de datosInformado
1.3.1 Los botones de opción están agrupados
la pregunta que responde un conjunto de opciones se pierde si no están agrupadas; el lector oye "Sí, botón de opción" sin pregunta
sin grupos de botones de opciónun <fieldset> o role=radiogroup alrededor de cada conjuntoInformado
1.3.5 Los campos de datos personales declaran su finalidad
el token permite al navegador rellenar el campo y a las herramientas de apoyo marcarlo con un icono conocido; un token no válido (fallo F107) no hace ninguna de las dos cosas
sin campos de nombre, correo, teléfono o direcciónun token 'autocomplete' válido en cada campo que pide los datos propios del visitanteInformado
2.2.1 Sin recarga temporizada
una página que se recarga o redirige con un temporizador quita el contenido antes de que un lector lento termine (fallos F40/F41)
ningunasin <meta http-equiv=refresh> con retraso✓ Aprobado
2.2.2 Sin contenido en movimiento que no se pueda detener
un texto que se desplaza solo y no se puede pausar es ilegible para muchos usuarios y distrae al resto
ningunasin marquee✓ Aprobado
1.4.2 Sin sonido que se reproduzca solo
un sonido que empieza solo se superpone al lector de pantalla que el usuario está escuchando
sin contenido multimedia de reproducción automáticaaudio o vídeo de reproducción automática silenciado o con controles✓ Aprobado
1.2.2 El vídeo reproducible tiene una pista de subtítulos
las personas sordas o con dificultades auditivas no obtienen nada de la banda sonora sin subtítulos
sin vídeo nativo con controlesuna <track> de subtítulos (no se puntúa: los subtítulos incrustados en la imagen no se pueden leer desde el marcado)Informado
2.1.1 Elementos clicables accesibles con el teclado
un onclick en un div no se alcanza con Tab ni se activa con Intro, así que quien usa teclado o conmutador no puede usarlo
ningunacada elemento clicable puede recibir el foco✓ Aprobado
3.2.1/3.2.2 Sin cambio de contexto al recibir el foco o una entrada
un select que navega en cuanto cambia su valor saca a quien usa teclado mientras aún está eligiendo (fallo F37)
ningunanavegación solo con un envío explícito✓ Aprobado
4.1.2 Nada que pueda recibir el foco está oculto a los lectores
el foco del teclado cae en algo que el lector de pantalla dice que no existe, así que el usuario oye silencio
ningunaningún aria-hidden en un enlace, botón o campo✓ Aprobado
4.1.2 Los roles ARIA son válidos
un rol desconocido se ignora, así que el elemento se anuncia como lo que realmente es
ningunacada rol, un rol de WAI-ARIA 1.2✓ Aprobado
4.1.2 Los atributos ARIA existen
un atributo mal escrito (aria-labeledby) no hace nada; el nombre o estado que debía fijar nunca se expone
ningunacada atributo aria-* definido en WAI-ARIA 1.2✓ Aprobado
1.3.1 Las referencias de etiquetas y descripciones se resuelven
una etiqueta cuyo for no apunta a ningún id no etiqueta nada; el campo para el que se escribió queda sin nombre
ningunacada id de for, aria-labelledby, aria-describedby y headers presente✓ Aprobado
2.4.1 El enlace de salto llega a su destino
un enlace de salto a un id inexistente no mueve el foco a ninguna parte, y el usuario recorre todo el menú con Tab igualmente
destino presenteel #id que nombra un enlace de salto existe en la página✓ Aprobado
3.1.2 El idioma de las partes es válido
una etiqueta no válida se ignora, así que una cita en francés en una página en inglés se lee con pronunciación inglesa
ningunaetiquetas BCP 47 (en, fr-CA) en cada atributo lang✓ Aprobado
2.4.3 Sin tabindex positivo
un tabindex positivo lleva un elemento al principio del orden de tabulación, normalmente por delante del contenido al que pertenece
ningunasolo tabindex 0 o -1 (no se puntúa: un orden puede seguir teniendo sentido)Informado

Qué es esto. Leído frente al texto completo de WCAG 2.1: de sus 78 criterios de conformidad, 21 pueden decidirse, en parte, a partir del documento que devuelve el servidor, y cada uno se comprueba aquí. Otros 4 se miden en otras secciones (zoom, redacción de enlaces, orden de encabezados, un sitemap). El contraste, el reajuste, la visibilidad del foco, las trampas de teclado y el movimiento necesitan una página renderizada (27 criterios); la exactitud de los subtítulos, el orden de lectura y la redacción sencilla necesitan una persona (26). No se afirma ninguno de ellos. Una página que aprueba todas las filas de aquí no es por ello conforme, y esto no es una declaración de conformidad. Cada fila cuenta un fallo solo donde el marcado lo zanja: un icono dentro de un botón con nombre no es un fallo de 1.1.1, y un id duplicado solo falla cuando algo se resuelve a través de él. Peso 0.8 en la nota global, en la etapa Leer.

Los 78 criterios de conformidad de WCAG 2.1 y en qué situación está cada uno
CriterioNivelCrawlCheck
1.1.1 Contenido no textualAMedido en esta sección
1.2.1 Solo audio y solo vídeo (grabado)ANecesita una persona
1.2.2 Subtítulos (grabado)AMedido en esta sección
1.2.3 Audiodescripción o medio alternativo (grabado)ANecesita una persona
1.2.4 Subtítulos (en directo)AANecesita una persona
1.2.5 Audiodescripción (grabado)AANecesita una persona
1.2.6 Lengua de señas (grabado)AAANecesita una persona
1.2.7 Audiodescripción ampliada (grabado)AAANecesita una persona
1.2.8 Medio alternativo (grabado)AAANecesita una persona
1.2.9 Solo audio (en directo)AAANecesita una persona
1.3.1 Información y relacionesAMedido en esta sección
1.3.2 Secuencia significativaANecesita una persona
1.3.3 Características sensorialesANecesita una persona
1.3.4 OrientaciónAANecesita una página renderizada
1.3.5 Identificar el propósito de la entradaAAMedido en esta sección
1.3.6 Identificar el propósitoAAANecesita una persona
1.4.1 Uso del colorANecesita una página renderizada
1.4.2 Control del audioAMedido en esta sección
1.4.3 Contraste (mínimo)AANecesita una página renderizada
1.4.4 Cambio de tamaño del textoAAMedido en otra sección de este informe
1.4.5 Imágenes de textoAANecesita una persona
1.4.6 Contraste (mejorado)AAANecesita una página renderizada
1.4.7 Sonido de fondo bajo o ausenteAAANecesita una persona
1.4.8 Presentación visualAAANecesita una página renderizada
1.4.9 Imágenes de texto (sin excepción)AAANecesita una persona
1.4.10 ReajusteAANecesita una página renderizada
1.4.11 Contraste no textualAANecesita una página renderizada
1.4.12 Espaciado del textoAANecesita una página renderizada
1.4.13 Contenido al pasar el puntero o recibir el focoAANecesita una página renderizada
2.1.1 TecladoAMedido en esta sección
2.1.2 Sin trampas para el foco del tecladoANecesita una página renderizada
2.1.3 Teclado (sin excepción)AAANecesita una página renderizada
2.1.4 Atajos de teclado con caracteresANecesita una página renderizada
2.2.1 Tiempo ajustableAMedido en esta sección
2.2.2 Pausar, detener, ocultarAMedido en esta sección
2.2.3 Sin tiempoAAANecesita una persona
2.2.4 InterrupcionesAAANecesita una persona
2.2.5 Volver a autenticarseAAANecesita una persona
2.2.6 Tiempos de esperaAAANecesita una persona
2.3.1 Umbral de tres destellos o menosANecesita una página renderizada
2.3.2 Tres destellosAAANecesita una página renderizada
2.3.3 Animación por interaccionesAAANecesita una página renderizada
2.4.1 Evitar bloquesAMedido en esta sección
2.4.2 Página tituladaAMedido en esta sección
2.4.3 Orden del focoANecesita una página renderizada
2.4.4 Propósito de los enlaces (en contexto)AMedido en esta sección
2.4.5 Múltiples víasAAMedido en otra sección de este informe
2.4.6 Encabezados y etiquetasAAMedido en esta sección
2.4.7 Foco visibleAANecesita una página renderizada
2.4.8 UbicaciónAAANecesita una persona
2.4.9 Propósito de los enlaces (solo enlaces)AAAMedido en otra sección de este informe
2.4.10 Encabezados de secciónAAAMedido en otra sección de este informe
2.5.1 Gestos del punteroANecesita una página renderizada
2.5.2 Cancelación del punteroANecesita una página renderizada
2.5.3 Etiqueta en el nombreAMedido en esta sección
2.5.4 Activación por movimientoANecesita una página renderizada
2.5.5 Tamaño del objetivoAAANecesita una página renderizada
2.5.6 Mecanismos de entrada concurrentesAAANecesita una página renderizada
3.1.1 Idioma de la páginaAMedido en esta sección
3.1.2 Idioma de las partesAAMedido en esta sección
3.1.3 Palabras inusualesAAANecesita una persona
3.1.4 AbreviaturasAAANecesita una persona
3.1.5 Nivel de lecturaAAANecesita una persona
3.1.6 PronunciaciónAAANecesita una persona
3.2.1 Al recibir el focoAMedido en esta sección
3.2.2 Al recibir entradasAMedido en esta sección
3.2.3 Navegación coherenteAANecesita una página renderizada
3.2.4 Identificación coherenteAANecesita una página renderizada
3.2.5 Cambio a peticiónAAAMedido en esta sección
3.3.1 Identificación de erroresANecesita una página renderizada
3.3.2 Etiquetas o instruccionesAMedido en esta sección
3.3.3 Sugerencia ante erroresAANecesita una página renderizada
3.3.4 Prevención de errores (legales, financieros, de datos)AANecesita una persona
3.3.5 AyudaAAANecesita una persona
3.3.6 Prevención de errores (todos)AAANecesita una persona
4.1.1 Procesamiento (obsoleto, siempre cumplido para HTML según la fe de erratas del W3C)AMedido en esta sección
4.1.2 Nombre, función, valorAMedido en esta sección
4.1.3 Mensajes de estadoAANecesita una página renderizada
Corroboración de la entidad — 100/100
Puntuación de la sección 100 / 100
MedidaActualmenteÓptimo
Afirmación de identidad — facebook.com
la página de destino hace referencia de vuelta a denverpost.com
corroboradocorroborado✓ Aprobado
Afirmación de identidad — x.com
la página de destino enlaza de vuelta a denverpost.com
corroboradocorroborado✓ Aprobado
Afirmación de identidad — linkedin.com
la página de destino enlaza de vuelta a denverpost.com
corroboradocorroborado✓ Aprobado
Wikidata Q2668654
la señal de identidad de terceros más sólida que puede leer una máquina
el sitio web oficial coincide con este dominioP856 nombra este dominioInformado

3 corroborados · 0 sin reciprocidad · 0 no verificables · 0 caídos. Un enlace sameAs es una AFIRMACIÓN de identidad, y una afirmación de identidad puede ser recíproca: el destino apunta de vuelta a este dominio o no lo hace. Las plataformas que rechazan lectores desde centros de datos se cuentan como no verificables, nunca como fallos: desde aquí la afirmación no se puede confirmar ni acusar, y fingir lo contrario fabricaría hallazgos. Las afirmaciones corroboradas aprueban, las que no tienen reciprocidad y las caídas suspenden, y las no verificables o solo declaradas quedan fuera de la puntuación; así, una página de perfil que bloquea lectores nunca puede costar un punto, y un enlace caído o que nunca menciona este sitio sí.

Contenido citable — 67/100
Puntuación de la sección 67 / 100
MedidaActualmenteÓptimo
El párrafo inicial define el tema
el primer párrafo es el que más a menudo se extrae entero; si es un eslogan, el motor tiene que montar la respuesta a partir de fragmentos. Nombrar el tema se muestra, no se puntúa
no lo nombra, sin verbo que lo definauna primera frase que diga qué es esto (corpus: el 30% de las páginas de inicio lo hace)✗ Suspendido
Párrafos que un motor puede citar enteros
un párrafo autónomo de 15-70 palabras con un dato es la unidad que extraen los motores de respuestas; un párrafo de 200 palabras se resume, y el resumen es del motor
8 de 12 (67%)al menos el 25% (mediana del corpus 29%)✓ Aprobado
Encabezados en forma de pregunta con la respuesta debajo
la forma que tiene una consulta cuando llega; una página que ya contiene la pregunta y una respuesta breve se cita en ese orden. No tener ninguno no se puntúa
sin encabezados en forma de preguntaal menos la mitad, donde haya encabezados en forma de preguntaInformado
El marcado FAQ coincide con el texto visible
un marcado FAQ para texto que un visitante no puede ver es una afirmación sin nada detrás; los motores que comparan ambos descartan el marcado
sin FAQPagecada pregunta declarada es legible en la páginaInformado
Los encabezados llevan un id
un encabezado con id es una dirección estable para un pasaje; sin él, una cita solo puede apuntar a toda la página
0 de 29un id en cada uno, para que un pasaje pueda citarse por fragmento (sin puntuar: mediana del corpus 0%)Informado
Longitud de las oraciones
las citas son cortas; una oración de 40 palabras se parafrasea, y la paráfrasis lleva la redacción del motor, no la tuya
mediana de 15 palabras, 67% por debajo de 26una mediana de 22 palabras o menos (mediana del corpus 15)Informado
Frases con un dato comprobable
8-30 palabras con un número, una fecha o un nombre, en tercera persona: la frase que un motor puede atribuirte sin editarla
2 de 3 (67%)al menos el 15% (mediana del corpus 20%)Informado
Párrafos que empiezan en primera persona
"Ofrecemos" hay que reescribirlo antes de poder citarlo sobre ti; "Acme ofrece", no
0 de 12 (0%)un tercio o menos (corpus p90 24%)✓ Aprobado
Tablas con fila de encabezado y al menos dos filas de datos
una tabla es la única estructura que todos los extractores leen igual; los mismos datos en prosa los recompone cada motor de forma distinta
0una por cada conjunto de datos comparables (sin puntuar: poco común en páginas de inicio)Informado
Una fecha visible de actualización o publicación
los motores valoran la actualidad a partir del texto además del schema; una fecha que el lector puede ver es la que genera confianza
no se encontró ningunouna línea fechada en el texto (sin puntuar: el 4% de las páginas de inicio la tiene)Informado

Frases que un motor podría extraer tal como están:

  • “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.”

La entrada, tal como se entrega: “Sign up for Newsletters and Alerts Sign Up”

Lo que esto puntúa y lo que no es. Estas filas leen el HTML entregado buscando la forma del texto citable: nada aquí juzga si el texto es bueno, cierto o deseado. Los recuentos salen de los párrafos del cuerpo y los elementos de lista, sin la navegación, el encabezado, el pie de página ni los formularios; una página con menos de cinco no se puntúa aquí. Los umbrales se fijaron a partir de una pasada sobre un corpus de 176 páginas de inicio y cada fila indica la cifra del corpus con la que se fijó. Peso 0.8 en el total y parte de la etapa Citar, desde la versión de puntuación 15.

Rastreo desperdiciado — 100/100
Puntuación de la sección 100 / 100
MedidaActualmenteÓptimo
Enlaces internos con cadena de consulta
cada variante de parámetro es una URL distinta para un rastreador; los parámetros de seguimiento y de orden en los enlaces internos multiplican las páginas que cree que tienes
1 de 309 - ntv_adpz0, salvo que el parámetro cambie la página✓ Aprobado
Internal links to http://
cada uno es una redirección antes de la página, y una redirección es una obtención que no devolvió nada
4 de 3090Informado
URL declaradas que redirigen
una entrada del sitemap que redirige envía al rastreador a un lugar que el sitemap debería haber indicado desde el principio
0 de 6 muestreadas0✓ Aprobado
URL declaradas que no responden 200
una página declarada que ya no existe es una descarga gastada en una página que no se indexará
0 de 6 muestreadas0Informado
El dominio raíz y www responden ambos 200
dos hosts que sirven el mismo sitio son todas las páginas por duplicado, y el motor tiene que adivinar qué copia es la real
no, uno redirigeun host; el otro redirige✓ Aprobado

Un rastreador llega con un presupuesto. Cada fila aquí es una descarga que no produjo ninguna página nueva: una redirección, una variante de parámetro, una variante de mayúsculas y minúsculas, una página declarada que apunta a otro lugar. Contado a partir de la página de inicio entregada, el sitemap, las URL declaradas muestreadas y la lectura diaria de todo el sitio cuando existe. Nada de esto modifica la calificación.

Tema de la página, la pregunta de Webref — 100/100
Puntuación de la sección 100 / 100
MedidaActualmenteÓptimo
Entidades de negocio declaradas en la página
Webref decide de qué entidad trata una página y en qué medida; una página que nombra varios negocios sin relación reparte su relevancia temática entre ellos
1un solo tema, los demás solo mediante una relación declaradaInformado
El tema de la página
mainEntity es la declaración explícita; una URL en este host es la siguiente mejor evidencia; adivinar a partir del primer nodo es justo lo que esta comprobación se niega a hacer
The Denver Post - encontrado por URL en este hostdeclarado como WebPage.mainEntityInformado
El título y el h1 nombran el tema
las dos afirmaciones más fuertes dentro de la página sobre de qué trata el documento
title sí, h1 síambosInformado
Lugares nombrados en el grafo
areaServed se interpreta como los lugares a los que da servicio el negocio; una localidad en la que el negocio ESTÁ es una relación distinta, y ambas deben figurar en el registro
2 (Denver, Denver Metropolitan Area and the state of Colorado)la localidad propia de la sucursal más un área de servicio declaradaInformado
Veredicto
único: una entidad. relacionado: varias, todas conectadas. diluido: negocios sin relación comparten la página. ambiguo: no se puede determinar ningún tema
única: una entidad comercial, y es el temaúnico o relacionado✓ Aprobado

Un documento no compite solo por una palabra clave; el índice lo vincula a entidades por su identidad en el Knowledge Graph y compara documentos entre sí para esa entidad. Esta sección lee los datos estructurados de la página de inicio entregada y hace la pregunta que hace esa capa: ¿de qué negocio trata esta página y cómo se relaciona con ella cada uno de los demás negocios que aparecen? La pertenencia a una cadena, la filial, el departamento y la contención son relaciones declaradas; un segundo negocio sin relación es una afirmación que el motor debe arbitrar. Medido, no puntuado, hasta que el corpus muestre con qué frecuencia se da cada veredicto.

Agentes de IA y de búsqueda — 33/100
Puntuación de la sección 33 / 100
MedidaActualmenteÓptimo
Motores de respuestas permitidos
obtienen una página mientras redactan una respuesta en vivo
7 de 17todos✗ Suspendido
Índices de búsqueda permitidos
la cobertura del índice clásico sigue impulsando la mayor parte del descubrimiento
17 de 24todos✗ Suspendido
Rastreadores de entrenamiento permitidos
bloquear a los de entrenamiento mientras se permiten los motores de respuestas es coherente, no un defecto
22 de 46tu decisión de política — sin puntuarInformado
Motores de búsqueda regionales permitidos
Naver, Sogou, 360 y Yisou importan si vendes en esos mercados y son irrelevantes si no; es un dato del negocio que no podemos leer en la página
7 de 7tu decisión de política — sin puntuarInformado
Vistas previas de enlaces en redes sociales permitidas
bloquearlas no afecta a los motores de respuestas; solo hace que tus enlaces se muestren como URL sin formato cuando alguien los comparte
6 de 6tu decisión de política — sin puntuarInformado
Rastreadores de SEO e investigación permitidos
bloquear un rastreador de índice de enlaces te cuesta visibilidad ante la competencia, no visibilidad en motores de respuestas: una compensación distinta de la anterior
15 de 15tu decisión de política — sin puntuarInformado
Grupos de robots.txt
un segundo grupo * es invisible para los analizadores que se detienen en la primera coincidencia
701 grupo por user-agent, sin grupo * duplicado✓ Aprobado
Motores de respuestas — obtienen la página en el momento de la pregunta — 7 de 17 permitidos
OAI-SearchBotBLOQUEADO en / · ChatGPT search index · named rule · line 150: Disallow: /
ChatGPT-UserBLOQUEADO en / · ChatGPT live fetch · named rule · line 63: Disallow: /
Claude-SearchBotBLOQUEADO en / · Claude search index · named rule · line 69: Disallow: /
Claude-UserBLOQUEADO en / · Claude live fetch · named rule · line 72: Disallow: /
PerplexityBotBLOQUEADO en / · Perplexity index · named rule · line 159: Disallow: /
Perplexity-UserBLOQUEADO en / · Perplexity live fetch · named rule · line 162: Disallow: /
Gemini-Deep-Researchpermitido · Gemini research agent · wildcard rule · group at line 9, no rule matches /
MistralAI-UserBLOQUEADO en / · Le Chat live fetch · named rule · line 144: Disallow: /
DuckAssistBotBLOQUEADO en / · DuckDuckGo AI assist · named rule · line 96: Disallow: /
YouBotBLOQUEADO en / · You.com · named rule · line 198: Disallow: /
PhindBotpermitido · Phind · wildcard rule · group at line 9, no rule matches /
Kagibotpermitido · Kagi · wildcard rule · group at line 9, no rule matches /
Copilot-Userpermitido · Microsoft Copilot fetch · wildcard rule · group at line 9, no rule matches /
Meta-ExternalFetcherBLOQUEADO en / · Meta AI live fetch · named rule · line 138: Disallow: /
Amzn-Userpermitido · Amazon live fetch for Alexa questions · wildcard rule · group at line 9, no rule matches /
Google-Agentpermitido · Google user-triggered agent, acts on the web · wildcard rule · group at line 9, no rule matches /
Google-GeminiNotebookpermitido · Gemini Notebook user-supplied URL fetch · wildcard rule · group at line 9, no rule matches /
Índices de búsqueda — 17 de 24 permitidos
Googlebot-Imagepermitido · Google image crawler · wildcard rule · group at line 9, no rule matches /
Googlebot-Newspermitido · Google News · wildcard rule · group at line 9, no rule matches /
Googlebot-Videopermitido · Google video crawler · wildcard rule · group at line 9, no rule matches /
Storebot-Googlepermitido · Google Shopping · wildcard rule · group at line 9, no rule matches /
Mediapartners-Googlepermitido · Google AdSense · wildcard rule · group at line 9, no rule matches /
APIs-Googlepermitido · Google push delivery · wildcard rule · group at line 9, no rule matches /
BingPreviewpermitido · Bing page preview · wildcard rule · group at line 9, no rule matches /
msnbotpermitido · Microsoft legacy crawler · wildcard rule · group at line 9, no rule matches /
SlurpBLOQUEADO en / · Yahoo Slurp · named rule · line 177: Disallow: /
Yandexpermitido · Yandex (umbrella token) · wildcard rule · group at line 9, no rule matches /
coccocbot-webpermitido · Coc Coc · wildcard rule · group at line 9, no rule matches /
Googlebotpermitido · Google Search and AI Overviews · wildcard rule · group at line 9, no rule matches /
bingbotpermitido · Bing and Copilot index · wildcard rule · group at line 9, no rule matches /
ApplebotBLOQUEADO en / · Apple and Siri · named rule · line 36: Disallow: /
AmazonbotBLOQUEADO en / · Amazon · named rule · line 27: Disallow: /
DuckDuckBotpermitido · DuckDuckGo · wildcard rule · group at line 9, no rule matches /
YandexBotBLOQUEADO en / · Yandex · named rule · line 195: Disallow: /
BaiduspiderBLOQUEADO en / · Baidu · named rule · line 45: Disallow: /
Seznambotpermitido · Seznam · wildcard rule · group at line 9, no rule matches /
Neevabotpermitido · Neeva · wildcard rule · group at line 9, no rule matches /
PetalBotBLOQUEADO en / · Huawei Petal · named rule · line 165: Disallow: /
Amzn-SearchBotBLOQUEADO en / · Amazon search eligibility, separate from Amazonbot · named rule · line 30: Disallow: /
MistralAI-Indexpermitido · Mistral search index for Vibe · wildcard rule · group at line 9, no rule matches /
ExaSearchBotpermitido · Exa AI search index, Web Bot Auth signed · wildcard rule · group at line 9, no rule matches /
Rastreadores de entrenamiento / corpus — 22 de 46 permitidos
Magpie-crawlerpermitido · Magpie AI · wildcard rule · group at line 9, no rule matches /
img2datasetpermitido · img2dataset image corpus · wildcard rule · group at line 9, no rule matches /
AwarioRssBotpermitido · Awario RSS · wildcard rule · group at line 9, no rule matches /
AwarioSmartBotpermitido · Awario smart · wildcard rule · group at line 9, no rule matches /
TurnitinBotpermitido · Turnitin · wildcard rule · group at line 9, no rule matches /
archive.org_botBLOQUEADO en / · Internet Archive · named rule · line 42: Disallow: /
ia_archiverpermitido · Internet Archive (legacy) · wildcard rule · group at line 9, no rule matches /
meta-webindexerBLOQUEADO en / · Meta web index · named rule · line 141: Disallow: /
omgiliBLOQUEADO en / · Webz.io omgili · named rule · line 153: Disallow: /
cohere-training-data-crawlerBLOQUEADO en / · Cohere training corpus · named rule · line 78: Disallow: /
PanguBotBLOQUEADO en / · Huawei PanGu · named rule · line 156: Disallow: /
Ai2Bot-DolmaBLOQUEADO en / · Allen Institute Dolma · named rule · line 24: Disallow: /
FriendlyCrawlerpermitido · FriendlyCrawler ML · wildcard rule · group at line 9, no rule matches /
VelenPublicWebCrawlerBLOQUEADO en / · Velen · named rule · line 186: Disallow: /
MyCentralAIScraperBotpermitido · MyCentral AI · wildcard rule · group at line 9, no rule matches /
DeepSeekBotpermitido · DeepSeek · wildcard rule · group at line 9, no rule matches /
ICC-CrawlerBLOQUEADO en / · NICT ICC · named rule · line 117: Disallow: /
GoogleOtherpermitido · Google non-search fetch · wildcard rule · group at line 9, no rule matches /
Google-CloudVertexBotpermitido · Vertex AI agent build · wildcard rule · group at line 9, no rule matches /
GPTBotBLOQUEADO en / · OpenAI training and index · named rule · line 108: Disallow: /
ClaudeBotBLOQUEADO en / · Anthropic training · named rule · line 66: Disallow: /
anthropic-aiBLOQUEADO en / · Anthropic legacy agent · named rule · line 33: Disallow: /
Claude-WebBLOQUEADO en / · Anthropic legacy agent · named rule · line 75: Disallow: /
Google-ExtendedBLOQUEADO en / · Gemini training and grounding · named rule · line 105: Disallow: /
Applebot-ExtendedBLOQUEADO en / · Apple training · named rule · line 39: Disallow: /
CCBotBLOQUEADO en / · Common Crawl · named rule · line 57: Disallow: /
BytespiderBLOQUEADO en / · ByteDance · named rule · line 51: Disallow: /
meta-externalagentBLOQUEADO en / · Meta AI training · named rule · line 135: Disallow: /
FacebookBotBLOQUEADO en / · Meta legacy · named rule · line 99: Disallow: /
cohere-aipermitido · Cohere · wildcard rule · group at line 9, no rule matches /
DiffbotBLOQUEADO en / · Diffbot knowledge graph · named rule · line 90: Disallow: /
OmgilibotBLOQUEADO en / · Webz.io · named rule · line 153: Disallow: /
ImagesiftBotpermitido · Imagesift · wildcard rule · group at line 9, no rule matches /
TimpibotBLOQUEADO en / · Timpi · named rule · line 183: Disallow: /
AI2BotBLOQUEADO en / · Allen Institute · named rule · line 21: Disallow: /
Scrapypermitido · Generic scraper framework · wildcard rule · group at line 9, no rule matches /
SemrushBot-OCOBpermitido · Semrush AI corpus · wildcard rule · group at line 9, no rule matches /
Applebot-Extended-AdsBLOQUEADO en / · Apple ads corpus · named rule · line 39: Disallow: /
TikTokSpiderpermitido · TikTok · wildcard rule · group at line 9, no rule matches /
QuillBotpermitido · QuillBot · wildcard rule · group at line 9, no rule matches /
Webzio-ExtendedBLOQUEADO en / · Webz.io extended · named rule · line 192: Disallow: /
ProRataIncpermitido · ProRata · wildcard rule · group at line 9, no rule matches /
AwarioBotpermitido · Awario · wildcard rule · group at line 9, no rule matches /
MistralAI-Trainingpermitido · Mistral training crawl · wildcard rule · group at line 9, no rule matches /
GoogleOther-Imagepermitido · Google common crawler, public image URLs · wildcard rule · group at line 9, no rule matches /
GoogleOther-Videopermitido · Google common crawler, public video URLs · wildcard rule · group at line 9, no rule matches /
Rastreadores de SEO y estudios de mercado — 15 de 15 permitidos
KlaviyoAIBotpermitido · Klaviyo Customer Agent knowledge-source crawler · wildcard rule · group at line 9, no rule matches /
AhrefsBotpermitido · Ahrefs link index · wildcard rule · group at line 9, no rule matches /
SemrushBotpermitido · Semrush crawler · wildcard rule · group at line 9, no rule matches /
MJ12botpermitido · Majestic link index · wildcard rule · group at line 9, no rule matches /
DotBotpermitido · Moz link index · wildcard rule · group at line 9, no rule matches /
rogerbotpermitido · Moz site crawler · wildcard rule · group at line 9, no rule matches /
DataForSeoBotpermitido · DataForSEO · wildcard rule · group at line 9, no rule matches /
BLEXBotpermitido · WebMeUp link index · wildcard rule · group at line 9, no rule matches /
CloudflareBrowserRenderingCrawlerpermitido · Cloudflare Browser Run /crawl · wildcard rule · group at line 9, no rule matches /
Cloudflare-AutoRAGpermitido · Cloudflare AutoRAG · wildcard rule · group at line 9, no rule matches /
Peer39_Crawlerpermitido · Peer39 ad context · wildcard rule · group at line 9, no rule matches /
AdsBot-Googlepermitido · Google Ads quality · wildcard rule · group at line 9, no rule matches /
AmazonAdBotpermitido · Amazon Ads · named rule · group at line 200, no rule matches /
AdIdxBotpermitido · Microsoft Ads · wildcard rule · group at line 9, no rule matches /
OAI-AdsBotpermitido · OpenAI ChatGPT ads page validation · wildcard rule · group at line 9, no rule matches /
Buscadores regionales — 7 de 7 permitidos
Yetipermitido · Naver · wildcard rule · group at line 9, no rule matches /
YoudaoBotpermitido · Youdao · wildcard rule · group at line 9, no rule matches /
Exabotpermitido · Exalead · wildcard rule · group at line 9, no rule matches /
Sogou web spiderpermitido · Sogou · wildcard rule · group at line 9, no rule matches /
YisouSpiderpermitido · Shenma mobile search · wildcard rule · group at line 9, no rule matches /
360Spiderpermitido · 360 Search · wildcard rule · group at line 9, no rule matches /
Sosospiderpermitido · Soso · wildcard rule · group at line 9, no rule matches /
Vistas previas de enlaces en redes sociales — 6 de 6 permitidos
Facebotpermitido · Meta link crawler · wildcard rule · group at line 9, no rule matches /
Twitterbotpermitido · X link preview · named rule · group at line 212, no rule matches /
LinkedInBotpermitido · LinkedIn link preview · wildcard rule · group at line 9, no rule matches /
facebookexternalhitpermitido · Facebook link preview · named rule · group at line 203, no rule matches /
Pinterestbotpermitido · Pinterest · wildcard rule · group at line 9, no rule matches /
Slackbot-LinkExpandingpermitido · 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-DeepResearchEvalBLOQUEADO en / · Ai2 — AI assistant or agent · named rule · line 21: Disallow: /
ChatGLM-SpiderBLOQUEADO en / · AI data crawler · named rule · line 60: Disallow: /
CotoyogiBLOQUEADO en / · ROIS — AI data crawler · named rule · line 81: Disallow: /
Diffbot-UserBLOQUEADO en / · Diffbot — AI assistant or agent · named rule · line 90: Disallow: /
imageSpiderBLOQUEADO en / · AI data crawler · named rule · line 120: Disallow: /
laion-huggingface-processorBLOQUEADO en / · AI data crawler · named rule · line 126: Disallow: /
LCCBLOQUEADO en / · AI data crawler · named rule · line 129: Disallow: /
MistralAI-User/1.0BLOQUEADO en / · Mistral AI — AI assistant or agent · named rule · line 144: Disallow: /
Mozilla-Tabstackpermitido · Mozilla that performs programmatic — AI data crawler · named rule · line 224: Allow: /
SBIntuitionsBotBLOQUEADO en / · SB Intuitions — AI data crawler · named rule · line 168: Disallow: /
SpiderBLOQUEADO en / · AI data crawler · named rule · line 177: Disallow: /
ThinkbotBLOQUEADO en / · Thinkbot — AI data crawler · named rule · line 180: Disallow: /
Baiduspider-imageBLOQUEADO en / · Baidu image search · named rule · line 45: Disallow: /

10 motor(es) de respuestas bloqueado(s). Estos son los agentes que obtienen una página mientras redactan una respuesta, así que esto elimina directamente el sitio de las respuestas en vivo.

La velocidad que ve un rastreador, y datos de campo donde existen — 44/100
Puntuación de la sección 44 / 100
MedidaActualmenteÓptimo
Largest Contentful Paint (p75)
cuánto espera un visitante real antes de que aparezca lo principal de la página
3.52s2.5s o menos✗ Suspendido
Interaction to Next Paint (p75)
cuánto tarda la página en responder después de que un visitante real toca algo
136ms200ms o menos✓ Aprobado
Cumulative Layout Shift (p75)
cuánto se mueve la página bajo un lector en plena lectura
0.130.1 o menos✗ Suspendido
Time to First Byte (p75)
la parte del servidor en cada una de las demás cifras de esta lista
677ms800ms o menos✓ Aprobado
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.51slower over timeInformado
Interaction to Next Paint trend
getting faster — -7.5% across 40 weekly readings (2026-02-07 to 2026-11-07), real Chrome visitors
146ms → 135mslower over timeInformado
Cumulative Layout Shift trend
holding steady — 0% across 40 weekly readings (2026-02-07 to 2026-11-07), real Chrome visitors
0.13 → 0.13lower over timeInformado
Los archivos para máquinas responden rápido (medido aquí)
la mediana del tiempo que CrawlCheck esperó por tus propios archivos robots, sitemap y de entidades. Un rastreador que agota el tiempo de espera no registra nada, así que esta es la cifra de velocidad que decide si se lee tu sitio
mediana de 338 ms en 5menos de 500 ms✓ Aprobado
Ningún valor atípico lento entre ellos
basta un archivo lento para perder un rastreo. Esta es la peor respuesta individual del mismo conjunto, no un promedio que la oculte
848 ms la más lentamenos de 1500 ms✓ Aprobado
LCP de laboratorio: sintético, no son datos de campo
una ejecución móvil simulada desde los servidores de Google. NO es lo que experimentaron tus visitantes: no existen datos de campo para este origen
19.14s2.5s o menos✗ Suspendido
Total Blocking Time de laboratorio
trabajo del hilo principal que bloquearía la interacción en la ejecución simulada
1.86s200ms o menos✗ Suspendido
Cumulative Layout Shift de laboratorio
cuánto se movió el diseño simulado durante la carga
0.1930.1 o menos✗ Suspendido

Medido en esta URL exacta. Son el percentil 75 de lo que experimentaron usuarios reales de Chrome en los últimos 28 días, no una prueba ejecutada desde aquí; los umbrales son los publicados por Google, los únicos que existen.

Carga útil y ruta de renderizado — 20/100
Puntuación de la sección 20 / 100
MedidaActualmenteÓptimo
Proporción de contenido
el resto es marcado que un modelo debe leer y descartar
4.4%el 10–100% de los bytes descomprimidos es texto visible✗ Suspendido
Bytes descomprimidos
las páginas grandes se obtienen con menos frecuencia y se truncan más
313,548Bmenos de 500.000B✓ Aprobado
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 costInformado
JavaScript en línea
el JS en línea es sobrecarga pura para un rastreador que extrae texto
43,837Bmenos de 20.000B✗ Suspendido
Recursos que bloquean el renderizado
cada uno retrasa el primer pintado y consume el presupuesto de renderizado del rastreador
270–5✗ Suspendido
Scripts diferidos frente a bloqueantes
un script bloqueante detiene en seco el análisis del HTML
2 diferidos / 17 bloqueantestodos los scripts con defer o async✗ Suspendido

A dónde van los bytes

Texto visible13,731 B 4,4%
CSS en línea46,455 B 14,8%
JavaScript en línea43,837 B 14,0%
Datos estructurados2,238 B 0,7%
Marcado y atributos204,197 B 65,1%
Recursos que bloquean el renderizado27 10 hojas de estilo, 17 scripts
Entidades con un @id estable1 / 3 33,3%
Relaciones de credenciales0 ninguno declarado

1 de 1 enlaces de identidad en mapas apuntan a lugares, no a este negocio — 5990 Washington St, Denver, CO 80216. sameAs afirma que dos URL describen la misma entidad.

Cadena de confianza de los archivos para máquinas — 100/100
Puntuación de la sección 100 / 100
MedidaActualmenteÓptimo
robots.txt se pudo leer
todos los demás archivos de la cadena se descubren normalmente a través de robots.txt
sí200, text/plain✓ Aprobado
robots.txt indica un sitemap
un rastreador que tiene que adivinar la ruta del sitemap a menudo no la encuentra
2 línea(s) Sitemap:al menos una✓ Aprobado
robots.txt apunta a llms.txt
un llms.txt al que nada enlaza solo se alcanza adivinando la ruta convencional
—indicado cuando el archivo existeNo medido
Los enlaces de llms.txt se quedan en este host
una URL de otro host en tu llms.txt envía al modelo a la página de otra persona como si fuera tuya
—la mayoría de los enlaces en este hostNo medido
llms.txt remite a más archivos
la cadena debe continuar: llms.txt es un mapa, no un punto final
—indica el sitemap o el grafo de entidadesNo medido
entitymap.json se analiza como JSON
un archivo para máquinas que no se puede analizar vale menos que uno ausente, porque parece presente
—JSON válidoNo medido
el grafo de entidades hace referencia a este host
un grafo que nunca nombra este sitio está describiendo otra cosa
—síNo medido
El canonical apunta a este host
un canonical en otro host le cede la relevancia de la página a ese host
mismo hostel mismo host que sirve la página✓ Aprobado
El canonical usa https
un canonical http provoca una cadena de redirecciones en cada rastreo
httpshttps✓ Aprobado

robots.txt ✓ → sitemap ✓ → llms.txt ✗ → entitymap.json ✗

Una ✗ rompe la cadena en ese punto: todo lo que viene después solo es alcanzable por un rastreador que adivine la ruta convencional.

Coherencia de las afirmaciones — 100/100
Puntuación de la sección 100 / 100
MedidaActualmenteÓptimo
El schema declara una entidad para este sitio
un grafo de entidades que solo nombra a otras empresas no le da a un motor de respuestas nada a lo que vincular este sitio
sí, una organizaciónuna Organization, LocalBusiness o Person cuya url es este host✓ Aprobado
El nombre comercial del schema aparece en la página
un motor de respuestas asimila la afirmación y nunca la compara con la página, así que una desactualizada se repite durante meses
—el nombre que afirma el schema es el nombre que ve un lectorNo medido
Las cadenas del schema no están escapadas como HTML
una cadena JSON no es un contexto HTML: la entidad se lee literalmente, así que el nombre comercial contiene los caracteres a-m-p
—ningún &amp; ni &#39; dentro de un valor JSON-LDNo medido
El teléfono del schema aparece en la página
un número de teléfono que solo existe en el marcado es el que leerá en voz alta un asistente
—los mismos 10 dígitosNo medido
La localidad del schema aparece en la página
una localidad que nadie menciona en la página es una afirmación sin respaldo
—el pueblo o la ciudad declarados se nombran en el textoNo medido
La afirmación de experiencia está respaldada por el schema
una afirmación fechable del texto que los datos estructurados contradicen es lo más fácil de refutar en una auditoría
—el texto y foundingDate coinciden con un margen de un añoNo medido

Comprobado contra el propio texto visible de la página, sin solicitudes adicionales. Tipo de nodo: NewsMediaOrganization.

Superficie de instrucciones para agentes — 100/100
Puntuación de la sección 100 / 100
MedidaActualmenteÓptimo
Sin instrucciones dirigidas a agentes en superficies solo para máquinas
el texto oculto, los comentarios, los atributos alt y llms.txt los lee una máquina y no los revisa nadie
41 superficie(s) leída(s), sin coincidencias0 coincidencias✓ Aprobado
Ningún bloque oculto de más de 50 palabras
un agente asimila el texto oculto con todo su peso mientras que un lector nunca lo ve
ninguna0 bloques✓ Aprobado
Archivo de instrucciones para agentes (agents.md)
el archivo que se indica a los agentes que obedezcan, a diferencia de llms.txt, que es el mapa de contenido. Toda tienda Shopify ya incluye uno; en otros sitios la adopción es incipiente, así que su ausencia no es un defecto, pero si publicas uno, todo lo que contenga se lee como instrucción
404decisión tuya — no puntúaInformado

Esto informa de la EXPOSICIÓN, no de la intención. La mayor parte del texto oculto es un viejo hábito de SEO o un menú contraído, y una coincidencia aquí es una invitación a ir a leerlo, no un hallazgo de que alguien atacó el sitio.

Qué recibe cada agente — 88/100
Puntuación de la sección 88 / 100
MedidaActualmenteÓptimo
Cada identidad obtiene una respuesta
para el agente que la hace, una solicitud que muere es indistinguible de un sitio caído
las 18 respondieron0 sin respuesta✓ Aprobado
No se rechaza a ningún motor de respuestas
un 403 a GPTBot es toda la explicación de por qué un sitio nunca se cita
ninguno rechazado0 rechazos✓ Aprobado
A ningún motor de respuestas se le entrega una página intermedia
un desafío con HTTP 200 parece correcto en una comprobación de estado y no contiene ningún contenido
ninguna0 páginas de desafío✓ Aprobado
Los rastreadores reciben lo mismo que un cliente sin nombre
estas peticiones envían el user-agent de un rastreador desde NUESTRA dirección, que no está en el rango que publica el operador — así que una diferencia tiene dos lecturas, cloaking o un rechazo correcto de la suplantación, y solo el operador puede decidir cuál es
ningunasin diferencias por identidad✓ Aprobado
Ninguna identidad se envía a otra URL
una redirección solo para bots elimina sin avisar la página que se pidió leer a un motor de respuestas
ninguna0 redirigidas✓ Aprobado
El mismo x-robots-tag para cada identidad
un noindex solo para bots saca la página de la búsqueda mientras el sitio se ve perfectamente en un navegador, y nada más lo comprueba
coherenteninguna cabecera específica por identidad✓ Aprobado
Los motores de respuestas reciben el mismo texto que un navegador
la página que renderiza un navegador no es prueba de la página que recibió un motor de respuestas
100 % de las palabras del navegador90-100%✓ Aprobado
Rastreadores de entrenamiento que llegan al sitio
estos recopilan páginas para entrenar modelos, no para responder preguntas, así que rechazarlos es una decisión de política y no un defecto; se informa porque el edge puede estar haciéndolo sin que nadie lo haya decidido, y un 403 aquí no es el mismo hecho que un 429
Bytespider 429, Meta-ExternalAgent 403 of 6 turned awaydecisión tuya — no puntúaInformado
La política declarada en robots coincide con el comportamiento real
robots.txt es una promesa y el edge es el comportamiento; ninguno de los dos por sí solo puede decirte que no coinciden
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 served0 conflictos✗ Suspendido
Se sirvió el mismo contenido desde todas las regiones probadas
un sitio que sirve contenido distinto según el país le dice cosas distintas sobre sí mismo a motores distintos
—texto idéntico en todo el mundoNo medido

Una URL, solicitada como cada rastreador con nombre y como navegador. Las solicitudes de control coincidieron (autosimilitud 1), así que las diferencias de texto de abajo son diferencias, no ruido. Un user-agent es una afirmación, también cuando somos nosotros quienes la hacemos.

IdentidadEstadoPalabrasMismo textoQué pasó
Cliente sin nombre20020991
GPTBot20020991
ClaudeBot20020991
OAI-SearchBot20020991
Claude-SearchBot20020991
PerplexityBot20020991
ChatGPT-User20020991
Claude-User20020991
Perplexity-User20020991
Googlebot20020991
Googlebot Smartphone20020991
Navegador móvil20020991
Bingbot20020991
Applebot20020991
Amazonbot20020991
Bytespider4299—rate-limited (HTTP 429) — throttled, not blocked — vendor unidentified; reproduced on a second request
Meta-ExternalAgent4035—rechazado HTTP 403 — proveedor no identificado; reproducido en una segunda solicitud
CCBot20020991
AgenteConflictoDetalle
OAI-SearchBotbloqueado con Disallow pero servidoHTTP 200 con 2099 palabras
Claude-SearchBotbloqueado con Disallow pero servidoHTTP 200 con 2099 palabras
PerplexityBotbloqueado con Disallow pero servidoHTTP 200 con 2099 palabras
ChatGPT-Userbloqueado con Disallow pero servidoHTTP 200 con 2099 palabras
Claude-Userbloqueado con Disallow pero servidoHTTP 200 con 2099 palabras
Perplexity-Userbloqueado con Disallow pero servidoHTTP 200 con 2099 palabras
Applebotbloqueado con Disallow pero servidoHTTP 200 con 2099 palabras

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.

IdentidadDocumentDiffers onLooks like
BytespidererrorHTTP 429
Meta-ExternalAgenterrorHTTP 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.

Recuperación por motor. Cada motor de respuestas lee a través de rastreadores con nombre y funciones distintas: uno construye el índice, otro obtiene la página en vivo cuando un usuario pregunta, otro recopila datos de entrenamiento. Son permisos separados y es común que un sitio conceda uno y rechace otro. Nada de esto se puntúa: estos mismos datos ya se puntúan una vez arriba, y esto mide lo que a un motor se le permite y se le entrega; nunca lo que un modelo ha retenido o citaría, algo que ningún escáner puede ver desde fuera.

MotorÍndiceObtención en vivoEntrenamientoQué hizo realmente el edgeMencionado por nombre
ChatGPT✗ bloqueado✗ bloqueado✗ bloqueado✓ se sirvieron 2099 palabras— ninguno de los dos archivos
Claude✗ bloqueado✗ bloqueado✗ bloqueado✓ se sirvieron 2099 palabras— ninguno de los dos archivos
Perplexity✗ bloqueado✗ bloqueado— —✓ se sirvieron 2099 palabras— ninguno de los dos archivos
Google AI Overviews / Gemini✓ permitido✓ permitido✗ bloqueado✓ se sirvieron 2099 palabras— ninguno de los dos archivos
Microsoft Copilot✓ permitido✓ permitido— —✓ se sirvieron 2099 palabras— ninguno de los dos archivos
Apple Intelligence✗ bloqueado— —✗ bloqueado✓ se sirvieron 2099 palabras— ninguno de los dos archivos
Meta AI✗ bloqueado✗ bloqueado✗ bloqueado✗ HTTP 403— ninguno de los dos archivos
Amazon✗ bloqueado— —— —✓ se sirvieron 2099 palabras— ninguno de los dos archivos
DuckAssist✗ bloqueado— —— —— no sondeado— ninguno de los dos archivos
Mistral— —✗ bloqueado— —— no sondeado— ninguno de los dos archivos
Common Crawl (alimenta a muchos modelos)— —— —✗ bloqueado✓ se sirvieron 2099 palabras— ninguno de los dos archivos

Una columna de entrenamiento bloqueada junto a una columna de índice permitida es una política coherente, no un defecto: dice "responde con mis datos, no entrenes con ellos". La última columna indica si tu llms.txt o agents.md se dirige a ese motor por su nombre: robots.txt es un permiso, y esos dos archivos son donde un operador realmente habla con un agente. No nombrar a nadie es lo habitual y no puntúa.

no hay ningún proveedor de punto de observación configurado ni lectura de la extensión para este sitio en los últimos 14 días, así que no se midió

Superficie móvil — 100/100
Puntuación de la sección 100 / 100
MedidaActualmenteÓptimo
Imágenes e incrustaciones con dimensiones declaradas
Los medios sin width y height no reservan espacio, así que todo lo que está debajo se mueve cuando carga la imagen. Esto se lee del marcado y es un indicador de riesgo, no un valor de CLS medido: la cifra real requiere una carga real de la página.
1 de 4697,8% sin dimensiones: no se puntúaInformado
Meta viewport
sin ella, un teléfono muestra el diseño de escritorio reducido, y eso es lo que registra un rastreador móvil. Unos 218 millones de sitios activos declaran una (BuiltWith, agosto de 2026), así que su ausencia es la excepción, no la norma.
width=device-widthwidth=device-width, initial-scale=1✓ Aprobado
El zoom no está bloqueado
bloquear el zoom es un fallo de accesibilidad que se corrige en una línea
los lectores pueden hacer zoomsin user-scalable=no, sin maximum-scale inferior a 1.5✓ Aprobado
Icono táctil de Apple
lo que usan los accesos directos guardados en la pantalla de inicio y varias superficies para compartir
declaradoun enlace apple-touch-icon — no puntúaSolo declarado
Color del tema
define el color de la interfaz del navegador en el móvil; su ausencia es la carencia visible más barata de corregir de esta lista
ausenteuna meta theme-color — no puntúaInformado
Más allá de lo básico
casi todos los sitios declaran un viewport y casi ninguno declara lo demás, así que en esta fila un sitio se diferencia, no pierde puntos
ninguno aparte de viewportno puntúa — son elementos diferenciadores, no defectosInformado
Presencia local, citas y NAP — 86/100
Puntuación de la sección 86 / 100
MedidaActualmenteÓptimo
Enlaza a su Perfil de Empresa de Google
para un motor de respuestas el perfil y el sitio son una sola entidad; el campo de sitio web del perfil los une del lado de Google y este enlace los une desde el sitio
síuna URL de g.page, maps.app.goo.gl o de un lugar en Maps✓ Aprobado
Ese enlace al perfil se resuelve
un enlace de perfil caído es peor que ninguno: afirma una identidad que no se puede comprobar. Un 429 o un 403 aquí es Google limitando nuestra comprobación, no un fallo de tu sitio, y queda sin puntuar
429 → www.google.com200 en un host de GoogleInformado
Dirección postal en los datos estructurados
un negocio con área de servicio lo omite legítimamente, así que la ausencia se informa y no se puntúa en tu contra
declaradodeclarada para un negocio con local✓ Aprobado
Coordenadas geográficas
las coordenadas son la forma en que una máquina vincula la entidad a un lugar sin analizar una cadena de dirección
declaradolatitud y longitud✓ Aprobado
Horario de apertura
«¿está abierto ahora?» es una de las preguntas más frecuentes que se le hacen a un asistente sobre un negocio local
declaradoopeningHours u openingHoursSpecification✓ Aprobado
Teléfono en los datos estructurados
los motores también leen el número escrito en la página; el número declarado debe coincidir
declaradodeclarado✓ Aprobado
Números de teléfono escritos en la página
la extracción local de Google solo conserva los teléfonos de una página cuando hay 4 o menos; una página que lista más no aporta ninguno
01 a 4Informado
Direcciones postales escritas en la página
el mismo límite rige para las direcciones: más de 4 en una página y no se conserva ninguna; un negocio con área de servicio sin dirección escrita no se penaliza
14 o menos✓ Aprobado
El teléfono declarado está escrito en la página
Google lee los teléfonos del texto de la página, no solo del marcado; un número que solo está en los datos estructurados no tiene nada en la página con qué coincidir
nosí✗ Suspendido
Las coordenadas son utilizables
dos decimales equivalen a un kilómetro aproximadamente: suficiente para una ciudad, inútil para un local al que alguien va en coche
1 par(es), precisión completadentro de rango, no 0,0, al menos 3 decimales✓ Aprobado
Cada ubicación tiene sus propias coordenadas
un solo centroide copiado en cada sucursal le dice a un asistente que todas son el mismo lugar
—no hay dos ubicaciones que compartan un puntoNo medido
Las coordenadas coinciden con el país declarado
negar la longitud la sitúa dentro de US - falta un signo menos
fuera de US — signo de la longitudel punto cae dentro del país que indica la dirección; se informa, no se puntúaInformado
Las coordenadas coinciden con la dirección declarada
la dirección y el punto son dos afirmaciones independientes sobre un mismo lugar, y nada más en la web las compara
—a menos de 500 mNo medido
Entidades de ubicación declaradas
más entidades de ubicación que listados reales es la forma más común en que un grafo de entidades local sale mal
11 por local real; no se puntúaInformado
Ciudad en la página frente a dirección declarada
el lugar que promociona la página y el lugar que declara son el mismo, así que un motor no tiene nada que conciliar
ambos dicen Denverse informa, no puntúaInformado
Nombre del negocio en los datos estructurados
dos grafías de un nombre legal son dos entidades para un sistema de recuperación, y no puede saber cuál eres tú
The Denver Postexactamente una grafía✓ Aprobado
El schema y la página coinciden en el número de teléfono
con una sola fuente no hay nada que comparar, lo cual no es lo mismo que coincidir
solo los datos estructurados declaran unaambos lugares indican el mismo númeroInformado
Números de teléfono que una máquina puede leer
un asistente que dicta un número tiene que elegir uno; un segundo número suele ser uno antiguo que todavía suena en algún sitio
+13039541010exactamente un número✓ Aprobado
Dirección postal en los datos estructurados
dos direcciones dividen la entidad entre dos lugares
5990 Washington St., Denver, CO, 80216una dirección, o ninguna para un negocio con área de servicio✓ Aprobado
Perfiles que declara el sitio
sameAs es una afirmación de identidad: cada enlace dice que este negocio ES lo que hay en esa URL
3los perfiles que realmente te pertenecen✓ Aprobado
Listados externos encontrados por tu número de teléfono
buscados por la única clave que un negocio con área de servicio no puede ocultar; Yelp, Angi, Thumbtack, Houzz y Facebook rechazan a un cliente externo y se registran como nuestro límite, no como una ausencia
4 en YellowPages, DexKnows, BBBtodos los que te pertenecen, declaradosInformado
Encontrados fuera del sitio, no declarados en sameAs
un listado que nunca enlazaste se corrobora sin ti: lo que sea que muestre se convierte en tu nombre y tu categoría en la respuesta
4: cuáles, con una licencia0✗ Suspendido
Listados que muestran otro nombre de negocio
dos nombres en un mismo número de teléfono son dos entidades para un sistema de recuperación
00✓ Aprobado
Data Axle tiene este número de teléfono
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).
rechazado (403): es nuestro límite, no una ausencia—Informado
Listados de directorios declarados
se informa, no se puntúa: cuántas citas necesita un negocio es un juicio de marketing, no una medición
0los que importan para tu sectorInformado
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 dataInformado
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 dataInformado
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 dataInformado
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 dataInformado
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 textevery declared place also named on the pageSolo declarado

Se comprobó porque este sitio declara una entidad de negocio local (LocalBusiness). Esto mide el lado del sitio de la alineación con el Perfil de Empresa de Google: si el negocio apunta a su propio perfil y tiene los campos con los que se empareja un perfil. No lee el perfil en sí: eso requiere una clave de API, e inventar datos sobre un listado que no podemos ver sería peor que no informar nada. Enlace al perfil encontrado: https://maps.app.goo.gl/aK261HiEe923wgBV7.

Cada perfil de abajo es uno que el propio sitio declara en sameAs. Nada aquí se descubrió adivinando directorios: los listados no declarados necesitan un índice que este escaneo no tiene.

PerfilRespondióTu teléfonoTu nombre
Facebook
https://www.facebook.com/denverpost
no comprobado——
X
https://x.com/denverpost
no comprobado——
LinkedIn
https://www.linkedin.com/company/denver-post-media/
no comprobado——

Cobertura de directorios

Diez fuentes a las que probablemente recurra un motor de respuestas cuando se le pregunta por un negocio local, comprobadas frente a lo que declara este sitio. Declarado significa que el sitio nombra el perfil en sus propios datos estructurados, lo único que este escaneo puede verificar. Un listado que existe pero no está declarado aparecerá aquí como ausente, y eso en sí vale la pena corregirlo: un motor que lee tu sitio tampoco tiene forma de encontrarlo.

Yelp
la fuente local más citada en las respuestas de IA después del propio Google
no declarada
BBB
señal de confianza, y uno de los pocos directorios con un proceso de verificación en el que un motor puede apoyarse
no declarada
Facebook
incluye horario y teléfono, y varios motores lo leen como fuente primaria
declarado
Nextdoor
hiperlocal, y citado de forma desproporcionada para servicios del hogar
no declarada
Thumbtack
superficie de contactos específica de la categoría para oficios
no declarada
Angi
específico de la categoría, todavía muy indexado
no declarada
Bing Places
alimenta a Copilot y, históricamente, a varias recuperaciones de ChatGPT
no declarada
Apple Maps
el mapa predeterminado en cada iPhone, e invisible para la mayoría de las herramientas de SEO
no declarada
Trustpilot
corpus de reseñas que los motores de respuestas citan directamente
no declarada
Yellow Pages
poco valor por sí solo, pero un ancla de coherencia barata
no declarada

9 de 10 no están declarados. Cada uno es un lugar donde un sistema de recuperación podría haber encontrado una segunda declaración independiente de tu nombre, dirección y teléfono, y la coincidencia entre esas declaraciones es lo que hace fiable a cualquiera de ellas.

La capa para máquinas a lo largo del tiempo. Nuestro propio historial de un sitio empieza la primera vez que lo escaneamos; el Internet Archive guarda lo anterior. Nada de esto se puntúa — el pasado de un sitio no es un defecto, y la cobertura del Archive es desigual, así que una captura ausente no dice nada sobre el sitio.

Archivado robots.txt versiones40 distintas, 2002-09-23 → 2004-04-12
Archivado llms.txtninguna archivada
Exposed files and secrets — 89/100
Puntuación de la sección 89 / 100
MedidaActualmenteÓptimo
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✓ Aprobado
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✓ Aprobado
Environment file (.env) (/.env)
environment files hold database passwords and API keys
not readable (HTTP 403)not readable✓ Aprobado
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✓ Aprobado
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✓ Aprobado
Apache server-status page (/server-status)
shows every visitor's address and every URL being served, live
not readable (HTTP 404)not readable✓ Aprobado
Published source maps
a source map hands out the original, unminified source of the site's scripts, comments included
0 of 2 readablenone readable✓ Aprobado
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.jsnone✗ Suspendido
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.txtnothing private: no keys, internal addresses or personal emailsNo aplicable
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✓ Aprobado

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 error — 100/100
Puntuación de la sección 100 / 100
MedidaActualmenteÓptimo
A missing page answers 404
the right answer for a page that does not exist
HTTP 404404 or 410✓ Aprobado
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 wordsa way back (home link or menu)✓ Aprobado
A missing file answers 404
the right answer for a file that does not exist
HTTP 404404✓ Aprobado
Error pages reveal server details
server versions, PHP warnings and stack traces tell an attacker exactly which known flaws to try
nothing revealednothing revealed✓ Aprobado

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 del sitemap — 100/100
Puntuación de la sección 100 / 100
MedidaActualmenteÓptimo
Se pudo leer un sitemap
un sitemap es el único lugar donde un rastreador se entera de páginas a las que nada enlaza
835 URL declaradasal menos un sitemap se resuelve y se analiza✓ Aprobado
Los sitemaps indicados en robots.txt se resuelven
un robots.txt que apunta a un sitemap inexistente envía a todos los rastreadores a un 404
2 de 2cada sitemap indicado devuelve 200✓ Aprobado
Cada sitemap leído incluye al menos una URL
un sitemap que responde 200 sin entradas <url> es un puntero muerto: los rastreadores lo obtienen en cada visita y no aprenden nada, y Search Console lo informa como 0 descubiertas
cada archivo leído incluye URLs0 vacío✓ Aprobado
Los enlaces de la página de inicio están declarados en el sitemap
una página que falta en el sitemap todavía se puede encontrar siguiendo enlaces; una que falta en ambos no la encuentra nada
no medido: solo se leyeron 20 de 6000 sitemaps hijos0 sin declararInformado
Una muestra de las URL declaradas responde
un sitemap que lista URL muertas gasta el presupuesto de un rastreador en nada
0 de 6 rotas0 rotas✓ Aprobado
Las URL declaradas de la muestra son definitivas
declarar la URL anterior a la redirección hace que cada rastreo pague un salto extra
0 de 6 redirigen0 redirecciones✓ Aprobado
URL declaradas en el sitemap835
20 de 6000 sitemaps hijos leídos: el recuento es un mínimo, no un total
Enlaces internos en la página de inicio202
Enlazadas pero no declaradasno medido
solo se leyeron 20 de 6000 sitemaps hijos, así que una página que falte en lo que leímos puede estar declarada en una parte que no leímos
URL declaradas en la muestra6 comprobadas · 0 no se resolvieron · 0 redirigidas

Esto compara el sitemap solo con los enlaces de la página de inicio, así que encuentra páginas que el sitemap omite; no puede demostrar que una página declarada sea inalcanzable, porque eso requiere un rastreo completo. La carencia inversa (declarada pero sin enlaces desde ningún sitio) es real y no se mide aquí. Una página que falta en el sitemap todavía se puede encontrar siguiendo enlaces; una que falta en ambos no la encuentra nada.

Coherencia de nombres y mayúsculas — 80/100
Puntuación de la sección 80 / 100
MedidaActualmenteÓptimo
Mayúsculas en el nombre de host
los nombres de host no distinguen mayúsculas, pero un host con mayúsculas y minúsculas mezcladas divide los registros y las analíticas
minúsculassiempre en minúsculas✓ Aprobado
Rutas de los enlaces internos
las rutas SÍ distinguen mayúsculas en la mayoría de los orígenes: /About y /about son dos URL, dos claves de caché y dos entradas de índice
los 309 en minúsculas98–100% en minúsculas✓ Aprobado
Barra final
una página enlazada como /x y como /x/ son dos URL para un rastreador; se obtienen las dos y ambas compiten por el mismo canonical
1 destino enlazado con y sin barra final (/contact-us)una forma por URL, y la otra forma redirige a ella✗ Suspendido
Forma del host en los enlaces absolutos
los enlaces tanto a www como al dominio sin www envían a un rastreador a dos copias del sitio, diga lo que diga el canonical
coherenteun solo nombre de host en cada enlace al propio sitio✓ Aprobado
Cadenas de consulta en enlaces internos
una cadena de consulta crea una URL distinta; una navegación que la lleva produce páginas casi duplicadas
ningunamenos del 2% de los enlaces internos (y menos de 3)✓ Aprobado
Señales de imagen — 80/100
Puntuación de la sección 80 / 100
MedidaActualmenteÓptimo
Imágenes en la página
contadas a partir de las etiquetas <img> del HTML entregado
44 (3 SVG)Informado
Texto alt ausente
alt es el texto que un motor lee de una imagen, junto con las palabras que la rodean; un alt vacío es correcto en la decoración, un alt ausente es un hueco
0 ausentes, 1 vacíos (0% ausentes)0 ausentes; vacíos solo en imágenes decorativas✓ Aprobado
Ancho y alto declarados
sin ambos, el navegador no puede reservar espacio y la página se desplaza a medida que cargan las imágenes (la puntuación CLS)
0 de 44todas✗ Suspendido
Carga diferida
diferir la imagen principal retrasa el pintado más grande; diferir el resto acelera todo lo demás
0 de 44solo debajo del pliegue✓ Aprobado
Formatos modernos (WebP/AVIF)
archivos más pequeños, la misma imagen
0 de 44la mayoríaInformado
Imagen principal priorizada
la única imagen que el navegador debe obtener primero
5 con fetchpriority=high, 5 precargadosuna, cuando el pintado más grande es una imagenInformado
Imagen de la entidad en los datos estructurados
lo que un motor muestra junto al nombre; una URL en image o logo, idealmente un ImageObject con dimensiones
síuna imagen o un logo en el nodo de la organización✓ Aprobado
og:image
la imagen que usa la vista previa de un enlace cuando se comparte la página
sípresente✓ Aprobado
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 labellabels that say how each image was madeInformado

Lo que un motor puede saber a partir de las imágenes. Cinco filas puntúan: alt ausente, dimensiones declaradas, nada con carga diferida encima del pliegue, una imagen de la entidad en JSON-LD y un og:image. El alt vacío, el formato de archivo y la prioridad de la imagen principal se informan y nunca puntúan: un alt vacío es correcto en una imagen decorativa, y el formato es una preferencia, no algo que un motor no consiga leer.

Lo que este escaneo no pudo ver 25 de 26 secciones puntuadas medidas · 16 de 18 identidades respondieron · 0 fallos de etapa · 1 medición desde 1 red (cloudflare) en 6 h · 5 no observado
ElementoEstadoIntentadoMotivo
nl_entitiesomitidonola lectura profunda de entidades se ejecuta para los dominios con registro continuo; este escaneo usó el resolvedor sin clave
vantagesin medirnono hay ningún proveedor de punto de observación configurado ni lectura de la extensión para este sitio en los últimos 14 días, así que no se midió
identity:BytespiderrechazadosíHTTP 429
identity:Meta-ExternalAgentrechazadosíHTTP 403
section:commercesin medirdesconocidono se generó ninguna fila de esta sección para esta página; no entró en la calificación

Una no observación se registra, nunca se puntúa: una fila sin medir se excluye de su sección, no cuenta como fallo. Solo conteos; no hay ningún número compuesto de confianza.

De dónde sale cada dato de esta página 16 datos · 21 declaraciones · sin discrepancias
DatoValor indicadoIndicado en
nameThe Denver PostJSON-LD LocalBusiness
meta og:site_name
coincide
telephone+13039541010JSON-LD LocalBusinessuna fuente
emailnewsroom@denverpost.comJSON-LD LocalBusinessuna fuente
address5990 Washington St., Denver, CO, 80216JSON-LD LocalBusinessuna fuente
hoursMo 8AM-4PM; Tu 8AM-4PM; We 8AM-4PM; Th 8AM-4PM; Fr 8AM-4PMJSON-LD LocalBusinessuna fuente
geo39.7392,104.9903JSON-LD LocalBusinessuna fuente
urlhttps://www.denverpost.com/JSON-LD NewsMediaOrganization
JSON-LD LocalBusiness
coincide
logohttps://i0.wp.com/www.denverpost.com/wp-content/uploads/2020/11/denverpost.jpg?w=1200&crop=00px100630px&ssl=1JSON-LD LocalBusinessuna fuente
foundingDate1892JSON-LD LocalBusinessuna fuente
areaServed1 área: Denver Metropolitan Area and the state of ColoradoJSON-LD LocalBusinessuna fuente
sameAs3 perfilesJSON-LD LocalBusinessuna fuente
titleThe Denver Post – Colorado breaking news, sports, business, weather, entertainment.<title>coincide
The Denver Postmeta og:title
descriptionColorado breaking news, sports, business, weather, entertainment.meta og:descriptionuna fuente
canonicalhttps://www.denverpost.commeta og:urluna fuente
languageen-US<html lang>coincide
en_USmeta og:locale
imagehttps://www.denverpost.com/wp-content/uploads/2020/11/denverpost.jpgmeta og:image
meta twitter:image
coincide

Leído de la página que recibió este escaneo: sus nodos de schema, etiquetas meta, elementos link y enlaces de la página, cada valor guardado con el elemento que lo indicó. Un dato indicado en varios lugares debería decir lo mismo en cada uno. Registrado, no puntuado.

Si prefieres no hacerlo tú mismo

Corregir todo lo de este informe
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.
  • La capa para máquinas, redactada para el negocio. Un mapa de entidades, un agents.md y un llms.txt escritos a partir de los datos publicados por el propio sitio en lugar de una plantilla; el mapa de entidades es lo que permite a un sistema de recuperación distinguir este negocio de otro con un nombre parecido. Hasta ahora se vendía por separado.
  • Treinta días de monitoreo incluidos. El sitio se vuelve a escanear dos veces al día y cualquier cambio visible para los rastreadores se envía a tu webhook, así que una regresión la detectamos nosotros y no tú.
  • Un segundo comprobante sellado el día treinta. El primero demuestra que la corrección se aplicó; el segundo, que se mantuvo. Ambos se verifican en tu propio equipo contra una raíz publicada, sin necesidad de confiar en nosotros.
  • Terminado se define por una nueva medición, no por una afirmación. Un hallazgo que sigue ahí en el nuevo escaneo no es trabajo terminado.
Que lo corrijan — $100
un sitio de negocio local · qué cubre eso

La corrección incluye la capa para máquinas: un mapa de entidades, un agents.md y un llms.txt redactados para este negocio en lugar de a partir de una plantilla — 7 de las 8 superficies para agentes comprobadas arriba no existen aquí. Un sitio más grande, o varios dominios a la vez, se presupuesta primero a partir del informe: escribe a hello@crawlcheck.io con esta dirección.

Medido, fuera de la calificación (16)

Esto se mide en cada escaneo y se muestra completo. Cada elemento indica por qué todavía no tiene peso: la mayoría espera a tener suficientes sitios con los que calibrarse, y algunos dependen de una integración que un sitio puede no tener, lo que nunca debe decidir una calificación.

Superficies para agentes (emergentes, no puntúan) — 12 de 12 filas leídas

Fuera de la calificación: son estándares publicados en fases de adopción muy distintas, y varios no se aplican a todos los negocios.

Filas con lectura (fuera de la calificación)12 / 12
MedidaActualmenteÓptimo
agents.md
La única superficie de esta lista que hoy le rinde a un negocio corriente. Casi todos los agents.md de la web son un valor predeterminado de la plataforma que su propietario nunca escribió
ausenteUn archivo redactado en /agents.md: qué hace el negocio, la zona que atiende, qué debe recopilar un agente antes de actuar y qué no debe prometerInformado
SKILL.md
La convención de habilidades para agentes. Un 200 que contiene HTML es un 404 encubierto y cuenta como ausente; una comprobación ingenua lo daría por presente
ausente (404)Un archivo markdown en /SKILL.md con frontmatter YAML que nombra la habilidad y, después, qué puede hacer aquí un agente y cómoInformado
Markdown para agentes
Reduce lo que un agente debe analizar. En algunos edges es una opción que se activa, no un desarrollo
ausente (text/html; charset=utf-8)Accept: text/markdown devuelve un cuerpo en markdown; el HTML sigue siendo el predeterminado para los navegadoresInformado
DNS-AID records
An IETF draft (DNS for AI Discovery). Early: almost no site has these yet, so absence is not a defect
ausenteSVCB or TXT records at _index._agents (and _mcp._agents / _a2a._agents) pointing agents at your MCP server or agent cardInformado
Cabeceras de respuesta Link
Útiles cuando una relación es real. Inventar una para sumar un punto es el ritual vacío que fomentan estas listas
present: <https://www.denverpost.com/wp-json/>; rel="https://api.w.org/", <https://wp.me/7yQli>; rel=shortlinkSolo relaciones registradas: canonical, alternate, describedby. Nunca un rel inventado para contentar a un verificadorInformado
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 representativeQueriesInformado
Índice de habilidades para agentes
Para sitios que exponen acciones que un agente puede realizar. Un sitio de folleto no tiene habilidades que declarar
ausente/.well-known/agent-skills/index.json con cada habilidad y su nombre, descripción, url y sha256Informado
Catálogo de API
NO APLICA: no se encontró ninguna API pública. Un catálogo vacío no es una mejora
ausenteNada que publicar: no se pudo descubrir ninguna API en este sitioInformado
Tarjeta de servidor MCP
Se aplica cuando ejecutas un servidor MCP. Publicar una tarjeta sin servidor anuncia un endpoint que no responde
ausente/.well-known/mcp/server-card.json con serverInfo, endpoint de transporte y capacidadesInformado
Protocolos de pago para agentes
NO APLICA: no se encontró ningún Product, Offer ni proceso de compra. Un escáner que penaliza a un negocio de servicios por esto está midiendo el sitio equivocado
no aplicaNada que publicar: no hay señales de comercio en este sitioNo aplicable
Metadatos de OAuth / recurso protegido
NO APLICA: no hay nada contra lo que autenticarse
no aplicaNada que publicar: no hay ninguna API protegida en este sitioNo aplicable
Web Bot Auth
Te identifica como quien hace la solicitud, no como destino. Irrelevante para un sitio que solo recibe tráfico
informativoUn JWKS en /.well-known/http-message-signatures-directory, solo si ESTE sitio envía solicitudes de agente firmadas a otrosInformado

Ninguno de estos afecta a la calificación. Son estándares publicados en fases de adopción muy distintas, y varios no se aplican a todos los negocios; cuando es así, esta tabla lo indica y explica por qué. Una lista de verificación que los cuenta todos está midiendo el sitio equivocado.

Entidades del contenido (medidas, aún no puntúan) — 4 de 4 filas leídas

Fuera de la calificación: la lectura es sólida, pero la regla de puntuación no está fijada, y una regla que puede cambiar no debe mover una calificación.

Filas con lectura (fuera de la calificación)4 / 4
MedidaActualmenteÓptimo
Entidades leídas del contenido
las entidades declaradas vienen del propio JSON-LD de la página; el resto es una lectura HEURÍSTICA del texto y así se indica
24los temas de los que trata esta páginaInformado
Se resuelven en un registro público de entidades
resolver significa que Wikidata tiene un elemento para ese nombre. No es una señal de posicionamiento ni significa que la página se posicione por él
15 de 24algo con nombre que el registro público conoceInformado
El sentido principal, no el de la página
un nombre solo se resuelve hacia lo que el registro público trata como su sentido principal — "Aurora" se lee como la aurora boreal, no como la ciudad de Colorado. La descripción aparece junto a cada resolución para que veas qué sentido obtuviste. Resolver EN CONTEXTO necesita un modelo contextual y no se puede medir con una consulta sin clave
sin desambiguarresuelto en contextoInformado
Resuelta y ausente del grafo de entidades
un tema del que habla el texto, que el registro público reconoce y que los datos estructurados de este sitio nunca nombran — un hueco del autor, no de la máquina
140Informado

Las entidades se resuelven contra Wikidata — gratis, sin clave, y responde la pregunta que realmente tiene quien escribe: ¿existe esto como registro de entidad pública, o es solo una frase? Dos clases de evidencia, separadas: las entidades declaradas se leen del propio JSON-LD de la página; las entidades detectadas son una lectura heurística del texto y tendrán algo de ruido. La resolución no es una señal de posicionamiento.

Tratado en el texto, reconocido por el registro público y ausente de los datos estructurados de este sitio:

  • Denver Broncos — Q223507 · National Football League franchise in Denver, Colorado · 11 mentions
  • Colorado — Q1261 · state of the United States of America · 10 mentions
  • Broncos — Q60740406 · untrained horse or a horse that habitually bucks · 8 mentions
  • Daiyan Henley — Q114245319 · American football player (born 1999) · 6 mentions
  • Opinion — Q3962655 · judgement, viewpoint, or statement that is not conclusive · 5 mentions
  • BestReviews — Q7020906 · American media company · 3 mentions
  • Boulder — Q581776 · natural rock fragment larger than 25.6 cm in diameter (larger than 200 mm diameter according to ISO 14688) · 3 mentions
  • Thanksgiving — Q13959 · holiday in various countries · 3 mentions
  • Aurora — 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 mentions
  • Carolina Panthers — Q330120 · National Football League franchise in Charlotte, North Carolina · 2 mentions
  • Congressional District — Q192611 · territorial division made or used for elections · 2 mentions
  • Kansas City Chiefs — Q223522 · National Football League franchise in Kansas City, Missouri · 2 mentions

2 más no enumerados.

Nada de esta sección afecta a la calificación: el corpus mide primero la distribución.

Área de servicio, tal como se declara (se mide, no se puntúa) — 4 de 6 filas leídas

Fuera de la calificación: un área de servicio declarada solo puede ser correcta o incorrecta frente a hechos que este escaneo no puede ver.

Filas con lectura (fuera de la calificación)4 / 6
MedidaActualmenteÓptimo
Áreas de servicio declaradas en el schema
la lista que lee un motor de respuestas cuando se le pregunta "¿cubren X?"; un negocio que atiende una zona pero nunca la declara es invisible para esa pregunta
1cada lugar que el negocio atiende realmente, como nodos City o PlaceInformado
Radio declarado
el radio es la única afirmación que acota todas las demás
sin GeoCircleun GeoCircle alrededor del centro realInformado
Áreas que se pudieron situar en un mapa
un nombre que ningún nomenclátor resuelve es un nombre que un motor tampoco puede situar
0 de 1cada nombre declarado se resuelve en un lugarInformado
Áreas con página propia
declarar un área y tener una página para ella son afirmaciones distintas; la página es lo que se cita
0 de 1una página de ubicación por cada área que importaInformado
Áreas declaradas fuera del radio declarado
el grafo se contradice: el círculo dice que no, la lista dice que sí, y un lector tiene que adivinar cuál es cierto
ningunaceroInformado
Área declarada más lejana
la distancia con la que el negocio se compromete públicamente
—dentro del radioNo medido
centro declarado

declarada, tiene página propia · declarada solo en el schema · fuera del radio declarado · anillo = GeoCircle

Sin ubicar (ninguna coincidencia en el nomenclátor cerca del centro): Denver Metropolitan Area and the state of Colorado

Sin puntuar. Las posiciones son centroides de lugares de OpenStreetMap resueltos una vez por nombre; una página cuenta cuando una URL del sitemap contiene el nombre del lugar. Esto muestra lo que declara el sitio, dispuesto para que las contradicciones sean visibles; si el negocio realmente trabaja allí no viaja por la red.

Todo el sitio, no solo la puerta de entrada (medido, no puntúa) — 1 de 1 filas leídas

Fuera de la calificación: la calificación se mantiene anclada en la página de inicio para que sea comparable entre sitios y días.

Filas con lectura (fuera de la calificación)1 / 1
MedidaActualmenteÓptimo
Lectura del sitio completo
la página de inicio ya está calificada; el resto del sitio se está leyendo en segundo plano. Vuelve a escanear en aproximadamente un minuto para verlo
en cola en este escaneohasta 60 páginas declaradas, leídas una vez al díaInformado
Actualidad, según la declara el sitio (medido, no puntúa) — 9 de 10 filas leídas

Fuera de la calificación: cada fecha aquí es una que publicó el sitio, así que esto informa lo que afirma y no lo que es cierto. Calibrado el 2026-09-16 sobre 114 registros: la única fila que tienen la mayoría de los sitios (un sitemap que declara lastmod, 68%) no es un defecto si falta, y las filas que serían defectos (todos los lastmod con el mismo día, 8%; el sitemap y dateModified en desacuerdo por más de un mes, 2%) se pueden medir en demasiado pocos sitios como para tener peso.

Filas con lectura (fuera de la calificación)9 / 10
MedidaActualmenteÓptimo
URL del sitemap con fecha de cambio
lastmod es la única señal de cambio que un motor puede leer sin una cuenta. Un sitemap sin fechas no le dice a un rastreador qué volver a obtener primero
835 de 835cada URL, con su fecha realInformado
Fecha más reciente del sitemap
lo que el sitio dice que se tocó más recientemente; la distancia hasta hoy es una afirmación sobre la actividad, no un defecto por sí sola
2026-11-11 (hoy)dentro del último mes para un sitio que publicaInformado
Dispersión de fechas del sitemap
una dispersión de fechas es el aspecto que tiene un historial de ediciones real
25 días distintos en 835 URL fechadas (del 2026-10-15 al 2026-11-11)muchos días distintos: historial de edición realInformado
Cabecera Last-Modified de la página de inicio
la fecha de cambio a nivel HTTP; normalmente la fija una caché delante, así que describe la copia servida, no la edición
2026-11-12 (hoy)enviado y verdaderoInformado
dateModified de la página de inicio en JSON-LD
la fecha que afirman los datos estructurados; un motor puede citarla junto a un dato, por eso una desactualizada es peor que ninguna
ningunapresente, y actualizada cuando cambió la páginaInformado
Elementos fechados en la página
un elemento <time datetime> es una fecha que una máquina puede leer sin adivinar a partir del texto
7 (la más reciente 2026-11-11, hoy)cada fecha que ve una persona también marcadaInformado
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 itdeclared, valid, recentSolo 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 ask304 Not ModifiedInformado
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 outsidepinged on every publishInformado
Historial de robots.txt en el archivo público
cuánto tiempo lleva el sitio manteniendo una puerta de entrada legible por máquinas; la antigüedad es lo único que un sitio nuevo no puede fabricar
visto por primera vez el 2002-09-23, 40 versionesun historial largoInformado

Todas las fechas de esta sección las publicó el propio sitio sobre sí mismo. La sección informa de las afirmaciones y de dónde discrepan; no decide si una página está desactualizada, porque eso solo lo sabe el negocio. Nada de esto mueve la calificación.

Intenciones locales, el vocabulario de Maps (medido, no puntúa) — 2 de 3 filas leídas

Fuera de la calificación: el vocabulario de intenciones son nombres recuperados sin pesos, y una intención declarada sin página es una decisión de contenido, no un defecto; se informa hasta que el corpus muestre cómo se distribuye.

Filas con lectura (fuera de la calificación)2 / 3
MedidaActualmenteÓptimo
Intenciones locales que nombran las propias declaraciones del sitio
una consulta local se clasifica en uno de 446 tipos de intención antes de recuperar ningún lugar; aquí los nombran los tipos de negocio, los nodos Service, el título y los encabezados del sitio
1 (oficinas de correos)todas las intenciones que atiendes y ninguna que no atiendasInformado
Intenciones declaradas con una página enlazada desde la página de inicio
una intención nombrada solo en un párrafo compite con todas las páginas de la web que la nombran; una página cuya dirección lleva la intención es a donde llega una consulta
0 de 1 - sin página para: oficinas de correostodosInformado
Intenciones que usaron los usuarios para encontrar el Perfil de Empresa
no hay términos de búsqueda del Perfil de Empresa registrados para este dominio
sin medirleído de los términos de búsqueda del perfilNo medido
Ruta de conversión en la página (medido, no puntúa) — 5 de 6 filas leídas

Fuera de la calificación: si un visitante puede actuar es un juicio de negocio, y la calificación trata de lo que recibe una máquina.

Filas con lectura (fuera de la calificación)5 / 6
MedidaActualmenteÓptimo
Enlace de teléfono en la página
en un teléfono, un enlace tel: es el camino más corto de leer a llamar; un número impreso no se puede tocar
ningunaal menos un enlace para llamar con un toqueInformado
Enlace de teléfono antes del pliegue
el visitante que llegó desde un motor de respuestas ya ha decidido; el número debe estar donde aterriza
noen el primer cuarto de la páginaInformado
Formulario de presupuesto o de contacto
un formulario es la única vía que funciona cuando la oficina está cerrada
1 encontrados, uno antes del pliegueun formulario, accesible sin desplazarseInformado
Llamadas a la acción
contadas a partir del texto de enlaces y botones: presupuesto, estimación, llamar, reservar, programar, contacto
6 (el primero antes del pliegue)una petición clara, al principioInformado
Página de contacto o de presupuesto enlazada
la página a la que va un visitante cuando la sección principal no lo convenció
síenlazada desde todas las páginasInformado
Botón de llamada fijo (móvil)
una barra de llamada fija mantiene el número al alcance en cualquier posición de desplazamiento en un teléfono
no detectadopresente en sitios de serviciosInformado

La capa SXO: si un visitante que llegó listo para actuar puede hacerlo. Se cuenta a partir del HTML entregado, así que un formulario dentro de un iframe de terceros solo aparece como formulario si el iframe lo nombra. Nada de esto mueve la calificación.

What AI looks for vs what your page shows (measured, not scored) — 0 de 1 dentro del rango

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.

Filas dentro del rango (fuera de la nota)0 / 1
MedidaActualmenteÓptimo
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 itInformado
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✗ Suspendido
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 homepageshown, if true of the businessInformado
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 homepageshown, if true of the businessInformado
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 datashown, if true of the businessInformado
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 homepageshown, if true of the businessInformado
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 homepageshown, if true of the businessInformado
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 homepageshown, if true of the businessInformado
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 datashown, if true of the businessInformado
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 homepageshown, if true of the businessInformado
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 datashown, if true of the businessInformado
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 datashown, if true of the businessInformado
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,000shown, if true of the businessInformado

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 del rango

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.

Filas dentro del rango (fuera de la nota)7 / 8
MedidaActualmenteÓptimo
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
no se encontró ningunoa phone number visitors and agents can check✗ Suspendido
Same phone on the page and in its markup
two different numbers for one business make every listing and answer less certain
coherenteconsistent✓ Aprobado
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 sourceno match✓ Aprobado
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✓ Aprobado
Registration
an expiring domain can lapse and be bought by someone else
renews by 2028-03-11more than 30 days left✓ Aprobado
Parked, for sale or placeholder
a parked or for-sale page is not a working business
nono✓ Aprobado
Redirects to another organisation
a site that forwards to a different organisation is not the business it names
nono✓ Aprobado
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
no se encontró ningunonone✓ Aprobado

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 del rango

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.

Filas dentro del rango (fuera de la nota)3 / 3
MedidaActualmenteÓptimo
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✓ Aprobado
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✓ Aprobado
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✓ Aprobado

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 del rango

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.

Filas dentro del rango (fuera de la nota)23 / 29
MedidaActualmenteÓptimo
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✓ Aprobado
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 domainsnone✓ Aprobado
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✓ Aprobado
HTTPS homepage
an agent or browser that cannot load the page securely shows a warning or nothing
loads over HTTPS (200)loads over HTTPS✓ Aprobado
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✓ Aprobado
HSTS (HTTPS on every return visit)
browsers that have seen the site refuse plain HTTP for the next year
max-age 31536000, includeSubDomainsmax-age of at least one year✓ Aprobado
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 fromWarning
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'
no definidoDENY, SAMEORIGIN or frame-ancestors✗ Suspendido
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
no definidoset✗ Suspendido
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 stricterInformado
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-Policyblocked 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
00✓ Aprobado
Software version shown in headers
a visible version tells attackers which known flaws to try
none shownnone shown✓ Aprobado
Cookies without the Secure flag
a cookie without Secure can be sent over plain HTTP. Fix: add Secure where each is set
0 de 30✓ Aprobado
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 cookieHttpOnly on every session cookieNo aplicable
Forms that send over plain HTTP
every form posts over HTTPS
none of 3 formsnone✓ Aprobado
Where forms send their data
nothing typed into these forms leaves the site's own host
only this sitethis site or a processor the owner chose✓ Aprobado
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✓ Aprobado
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 advisoryno library with a published advisory✓ Aprobado
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 hostsno match✓ Aprobado
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✓ Aprobado
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.comevery new script or form destination intendedWarning
Email forgery protection (DMARC)
without an enforcing policy, anyone can send email that appears to come from this domain
p=quarantinep=quarantine or p=reject✓ Aprobado
SPF
names the servers allowed to send this domain's mail
present, ends failpresent, ends fail or softfail✓ Aprobado
CAA (who may issue certificates)
limits which certificate authorities can issue a certificate for the domain
ningunaset✗ Suspendido
DNSSEC
protects visitors from forged DNS answers
not signedsigned✗ Suspendido
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-11renewal more than 30 days away✓ Aprobado
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 scanno unsafe contentInformado
OpenPhish phishing feed
a live phishing feed, updated hourly, that mail filters and security tools import
no listadono listado✓ Aprobado
Registrar transfer lock
the domain cannot be moved to another registrar without unlocking it first
onon (client transfer prohibited)✓ Aprobado
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 directivepreloadedInformado
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=✗ Suspendido
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
ningunanone✓ Aprobado
Hacked-site signatures
hidden spam links, cryptominers and obfuscated loaders are the usual traces of a hacked site
no se encontró ningunonone✓ Aprobado
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 subdomainsnone✓ Aprobado
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 backevery fixed problem stays fixed✗ Suspendido

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 del rango

Fuera de la calificación: cada fila aquí es una lectura y no un aprobado o un suspenso, así que nada de esto puede mover una calificación.

Filas dentro del rango (fuera de la nota)5 / 5
MedidaActualmenteÓptimo
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 21a stated answer either way: allow or deny✓ Aprobado
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 21a stated answer either way: allow or deny✓ Aprobado
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 21a stated answer either way: allow or deny✓ Aprobado
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 resta stated answer either way: allow or denyInformado
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 21a stated answer, once a standard signal for this use existsInformado
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
ningunanone✓ Aprobado
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 metarobots.txt plus at least one use signal (Content-Signal, TDM-Rep, ai.txt or a robots meta directive)✓ Aprobado
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 pagemachine-readable signals that say what the terms sayInformado

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 del rango

Fuera de la calificación: cada fila aquí es una lectura y no un aprobado o un suspenso, así que nada de esto puede mover una calificación.

Filas dentro del rango (fuera de la nota)2 / 3
MedidaActualmenteÓptimo
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✓ Aprobado
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✓ Aprobado
Prices in the markup
machines read prices from the markup first; a priceRange alone gives no figure to quote
ningunaOffer or price range declared✗ Suspendido

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 del rango

Fuera de la calificación: cada fila aquí es una lectura y no un aprobado o un suspenso, así que nada de esto puede mover una calificación.

Filas dentro del rango (fuera de la nota)1 / 3
MedidaActualmenteÓptimo
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 1210 o menos✗ Suspendido
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✗ Suspendido
Trackers loaded
listed so the owner can confirm each is still wanted; every tracker is another script on every visit
1: stats.wp.comonly the ones you use✓ Aprobado
  • 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 del rango

Fuera de la calificación: cada fila aquí es una lectura y no un aprobado o un suspenso, así que nada de esto puede mover una calificación.

Filas dentro del rango (fuera de la nota)3 / 3
MedidaActualmenteÓptimo
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>✓ Aprobado
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 Englishthe same language✓ Aprobado
Language versions declared (hreflang)
hreflang tells an engine which version to show to which searcher
ningunaonly needed when the site has versions in other languages or regionsInformado
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✓ Aprobado

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 filas leídas

Fuera de la calificación: cada fila aquí es una lectura y no un aprobado o un suspenso, así que nada de esto puede mover una calificación.

Filas con lectura (fuera de la calificación)3 / 3
MedidaActualmenteÓptimo
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 itcited by more than one engineInformado
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 answerthe pages that answer the questionInformado
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 yeta run of prompts with and without its nameInformado

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.

Visibilidad en Common Crawl — medido, no puntúa

robots.txt bloquea CCBot, así que los rastreos futuros omitirán este sitio. Comprobado contra October 2026 Index, a partir de un resultado almacenado.

Se capturaron 0 de 2 páginas comprobadas y 4 no se pudieron comprobar — el índice limita la frecuencia, y eso no dice nada del sitio.

PáginaEn el conjunto de datosCapturadaEstado
/no se pudo comprobar—el índice respondió 521 (limita las ráfagas; esto no dice nada sobre
/sitemap.xml?yyyy=2026&amp;mm=10&amp;dd=31no encontrada——
/sitemap.xml?yyyy=2026&amp;mm=10&amp;dd=30no se pudo comprobar—el índice respondió 504 (limita las ráfagas; esto no dice nada sobre
/sitemap.xml?yyyy=2026&amp;mm=10&amp;dd=29no encontrada——
/sitemap.xml?yyyy=2026&amp;mm=10&amp;dd=28no se pudo comprobar—el índice respondió 504 (limita las ráfagas; esto no dice nada sobre
/sitemap.xml?yyyy=2026&amp;mm=10&amp;dd=27no se pudo comprobar—el índice respondió 520 (limita las ráfagas; esto no dice nada sobre

Una captura significa que la página está en un conjunto de datos abierto. No establece que ningún modelo se haya entrenado con ella, y nada aquí afirma lo contrario.

Lectura profunda de entidades — medido, no puntúa

la lectura profunda de entidades se ejecuta para los dominios con registro continuo; este escaneo usó el resolvedor sin clave

Huella de identidad — medido, no puntúa

La identidad que publica este sitio no ha cambiado desde el 2026-11-11. El mismo nombre, el mismo teléfono, la misma dirección, los mismos perfiles declarados.

Huella 8153bbf8989417ea971c5250c7185c50… · registrada el 2026-11-12

Tipo de schema newsmediaorganization. No tenemos ninguna cifra de población para este tipo, así que no se afirma ninguna rareza.

Una huella de la identidad que publica este sitio, recalculada en cada escaneo. Un cambio aquí es un cambio que hizo el sitio, no un juicio sobre él. Cualquiera puede recalcularla a partir de la página publicada: la forma canónica y el hash son públicos en /api/entity-drift/latest.

Cómo se compara — 36 sitios wordpress/publisher, de 983 medidos
MedidaEste sitioMediana del corpusPosición
Puntuación de visibilidad en IA (la calificación mostrada)8180percentil 56
Promedio de secciones (ponderado)8081percentil 41
Proporción de contenido (% de texto visible)4.43.4percentil 69
Cobertura de @id estables (%)33.384.6percentil 8
Recursos que bloquean el renderizado2710.5percentil 19
Tamaño de página entregado (KB)306182percentil 14

Los percentiles salen de sitios que CrawlCheck ha medido por sí mismo, no de un estudio publicado — así que describen este corpus, no la web. El corpus no es una muestra aleatoria y se inclina hacia sitios enviados o sembrados, por eso la posición se muestra junto al número bruto y no en su lugar. Una métrica se deja en blanco en vez de clasificarse cuando la tienen menos de 8 pares. Esta posición es frente a la cohorte wordpress/publisher (36 sitios), no frente a todo el corpus de 983, porque un sitio WordPress de servicio local y un sitio personal estático no son el mismo problema de medición.

Alcanzar, leer, citar: las tres etapas

Un motor puede alcanzar y leer este sitio. Lo que falta es darle algo concreto que decir.

Por encima del 66% de los 1350 sitios medidos aquí. Es este corpus, no la web: sitios que alguien eligió escanear, lo que sesga hacia aquellos de los que ya se sospechaba algo.

EtapaPreguntaPuntuación
Alcanzar
40% de la puntuación
¿Puede un rastreador de un motor de respuestas con nombre obtener tus páginas?
Al menos un motor de respuestas fue rechazado, desafiado o recibió menos que un navegador.
79
Leer
30% de la puntuación
Una vez que tiene los bytes, ¿puede encontrar las palabras?
El contenido está enterrado en el marcado, o faltan los archivos que orientan a un rastreador.
83
Citar
30% de la puntuación
¿Hay un dato concreto que pueda enunciar y atribuir?
Un asistente tendría que parafrasear tu página en lugar de citar un dato.
83

Qué motores, por nombre

A partir de las sondas de este escaneo: la misma solicitud que hace el rastreador de cada motor, desde nuestra dirección.

Recibieron la páginaOAI-SearchBot · Claude-SearchBot · PerplexityBot · ChatGPT-User · Claude-User · Perplexity-User · Googlebot · Googlebot Smartphone · Bingbot · Applebot
Bloqueado con Disallow en robots.txtYahoo Slurp · ChatGPT search index · ChatGPT live fetch · Claude search index · Claude live fetch · Perplexity index · Perplexity live fetch · Le Chat live fetch
un rechazo por política, que es una decisión y no un defecto; aparece aquí para que sea visible, no porque esté mal

Corrige los 30 elementos que este informe ya enumera y el mismo cálculo da 100. Es una suma sobre la tabla de abajo, no una previsión: cada punto tiene detrás un componente con nombre:

  • Motores de respuestas permitidos — ahora 7 of 17, que vale 2 puntos
  • Índices de búsqueda permitidos — ahora 17 of 24, que vale 2 puntos
  • El párrafo inicial define el tema — ahora does not name it, no defining verb, que vale 2 puntos
  • Edge / CDN — now none detected, que vale 2 puntos

La etapa que hay que corregir primero es alcance, la más baja de las tres. Las etapas dependen unas de otras: un motor no puede leer lo que se le negó, y no puede citar lo que no pudo leer.

Lo que cubre este número. Todo lo anterior se midió en páginas que este escaneo obtuvo de tu propio dominio. Un motor de respuestas también lee fuentes que no controlas —listados de directorios, corpus de reseñas y tu Perfil de Empresa de Google— y ninguna de ellas está en esta puntuación. Los perfiles que declara este sitio se enumeran abajo, pero no se obtuvieron en este escaneo, así que nada aquí refleja lo que dicen realmente esos listados. Un sitio puede puntuar bien aquí y aun así ser descrito de forma errónea por un motor que lee un listado que lo contradice.

Lo que este número no es. No mide si ChatGPT, Perplexity o las respuestas de IA de Google te citan realmente. Ningún servidor puede medir eso, y una puntuación que diera a entender lo contrario sería inventada. Esto mide si un motor puede hacerlo (alcanzar, leer, citar), que es la parte que tú controlas y la que tiene que cumplirse primero.

Media de la sección en 22 escaneos con esta versión de puntuación · se mantiene en 81 desde el 2026-11-12
0501002026-10-23 00:17 · 83/100 · 10 hallazgos2026-10-24 00:17 · 82/100 · 10 hallazgos2026-10-25 00:17 · 82/100 · 10 hallazgos2026-10-26 00:17 · 82/100 · 10 hallazgos2026-10-27 00:17 · 83/100 · 10 hallazgos2026-10-28 00:18 · 83/100 · 10 hallazgos2026-10-29 00:18 · 82/100 · 10 hallazgos2026-10-30 00:17 · 82/100 · 10 hallazgos2026-10-31 00:17 · 82/100 · 10 hallazgos2026-11-01 00:17 · 82/100 · 10 hallazgos2026-11-02 00:17 · 81/100 · 10 hallazgos2026-11-03 00:17 · 83/100 · 11 hallazgos2026-11-04 00:17 · 83/100 · 11 hallazgos2026-11-05 00:17 · 83/100 · 11 hallazgos2026-11-06 00:17 · 83/100 · 11 hallazgos2026-11-07 00:17 · 83/100 · 11 hallazgos2026-11-07 01:02 · 83/100 · 11 hallazgos2026-11-08 00:17 · 83/100 · 12 hallazgos2026-11-09 00:17 · 83/100 · 11 hallazgos2026-11-10 00:17 · 83/100 · 11 hallazgos2026-11-11 00:17 · 83/100 · 11 hallazgos2026-11-12 00:17 · 81/100 · 11 hallazgos2026-10-232026-11-12
Cambios desde el último escaneo — 24 estados distintos en 26 escaneos

Comparación con la última lectura que difería, tomada el 2026-11-11T00:17:41.462Z.

MedidaAntesAhoraCambio
Puntuación general81/10080/100-1/100 ✗
Proporción de contenido4,6%4.4%-0.2% ✗
Cobertura de @id estables33,3%33.3%sin cambios
Recursos que bloquean el renderizado2727sin cambios
Tamaño de página310 KB306 KB-4 KB ✓
Hallazgos1111sin cambios

El historial guarda los últimos 24 cambios en este dominio: las lecturas idénticas repetidas se agrupan en una sola entrada que registra cuándo empezó el estado y cuántos escaneos lo confirmaron, así que volver a escanear nunca puede sacar historial real de la ventana. Un hallazgo que aparece y desaparece es el patrón por el que vale la pena actuar: un fallo permanente se nota, uno intermitente solo aparece si algo está mirando en el momento justo.

Tres formas de releer este registro — sitio, reglas y lector, cada uno comprobado por separado

Una nota puede moverse por tres motivos y esta página los mantiene separados: cambió el sitio (solo lo muestra un nuevo escaneo), cambiaron las reglas (lo muestra reprocesar las mediciones almacenadas) o cambió el código que lee los bytes (lo muestra reproducirlo sobre los bytes almacenados). Los cambios de reglas y de código nunca se publican como cambios del sitio.

OperaciónQué haceEste registro
Volver a escanearUna nueva obtención del sitio, guardada como un registro nuevo. La única operación que puede mostrar un cambio en el propio sitio.Última medición: 2026-11-12 00:17 UTCVolver a escanear
ReprocesarLas mediciones almacenadas en este registro, puntuadas con el paquete de reglas actual. No se obtiene nada; una diferencia es un cambio de reglas.Puntuado con las reglas actuales (v34); recalcularlas da la misma C 81.GET /api/reprocess?id=aasc46z1wv (key)
ReproducirEl código actual ejecutado sobre los bytes exactos que recibió este escaneo, conservados por SHA-256. No se obtiene nada; una diferencia es un cambio de código.El código actual sobre los 314053 bytes exactos que recibió este escaneo da el mismo resultado. (napAudit)GET /api/replay?id=aasc46z1wv (key)

Tráfico, consultas y ventas

No se mide aquí, y no se puede medir aquí. Todo lo demás de este informe se obtuvo solicitando tus páginas desde fuera. Los clics, las consultas y los pedidos ocurren donde ningún escáner puede verlos: en tu Search Console, tu bandeja de entrada y tu proceso de pago. Conecta uno de ellos y esta sección se completará según las fechas de arriba. Hasta entonces permanece vacía en lugar de mostrar una estimación, porque una cifra de tráfico inventada en un informe que mide la honestidad desharía todo el producto.

Prueba de marca de tiempo — registrado, se sella esta noche

Este informe tiene una huella calculada sobre sus mediciones, y las huellas de cada día se combinan en una raíz que se envía a los calendarios de OpenTimestamps y, desde allí, a una transacción de Bitcoin. Demuestra que este informe existía en esta forma en este momento y que no ha sido alterado. No demuestra que la medición fuera correcta — esa es otra afirmación, y ninguna marca de tiempo puede resolverla. Cómo funciona.

Resumen criptográfico de este informeb0e6d0e6517e9048399de38a42208b2e2dde97fc29f2356012d0fea6ddfd47fd
Reglas de puntuaciónv34 — actual
Raízregistrado, y no está en la raíz sellada a las — este escaneo llegó después. El día se vuelve a sellar al cerrarse y este resumen entra en esa raíz.

Citar este informe

Este informe se regenera al abrirse, por lo que ambos registros llevan la marca de tiempo del escaneo como versión y la fecha de acceso como fecha de consulta. Una cita que diera a entender un contenido fijo sería incorrecta.

BibTeX descargar

@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 descargar

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  - 

El tipo es RPRT — un informe fechado sobre un sitio concreto, no el conjunto de datos agregado de /data. Ten en cuenta que /r/ está bloqueado en nuestro robots.txt, así que este marcado sirve a lectores y gestores de referencias, no a motores de búsqueda.

19

aprueban

7

necesita mejoras

7

fallan

8

no medibles

Secciones, no comprobaciones individuales. No medible se cuenta por separado y nunca como aprobado: una sección que no pudimos leer no es una sección que aprobó.

Muéstralo en tu sitio

La insignia muestra la cifra tal como se midió, sea cual sea, y se actualiza cuando se vuelve a ejecutar este informe. Está vinculada al id de este informe, así que solo quien tenga este enlace puede generarla.

Visibilidad en IA 81 de 100

Pégalo donde lo quieras:

<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>

Todavía no ha llegado ninguna visita desde esta insignia. El enlace lleva via=badge, así que las que lleguen se cuentan aquí.

Cómo leer la transcripción

CrawlCheck no pretende predecir posiciones. Mide las entradas que un rastreador y un sistema de recuperación deben recibir correctamente para que el posicionamiento, la indexación o la cita sean siquiera posibles.

1

Observado

CrawlCheck recibió exactamente este estado, cabecera, cuerpo y texto renderizado. Todo lo que aparece en las secciones siguientes está a este nivel salvo que se indique lo contrario: es un hecho sobre una respuesta real, con los bytes adjuntos.

2

Consecuencia de protocolo

Lo que esa respuesta significa necesariamente para un rastreador que cumple las normas. Una regla disallow, un robots.txt que no es texto o una dependencia de JavaScript pueden impedir o dificultar el acceso por su propia naturaleza, no porque hayamos clasificado nada, sino porque así lo dice el protocolo.

3

Implicación para la búsqueda

Posible o desconocida, y etiquetada como tal. Ningún hallazgo de aquí afirma un efecto en el posicionamiento, una fórmula de cita ni una ponderación. Si una afirmación no se puede reducir al nivel 1 o 2, no se hace.

Un límite importante, dicho claramente: las 19 identidades de arriba se envían desde la propia dirección de CrawlCheck usando la cadena user-agent de cada rastreador. Eso es una simulación de la política del edge — muestra lo que hace tu edge con una solicitud que se declara como ese rastreador. No es una solicitud del rastreador real, ni puede serlo. Un WAF puede tratar a un Googlebot verificado de forma distinta que a cualquier cosa que solo use ese nombre, que es exactamente lo que Google recomienda. Cuando un resultado dice que se rechazó a un rastreador, léelo como se rechazó a un cliente que declaraba ese nombre — para demostrar lo que recibió el rastreador real, compara tus propios registros del servidor con los rangos de direcciones publicados por el operador, algo que el verificador de registros gratuito hace línea por línea.

Transcripción de las descargas de archivos para máquinas

RutaEstadoTipo de contenidoBytesEdge
/robots.txt 200 text/plain 4.567 HIT correcto
/sitemap.xml 200 application/xml 888.839 DYNAMIC correcto
/sitemap_index.xml 404 text/html 95.255 DYNAMIC no presente
/wp-sitemap.xml 200 text/html 149.638 DYNAMIC no presente
/llms.txt 404 text/html 95.230 DYNAMIC no presente

Lo que este informe no puede demostrar

  • La nota no es un ranking ni un recuento de citas. Indica si los bytes que recibe un motor pueden obtenerse, leerse y atribuirse a www.denverpost.com. Si algún motor lo posiciona, lo cita o lo recomienda lo decide ese motor y no se mide aquí.
  • Una URL, un momento, un punto de observación. Medido el 2026-11-12 a las 00:17 UTC desde la red de CrawlCheck para la página de inicio y los archivos para máquinas del sitio. El sitio puede cambiar después, y un rastreador desde otra red u otro país puede recibir una respuesta distinta.
  • Los rastreadores nombrados se simularon, no se observaron. Las solicitudes llevaban el nombre de cada rastreador desde la dirección propia de CrawlCheck. Un rechazo muestra lo que recibe un cliente con ese nombre; el rastreador real, desde la dirección de su operador, puede recibir otro trato.
  • Aprobar no equivale a estar indexado. Aprobar todas las comprobaciones de aquí no significa que un buscador o un índice de IA tenga la página. Solo ese motor (para Google, Search Console) puede decir qué tiene almacenado.

Lo que el escaneo no mide en absoluto está en Método.

Lo que intentó este escaneo — leído de su propio registro, no afirmado

19 / 19

identity probe responses read

5

archivos para máquinas obtenidos en ambos hosts

115

agentes con nombre resueltos desde robots.txt

33

de 41 secciones puntuadas

53

invariantes comprobadas sobre este mismo informe

11

hallazgos

También se solicitó una ruta aleatoria que no puede existir: el control que distingue tu sitio web de un muro delante de él.

Cada fila de este informe, por estado (369 filas) — aquí cada estado cuenta igual

162

✓ Aprobado

dentro del rango que aprueba

41

✗ Suspendido

fuera del rango que aprueba

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

No medido

no se tomó ninguna medición: el dato faltaba, era inalcanzable o no se obtuvo en este escaneo; se excluye, no suspende

0

No concluyente

se tomó una medición, pero no se pudo juzgar en ningún sentido (un error, un tiempo de espera agotado o una respuesta ambigua)

3

Solo declarado

el sitio lo declara; nada en este escaneo lo vio funcionar

0

Discrepancia

dos mediciones de lo mismo no coinciden (hosts, puntos de observación o fuentes)

4

No aplicable

la medida no se aplica a este sitio

136

Informado

una medición mostrada a título informativo; no aprueba ni suspende

Solo las filas aprobadas y suspendidas mueven la puntuación de una sección. Una fila no medida, no aplicable, no concluyente, solo declarada, en discrepancia o informada a título informativo queda excluida de la puntuación y nunca se muestra como aprobada.

Cómo leer las puntuaciones
Las dos puntuaciones no son una calificación
Claridad para el rastreo indica si una máquina puede obtener, leer y distinguir tus páginas. Claridad para el usuario indica si un lector puede saber qué es esto y a quién pertenece. Fallan de forma independiente, así que léelas por separado en lugar de promediarlas.
Un guion significa no medido, no cero
Componentes mostrados como — y excluido de la puntuación. Si un escaneo tuvo limitación de frecuencia o las páginas se renderizan con JavaScript, esa medición se omite. Un falso certificado de buena salud es más peligroso que un falso defecto.
Los hallazgos no confirmados se separan a propósito
Todo lo que pudiera describir nuestro acceso y no tu sitio — un rechazo, un tiempo de espera agotado — se lista aparte y nunca cuenta para la calificación.
La proporción de contenido se mide en bytes, no en tokens
La parte de los bytes descomprimidos que es texto visible: el cuerpo tal como lo lee un analizador, no la transferencia gzip, más pequeña. La auditoría profunda mide tokens por KB con un tokenizador real; las dos tienen nombres distintos porque son mediciones distintas.
Qué hacer con esto
Prefiere las correcciones que son un solo ajuste a las que requieren un sprint. El CSS en línea suele ser la mayor mejora barata, porque no se puede almacenar en caché entre páginas — un rastreador lo vuelve a pagar en cada URL.
Lo que este escaneo NO mide

Esta es una sonda de la capa para máquinas de una URL y de los archivos que describen todo el sitio. Todo lo que sigue queda fuera de ese alcance por diseño, y ninguna puntuación de esta página se ajusta por ello.

No es un rastreador de todo el sitio
Aquí no hay un grafo completo de URL, ni un inventario de enlaces rotos de todas las páginas, ni una comparación de contenido duplicado. La cobertura del sitemap se comprueba solo contra los enlaces de la página de inicio. Para un rastreo exhaustivo de miles de URL, usa un rastreador dedicado — Screaming Frog, Sitebulb o la auditoría de sitio de Ahrefs o Semrush — y usa esta herramienta para comprobar la capa para máquinas que ellos no leen.
No es una plataforma de análisis de registros
El comportamiento de los rastreadores se muestrea en un intervalo estrictamente controlado, no se sigue durante semanas. El presupuesto de rastreo, las rutas de los bots y en qué páginas pasa realmente su tiempo un rastreador solo pueden salir de los registros de tu propio servidor. El verificador de registros gratuito de este sitio los lee línea por línea contra los rangos de direcciones publicados por los operadores.
No sustituye a Search Console
La cobertura del índice, la selección de la URL canónica, las acciones manuales y los diagnósticos específicos de Google provienen de Search Console y de ningún otro lugar. Una página puede ser perfectamente legible para todos los rastreadores medidos aquí y aun así no estar indexada, por motivos que solo Google puede informar.
Extraibilidad y llegadas, pero no citas
Esto mide si los bytes que recibe un motor se pueden obtener, analizar y atribuir a ti. Donde está instalada la baliza propia, también cuenta llegadas: personas que hicieron clic desde un asistente de IA, registradas desde tu propio sitio en lugar de estimadas. Lo que todavía no hace es preguntar a ChatGPT, Claude, Perplexity o Google si te mencionan cuando nadie hace clic. Una cita que no produce un clic es invisible aquí, y medirla requiere monitoreo de prompts, que es otro instrumento.
Nuestro punto de observación no es el del rastreador
Cada solicitud aquí es honesta y no autenticada: se envía desde una dirección de centro de datos con nuestro propio nombre y nunca suplanta la IP de un rastreador verificado. Por tanto, un rechazo describe lo que recibe un cliente que declara ese nombre, que un WAF puede tratar de forma distinta al rastreador real, exactamente como Google recomienda que haga.
No es una auditoría WCAG
La sección de accesibilidad comprueba si existe en el documento entregado la estructura de la que depende un lector de pantalla: un idioma, un título, nombres en imágenes, campos, botones y marcos, un punto de referencia principal, una forma de saltar la navegación e ids únicos. El contraste, el orden de foco, las trampas de teclado y el movimiento requieren una página renderizada y una persona, y no se miden.
Un solo renderizado, sin ejecución de JavaScript
Lo que se mide es el documento que devuelve el servidor. El contenido inyectado por JavaScript del lado del cliente no se ejecuta aquí, y es deliberado, porque la mayoría de los rastreadores medidos en esta página tampoco lo ejecutan; pero significa que un sitio renderizado con JavaScript se verá más escaso aquí que en un navegador.
Lo que no pudimos medir — 3

Cada fila de este informe es una medición de tu sitio o nada en absoluto. Estas consultas no devolvieron una medición, así que se dejaron sin puntuar en lugar de contarse en tu contra. Se listan porque una ausencia silenciosa no se distingue de un resultado limpio, y esa es la diferencia que esta herramienta existe para preservar.

Esto cubre solo las consultas a terceros y de enriquecimiento: CrUX, el enlace del perfil de Google, Internet Archive, el geocodificador y los dos archivos well-known. Los rechazos de tu propio servidor nunca se listan aquí: un 403 a GPTBot es el hallazgo, no una laguna de nuestro instrumento, y se informa como hallazgo más arriba.

ConsultaResultadoLimitación de quiénPor qué
Presencia fuera del sitio (directorios buscados por número de teléfono)alcanzadotuyoYelp, Angi, Thumbtack, Houzz y Facebook rechazan clientes desde centros de datos y son nuestro límite, nunca una ausencia. El Perfil de Empresa de Google y los recuentos de reseñas todavía no se leen desde aquí
Compresión de la respuestasin alcanzarnuestranuestra solicitud descomprime el cuerpo y descarta la cabecera content-encoding antes de que podamos leerla; compruébalo en el panel de red de un navegador o con curl --compressed -I
Enlace al Perfil de Empresa de Googlerechazadosuyo, dirigido a nosotrosGoogle limitó nuestra comprobación desde una dirección de centro de datos

Cada cifra de aquí se midió sin cookies y sin sesión. Es deliberado: es lo que recibe un motor de respuestas. Si abres tu propio sitio con la sesión iniciada en tu panel de administración, estás viendo un documento distinto: los plugins de caché, los constructores de páginas y las herramientas de membresía suelen omitir sus filtros de salida para los usuarios conectados, y encima se añaden barras de administración y enlaces de edición.

Para ver lo que describe este informe, abre tu sitio en una ventana privada. Si ambos no coinciden, la ventana privada es la que ve un rastreador.

Claridad para el rastreo: ¿puede una máquina obtener, leer y distinguir las páginas? 44 / 100
componenteestado puntuaciónmedida
Archivos para máquinaspuntuado 67 robots.txt, llms.txt, sitemap y entitymap tal como se puntuaron arriba
Carga útil: proporción de contenidopuntuado 26 el 4,4% de los bytes descomprimidos es texto visible (a nivel de bytes; la auditoría profunda puntúa los tokens por KB por separado)
Ruta de renderizadopuntuado 0 27 recursos que bloquean el renderizado
Estructura del documentopuntuado 80 0 saltos de encabezado, 2 h1
Claridad para el usuario: ¿puede un lector saber qué es esto y a quién pertenece? 57 / 100
componenteestado puntuaciónmedida
Identidad de la entidadpuntuado 33 el 33,3% de 3 entidades tiene un @id estable
Posición declaradapuntuado 40 no se declaran relaciones de credenciales
Coherencia de ubicaciónpuntuado 100 1/1 ubicaciones tienen dirección postal
Afirmaciones de identidadpuntuado 0 1 de 1 enlaces de mapa apuntan a lugares, no al negocio
Etiquetado de la páginapuntuado 100 descripción de 157 caracteres, canonical presente

0 componentes no medidos y excluidos de la puntuación: un componente no medido nunca cuenta como cero.

Composición de la puntuación — La letra la fijó el peor hallazgo, no el promedio; por eso una puntuación alta puede llevar una calificación baja.
SecciónPuntuaciónPeso
Capa para máquinas67/1001.5
Servidor y alojamiento80/1000.6
Schema y grafo de entidades55/1001.2
Superficie RDF y de datos enlazados100/1000.8
Señales de autoría y confianza (indicadores de E-E-A-T)57/1001
Estructura de accesibilidad (a partir del HTML entregado)96/1000.8
Corroboración de la entidad100/1000.6
Contenido citable67/1000.8
Rastreo desperdiciado100/1000.6
Tema de la página, la pregunta de Webref100/1000.6
Agentes de IA y de búsqueda33/1001.2
La velocidad que ve un rastreador, y datos de campo donde existen44/1001
Carga útil y ruta de renderizado20/1001
Cadena de confianza de los archivos para máquinas100/1001.5
Coherencia de las afirmaciones100/1001.3
Superficie de instrucciones para agentes100/1001
Qué recibe cada agente88/1001.5
Superficie móvil100/1000.8
Presencia local, citas y NAP86/1001.3
Exposed files and secrets89/1000.6
Páginas de error100/1000.4
Cobertura del sitemap100/1001.2
Enlazado interno100/1001
Coherencia de nombres y mayúsculas80/1000.4
Señales de imagen80/1000.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).

Alcanzar, luego leer, luego citar

Alcanzar, luego leer, luego citar: cada etapa condiciona la siguiente

REACH79adecuadoREAD83adecuadoQUOTE83adecuado

Vigilar este sitio

Esto se rompe sin avisar. Revisamos este sitio dos veces al día y te enviamos un correo cuando cambia un resultado, nada más.

Solo alertas de cambios. Baja con un clic.

Escanear otro dominio

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.