¿Qué debe saber un agente antes de actuar en un sitio?
En una frase
CrawlCheck da a un agente de IA una respuesta firmada sobre un sitio web antes de que lo lea, lo cite, se conecte a él o transaccione con él: qué recibió de verdad cada rastreador, qué declara el sitio, quién ha demostrado que lo opera, si imita una marca conocida, y una decisión por acción a partir de reglas publicadas — gratis, sin clave, verificable sin conexión.
Cada respuesta está firmada, registrada y es verificable sin conexión, así que un agente puede confiar en ella y citarla sin fiarse de CrawlCheck. No hace falta clave. La respuesta se construye a partir de la misma medición que un propietario de sitio ve en un informe: qué recibió de verdad cada identidad de rastreador, qué declara el sitio, quién ha demostrado que lo opera, si imita una marca conocida, y una decisión por acción a partir de reglas publicadas.
GET https://crawlcheck.io/api/v1/resolve?domain=example.comPagar nunca cambia una medición. Inicio rápido · Protocolo Resolve · SDK · Cifras en vivo
Preguntar. Verificar. Citar.
Preguntar
Una llamada, sin clave.
GET /api/v1/resolve?domain= devuelve la respuesta firmada; POST /api/v1/preflight devuelve una decisión para una acción, con un recibo que el sitio puede comprobar. SDK tipados en npm y PyPI, y un servidor MCP en el registro oficial.
Inicio rápido · Resolve · SDK
Verificar
Compruébalo sin confiar en nosotros.
Cada respuesta está firmada con Ed25519 y una clave publicada, y se verifica sin conexión con un solo script sin dependencias. Cualquier informe se descarga como un paquete de pruebas: el manifiesto firmado de lo que recibió cada rastreador, el resumen del registro, su ruta hasta la raíz sellada del día y la marca de tiempo en Bitcoin.
Mencionar
Una dirección permanente para cada respuesta.
El enlace rel="cite-as" de una respuesta nombra el dominio, la hora y el resumen, y más tarde resuelve exactamente a esa respuesta. Atribuye CrawlCheck cuando una respuesta se muestre a personas; la instantánea diaria es CC BY 4.0.
La medición
Lo que 14 identidades de rastreador recibieron de denverpost.com
Un sitio real, escaneado hace 12 días — 1 identidad fue rechazada, 10 recibieron bytes distintos a los del navegador, cada una con las mismas 2.061 palabras. Abrir el registro completo o ver qué se le dice a un agente sobre cualquier dominio.
Tres llamadas
| 1 · Preguntar | GET https://crawlcheck.io/api/v1/resolve?domain=example.comSin clave, sin cuenta. Una respuesta JSON: qué afirma el dominio, qué sirve a los rastreadores nombrados, quién lo controla, una decisión para leer, citar, conectar y transaccionar, qué cambió y las pruebas detrás de cada punto. |
|---|---|
| 2 · Verificar | node crawlcheck-verify.mjs answer.json --onlineCada respuesta está firmada con Ed25519 contra una clave publicada y anotada en un registro de transparencia de solo adición. El verificador es un único archivo sin dependencias; los SDK llevan la misma comprobación (npm i @crawlcheck/sdk, pip install crawlcheck). |
| 3 · Citar | Link: <https://crawlcheck.io/api/v1/resolve?domain=example.com&as_of=…>; rel="cite-as"Cada respuesta lleva una URL permanente a esa respuesta exacta (cite-as, RFC 8574). Devuelve la respuesta vigente en ese momento, firmada tal como estaba entonces, con su lugar en el registro. |
Formato de cita
CrawlCheck. Resolve record for {domain}, answered {answered_at} (sha256 {sha256}). {cite_as}Ejemplo:
CrawlCheck. Resolve record for github.com, answered 2026-10-09T15:37:51.090Z (sha256 a29fb7d9…). https://crawlcheck.io/api/v1/resolve?domain=github.com&as_of=2026-10-09T15:37:51.090ZLa URL es el enlace rel="cite-as" de la respuesta. Atribuye CrawlCheck cuando muestres una respuesta a personas (términos de la API). La instantánea diaria es CC BY 4.0.
Otras formas de preguntar
| Antes de una acción | POST /api/v1/preflightallow, warn, require_confirmation o block para una acción, con un recibo firmado que el sitio visitado puede comprobar |
|---|---|
| Desde un cliente MCP | https://crawlcheck.io/mcplas herramientas resolve_domain, preflight y mcp_servers; las mismas respuestas firmadas |
| Por DNS | example.com._v.crawlcheck.io TXTun veredicto firmado compacto mediante DNS sobre HTTPS en /dns-query |
| Desde el propio sitio | https://example.com/.well-known/crawlcheck-staple.jsonel veredicto firmado servido por el propio sitio, sin necesidad de llamar a CrawlCheck |
| Sin revelar el sitio | GET /api/v1/resolve-prefix/{2-8 hex of sha256(domain)}todas las respuestas del cubo; eliges la tuya en local |
| Totalmente sin conexión | GET /api/v1/snapshotla instantánea diaria firmada, una respuesta firmada por línea, CC BY 4.0 |
| Los propios datos de una empresa | GET /api/v1/business/record?domain=el registro firmado y versionado de lo que la empresa publica sobre sí misma |
| Qué cambió | GET /api/v1/changesel feed de cambios, también como flujo |
Qué cuenta
Medido por acciones de agentes verificadas, respaldadas por un registro Resolve firmado y reciente, por tipo de acción (leer · citar · conectar · transaccionar), con falsos positivos, disputas, desconocidos y reversiones contados. Ver las cifras en vivo · Cuota de preflight.
Qué cubre una decisión de cita
Una decisión de cita cubre acceso, permisos, identidad y procedencia: si la página puede leerse y atribuirse, bajo qué derechos declarados, de quién, observada cuándo. No garantiza que el contenido sea cierto.
Qué cubre la respuesta, acción por acción.
Antes de que un agente lea, cite, se conecte o compre en un sitio, CrawlCheck da una respuesta sobre él: qué recibió de verdad cada rastreador de IA, qué declara el sitio sobre sí mismo, quién ha demostrado que lo opera, si imita una marca conocida, y una decisión para cada acción — permitir, advertir, preguntar a un humano o bloquear. Cada respuesta está firmada y puede comprobarse sin conexión.
Qué reciben de verdad los agentes
Cada identidad de rastreador de IA obtenida en el mismo segundo que un navegador normal: rechazada, con desafío, más pobre o la misma página.
Ver esta sección en un informe real: Permisos de rastreadores →
Qué afirma el sitio
Nombre, teléfono, dirección y las afirmaciones de la página, cotejadas con sus propios datos estructurados y con los directorios que lo listan.
Ver esta sección en un informe real: Coherencia de las afirmaciones →
Quién dice ser
La identidad en sus datos estructurados y su mapa de entidades, y si los perfiles que enlaza apuntan de vuelta.
Qué declara a las máquinas
robots.txt, sitemap, llms.txt, agents.md y cualquier superficie MCP o API que publique, cada una leída y comprobada, nunca invocada más allá de la solo lectura.
¿Tu sitio es uno de ellos? Compruébalo gratis → Las 58 tasas →
El flujo de trabajo
- Pregunta por un dominioGET /api/v1/resolve?domain=example.com. Sin clave, sin cuenta. Un sitio nunca visto obtiene una primera respuesta en aproximadamente un segundo, marcada como parcial.
- Lee la decisión para tu acciónleer, citar, conectar, transaccionar y administrar llevan cada una allow, warn, require_confirmation, block o unsupported, con el motivo y las pruebas.
- Verifica la firmaLa respuesta está firmada con una clave Ed25519 publicada. Un script la comprueba sin conexión, así que el agente nunca tiene que confiar en la red por la que llegó.
- Pregunta antes de cada acciónPOST /api/v1/preflight devuelve una decisión y un recibo que el sitio visitado puede comprobar, de modo que ambas partes pueden mostrar qué se sabía cuando el agente actuó.
Qué hacen los agentes de IA en los sitios web y qué necesita un sitio para estar listo.
La web agéntica es la parte de la web que usan agentes de IA en lugar de personas: rastreadores que leen páginas para búsqueda y entrenamiento, asistentes que obtienen una página porque alguien lo pidió, y navegadores agénticos como Perplexity Comet, ChatGPT Atlas y el modo Copilot de Microsoft Edge que hacen clic, rellenan formularios y compran en nombre de una persona. Un sitio está listo cuando los agentes pueden alcanzarlo, leerlo, saber qué permite y verificar quién lo opera.
¿Pueden alcanzarlo los agentes?
La página tal como la recibe cada identidad de rastreador y asistente de IA, comparada con un navegador: rechazada, con desafío, más pobre o idéntica.
Ver esta sección en un informe real: Permisos de rastreadores →
Qué se le dice a un agente
La respuesta firmada que un agente obtiene sobre el sitio antes de actuar: una decisión para leer, citar, conectar y transaccionar.
Ver esta sección en un informe real: Qué recibe cada rastreador →
Qué declara
robots.txt, llms.txt, agents.md, el sitemap y cualquier tarjeta MCP o API, cada uno leído y comprobado.
Ver esta sección en un informe real: Archivos para máquinas →
Instrucciones a los agentes
Qué le dicen los archivos del sitio a un agente que haga, y si algo de ello contradice a robots.txt.
Ver esta sección en un informe real: Instrucciones para agentes →
Qué hace un sitio al respecto
- Ser alcanzableAsegúrate de que los rastreadores y asistentes de IA que quieres reciben la misma página que un navegador. La protección contra bots es el motivo más común de que no sea así.
- Ser legiblePon el contenido en el HTML, no solo en JavaScript, y publica llms.txt para que un agente encuentre las páginas que importan.
- Declarar lo que permitesrobots.txt para rastreadores, y agents.md o una tarjeta MCP para los agentes que actúan, de modo que haya una única política declarada.
- Ser verificableRegistra el sitio gratis y los agentes que pregunten por él sabrán, en una respuesta firmada que pueden comprobar, que su propietario está verificado.
Los propietarios de sitios empiezan por el escaneo gratuito: para sitios, robots.txt para rastreadores de IA, auditoría de llms.txt, el registro. El término en sí: web agéntica, definida.
Las capas en las que un agente puede confiar.
Cada tarjeta es un recuento en vivo o un artefacto publicado, con la página que permite comprobarlo.
Cada archivo legible por máquina en crawlcheck.io, y cómo comprobarlo.
Cada archivo responde con el tipo de medio indicado. La comprobación es un comando que ejecuta usted mismo: los archivos firmados pasan por el verificador sin conexión, el resto por un analizador o un campo que debe estar presente. El verificador es /crawlcheck-verify.mjs.
| File | Served as | What it is, and the check |
|---|---|---|
| Discovery | ||
/robots.txt | text/plain | Crawl rules for every named crawler plus Content Signals (search, ai-input, ai-train preferences). |
/sitemap.xmlalso /sitemap-pages.xml, /sitemap-glossary.xml, /sitemap-directory.xml, /sitemap-registry.xml, /sitemap-certificates.xml | application/xml | Sitemap index: pages, glossary, directory, registry and certificates sitemaps. |
/llms.txt | text/plain | The site for language models: what CrawlCheck is and every page worth reading, by door. |
/llms-full.txt | text/markdown | The full technical guide for agents and developers in one Markdown file. |
/agents.mdalso /AGENTS.md | text/markdown | How an agent should use CrawlCheck: the core calls, the site by door, the rules. |
/SKILL.mdalso /.well-known/agent-skills/crawlcheck/SKILL.md | text/markdown | Agent skill file: when to call CrawlCheck and how, with YAML front matter. |
/.well-known/agent-skills/index.json | application/json | Agent Skills discovery index pointing at SKILL.md. |
/for-agents.md | text/markdown | This page as Markdown. Any page also answers Accept: text/markdown. |
| APIs | ||
/.well-known/api-catalog | application/linkset+json | API catalog (RFC 9727): every API with its description, docs and status links. |
/openapi.jsonalso /swagger.json, /.well-known/openapi.json | application/json | OpenAPI description of every documented operation, each with a worked example. |
/openapi.yaml | application/yaml | The same OpenAPI description for YAML tooling (JSON is valid YAML 1.2). |
/.well-known/mcp/server-card.jsonalso /.well-known/mcp.json | application/json | MCP server card: the remote MCP endpoint, its tools and auth. |
/.well-known/agent-card.jsonalso /.well-known/agent.json | application/json | A2A agent card: skills, endpoint and protocol version. |
/schemas/resolve.json | application/schema+json | JSON Schema for a Resolve answer, to validate one before acting on it. |
| Signed | ||
/.well-known/crawlcheck.json | application/json | This page as a signed manifest: purpose, core calls, keys. |
/.well-known/crawlcheck-staple.json | application/json | crawlcheck.io's own signed Resolve answer, stapled so an agent needs no second call. |
/crawlcheck-verify.mjs | text/javascript | The offline verifier: zero dependencies, Node 20+. Checks signatures, digests and log inclusion. |
| Keys and identity | ||
/.well-known/http-message-signatures-directory | application/http-message-signatures-directory+json | Web Bot Auth key directory (Ed25519) for requests CrawlCheck signs. The response itself is signed. |
/.well-known/signature-agent-card | application/json | Signature agent card: who signs, contact, the key directory. |
/.well-known/key-transparency.json | application/json | Every signing key ever published, with when it was used. |
/.well-known/security-key-rotation.json | application/json | Key rotation record: current key, previous keys, the rotation rule. |
/.well-known/ips.json | application/json | The IP ranges CrawlCheck crawls from (it owns none; it runs on Cloudflare's network). |
/.well-known/crawlcheck-observers.json | application/json | Every observer that takes readings, with its class and status. |
/.well-known/media-kit.json | application/ld+json | Organization, people and brand as a schema.org graph (the media-kit standard). |
/entitymap.json | application/json | EntityMap: the business, its identifiers and sameAs links. A readable copy is at /entitymap.html. |
/ns.jsonld | application/ld+json | The CrawlCheck vocabulary: terms used in signed answers, as RDF. |
/.well-known/security.txtalso /security.txt | text/plain | Security contact and disclosure policy (RFC 9116), with an expiry date. |
/.well-known/assetlinks.json | application/json | Android app links: which app may open crawlcheck.io links. |
/.well-known/agentic-verify.txt | text/plain | A fixed domain-ownership token an outside directory asked us to publish. |
/subprocessors.json | application/json | Every service that processes data for CrawlCheck, with its purpose and region. |
| Data | ||
/feed.json | application/feed+json | Every finding and guide as a JSON Feed, each item linking its Markdown copy. |
/feed.xml | application/atom+xml | The same findings and guides as an Atom feed. |
/glossary.json | application/ld+json | The whole glossary as a schema.org DefinedTermSet (CC BY 4.0). |
/ai-crawlers.json | application/json | Every AI and search crawler CrawlCheck tracks: token, operator, purpose, how to verify it. |
/directory.json | application/json | The measured vendor directory: each vendor's own site, graded (CC BY 4.0). |
/directory.csv | text/csv | The same directory as CSV, one row per vendor. |
/api/glossary/cadence | application/json | Glossary terms added each week, and the weekly streak. |
Legible por máquinas
- /.well-known/crawlcheck.json — esta página como manifiesto firmado
- /for-agents.md — esta página en Markdown
- /openapi.json
- /llms.txt
- Tarjeta del servidor MCP
- Especificación Resolve
Qué no es una respuesta
Una respuesta firmada dice qué midió y decidió CrawlCheck, y cuándo. No es una garantía sobre el sitio. Comprueba fresh_until: pasado ese momento, la respuesta está caducada. Las disputas y correcciones son públicas en /disputes.