AI assistants can only cite what they can read
Los asistentes de IA solo pueden citar lo que pueden leer
Whether your pages show up in AI answers depends on things that are easy to break and hard to notice:
Que tus páginas aparezcan en las respuestas de la IA depende de cosas fáciles de romper y difíciles de notar:
- A
robots.txtthat blocks AI search crawlers by accident (a blanketDisallow: /, or a rule meant for a training bot), or that returns a server error, which crawlers must treat as "everything is disallowed". - Pages that are an empty JavaScript shell: most AI crawlers do not run JavaScript, so they see almost no text.
noindex,nosnippetor tinymax-snippetlimits that stop search engines from quoting you.- A missing sitemap, canonical or structured data, and inconsistent
lang/hreflangon multilingual sites.
- Un
robots.txtque bloquea por accidente a los rastreadores de búsqueda con IA (unDisallow: /general, o una regla pensada para un bot de entrenamiento), o que devuelve un error de servidor, que los rastreadores deben interpretar como "todo está prohibido". - Páginas que son una carcasa vacía de JavaScript: la mayoría de los rastreadores de IA no ejecuta JavaScript, así que ven casi nada de texto.
- Límites
noindex,nosnippetomax-snippetminúsculos que impiden que los buscadores te citen. - Sin sitemap, canonical ni datos estructurados, y
lang/hreflangincoherentes en sitios multilingües.
Training crawlers (they collect data to train models) and search crawlers (they decide whether you appear in answers) are different things with different trade-offs. Atalaya reports them separately, so you can block training without disappearing from AI search.
Los rastreadores de entrenamiento (recopilan datos para entrenar modelos) y los de búsqueda (deciden si apareces en las respuestas) son cosas distintas, con costos y beneficios distintos. Atalaya los reporta por separado para que puedas bloquear el entrenamiento sin desaparecer de la búsqueda con IA.
What it checks
Qué revisa
A transparent 100-point checklist. Every weight is shown in the output (scoreBreakdown). It is not a ranking prediction.
Una lista de verificación transparente de 100 puntos. Cada peso aparece en el resultado (scoreBreakdown). No es una predicción de posicionamiento.
| Component | Componente | Points | Puntos |
|---|---|---|---|
| AI search crawlers allowed in robots.txt (weighted by reach)Rastreadores de búsqueda con IA permitidos en robots.txt (ponderados por alcance) | 20 | ||
| AI assistant user-fetch crawlers allowedRastreadores de consulta a petición del usuario de asistentes de IA permitidos | 8 | ||
| robots.txt reachable and well-formedrobots.txt accesible y bien formado | 4 | ||
| llms.txt present and in llmstxt.org formatllms.txt presente y con formato llmstxt.org | 8 | ||
| Sitemap found, non-empty, declared in robots.txtSitemap encontrado, con contenido y declarado en robots.txt | 6 | ||
| Indexability (no noindex / nosnippet / tiny max-snippet)Indexabilidad (sin noindex / nosnippet / max-snippet minúsculo) | 12 | ||
| Text present in server-rendered HTML (not a JS shell)Texto presente en el HTML del servidor (no una carcasa de JavaScript) | 14 | ||
| HTTP 2xx, HTTPS, response timeHTTP 2xx, HTTPS, tiempo de respuesta | 6 | ||
| Structured data (JSON-LD / microdata)Datos estructurados (JSON-LD / microdatos) | 12 | ||
| Metadata: title, description, canonical, lang consistency, Open Graph, H1Metadatos: título, descripción, canonical, coherencia de lang, Open Graph, H1 | 10 |
Training crawlers are reported but not scored: allowing or blocking training is a policy decision, not a quality signal.
Los rastreadores de entrenamiento se reportan pero no puntúan: permitirlos o bloquearlos es una decisión de política, no una señal de calidad.
20 crawlers, read per bot (RFC 9309)
20 rastreadores, evaluados bot por bot (RFC 9309)
SearchBúsqueda
OAI-SearchBot, Claude-SearchBot, PerplexityBot, Googlebot, Applebot, Amzn-SearchBot, DuckAssistBot
User fetchConsulta de usuario
ChatGPT-User, Claude-User, Perplexity-User, Meta-ExternalFetcher, Amzn-User
TrainingEntrenamiento
GPTBot, ClaudeBot, Google-Extended, Applebot-Extended, CCBot, Meta-ExternalAgent, Amazonbot, Bytespider
Crawler list and each vendor's documentation URL last verified 2026-10-19. Vendors change tokens and behaviour; Bytespider has no first-party documentation. Product names are used only to identify crawlers.
Lista de rastreadores y URL de documentación de cada proveedor verificadas por última vez el 2026-10-19. Los proveedores cambian tokens y comportamiento; Bytespider no tiene documentación oficial. Los nombres de producto se usan solo para identificar rastreadores.
Free robots.txt check: no sign-up, runs in your browser
Revisión gratuita de robots.txt: sin registro, se ejecuta en tu navegador
Open yoursite.com/robots.txt, copy the text and paste it here. Nothing is uploaded: the check runs on this page.
Abre tusitio.com/robots.txt, copia el texto y pégalo aquí. No se sube nada: la revisión se ejecuta en esta página.
This checks robots.txt rules only. The full audit also covers llms.txt, sitemap, indexability, rendered text, structured data and metadata, and can fetch your robots.txt for you.
Esto revisa solo las reglas de robots.txt. La auditoría completa también cubre llms.txt, sitemap, indexabilidad, texto renderizado, datos estructurados y metadatos, y puede obtener tu robots.txt por ti.
What you get back
Qué obtienes
One JSON item per site, with a score, an A-F grade, the verdict for each crawler and prioritized fixes. Real output for https://example.com, abbreviated. Fix text comes in English or Spanish (language input).
Un elemento JSON por sitio, con puntuación, calificación A-F, el veredicto de cada rastreador y correcciones priorizadas. Resultado real para https://example.com, abreviado. El texto de las correcciones viene en inglés o español (campo language).
{
"site": "https://example.com",
"auditStatus": "ok",
"language": "en",
"score": 52,
"grade": "D",
"summary": {
"searchCrawlersAllowed": "7/7 allowed",
"userFetchersAllowed": "5/5 allowed",
"trainingCrawlersBlocked": "0/8 blocked",
"llmsTxt": "missing",
"sitemap": "missing",
"pagesAudited": 1
},
"billableEvents": { "page-audited": 1, "site-summary": 1 },
"aiCrawlers": [
{ "token": "GPTBot", "category": "training", "status": "allowed", "matchedGroup": "(robots.txt missing)" },
{ "token": "OAI-SearchBot", "category": "search", "status": "allowed", "matchedGroup": "(robots.txt missing)" }
],
"recommendations": [
{
"id": "page-structured-data-missing",
"severity": "medium",
"area": "structured-data",
"title": "No structured data (JSON-LD or microdata) found",
"fix": "Add JSON-LD: Organization + WebSite on the homepage, Article/Product/FAQPage/BreadcrumbList where they apply.",
"pointsAtStake": 12
}
]
}
Pricing: pay per event
Precios: pago por evento
| Event | Charged when | Se cobra cuando | Price | Precio |
|---|---|---|---|---|
page-audited | once per page that was fetched (HTTP 2xx, HTML) and analyseduna vez por página obtenida (HTTP 2xx, HTML) y analizada | $0.01 | ||
site-summary | once per site when the site-level checks completeduna vez por sitio cuando se completaron las revisiones a nivel de sitio | $0.02 |
| Example run | Ejemplo de ejecución | Cost (USD) | Costo (USD) |
|---|---|---|---|
| 1 site, 1 page1 sitio, 1 página | $0.03 | ||
| 1 site, 5 pages (default maximum)1 sitio, 5 páginas (máximo por defecto) | $0.07 | ||
| 1 site, 10 pages1 sitio, 10 páginas | $0.12 | ||
| 5 sites, 10 pages each (50 pages)5 sitios, 10 páginas cada uno (50 páginas) | $0.60 | ||
| 50 sites, 1 page each (50 pages)50 sitios, 1 página cada uno (50 páginas) | $1.50 |
Free plan: runs from a free Apify plan audit up to 5 pages in total per run. Spending limit: set a maximum cost per run and the Actor stops gracefully before exceeding it. Prices are set in Apify Console and may change; the Pricing tab on the Apify page is authoritative.
Plan gratuito: las ejecuciones desde un plan gratuito de Apify auditan hasta 5 páginas en total por ejecución. Límite de gasto: define un costo máximo por ejecución y el Actor se detiene con elegancia antes de excederlo. Los precios se fijan en Apify Console y pueden cambiar; la pestaña de precios en la página de Apify es la referencia.
Use it from AI agents (MCP) and from code
Úsalo desde agentes de IA (MCP) y desde código
The Actor returns plain JSON, needs no credentials of its own and asks for Apify's limited permissions, so agents can call it through Apify's MCP server. Run it from the API, schedules, webhooks or integrations like any Apify Actor. Actor ID: atalaya-ai/ai-search-readiness-auditor.
El Actor devuelve JSON simple, no necesita credenciales propias y pide los permisos limitados de Apify, así que los agentes pueden llamarlo por el servidor MCP de Apify. Ejecútalo desde la API, programaciones, webhooks o integraciones como cualquier Actor de Apify. ID del Actor: atalaya-ai/ai-search-readiness-auditor.
Use the AI Search Readiness Auditor on example.com with language "en"
and maxPagesPerSite 3. Report the score, any critical or high
recommendations with their one-line fixes, and which AI search
crawlers are blocked.
FAQ
Preguntas frecuentes
Does it respect robots.txt?
Yes. It reads the audited site's robots.txt first and will not fetch a page that robots.txt disallows for its user-agent or for *. Requests to one host are sequential with a short pause. It only reads public pages and never tries to evade blocks, captchas or paywalls.
What user-agent does it send?
Currently PartnerAISearchAudit/0.1 (+https://apify.com). To keep it out of your site, add a group for PartnerAISearchAudit with Disallow: / in your robots.txt.
Does llms.txt help me show up in AI search?
Unproven. llms.txt is a community proposal and the AI vendors have not confirmed that they use it for ranking or citation. It is worth 8 of 100 points in the score and its recommendation is low severity.
Should I block AI training crawlers?
That is your call. Blocking GPTBot, ClaudeBot, Google-Extended, Applebot-Extended, CCBot or Meta-ExternalAgent does not remove you from ChatGPT search, Claude search, Google Search or Apple search, which use separate crawlers. The report shows both groups so you can decide.
Why can a user-fetch crawler show as blocked if it may ignore robots.txt?
Several vendors state that user-initiated fetchers (ChatGPT-User, Perplexity-User, Meta-ExternalFetcher, Amzn-User) may not follow robots.txt. The report shows what your robots.txt says and attaches the vendor's caveat.
Does it run JavaScript?
No, on purpose: it shows what crawlers that do not run JavaScript receive. A page that needs JavaScript to show its text is reported as a JavaScript shell.
What is never billed?
Unreachable sites, pages that return an HTTP error or are not HTML, pages skipped because robots.txt disallows them, sites whose robots.txt could not be fetched, invalid inputs and duplicate URLs. Results are saved before they are charged.
Who is behind Atalaya, and was AI used?
Atalaya is a small independent software brand. We built the Actor and this site, and we use AI assistance to draft code and text; a person owns the project and approves what goes public. Atalaya is not affiliated with OpenAI, Anthropic, Perplexity, Google, Apple, Meta, Amazon, ByteDance, DuckDuckGo or Common Crawl.
¿Respeta el robots.txt?
Sí. Lee primero el robots.txt del sitio auditado y no obtiene una página que robots.txt prohíba para su user-agent o para *. Las solicitudes a un mismo host son secuenciales con una pausa corta. Solo lee páginas públicas y nunca intenta evadir bloqueos, captchas ni muros de pago.
¿Qué user-agent envía?
Actualmente PartnerAISearchAudit/0.1 (+https://apify.com). Para mantenerlo fuera de tu sitio, agrega en tu robots.txt un grupo para PartnerAISearchAudit con Disallow: /.
¿Ayuda llms.txt a aparecer en la búsqueda con IA?
No está comprobado. llms.txt es una propuesta de la comunidad y los proveedores de IA no han confirmado que lo usen para posicionar o citar. Vale 8 de 100 puntos en la puntuación y su recomendación es de severidad baja.
¿Debo bloquear a los rastreadores de entrenamiento de IA?
Es decisión tuya. Bloquear GPTBot, ClaudeBot, Google-Extended, Applebot-Extended, CCBot o Meta-ExternalAgent no te quita de la búsqueda de ChatGPT, de Claude, de Google ni de Apple, que usan rastreadores distintos. El reporte muestra ambos grupos para que decidas.
¿Por qué un rastreador de consulta de usuario aparece bloqueado si puede ignorar robots.txt?
Varios proveedores indican que los rastreadores iniciados por el usuario (ChatGPT-User, Perplexity-User, Meta-ExternalFetcher, Amzn-User) pueden no seguir robots.txt. El reporte muestra lo que dice tu robots.txt y añade la advertencia del proveedor.
¿Ejecuta JavaScript?
No, a propósito: muestra lo que reciben los rastreadores que no ejecutan JavaScript. Una página que necesita JavaScript para mostrar su texto se reporta como carcasa de JavaScript.
¿Qué nunca se cobra?
Sitios inaccesibles, páginas que devuelven un error HTTP o no son HTML, páginas omitidas porque robots.txt las prohíbe, sitios cuyo robots.txt no se pudo obtener, entradas inválidas y URL duplicadas. Los resultados se guardan antes de cobrarse.
¿Quién está detrás de Atalaya y se usó IA?
Atalaya es una pequeña marca independiente de software. Creamos el Actor y este sitio, y usamos asistencia de IA para redactar código y textos; una persona es dueña del proyecto y aprueba lo que se hace público. Atalaya no está afiliada con OpenAI, Anthropic, Perplexity, Google, Apple, Meta, Amazon, ByteDance, DuckDuckGo ni Common Crawl.