Sus opcionesLo arreglamos $100 una vez · Watch $29 / mes
- 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
- 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.
Tarjeta y empezamos. Un sitio por pedido.
- 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ó.
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
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.
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
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.
grave
las reglas de robots.txt no se aplican a los agentes con nombre
/robots.txt · Abrir la corrección →
grave
Dos registros de negocio en esta página reclaman la misma identidad
Abrir la corrección →
grave
La página de inicio depende de archivos que el propio 'robots.txt' del sitio prohíbe
/robots.txt · Abrir la corrección →
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.
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.
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.
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.
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.
Qué sigue
Cada paso se apoya en el mismo registro firmado. Empiece donde se encuentre.
- 01CorregirCorrija lo que baja la notaPasos para su plataforma, comprobados con un nuevo análisis.
- 02WatchVigílelo cada díaGratis durante 30 días. Los cambios y los nuevos hallazgos llegan a su bandeja de entrada.
- 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.
- 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.
- 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)
- 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.
- 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.
- 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.
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
| Regla | ROBOTS_RULES_SHADOWED · paquete de reglas sv34 · alcance core |
|---|---|
| Evaluado | 2026-11-12 00:17:42 UTC |
| Decisión | d1:ab6db3d568fdb2282e23 · hallazgo f1:cbfcabeaf2c8fae39c15 resuélvelo en /api/graph/<id> con una clave |
| Observador | build de crawlcheck-worker be1e3120 · auditoría v4 |
En qué se basa
| Identidad | Estado | Bytes | sha256 | Guardado |
|---|---|---|---|---|
| leído: /robots.txt | 200 | 4.567 | ff800a4d427d | already_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
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 hallazgosO 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 — $100El producto principal
Corregimos los 11 hallazgos de denverpost.com. $100, en un único pago.
4 de ellos se califican como graves. Un sitio. La calificación la conservas gratis; esta es la parte en la que la lista deja de ser una lista.
- Every eligible finding implemented on the site itself: machine files, schema, NAP, settings. Not included: new content, redesigns, plugin or theme replacement, custom integrations (the terms list them)
- Un mapa de entidades redactado para tu negocio, no una plantilla con el nombre cambiado
- Medido de nuevo después — el antes y el después, sellados, para que quede demostrado y no solo afirmado
- Treinta días de monitoreo incluidos
- El trabajo empieza en un plazo de dos días hábiles
Qué incluye · un solo pago, nada recurrente
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 como | Robots.txt | El servidor envió | Palabras | Igual que el navegador | |
|---|---|---|---|---|---|
| Cliente sin nombre (control) | — | 200 | 2.099 | 100% | referencia |
| GPTBot | bloqueado con Disallow | 200 | 2.099 | 100% | bloqueado con Disallow pero servido |
| ClaudeBot | bloqueado con Disallow | 200 | 2.099 | 100% | bloqueado con Disallow pero servido |
| OAI-SearchBot | bloqueado con Disallow | 200 | 2.099 | 100% | bloqueado con Disallow pero servido |
| Claude-SearchBot | bloqueado con Disallow | 200 | 2.099 | 100% | bloqueado con Disallow pero servido |
| PerplexityBot | bloqueado con Disallow | 200 | 2.099 | 100% | bloqueado con Disallow pero servido |
| ChatGPT-User | bloqueado con Disallow | 200 | 2.099 | 100% | bloqueado con Disallow pero servido |
| Claude-User | bloqueado con Disallow | 200 | 2.099 | 100% | bloqueado con Disallow pero servido |
| Perplexity-User | bloqueado con Disallow | 200 | 2.099 | 100% | bloqueado con Disallow pero servido |
| Googlebot | permitido | 200 | 2.099 | 100% | misma página |
| Googlebot Smartphone | no listado | 200 | 2.099 | 100% | misma página |
| Navegador móvil (control) | — | 200 | 2.099 | 100% | referencia |
| Bingbot | permitido | 200 | 2.099 | 100% | misma página |
| Applebot | bloqueado con Disallow | 200 | 2.099 | 100% | bloqueado con Disallow pero servido |
| Amazonbot | bloqueado con Disallow | 200 | 2.099 | 100% | bloqueado con Disallow pero servido |
| Bytespider | bloqueado con Disallow | 429 | 9 | — | bloqueado por el servidor |
| Meta-ExternalAgent | bloqueado con Disallow | 403 | 5 | — | bloqueado por el servidor |
| CCBot | bloqueado con Disallow | 200 | 2.099 | 100% | 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)
Motores de búsqueda 17/24 permitidos
Google, Bing, Apple y el resto de la búsqueda clásica
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
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).
| Identidad | Este escaneo (red de CrawlCheck) | Segunda red | Mismo estado |
|---|---|---|---|
| Cliente sin nombre | 200 · 2.099 palabras | 200 · 2.216 palabras | ✓ |
| GPTBot | 200 · 2.099 palabras | 200 · 2.216 palabras | ✓ |
| ClaudeBot | 200 · 2.099 palabras | 429 | differs |
| OAI-SearchBot | 200 · 2.099 palabras | 200 · 2.216 palabras | ✓ |
| Claude-SearchBot | 200 · 2.099 palabras | 200 · 2.216 palabras | ✓ |
| PerplexityBot | 200 · 2.099 palabras | 200 · 2.216 palabras | ✓ |
| ChatGPT-User | 200 · 2.099 palabras | 200 · 2.216 palabras | ✓ |
| Claude-User | 200 · 2.099 palabras | 200 · 2.216 palabras | ✓ |
| Perplexity-User | 200 · 2.099 palabras | 200 · 2.216 palabras | ✓ |
| Googlebot | 200 · 2.099 palabras | 200 · 2.216 palabras | ✓ |
| Googlebot Smartphone | 200 · 2.099 palabras | 200 · 2.216 palabras | ✓ |
| Navegador móvil | 200 · 2.099 palabras | 200 · 2.216 palabras | ✓ |
| Navegador móvil (control) | — | 200 · 2.216 palabras | — |
| Bingbot | 200 · 2.099 palabras | 200 · 2.216 palabras | ✓ |
| Applebot | 200 · 2.099 palabras | 200 · 2.216 palabras | ✓ |
| Amazonbot | 200 · 2.099 palabras | 200 · 2.216 palabras | ✓ |
| Bytespider | 429 | 403 | differs |
| Meta-ExternalAgent | 403 | 403 | ✓ |
| CCBot | 200 · 2.099 palabras | 200 · 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.
| Identidad | From CrawlCheck’s network | From a person’s own connection | Dónde |
|---|---|---|---|
| Bytespider | throttled (HTTP 429) | no leído | not named by the refusal |
| Meta-ExternalAgent | refused HTTP 403 | no leído | not named by the refusal |
The right-hand column is the one measurement this server cannot make: whether the same request is served from a home or office connection. The free CrawlCheck extension fills it: install it, open denverpost.com and press Two vantages; the next report shows the result for 14 days.
Site owner? One skip rule tells a refusal in front of the server from one on the server itself. Full comparison: Lente de agentes.
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ó
- 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ó | HTTP | Tamaño | Comparado con un navegador | Guardado como evidencia |
|---|---|---|---|---|
| Cliente sin nombre | 200 | 306.7 KB | mismo texto, bytes distintos | guardado · 11ba378b |
| GPTBot | 200 | 306.7 KB | mismo texto, bytes distintos | guardado · 11ba378b |
| ClaudeBot | 200 | 306.7 KB | mismo texto, bytes distintos | guardado · f767f94a |
| OAI-SearchBot | 200 | 306.7 KB | mismo texto, bytes distintos | guardado · f767f94a |
| Claude-SearchBot | 200 | 306.7 KB | mismo texto, bytes distintos | guardado · 11ba378b |
| PerplexityBot | 200 | 306.7 KB | mismo texto, bytes distintos | guardado · f767f94a |
| ChatGPT-User | 200 | 306.7 KB | mismo texto, bytes distintos | guardado · f767f94a |
| Claude-User | 200 | 306.7 KB | mismo texto, bytes distintos | guardado · f767f94a |
| Perplexity-User | 200 | 306.7 KB | mismo texto, bytes distintos | guardado · 11ba378b |
| Googlebot | 200 | 306.7 KB | mismo texto, bytes distintos | guardado · 11ba378b |
| Googlebot Smartphone | 200 | 306.7 KB | bytes idénticos | guardado · 3a644788 |
| Navegador móvil | 200 | 306.7 KB | la referencia | guardado · 3a644788 |
| Navegador móvil (control) | 200 | 306.7 KB | bytes idénticos | guardado · 3a644788 |
| Bingbot | 200 | 306.7 KB | mismo texto, bytes distintos | guardado · f767f94a |
| Applebot | 200 | 306.7 KB | mismo texto, bytes distintos | guardado · 11ba378b |
| Amazonbot | 200 | 306.7 KB | mismo texto, bytes distintos | guardado · 1378a569 |
| Bytespider | 429 | 162 B | rechazado (HTTP 429) | guardado · 413d294f |
| Meta-ExternalAgent | 403 | 146 B | rechazado (HTTP 403) | guardado · 32f2fa94 |
| CCBot | 200 | 306.7 KB | mismo texto, bytes distintos | guardado · 11ba378b |
| Obtención de CrawlCheck (página de inicio) | 200 | 306.7 KB | — | guardado · dc318faa |
| Archivos que obtuvo CrawlCheck | ||||
| /robots.txt | 200 | 4.5 KB | — | guardado · ff800a4d |
| /sitemap.xml | 200 | 868 KB | — | guardado · 493fa919 |
| /sitemap_index.xml | 404 | 93 KB | — | guardado · fa12fd3c |
| /wp-sitemap.xml | 200 | 146.1 KB | — | guardado · a196f657 |
| /llms.txt | 404 | 93 KB | — | guardado · 3557f155 |
| /entitymap.json | 404 | 93 KB | — | guardado · 928fb366 |
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.
🔒 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.
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.
| Dato | Indicado como | Encontrado en | Concordancia | Visto por primera vez |
|---|---|---|---|---|
| Nombre | The Denver Post | 2026-09-19 | ||
| Teléfono | (303) 954-1010 | solo datos estructurados | no se muestra a los lectores | 2026-09-19 |
| Dirección | 5990 Washington St., Denver, CO, 80216 | 2026-09-19 | ||
| Punto en el mapa | 39.7392, 104.9903 | datos estructurados | negar la longitud la sitúa dentro de US - falta un signo menos | 2026-09-19 |
| Horario de apertura | declarado | datos estructurados | 2026-09-19 | |
| Tipo de negocio | LocalBusiness | datos estructurados | 2026-09-19 | |
| Perfiles que enlaza | 3 (Facebook, X, LinkedIn) | enlaces en el sitio | 3 de 3 enlazan de vuelta |
Todo lo demás que se midió
Medido a título informativo, sin puntuar
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
| Medida | Actualmente | Óptimo | |
|---|---|---|---|
| robots.txt un rastreador que no puede leer robots.txt suele tratarlo como si todo estuviera bloqueado | 200 · 4567B | 200, text/plain, 100–4.000B | ✓ Aprobado |
| Sitemap XML sin él, un rastreador enumera el sitio solo siguiendo enlaces | activo | 200, 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.000B | Informado |
| security.txt reported, not scored. Expires is required by RFC 9116; an expired file tells a researcher its contact may be stale | ausente (404) | a Contact and a future Expires, served as text/plain (RFC 9116) | Informado |
| entitymap.json 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 correcto | Informado |
| Concordancia entre hosts un rastreador que resuelve www no debe recibir una capa para máquinas distinta | los hosts coinciden | 0 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 HTML | un archivo para máquinas ausente debería devolver un 404 pequeño, no una página completa | ✗ Suspendido |
Hosts y URL
/robots.txt | www.denverpost.com: 200 · 4.567B en vivo denverpost.com: 301 → https://www.denverpost.com/robots.txt |
/llms.txt | www.denverpost.com: 404 · 95.230B de HTML (no el archivo) denverpost.com: 301 → https://www.denverpost.com/llms.txt |
/entitymap.json | www.denverpost.com: 404 · 95.247B de HTML (no el archivo) denverpost.com: 301 → https://www.denverpost.com/entitymap.json |
/sitemap.xml | www.denverpost.com: 200 · 888.839B en vivo denverpost.com: 200 · 888.839B en vivo |
/sitemap_index.xml | www.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
| Medida | Actualmente | Ó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 aceptable | No medido |
| Edge / CDN absorbe la carga de los rastreadores y mantiene rápidos los archivos para máquinas | no se detectó ninguno | una 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. | no | h3 in the Alt-Svc header or the DNS HTTPS record | Informado |
| Post-quantum key exchange Hybrid key exchange protects today’s traffic against later decryption by a quantum computer (harvest now, decrypt later). Browsers offer it by default; most CDNs agree it. Measured weekly from outside by offering only that group; not scored. The share across measured sites is at /data/tls-posture. | not in the weekly probe sample (2026-11-09) | X25519MLKEM768 agreed (RFC 10024) | Informado |
| Estado 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 DYNAMIC | HIT o MISS en los archivos para máquinas; DYNAMIC es el valor predeterminado de Cloudflare para .txt y .xml | Informado |
| Divulgación de versión una versión pública del CMS le dice a un atacante exactamente qué exploits probar | no divulgada | sin versión de generator en el HTML | ✓ Aprobado |
| Divulgación del entorno de ejecución por el mismo motivo que arriba | no divulgada | sin cabecera x-powered-by | ✓ Aprobado |
| Vary determina si una copia en caché se reutiliza correctamente | accept-encoding | Accept-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;includeSubdomains | max-age con includeSubDomains; preload solo si realmente lo quieres | Informado |
| 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 visible | Al menos Bing: su índice alimenta la búsqueda de ChatGPT y Copilot | Informado |
| 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 entregadas | texto presente en el HTML entregado | ✓ Aprobado |
| Aplicación | WordPress detectado a partir del HTML entregado, no de una cabecera que se puede eliminar |
| Varía según | accept-encoding una respuesta que varía puede almacenarse en caché de forma distinta según el cliente |
Schema y grafo de entidades — 55/100
| Medida | Actualmente | Óptimo | |
|---|---|---|---|
| Nodos de entidad sin schema el sitio no tiene ninguna identidad declarada | 3 | al 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 | 0 | al 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 | 0 | 0 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 | 1 | 0 | ✗ 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 | 2 | 1 (práctica habitual) | ✗ Suspendido |
| Saltos de encabezado un nivel omitido rompe el esquema del documento que construye un analizador | 0 | 0 | ✓ Aprobado |
| Canónica sin ella, los duplicados compiten entre sí | presente | presente 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 caracteres | 50–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 |
| Entidades declaradas | 3 nodos, 2 tipos distintos |
| Identidad estable | 1 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 credenciales | 0 Licencias, afiliaciones y premios expresados como aristas del grafo en lugar de prosa. |
| Relaciones temáticas | 0 Un número alto con valores genéricos suele indicar que el grafo se usa para almacenar palabras clave. |
| Ubicaciones | 1 declaradas, 0 sin dirección postal |
| Afirmaciones sameAs | 3 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 documento | 2 h1 · 129 encabezados · 0 saltos de nivel · canonical presente · meta description de 157 caracteres |
Superficie RDF y de datos enlazados — 100/100
| Medida | Actualmente | Ó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 2 | todos 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 2 | todos 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 | 68 | al 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 | 0 | 0 | ✓ 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 @id | Informado |
| 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 Graph | opcional; una serialización mantenida con precisión es mejor que tres que divergen | Informado |
| 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: Accept | opcional: text/turtle o application/ld+json a un cliente que lo solicite | Informado |
| Representación RDF alternativa enlazada Indica a un cliente de datos enlazados dónde está el grafo sin tener que negociarlo. Sin puntuar | ninguna | opcional: <link rel=alternate type=text/turtle> o una cabecera Link | Informado |
| 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 | ninguna | ninguno: cada entidad tiene un IRI persistente | Informado |
| 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 | ninguna | un @id por negocio, reutilizado en todas partes | Informado |
| 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 locales | una sola convención en todo el sitio | Informado |
| 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 | ninguna | una única grafía exacta byte a byte por recurso | Informado |
| 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 6 | NFC en todas partes | Informado |
| 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 | ninguna | la forma xn-- (Punycode) en los datos estructurados | Informado |
| 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 Wikidata | cualquiera; /entity/Q… es el IRI del concepto, /wiki/Q… la página sobre él | Informado |
| 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 verificables | cada perfil declarado responde | Informado |
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
| Medida | Actualmente | Ó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 | ninguna | al 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 nombre | No 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 nombre | No 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 una | No 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ágina | cada artículo | Informado |
| 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ículo | No 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 2 | founder, 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 2 | en 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 2 | telephone, 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 | no | enlazada | ✗ 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 aggregateRating | ratingValue con reviewCount o ratingCount | Informado |
| 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.com | cita aquello en lo que se basa el contenido; no hay un número correcto | Informado |
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
| Medida | Actualmente | Ó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-US | un 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 caracteres | un <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 44 | todas 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 3 | texto, 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 marcos | un title en cada iframe | Informado |
| 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 | uno | exactamente 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 salto | un 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 | 0 | cada 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ágina | alt en cada <input type=image> y <area> enlazada | Informado |
| 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=img | un <title> o aria-label en cada svg marcado con role=img | Informado |
| 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 | ninguna | un 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 357 | texto, 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 2 | un 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 5 | cada 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 129 | texto 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 datos | Informado |
| 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ón | un <fieldset> o role=radiogroup alrededor de cada conjunto | Informado |
| 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ón | un token 'autocomplete' válido en cada campo que pide los datos propios del visitante | Informado |
| 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) | ninguna | sin <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 | ninguna | sin 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ática | audio 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 controles | una <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 | ninguna | cada 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) | ninguna | navegació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 | ninguna | ningú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 | ninguna | cada 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 | ninguna | cada 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 | ninguna | cada 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 presente | el #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 | ninguna | etiquetas 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 | ninguna | solo 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
| Criterio | Nivel | CrawlCheck |
|---|---|---|
| 1.1.1 Contenido no textual | A | Medido en esta sección |
| 1.2.1 Solo audio y solo vídeo (grabado) | A | Necesita una persona |
| 1.2.2 Subtítulos (grabado) | A | Medido en esta sección |
| 1.2.3 Audiodescripción o medio alternativo (grabado) | A | Necesita una persona |
| 1.2.4 Subtítulos (en directo) | AA | Necesita una persona |
| 1.2.5 Audiodescripción (grabado) | AA | Necesita una persona |
| 1.2.6 Lengua de señas (grabado) | AAA | Necesita una persona |
| 1.2.7 Audiodescripción ampliada (grabado) | AAA | Necesita una persona |
| 1.2.8 Medio alternativo (grabado) | AAA | Necesita una persona |
| 1.2.9 Solo audio (en directo) | AAA | Necesita una persona |
| 1.3.1 Información y relaciones | A | Medido en esta sección |
| 1.3.2 Secuencia significativa | A | Necesita una persona |
| 1.3.3 Características sensoriales | A | Necesita una persona |
| 1.3.4 Orientación | AA | Necesita una página renderizada |
| 1.3.5 Identificar el propósito de la entrada | AA | Medido en esta sección |
| 1.3.6 Identificar el propósito | AAA | Necesita una persona |
| 1.4.1 Uso del color | A | Necesita una página renderizada |
| 1.4.2 Control del audio | A | Medido en esta sección |
| 1.4.3 Contraste (mínimo) | AA | Necesita una página renderizada |
| 1.4.4 Cambio de tamaño del texto | AA | Medido en otra sección de este informe |
| 1.4.5 Imágenes de texto | AA | Necesita una persona |
| 1.4.6 Contraste (mejorado) | AAA | Necesita una página renderizada |
| 1.4.7 Sonido de fondo bajo o ausente | AAA | Necesita una persona |
| 1.4.8 Presentación visual | AAA | Necesita una página renderizada |
| 1.4.9 Imágenes de texto (sin excepción) | AAA | Necesita una persona |
| 1.4.10 Reajuste | AA | Necesita una página renderizada |
| 1.4.11 Contraste no textual | AA | Necesita una página renderizada |
| 1.4.12 Espaciado del texto | AA | Necesita una página renderizada |
| 1.4.13 Contenido al pasar el puntero o recibir el foco | AA | Necesita una página renderizada |
| 2.1.1 Teclado | A | Medido en esta sección |
| 2.1.2 Sin trampas para el foco del teclado | A | Necesita una página renderizada |
| 2.1.3 Teclado (sin excepción) | AAA | Necesita una página renderizada |
| 2.1.4 Atajos de teclado con caracteres | A | Necesita una página renderizada |
| 2.2.1 Tiempo ajustable | A | Medido en esta sección |
| 2.2.2 Pausar, detener, ocultar | A | Medido en esta sección |
| 2.2.3 Sin tiempo | AAA | Necesita una persona |
| 2.2.4 Interrupciones | AAA | Necesita una persona |
| 2.2.5 Volver a autenticarse | AAA | Necesita una persona |
| 2.2.6 Tiempos de espera | AAA | Necesita una persona |
| 2.3.1 Umbral de tres destellos o menos | A | Necesita una página renderizada |
| 2.3.2 Tres destellos | AAA | Necesita una página renderizada |
| 2.3.3 Animación por interacciones | AAA | Necesita una página renderizada |
| 2.4.1 Evitar bloques | A | Medido en esta sección |
| 2.4.2 Página titulada | A | Medido en esta sección |
| 2.4.3 Orden del foco | A | Necesita una página renderizada |
| 2.4.4 Propósito de los enlaces (en contexto) | A | Medido en esta sección |
| 2.4.5 Múltiples vías | AA | Medido en otra sección de este informe |
| 2.4.6 Encabezados y etiquetas | AA | Medido en esta sección |
| 2.4.7 Foco visible | AA | Necesita una página renderizada |
| 2.4.8 Ubicación | AAA | Necesita una persona |
| 2.4.9 Propósito de los enlaces (solo enlaces) | AAA | Medido en otra sección de este informe |
| 2.4.10 Encabezados de sección | AAA | Medido en otra sección de este informe |
| 2.5.1 Gestos del puntero | A | Necesita una página renderizada |
| 2.5.2 Cancelación del puntero | A | Necesita una página renderizada |
| 2.5.3 Etiqueta en el nombre | A | Medido en esta sección |
| 2.5.4 Activación por movimiento | A | Necesita una página renderizada |
| 2.5.5 Tamaño del objetivo | AAA | Necesita una página renderizada |
| 2.5.6 Mecanismos de entrada concurrentes | AAA | Necesita una página renderizada |
| 3.1.1 Idioma de la página | A | Medido en esta sección |
| 3.1.2 Idioma de las partes | AA | Medido en esta sección |
| 3.1.3 Palabras inusuales | AAA | Necesita una persona |
| 3.1.4 Abreviaturas | AAA | Necesita una persona |
| 3.1.5 Nivel de lectura | AAA | Necesita una persona |
| 3.1.6 Pronunciación | AAA | Necesita una persona |
| 3.2.1 Al recibir el foco | A | Medido en esta sección |
| 3.2.2 Al recibir entradas | A | Medido en esta sección |
| 3.2.3 Navegación coherente | AA | Necesita una página renderizada |
| 3.2.4 Identificación coherente | AA | Necesita una página renderizada |
| 3.2.5 Cambio a petición | AAA | Medido en esta sección |
| 3.3.1 Identificación de errores | A | Necesita una página renderizada |
| 3.3.2 Etiquetas o instrucciones | A | Medido en esta sección |
| 3.3.3 Sugerencia ante errores | AA | Necesita una página renderizada |
| 3.3.4 Prevención de errores (legales, financieros, de datos) | AA | Necesita una persona |
| 3.3.5 Ayuda | AAA | Necesita una persona |
| 3.3.6 Prevención de errores (todos) | AAA | Necesita una persona |
| 4.1.1 Procesamiento (obsoleto, siempre cumplido para HTML según la fe de erratas del W3C) | A | Medido en esta sección |
| 4.1.2 Nombre, función, valor | A | Medido en esta sección |
| 4.1.3 Mensajes de estado | AA | Necesita una página renderizada |
Corroboración de la entidad — 100/100
| Medida | Actualmente | Óptimo | |
|---|---|---|---|
| Afirmación de identidad — facebook.com la página de destino hace referencia de vuelta a denverpost.com | corroborado | corroborado | ✓ Aprobado |
| Afirmación de identidad — x.com la página de destino enlaza de vuelta a denverpost.com | corroborado | corroborado | ✓ Aprobado |
| Afirmación de identidad — linkedin.com la página de destino enlaza de vuelta a denverpost.com | corroborado | corroborado | ✓ 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 dominio | P856 nombra este dominio | Informado |
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
| Medida | Actualmente | Ó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 defina | una 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 pregunta | al menos la mitad, donde haya encabezados en forma de pregunta | Informado |
| 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 FAQPage | cada pregunta declarada es legible en la página | Informado |
| 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 29 | un 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 26 | una 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 | 0 | una 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ó ninguno | una 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
| Medida | Actualmente | Ó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_adpz | 0, 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 309 | 0 | Informado |
| 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 muestreadas | 0 | ✓ 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 muestreadas | 0 | Informado |
| 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 redirige | un 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
| Medida | Actualmente | Ó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 | 1 | un solo tema, los demás solo mediante una relación declarada | Informado |
| 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 host | declarado como WebPage.mainEntity | Informado |
| 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í | ambos | Informado |
| 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 declarada | Informado |
| 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
| Medida | Actualmente | Óptimo | |
|---|---|---|---|
| Motores de respuestas permitidos obtienen una página mientras redactan una respuesta en vivo | 7 de 17 | todos | ✗ Suspendido |
| Índices de búsqueda permitidos la cobertura del índice clásico sigue impulsando la mayor parte del descubrimiento | 17 de 24 | todos | ✗ Suspendido |
| Rastreadores de entrenamiento permitidos bloquear a los de entrenamiento mientras se permiten los motores de respuestas es coherente, no un defecto | 22 de 46 | tu decisión de política — sin puntuar | Informado |
| 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 7 | tu decisión de política — sin puntuar | Informado |
| 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 6 | tu decisión de política — sin puntuar | Informado |
| 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 15 | tu decisión de política — sin puntuar | Informado |
| Grupos de robots.txt un segundo grupo * es invisible para los analizadores que se detienen en la primera coincidencia | 70 | 1 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-SearchBot | BLOQUEADO en / · ChatGPT search index · named rule · line 150: Disallow: / |
| ChatGPT-User | BLOQUEADO en / · ChatGPT live fetch · named rule · line 63: Disallow: / |
| Claude-SearchBot | BLOQUEADO en / · Claude search index · named rule · line 69: Disallow: / |
| Claude-User | BLOQUEADO en / · Claude live fetch · named rule · line 72: Disallow: / |
| PerplexityBot | BLOQUEADO en / · Perplexity index · named rule · line 159: Disallow: / |
| Perplexity-User | BLOQUEADO en / · Perplexity live fetch · named rule · line 162: Disallow: / |
| Gemini-Deep-Research | permitido · Gemini research agent · wildcard rule · group at line 9, no rule matches / |
| MistralAI-User | BLOQUEADO en / · Le Chat live fetch · named rule · line 144: Disallow: / |
| DuckAssistBot | BLOQUEADO en / · DuckDuckGo AI assist · named rule · line 96: Disallow: / |
| YouBot | BLOQUEADO en / · You.com · named rule · line 198: Disallow: / |
| PhindBot | permitido · Phind · wildcard rule · group at line 9, no rule matches / |
| Kagibot | permitido · Kagi · wildcard rule · group at line 9, no rule matches / |
| Copilot-User | permitido · Microsoft Copilot fetch · wildcard rule · group at line 9, no rule matches / |
| Meta-ExternalFetcher | BLOQUEADO en / · Meta AI live fetch · named rule · line 138: Disallow: / |
| Amzn-User | permitido · Amazon live fetch for Alexa questions · wildcard rule · group at line 9, no rule matches / |
| Google-Agent | permitido · Google user-triggered agent, acts on the web · wildcard rule · group at line 9, no rule matches / |
| Google-GeminiNotebook | permitido · Gemini Notebook user-supplied URL fetch · wildcard rule · group at line 9, no rule matches / |
| Índices de búsqueda — 17 de 24 permitidos | |
| Googlebot-Image | permitido · Google image crawler · wildcard rule · group at line 9, no rule matches / |
| Googlebot-News | permitido · Google News · wildcard rule · group at line 9, no rule matches / |
| Googlebot-Video | permitido · Google video crawler · wildcard rule · group at line 9, no rule matches / |
| Storebot-Google | permitido · Google Shopping · wildcard rule · group at line 9, no rule matches / |
| Mediapartners-Google | permitido · Google AdSense · wildcard rule · group at line 9, no rule matches / |
| APIs-Google | permitido · Google push delivery · wildcard rule · group at line 9, no rule matches / |
| BingPreview | permitido · Bing page preview · wildcard rule · group at line 9, no rule matches / |
| msnbot | permitido · Microsoft legacy crawler · wildcard rule · group at line 9, no rule matches / |
| Slurp | BLOQUEADO en / · Yahoo Slurp · named rule · line 177: Disallow: / |
| Yandex | permitido · Yandex (umbrella token) · wildcard rule · group at line 9, no rule matches / |
| coccocbot-web | permitido · Coc Coc · wildcard rule · group at line 9, no rule matches / |
| Googlebot | permitido · Google Search and AI Overviews · wildcard rule · group at line 9, no rule matches / |
| bingbot | permitido · Bing and Copilot index · wildcard rule · group at line 9, no rule matches / |
| Applebot | BLOQUEADO en / · Apple and Siri · named rule · line 36: Disallow: / |
| Amazonbot | BLOQUEADO en / · Amazon · named rule · line 27: Disallow: / |
| DuckDuckBot | permitido · DuckDuckGo · wildcard rule · group at line 9, no rule matches / |
| YandexBot | BLOQUEADO en / · Yandex · named rule · line 195: Disallow: / |
| Baiduspider | BLOQUEADO en / · Baidu · named rule · line 45: Disallow: / |
| Seznambot | permitido · Seznam · wildcard rule · group at line 9, no rule matches / |
| Neevabot | permitido · Neeva · wildcard rule · group at line 9, no rule matches / |
| PetalBot | BLOQUEADO en / · Huawei Petal · named rule · line 165: Disallow: / |
| Amzn-SearchBot | BLOQUEADO en / · Amazon search eligibility, separate from Amazonbot · named rule · line 30: Disallow: / |
| MistralAI-Index | permitido · Mistral search index for Vibe · wildcard rule · group at line 9, no rule matches / |
| ExaSearchBot | permitido · Exa AI search index, Web Bot Auth signed · wildcard rule · group at line 9, no rule matches / |
| Rastreadores de entrenamiento / corpus — 22 de 46 permitidos | |
| Magpie-crawler | permitido · Magpie AI · wildcard rule · group at line 9, no rule matches / |
| img2dataset | permitido · img2dataset image corpus · wildcard rule · group at line 9, no rule matches / |
| AwarioRssBot | permitido · Awario RSS · wildcard rule · group at line 9, no rule matches / |
| AwarioSmartBot | permitido · Awario smart · wildcard rule · group at line 9, no rule matches / |
| TurnitinBot | permitido · Turnitin · wildcard rule · group at line 9, no rule matches / |
| archive.org_bot | BLOQUEADO en / · Internet Archive · named rule · line 42: Disallow: / |
| ia_archiver | permitido · Internet Archive (legacy) · wildcard rule · group at line 9, no rule matches / |
| meta-webindexer | BLOQUEADO en / · Meta web index · named rule · line 141: Disallow: / |
| omgili | BLOQUEADO en / · Webz.io omgili · named rule · line 153: Disallow: / |
| cohere-training-data-crawler | BLOQUEADO en / · Cohere training corpus · named rule · line 78: Disallow: / |
| PanguBot | BLOQUEADO en / · Huawei PanGu · named rule · line 156: Disallow: / |
| Ai2Bot-Dolma | BLOQUEADO en / · Allen Institute Dolma · named rule · line 24: Disallow: / |
| FriendlyCrawler | permitido · FriendlyCrawler ML · wildcard rule · group at line 9, no rule matches / |
| VelenPublicWebCrawler | BLOQUEADO en / · Velen · named rule · line 186: Disallow: / |
| MyCentralAIScraperBot | permitido · MyCentral AI · wildcard rule · group at line 9, no rule matches / |
| DeepSeekBot | permitido · DeepSeek · wildcard rule · group at line 9, no rule matches / |
| ICC-Crawler | BLOQUEADO en / · NICT ICC · named rule · line 117: Disallow: / |
| GoogleOther | permitido · Google non-search fetch · wildcard rule · group at line 9, no rule matches / |
| Google-CloudVertexBot | permitido · Vertex AI agent build · wildcard rule · group at line 9, no rule matches / |
| GPTBot | BLOQUEADO en / · OpenAI training and index · named rule · line 108: Disallow: / |
| ClaudeBot | BLOQUEADO en / · Anthropic training · named rule · line 66: Disallow: / |
| anthropic-ai | BLOQUEADO en / · Anthropic legacy agent · named rule · line 33: Disallow: / |
| Claude-Web | BLOQUEADO en / · Anthropic legacy agent · named rule · line 75: Disallow: / |
| Google-Extended | BLOQUEADO en / · Gemini training and grounding · named rule · line 105: Disallow: / |
| Applebot-Extended | BLOQUEADO en / · Apple training · named rule · line 39: Disallow: / |
| CCBot | BLOQUEADO en / · Common Crawl · named rule · line 57: Disallow: / |
| Bytespider | BLOQUEADO en / · ByteDance · named rule · line 51: Disallow: / |
| meta-externalagent | BLOQUEADO en / · Meta AI training · named rule · line 135: Disallow: / |
| FacebookBot | BLOQUEADO en / · Meta legacy · named rule · line 99: Disallow: / |
| cohere-ai | permitido · Cohere · wildcard rule · group at line 9, no rule matches / |
| Diffbot | BLOQUEADO en / · Diffbot knowledge graph · named rule · line 90: Disallow: / |
| Omgilibot | BLOQUEADO en / · Webz.io · named rule · line 153: Disallow: / |
| ImagesiftBot | permitido · Imagesift · wildcard rule · group at line 9, no rule matches / |
| Timpibot | BLOQUEADO en / · Timpi · named rule · line 183: Disallow: / |
| AI2Bot | BLOQUEADO en / · Allen Institute · named rule · line 21: Disallow: / |
| Scrapy | permitido · Generic scraper framework · wildcard rule · group at line 9, no rule matches / |
| SemrushBot-OCOB | permitido · Semrush AI corpus · wildcard rule · group at line 9, no rule matches / |
| Applebot-Extended-Ads | BLOQUEADO en / · Apple ads corpus · named rule · line 39: Disallow: / |
| TikTokSpider | permitido · TikTok · wildcard rule · group at line 9, no rule matches / |
| QuillBot | permitido · QuillBot · wildcard rule · group at line 9, no rule matches / |
| Webzio-Extended | BLOQUEADO en / · Webz.io extended · named rule · line 192: Disallow: / |
| ProRataInc | permitido · ProRata · wildcard rule · group at line 9, no rule matches / |
| AwarioBot | permitido · Awario · wildcard rule · group at line 9, no rule matches / |
| MistralAI-Training | permitido · Mistral training crawl · wildcard rule · group at line 9, no rule matches / |
| GoogleOther-Image | permitido · Google common crawler, public image URLs · wildcard rule · group at line 9, no rule matches / |
| GoogleOther-Video | permitido · Google common crawler, public video URLs · wildcard rule · group at line 9, no rule matches / |
| Rastreadores de SEO y estudios de mercado — 15 de 15 permitidos | |
| KlaviyoAIBot | permitido · Klaviyo Customer Agent knowledge-source crawler · wildcard rule · group at line 9, no rule matches / |
| AhrefsBot | permitido · Ahrefs link index · wildcard rule · group at line 9, no rule matches / |
| SemrushBot | permitido · Semrush crawler · wildcard rule · group at line 9, no rule matches / |
| MJ12bot | permitido · Majestic link index · wildcard rule · group at line 9, no rule matches / |
| DotBot | permitido · Moz link index · wildcard rule · group at line 9, no rule matches / |
| rogerbot | permitido · Moz site crawler · wildcard rule · group at line 9, no rule matches / |
| DataForSeoBot | permitido · DataForSEO · wildcard rule · group at line 9, no rule matches / |
| BLEXBot | permitido · WebMeUp link index · wildcard rule · group at line 9, no rule matches / |
| CloudflareBrowserRenderingCrawler | permitido · Cloudflare Browser Run /crawl · wildcard rule · group at line 9, no rule matches / |
| Cloudflare-AutoRAG | permitido · Cloudflare AutoRAG · wildcard rule · group at line 9, no rule matches / |
| Peer39_Crawler | permitido · Peer39 ad context · wildcard rule · group at line 9, no rule matches / |
| AdsBot-Google | permitido · Google Ads quality · wildcard rule · group at line 9, no rule matches / |
| AmazonAdBot | permitido · Amazon Ads · named rule · group at line 200, no rule matches / |
| AdIdxBot | permitido · Microsoft Ads · wildcard rule · group at line 9, no rule matches / |
| OAI-AdsBot | permitido · OpenAI ChatGPT ads page validation · wildcard rule · group at line 9, no rule matches / |
| Buscadores regionales — 7 de 7 permitidos | |
| Yeti | permitido · Naver · wildcard rule · group at line 9, no rule matches / |
| YoudaoBot | permitido · Youdao · wildcard rule · group at line 9, no rule matches / |
| Exabot | permitido · Exalead · wildcard rule · group at line 9, no rule matches / |
| Sogou web spider | permitido · Sogou · wildcard rule · group at line 9, no rule matches / |
| YisouSpider | permitido · Shenma mobile search · wildcard rule · group at line 9, no rule matches / |
| 360Spider | permitido · 360 Search · wildcard rule · group at line 9, no rule matches / |
| Sosospider | permitido · Soso · wildcard rule · group at line 9, no rule matches / |
| Vistas previas de enlaces en redes sociales — 6 de 6 permitidos | |
| Facebot | permitido · Meta link crawler · wildcard rule · group at line 9, no rule matches / |
| Twitterbot | permitido · X link preview · named rule · group at line 212, no rule matches / |
| LinkedInBot | permitido · LinkedIn link preview · wildcard rule · group at line 9, no rule matches / |
| facebookexternalhit | permitido · Facebook link preview · named rule · group at line 203, no rule matches / |
| Pinterestbot | permitido · Pinterest · wildcard rule · group at line 9, no rule matches / |
| Slackbot-LinkExpanding | permitido · Slack unfurl · wildcard rule · group at line 9, no rule matches / |
| 153 more crawler names checked — 141 allowed; the ones this robots.txt names or blocks: | |
| AI2Bot-DeepResearchEval | BLOQUEADO en / · Ai2 — AI assistant or agent · named rule · line 21: Disallow: / |
| ChatGLM-Spider | BLOQUEADO en / · AI data crawler · named rule · line 60: Disallow: / |
| Cotoyogi | BLOQUEADO en / · ROIS — AI data crawler · named rule · line 81: Disallow: / |
| Diffbot-User | BLOQUEADO en / · Diffbot — AI assistant or agent · named rule · line 90: Disallow: / |
| imageSpider | BLOQUEADO en / · AI data crawler · named rule · line 120: Disallow: / |
| laion-huggingface-processor | BLOQUEADO en / · AI data crawler · named rule · line 126: Disallow: / |
| LCC | BLOQUEADO en / · AI data crawler · named rule · line 129: Disallow: / |
| MistralAI-User/1.0 | BLOQUEADO en / · Mistral AI — AI assistant or agent · named rule · line 144: Disallow: / |
| Mozilla-Tabstack | permitido · Mozilla that performs programmatic — AI data crawler · named rule · line 224: Allow: / |
| SBIntuitionsBot | BLOQUEADO en / · SB Intuitions — AI data crawler · named rule · line 168: Disallow: / |
| Spider | BLOQUEADO en / · AI data crawler · named rule · line 177: Disallow: / |
| Thinkbot | BLOQUEADO en / · Thinkbot — AI data crawler · named rule · line 180: Disallow: / |
| Baiduspider-image | BLOQUEADO 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
| Medida | Actualmente | Óptimo | |
|---|---|---|---|
| Largest Contentful Paint (p75) cuánto espera un visitante real antes de que aparezca lo principal de la página | 3.52s | 2.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 | 136ms | 200ms o menos | ✓ Aprobado |
| Cumulative Layout Shift (p75) cuánto se mueve la página bajo un lector en plena lectura | 0.13 | 0.1 o menos | ✗ Suspendido |
| Time to First Byte (p75) la parte del servidor en cada una de las demás cifras de esta lista | 677ms | 800ms 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.51s | lower over time | Informado |
| Interaction to Next Paint trend getting faster — -7.5% across 40 weekly readings (2026-02-07 to 2026-11-07), real Chrome visitors | 146ms → 135ms | lower over time | Informado |
| Cumulative Layout Shift trend holding steady — 0% across 40 weekly readings (2026-02-07 to 2026-11-07), real Chrome visitors | 0.13 → 0.13 | lower over time | Informado |
| 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 5 | menos 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 lenta | menos 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.14s | 2.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.86s | 200ms o menos | ✗ Suspendido |
| Cumulative Layout Shift de laboratorio cuánto se movió el diseño simulado durante la carga | 0.193 | 0.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
| Medida | Actualmente | Ó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,548B | menos 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 cost | Informado |
| JavaScript en línea el JS en línea es sobrecarga pura para un rastreador que extrae texto | 43,837B | menos de 20.000B | ✗ Suspendido |
| Recursos que bloquean el renderizado cada uno retrasa el primer pintado y consume el presupuesto de renderizado del rastreador | 27 | 0–5 | ✗ Suspendido |
| Scripts diferidos frente a bloqueantes un script bloqueante detiene en seco el análisis del HTML | 2 diferidos / 17 bloqueantes | todos los scripts con defer o async | ✗ Suspendido |
A dónde van los bytes
| Texto visible | 13,731 B | 4,4% |
|---|---|---|
| CSS en línea | 46,455 B | 14,8% |
| JavaScript en línea | 43,837 B | 14,0% |
| Datos estructurados | 2,238 B | 0,7% |
| Marcado y atributos | 204,197 B | 65,1% |
| Recursos que bloquean el renderizado | 27 | 10 hojas de estilo, 17 scripts |
| Entidades con un @id estable | 1 / 3 | 33,3% |
| Relaciones de credenciales | 0 | 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
| Medida | Actualmente | Ó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 existe | No 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 host | No 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 entidades | No 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álido | No 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 host | el mismo host que sirve la página | ✓ Aprobado |
| El canonical usa https un canonical http provoca una cadena de redirecciones en cada rastreo | https | https | ✓ 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
| Medida | Actualmente | Ó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ón | una 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 lector | No 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 & ni ' dentro de un valor JSON-LD | No 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ígitos | No 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 texto | No 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ño | No 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
| Medida | Actualmente | Ó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 coincidencias | 0 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 | ninguna | 0 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 | 404 | decisión tuya — no puntúa | Informado |
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
| Medida | Actualmente | Ó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 respondieron | 0 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 rechazado | 0 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 | ninguna | 0 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 | ninguna | sin 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 | ninguna | 0 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 | coherente | ninguna 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 navegador | 90-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 away | decisión tuya — no puntúa | Informado |
| 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 served | 0 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 mundo | No 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.
| Identidad | Estado | Palabras | Mismo texto | Qué pasó |
|---|---|---|---|---|
| Cliente sin nombre | 200 | 2099 | 1 | |
| GPTBot | 200 | 2099 | 1 | |
| ClaudeBot | 200 | 2099 | 1 | |
| OAI-SearchBot | 200 | 2099 | 1 | |
| Claude-SearchBot | 200 | 2099 | 1 | |
| PerplexityBot | 200 | 2099 | 1 | |
| ChatGPT-User | 200 | 2099 | 1 | |
| Claude-User | 200 | 2099 | 1 | |
| Perplexity-User | 200 | 2099 | 1 | |
| Googlebot | 200 | 2099 | 1 | |
| Googlebot Smartphone | 200 | 2099 | 1 | |
| Navegador móvil | 200 | 2099 | 1 | |
| Bingbot | 200 | 2099 | 1 | |
| Applebot | 200 | 2099 | 1 | |
| Amazonbot | 200 | 2099 | 1 | |
| Bytespider | 429 | 9 | — | rate-limited (HTTP 429) — throttled, not blocked — vendor unidentified; reproduced on a second request |
| Meta-ExternalAgent | 403 | 5 | — | rechazado HTTP 403 — proveedor no identificado; reproducido en una segunda solicitud |
| CCBot | 200 | 2099 | 1 |
| Agente | Conflicto | Detalle |
|---|---|---|
| OAI-SearchBot | bloqueado con Disallow pero servido | HTTP 200 con 2099 palabras |
| Claude-SearchBot | bloqueado con Disallow pero servido | HTTP 200 con 2099 palabras |
| PerplexityBot | bloqueado con Disallow pero servido | HTTP 200 con 2099 palabras |
| ChatGPT-User | bloqueado con Disallow pero servido | HTTP 200 con 2099 palabras |
| Claude-User | bloqueado con Disallow pero servido | HTTP 200 con 2099 palabras |
| Perplexity-User | bloqueado con Disallow pero servido | HTTP 200 con 2099 palabras |
| Applebot | bloqueado con Disallow pero servido | HTTP 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.
| Identidad | Document | Differs on | Looks like |
|---|---|---|---|
| Bytespider | error | HTTP 429 | |
| Meta-ExternalAgent | error | HTTP 403 |
Compared on the copy each identity was served: title, H1, robots meta, canonical, word count, unique-token ratio (first screen and whole body), the dates the page states, its schema entities, author and salient terms. Reported, never scored. A difference is usually a device-segmented cache or a consent gate, and the last column says which it looks like.
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 | Índice | Obtención en vivo | Entrenamiento | Qué hizo realmente el edge | Mencionado 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
| Medida | Actualmente | Ó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 46 | 97,8% sin dimensiones: no se puntúa | Informado |
| 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-width | width=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 zoom | sin 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 | declarado | un enlace apple-touch-icon — no puntúa | Solo 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 | ausente | una meta theme-color — no puntúa | Informado |
| 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 viewport | no puntúa — son elementos diferenciadores, no defectos | Informado |
Presencia local, citas y NAP — 86/100
| Medida | Actualmente | Ó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.com | 200 en un host de Google | Informado |
| 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 | declarado | declarada 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 | declarado | latitud 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 | declarado | openingHours 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 | declarado | declarado | ✓ 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 | 0 | 1 a 4 | Informado |
| 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 | 1 | 4 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 | no | sí | ✗ 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 completa | dentro 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 punto | No 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 longitud | el punto cae dentro del país que indica la dirección; se informa, no se puntúa | Informado |
| 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 m | No 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 | 1 | 1 por local real; no se puntúa | Informado |
| 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 Denver | se informa, no puntúa | Informado |
| 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 Post | exactamente 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 una | ambos lugares indican el mismo número | Informado |
| 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 | +13039541010 | exactamente un número | ✓ Aprobado |
| Dirección postal en los datos estructurados dos direcciones dividen la entidad entre dos lugares | 5990 Washington St., Denver, CO, 80216 | una 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 | 3 | los 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, BBB | todos los que te pertenecen, declarados | Informado |
| 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 licencia | 0 | ✗ 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 | 0 | 0 | ✓ 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 | 0 | los que importan para tu sector | Informado |
| Fact trace: business name Carried through every layer: a machine that reads only the text gets it, and so does one that reads only the structured data. Reported, not scored | The Denver Post · HTML ✓ · text ✓ · schema ✓ | in the HTML, in the readable text and in the structured data | Informado |
| Fact trace: phone First missing at: readable text. It is only in the structured data, not in words on the page. Reported, not scored | (303) 954-1010 · HTML ✓ · text ✗ · schema ✓ | in the HTML, in the readable text and in the structured data | Informado |
| Fact trace: email First missing at: readable text. It is only in the structured data, not in words on the page. Reported, not scored | newsroom@denverpost.com · HTML ✓ · text ✗ · schema ✓ | in the HTML, in the readable text and in the structured data | Informado |
| Fact trace: street address First missing at: readable text. It is only in the structured data, not in words on the page. Reported, not scored | 5990 Washington St. · HTML ✓ · text ✗ · schema ✓ | in the HTML, in the readable text and in the structured data | Informado |
| Fact trace: service area Named only in the structured data: Denver Metropolitan Area and the state of Colorado. A text reader does not learn you serve them. Reported, not scored | 0 of 1 declared place in the readable text | every declared place also named on the page | Solo 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.
| Perfil | Respondió | Tu teléfono | Tu 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 versiones | 40 distintas, 2002-09-23 → 2004-04-12 |
Archivado llms.txt | ninguna archivada |
Exposed files and secrets — 89/100
| Medida | Actualmente | Ó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 readable | none 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.js | none | ✗ 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.txt | nothing private: no keys, internal addresses or personal emails | No 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
| Medida | Actualmente | Óptimo | |
|---|---|---|---|
| A missing page answers 404 the right answer for a page that does not exist | HTTP 404 | 404 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 words | a way back (home link or menu) | ✓ Aprobado |
| A missing file answers 404 the right answer for a file that does not exist | HTTP 404 | 404 | ✓ Aprobado |
| Error pages reveal server details server versions, PHP warnings and stack traces tell an attacker exactly which known flaws to try | nothing revealed | nothing revealed | ✓ 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
| Medida | Actualmente | Ó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 declaradas | al 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 2 | cada 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 URLs | 0 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 hijos | 0 sin declarar | Informado |
| Una muestra de las URL declaradas responde un sitemap que lista URL muertas gasta el presupuesto de un rastreador en nada | 0 de 6 rotas | 0 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 redirigen | 0 redirecciones | ✓ Aprobado |
| URL declaradas en el sitemap | 835 20 de 6000 sitemaps hijos leídos: el recuento es un mínimo, no un total |
| Enlaces internos en la página de inicio | 202 |
| Enlazadas pero no declaradas | no 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 muestra | 6 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.
Enlazado interno — 100/100
| Medida | Actualmente | Óptimo | |
|---|---|---|---|
| Enlaces internos en esta página una página que no enlaza a ningún sitio es un callejón sin salida para un rastreador que sigue la estructura de tu propio sitio | 309 | los suficientes para llegar a las páginas que importan | ✓ Aprobado |
| Destinos distintos una navegación repetida en el encabezado y en el pie cuenta dos veces y llega a los mismos sitios | 203 de 309 enlaces | la mayoría de los enlaces van a sitios distintos | ✓ Aprobado |
| Texto de anclaje que no dice nada el texto de anclaje es la única descripción de un destino que una máquina lee antes de decidir seguirlo | 0 | cero | ✓ Aprobado |
| Enlaces sin ninguna palabra un enlace de icono o de imagen sola es mudo: un lector de pantalla y un rastreador no reciben nada | 0 | cero | ✓ Aprobado |
| Enlaces internos marcados como nofollow decirle a un rastreador que no siga tus propias páginas es casi siempre un valor predeterminado de un plugin que nadie eligió | 0 | cero | ✓ Aprobado |
| Enlaces externos los enlaces salientes son una decisión editorial, no un defecto | 45 | se informa, no puntúa | Informado |
Qué páginas declaradas no reciben ningún enlace
En este escaneo se contrastó tu sitemap con tus propios enlaces internos y se identificaron las páginas a las que nada enlaza. Esa lista forma parte del informe de pago y aquí se retiene: retenida, no ausente.
Coherencia de nombres y mayúsculas — 80/100
| Medida | Actualmente | Ó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úsculas | siempre 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úsculas | 98–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 | coherente | un 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 | ninguna | menos del 2% de los enlaces internos (y menos de 3) | ✓ Aprobado |
Señales de imagen — 80/100
| Medida | Actualmente | Ó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 44 | todas | ✗ Suspendido |
| Carga diferida diferir la imagen principal retrasa el pintado más grande; diferir el resto acelera todo lo demás | 0 de 44 | solo debajo del pliegue | ✓ Aprobado |
| Formatos modernos (WebP/AVIF) archivos más pequeños, la misma imagen | 0 de 44 | la mayoría | Informado |
| Imagen principal priorizada la única imagen que el navegador debe obtener primero | 5 con fetchpriority=high, 5 precargados | una, cuando el pintado más grande es una imagen | Informado |
| 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 label | labels that say how each image was made | Informado |
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
| Elemento | Estado | Intentado | Motivo |
|---|---|---|---|
nl_entities | omitido | no | la lectura profunda de entidades se ejecuta para los dominios con registro continuo; este escaneo usó el resolvedor sin clave |
vantage | sin medir | no | 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ó |
identity:Bytespider | rechazado | sí | HTTP 429 |
identity:Meta-ExternalAgent | rechazado | sí | HTTP 403 |
section:commerce | sin medir | desconocido | no 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
| Dato | Valor indicado | Indicado en | |
|---|---|---|---|
name | The Denver Post | JSON-LD LocalBusiness meta og:site_name | coincide |
telephone | +13039541010 | JSON-LD LocalBusiness | una fuente |
email | newsroom@denverpost.com | JSON-LD LocalBusiness | una fuente |
address | 5990 Washington St., Denver, CO, 80216 | JSON-LD LocalBusiness | una fuente |
hours | Mo 8AM-4PM; Tu 8AM-4PM; We 8AM-4PM; Th 8AM-4PM; Fr 8AM-4PM | JSON-LD LocalBusiness | una fuente |
geo | 39.7392,104.9903 | JSON-LD LocalBusiness | una fuente |
url | https://www.denverpost.com/ | JSON-LD NewsMediaOrganization JSON-LD LocalBusiness | coincide |
logo | https://i0.wp.com/www.denverpost.com/wp-content/uploads/2020/11/denverpost.jpg?w=1200&crop=00px100630px&ssl=1 | JSON-LD LocalBusiness | una fuente |
foundingDate | 1892 | JSON-LD LocalBusiness | una fuente |
areaServed | 1 área: Denver Metropolitan Area and the state of Colorado | JSON-LD LocalBusiness | una fuente |
sameAs | 3 perfiles | JSON-LD LocalBusiness | una fuente |
title | The Denver Post – Colorado breaking news, sports, business, weather, entertainment. | <title> | coincide |
| The Denver Post | meta og:title | ||
description | Colorado breaking news, sports, business, weather, entertainment. | meta og:description | una fuente |
canonical | https://www.denverpost.com | meta og:url | una fuente |
language | en-US | <html lang> | coincide |
| en_US | meta og:locale | ||
image | https://www.denverpost.com/wp-content/uploads/2020/11/denverpost.jpg | meta og:imagemeta 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.
| 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.
| Medida | Actualmente | Ó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ó | ausente | Un 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 prometer | Informado |
| 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ómo | Informado |
| 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 navegadores | Informado |
| DNS-AID records An IETF draft (DNS for AI Discovery). Early: almost no site has these yet, so absence is not a defect | ausente | SVCB or TXT records at _index._agents (and _mcp._agents / _a2a._agents) pointing agents at your MCP server or agent card | Informado |
| 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=shortlink | Solo relaciones registradas: canonical, alternate, describedby. Nunca un rel inventado para contentar a un verificador | Informado |
| ARD manifest The index agent registries crawl. Applies once the site has an agentic resource to list; a brochure site has nothing to put in it | ausente | /.well-known/ard.json (Agentic Resource Discovery v0.91): one entry per MCP server, agent card, skill or API this site offers, each with a urn:air:denverpost.com:<name> identifier, a media type, a url, and 2-5 representativeQueries | Informado |
| Índice de habilidades para agentes Para 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 sha256 | Informado |
| Catálogo de API NO APLICA: no se encontró ninguna API pública. Un catálogo vacío no es una mejora | ausente | Nada que publicar: no se pudo descubrir ninguna API en este sitio | Informado |
| 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 capacidades | Informado |
| 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 aplica | Nada que publicar: no hay señales de comercio en este sitio | No aplicable |
| Metadatos de OAuth / recurso protegido NO APLICA: no hay nada contra lo que autenticarse | no aplica | Nada que publicar: no hay ninguna API protegida en este sitio | No aplicable |
| Web Bot Auth Te identifica como quien hace la solicitud, no como destino. Irrelevante para un sitio que solo recibe tráfico | informativo | Un JWKS en /.well-known/http-message-signatures-directory, solo si ESTE sitio envía solicitudes de agente firmadas a otros | Informado |
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.
| Medida | Actualmente | Ó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 | 24 | los temas de los que trata esta página | Informado |
| 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 24 | algo con nombre que el registro público conoce | Informado |
| 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 desambiguar | resuelto en contexto | Informado |
| 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 | 14 | 0 | Informado |
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 mentionsColorado— Q1261 · state of the United States of America · 10 mentionsBroncos— Q60740406 · untrained horse or a horse that habitually bucks · 8 mentionsDaiyan Henley— Q114245319 · American football player (born 1999) · 6 mentionsOpinion— Q3962655 · judgement, viewpoint, or statement that is not conclusive · 5 mentionsBestReviews— Q7020906 · American media company · 3 mentionsBoulder— Q581776 · natural rock fragment larger than 25.6 cm in diameter (larger than 200 mm diameter according to ISO 14688) · 3 mentionsThanksgiving— Q13959 · holiday in various countries · 3 mentionsAurora— Q40609 · natural light display that occurs in the sky, primarily at high latitudes (near the Arctic and Antarctic on Earth) or even on other planets · 2 mentionsCarolina Panthers— Q330120 · National Football League franchise in Charlotte, North Carolina · 2 mentionsCongressional District— Q192611 · territorial division made or used for elections · 2 mentionsKansas City Chiefs— Q223522 · National Football League franchise in Kansas City, Missouri · 2 mentions
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.
| Medida | Actualmente | Ó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 | 1 | cada lugar que el negocio atiende realmente, como nodos City o Place | Informado |
| Radio declarado el radio es la única afirmación que acota todas las demás | sin GeoCircle | un GeoCircle alrededor del centro real | Informado |
| Á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 1 | cada nombre declarado se resuelve en un lugar | Informado |
| Á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 1 | una página de ubicación por cada área que importa | Informado |
| Á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 | ninguna | cero | Informado |
| Área declarada más lejana la distancia con la que el negocio se compromete públicamente | — | dentro del radio | No medido |
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.
| Medida | Actualmente | Ó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 escaneo | hasta 60 páginas declaradas, leídas una vez al día | Informado |
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.
| Medida | Actualmente | Ó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 835 | cada URL, con su fecha real | Informado |
| 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 publica | Informado |
| 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 real | Informado |
| 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 verdadero | Informado |
| 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 | ninguna | presente, y actualizada cuando cambió la página | Informado |
| 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 marcada | Informado |
| RSS or Atom feed a refusal is a fact about the request, not the feed; the file may be fine for readers the shield allows | declared (www.denverpost.com/feed/), but the site refused CrawlCheck’s request for it | declared, valid, recent | Solo declarado |
| Unchanged page answers 304 to a re-check a crawler re-checking a page it already has sends If-None-Match or If-Modified-Since; a 304 costs it a few hundred bytes instead of the whole page, so it can afford to check more often | no ETag or Last-Modified, so a crawler cannot ask | 304 Not Modified | Informado |
| IndexNow (instant change pings to Bing and others) IndexNow is sent by the site, so a scanner cannot see it; ChatGPT search draws on Bing's index, which IndexNow updates within minutes. CrawlCheck's guide shows how to set it up and confirm a 200 | cannot be seen from outside | pinged on every publish | Informado |
| 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 versiones | un historial largo | Informado |
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.
| Medida | Actualmente | Ó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 atiendas | Informado |
| 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 correos | todos | Informado |
| 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 medir | leído de los términos de búsqueda del perfil | No 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.
| Medida | Actualmente | Ó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 | ninguna | al menos un enlace para llamar con un toque | Informado |
| 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 | no | en el primer cuarto de la página | Informado |
| 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 pliegue | un formulario, accesible sin desplazarse | Informado |
| 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 principio | Informado |
| 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áginas | Informado |
| 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 detectado | presente en sitios de servicios | Informado |
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.
| Medida | Actualmente | Ó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 it | Informado |
| Phone number in the text A number that exists only as a tel: link or in markup is invisible to an agent reading the text; written out, it can be quoted | not in the text (+13039541010 is in a link or markup only) | written out in the opening text | ✗ 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 homepage | shown, if true of the business | Informado |
| Many reviews changing “212 Google reviews” to “9 Google reviews” dropped the business in 136 of 177 paired tests, 1.58 places on average; 2 of 2 models tested punish it | not found on the homepage | shown, if true of the business | Informado |
| Serves the asker's city changing “Serves the asker’s city and nearby” to “Serves a town 40 miles from the asker’s city” dropped the business in 117 of 175 paired tests, 1.52 places on average; 2 of 2 models tested punish it | shown: service area in structured data | shown, if true of the business | Informado |
| Licence number shown changing “State licence #48213, active” to “No licence information” dropped the business in 85 of 175 paired tests, 0.78 places on average; 1 of 2 models tested punish it | not found on the homepage | shown, if true of the business | Informado |
| Insurance stated changing “Insured and bonded” to “No insurance information” dropped the business in 68 of 173 paired tests, 0.64 places on average; 0 of 2 models tested punish it | not found on the homepage | shown, if true of the business | Informado |
| Fast reply changing “Replies to inquiries within 1 hour” to “Replies to inquiries within 3-5 days” dropped the business in 51 of 176 paired tests, 0.38 places on average; 0 of 2 models tested punish it | not found on the homepage | shown, if true of the business | Informado |
| Years in business changing “In business since 2009” to “Founded in 2025” dropped the business in 45 of 172 paired tests, 0.36 places on average; 0 of 2 models tested punish it | shown: founded 1892 in structured data | shown, if true of the business | Informado |
| Emergency service changing “24/7 emergency service” to “Weekday appointments only” dropped the business in 44 of 177 paired tests, 0.29 places on average; 0 of 2 models tested punish it | not found on the homepage | shown, if true of the business | Informado |
| Phone listed changing “Phone (555) 010-4477” to “No phone listed (contact form only)” dropped the business in 32 of 178 paired tests, 0.19 places on average; 0 of 2 models tested punish it | shown: phone in structured data | shown, if true of the business | Informado |
| Hours stated changing “Hours: Mon-Sat 7am-6pm” to “Hours: not listed” dropped the business in 28 of 175 paired tests, 0.13 places on average; 0 of 2 models tested punish it | shown: opening hours in structured data | shown, if true of the business | Informado |
| Prices published changing “Prices published, free written estimates” to “Call for pricing” dropped the business in 11 of 173 paired tests, 0.03 places on average; 0 of 2 models tested punish it | shown: $60,000 | shown, if true of the business | Informado |
When an AI model picks a business, it weighs facts like these. CrawlCheck measures how much each one moves a model’s ranking (five businesses ranked with and without the fact, openai/gpt-oss-120b) and checks your homepage for it. The facts that cost the most when missing and are not on your homepage: higher rating, many reviews. Add only what is true of the business. Full method: the sensitivity census.
Trust and reputation (measured, not scored) — 7 de 8 dentro 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.
| Medida | Actualmente | Ó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ó ninguno | a 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 | coherente | consistent | ✓ 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 source | no 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-11 | more than 30 days left | ✓ Aprobado |
| Parked, for sale or placeholder a parked or for-sale page is not a working business | no | no | ✓ Aprobado |
| Redirects to another organisation a site that forwards to a different organisation is not the business it names | no | no | ✓ 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ó ninguno | none | ✓ 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.
| Medida | Actualmente | Ó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.
| Medida | Actualmente | Ó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 domains | none | ✓ 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, includeSubDomains | max-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 from | Warning |
| Clickjacking protection (framing) any site can load the page in a hidden frame and trick visitors into clicking. Fix: X-Frame-Options: SAMEORIGIN or frame-ancestors 'self' | no definido | DENY, 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 definido | set | ✗ 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 stricter | Informado |
| Browser permission restrictions (camera, microphone, location) an advisory, not a sign of misuse: with no policy, any script on the page, third-party ones included, may ask the visitor for camera, microphone or location. Fix: Permissions-Policy: camera=(), microphone=(), geolocation=() | no Permissions-Policy | blocked with an empty list, e.g. camera=() | Warning |
| Insecure resources on the HTTPS page http:// scripts, images or frames on an HTTPS page can be swapped in transit; browsers block or flag them | 0 | 0 | ✓ Aprobado |
| Software version shown in headers a visible version tells attackers which known flaws to try | none shown | none 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 3 | 0 | ✓ 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 cookie | HttpOnly on every session cookie | No aplicable |
| Forms that send over plain HTTP every form posts over HTTPS | none of 3 forms | none | ✓ Aprobado |
| Where forms send their data nothing typed into these forms leaves the site's own host | only this site | this site or a processor the owner chose | ✓ 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 advisory | no 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 hosts | no 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.com | every new script or form destination intended | Warning |
| Email forgery protection (DMARC) without an enforcing policy, anyone can send email that appears to come from this domain | p=quarantine | p=quarantine or p=reject | ✓ Aprobado |
| SPF names the servers allowed to send this domain's mail | present, ends fail | present, ends fail or softfail | ✓ Aprobado |
| CAA (who may issue certificates) limits which certificate authorities can issue a certificate for the domain | ninguna | set | ✗ Suspendido |
| DNSSEC protects visitors from forged DNS answers | not signed | signed | ✗ 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-11 | renewal 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 scan | no unsafe content | Informado |
| OpenPhish phishing feed a live phishing feed, updated hourly, that mail filters and security tools import | no listado | no listado | ✓ Aprobado |
| Registrar transfer lock the domain cannot be moved to another registrar without unlocking it first | on | on (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 directive | preloaded | Informado |
| Third-party scripts and styles unpinned library files from ajax.googleapis.com, cdn.jsdelivr.net: if that CDN is compromised, the altered file runs here; add integrity= with the file's hash | 18 from 17 outside hosts, 0 pinned with integrity= | static library files pinned with integrity= | ✗ 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 | ninguna | none | ✓ Aprobado |
| Hacked-site signatures hidden spam links, cryptominers and obfuscated loaders are the usual traces of a hacked site | no se encontró ninguno | none | ✓ 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 subdomains | none | ✓ 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 back | every 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.
| Medida | Actualmente | Ó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 21 | a 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 21 | a 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 21 | a 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 rest | a stated answer either way: allow or deny | Informado |
| Acting for a user an agent acting or buying on the page for a person. The signal and line named here are what a crawler reading the site's own declarations finds. | denied — decided by robots.txt line 21 | a stated answer, once a standard signal for this use exists | Informado |
| Signals that disagree two signals answering the same question differently leave each crawler to pick the one it honours; a denial anywhere is read here as a denial | ninguna | none | ✓ 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 meta | robots.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 page | machine-readable signals that say what the terms say | Informado |
One answer per use, merged from everything the site publishes about what AI may do with its pages: robots.txt read for each agent’s own group, Content-Signal, ai.txt, TDM-Rep, robots meta and X-Robots-Tag, and the terms page. A denial anywhere denies; an explicit yes allows; a snippet limit limits; a clause in the terms restricts a use nothing machine-readable answers. The right answer is yours to choose; what is measured is whether you chose one and whether your signals agree. Not legal advice. The full answer: every signal, per path and per agent · the same answer travels in the Resolve record agents read before they fetch.
Price transparency (measured, not scored) — 2 de 3 dentro 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.
| Medida | Actualmente | Ó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 | ninguna | Offer 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.
| Medida | Actualmente | Ó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 12 | 10 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.com | only 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.
| Medida | Actualmente | Ó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 English | the same language | ✓ Aprobado |
| Language versions declared (hreflang) hreflang tells an engine which version to show to which searcher | ninguna | only needed when the site has versions in other languages or regions | Informado |
| The country signals agree an engine places a local business by these signals; when they name different countries it has to pick one | page language en-US (US); og:locale en_US (US); phone prefix +1 (US/CA) | one country | ✓ 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.
| Medida | Actualmente | Ó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 it | cited by more than one engine | Informado |
| Pages the answers cited these are the pages an engine quotes for you; keep them current, fast and in the sitemap before anything else | no page of it recorded in a cited answer | the pages that answer the question | Informado |
| This site's own answer test the watch plan runs the site's own prompts daily and records which answers cite it | not run for this domain yet | a run of prompts with and without its name | Informado |
From the answers CrawlCheck itself has collected: the local trade-by-city prompts, the daily citation watch and manual runs, across Perplexity, Gemini, Google AI Overviews and ChatGPT where each was run. It is a sample, not every answer an engine has given, so "none" means none in that sample. Pages and prompts are recorded for answers given with web search on. Read 2026-11-12 00:17 UTC. Measured, not scored.
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ágina | En el conjunto de datos | Capturada | Estado |
|---|---|---|---|
| / | no se pudo comprobar | — | el índice respondió 521 (limita las ráfagas; esto no dice nada sobre |
| /sitemap.xml?yyyy=2026&mm=10&dd=31 | no encontrada | — | — |
| /sitemap.xml?yyyy=2026&mm=10&dd=30 | no se pudo comprobar | — | el índice respondió 504 (limita las ráfagas; esto no dice nada sobre |
| /sitemap.xml?yyyy=2026&mm=10&dd=29 | no encontrada | — | — |
| /sitemap.xml?yyyy=2026&mm=10&dd=28 | no se pudo comprobar | — | el índice respondió 504 (limita las ráfagas; esto no dice nada sobre |
| /sitemap.xml?yyyy=2026&mm=10&dd=27 | no 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.
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
| Medida | Este sitio | Mediana del corpus | Posición |
|---|---|---|---|
| Puntuación de visibilidad en IA (la calificación mostrada) | 81 | 80 | percentil 56 |
| Promedio de secciones (ponderado) | 80 | 81 | percentil 41 |
| Proporción de contenido (% de texto visible) | 4.4 | 3.4 | percentil 69 |
| Cobertura de @id estables (%) | 33.3 | 84.6 | percentil 8 |
| Recursos que bloquean el renderizado | 27 | 10.5 | percentil 19 |
| Tamaño de página entregado (KB) | 306 | 182 | percentil 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.
| Etapa | Pregunta | Puntuació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ágina | OAI-SearchBot · Claude-SearchBot · PerplexityBot · ChatGPT-User · Claude-User · Perplexity-User · Googlebot · Googlebot Smartphone · Bingbot · Applebot |
| Bloqueado con Disallow en 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 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.
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.
| Medida | Antes | Ahora | Cambio |
|---|---|---|---|
| Puntuación general | 81/100 | 80/100 | -1/100 ✗ |
| Proporción de contenido | 4,6% | 4.4% | -0.2% ✗ |
| Cobertura de @id estables | 33,3% | 33.3% | sin cambios |
| Recursos que bloquean el renderizado | 27 | 27 | sin cambios |
| Tamaño de página | 310 KB | 306 KB | -4 KB ✓ |
| Hallazgos | 11 | 11 | sin 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ón | Qué hace | Este registro | |
|---|---|---|---|
| Volver a escanear | Una 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 UTC | Volver a escanear |
| Reprocesar | Las 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) |
| Reproducir | El 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 informe | b0e6d0e6517e9048399de38a42208b2e2dde97fc29f2356012d0fea6ddfd47fd |
| Reglas de puntuación | v34 — actual |
| Raíz | registrado, 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.
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
| Ruta | Estado | Tipo de contenido | Bytes | Edge | |
|---|---|---|---|---|---|
| /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.
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.
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.
| Consulta | Resultado | Limitación de quién | Por qué |
|---|---|---|---|
| Presencia fuera del sitio (directorios buscados por número de teléfono) | alcanzado | tuyo | Yelp, 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 respuesta | sin alcanzar | nuestra | nuestra 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 Google | rechazado | suyo, dirigido a nosotros | Google 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.
| componente | estado | puntuación | medida |
|---|---|---|---|
| Archivos para máquinas | puntuado | 67 | robots.txt, llms.txt, sitemap y entitymap tal como se puntuaron arriba |
| Carga útil: proporción de contenido | puntuado | 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 renderizado | puntuado | 0 | 27 recursos que bloquean el renderizado |
| Estructura del documento | puntuado | 80 | 0 saltos de encabezado, 2 h1 |
| componente | estado | puntuación | medida |
|---|---|---|---|
| Identidad de la entidad | puntuado | 33 | el 33,3% de 3 entidades tiene un @id estable |
| Posición declarada | puntuado | 40 | no se declaran relaciones de credenciales |
| Coherencia de ubicación | puntuado | 100 | 1/1 ubicaciones tienen dirección postal |
| Afirmaciones de identidad | puntuado | 0 | 1 de 1 enlaces de mapa apuntan a lugares, no al negocio |
| Etiquetado de la página | puntuado | 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ón | Puntuación | Peso |
|---|---|---|
| Capa para máquinas | 67/100 | 1.5 |
| Servidor y alojamiento | 80/100 | 0.6 |
| Schema y grafo de entidades | 55/100 | 1.2 |
| Superficie RDF y de datos enlazados | 100/100 | 0.8 |
| Señales de autoría y confianza (indicadores de E-E-A-T) | 57/100 | 1 |
| Estructura de accesibilidad (a partir del HTML entregado) | 96/100 | 0.8 |
| Corroboración de la entidad | 100/100 | 0.6 |
| Contenido citable | 67/100 | 0.8 |
| Rastreo desperdiciado | 100/100 | 0.6 |
| Tema de la página, la pregunta de Webref | 100/100 | 0.6 |
| Agentes de IA y de búsqueda | 33/100 | 1.2 |
| La velocidad que ve un rastreador, y datos de campo donde existen | 44/100 | 1 |
| Carga útil y ruta de renderizado | 20/100 | 1 |
| Cadena de confianza de los archivos para máquinas | 100/100 | 1.5 |
| Coherencia de las afirmaciones | 100/100 | 1.3 |
| Superficie de instrucciones para agentes | 100/100 | 1 |
| Qué recibe cada agente | 88/100 | 1.5 |
| Superficie móvil | 100/100 | 0.8 |
| Presencia local, citas y NAP | 86/100 | 1.3 |
| Exposed files and secrets | 89/100 | 0.6 |
| Páginas de error | 100/100 | 0.4 |
| Cobertura del sitemap | 100/100 | 1.2 |
| Enlazado interno | 100/100 | 1 |
| Coherencia de nombres y mayúsculas | 80/100 | 0.4 |
| Señales de imagen | 80/100 | 0.6 |
Not scored, and therefore excluded rather than counted as zero: Agent surfaces (emerging, not scored), Content entities (measured, not yet scored), Service area, as declared (measured, not scored), The whole site, not just the front door (measured, not scored), Freshness, as the site declares it (measured, not scored), Local intents, the Maps vocabulary (measured, not scored), Conversion path on the page (measured, not scored), Where AI already cites this site (measured, not scored), What AI looks for vs what your page shows (measured, not scored), Trust and reputation (measured, not scored), Claims and their evidence (measured, not scored), Site safety (measured, not scored), AI rights and consent (measured, not scored), Price transparency (measured, not scored), Third-party dependencies (measured, not scored), Language and region (measured, not scored).
Alcanzar, luego leer, luego citar
Alcanzar, luego leer, luego citar: cada etapa condiciona la siguiente
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.
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.