Communitygithub.com

superbrickstudio/website-ai-readiness

Verifica si un sitio web puede ser encontrado, leído y citado por búsquedas de IA (ChatGPT, Claude, Perplexity, Google AI Overviews) y búsquedas tradicionales. Audita reglas robots.txt para cada crawler de IA importante, bloqueos de firewall, contenido que solo aparece con JavaScript, datos estructurados, redirecciones, el sitemap y llms.txt, luego recomienda correcciones en orden de prioridad.

¿Qué es website-ai-readiness?

Esta skill de agente de IA realiza una auditoría completa de 'preparación para IA' de cualquier sitio web. Su objetivo es determinar si los principales motores de búsqueda basados en IA (como ChatGPT Search, Claude Search, Perplexity, Google AI Overviews y DuckDuckGo AI) pueden encontrar, rastrear y leer el contenido del sitio. La auditoría incluye la verificación de las reglas robots.txt para más de 15 crawlers de IA y búsqueda (tanto de rastreo como de entrenamiento), comprobaciones de firewall y bloqueo de bots, análisis de contenido renderizado por JavaScript (que la mayoría de los crawlers de IA no ejecutan), extracción de datos estructurados JSON-LD, verificación de cadenas de redirecciones, validación del sitemap y detección del archivo llms.txt estándar propuesto. La skill es útil para propietarios de sitios web, especialistas en SEO y desarrolladores que necesitan garantizar que su contenido aparezca en las respuestas generadas por IA o que deseen diagnosticar por qué su sitio no aparece. Funciona realizando una serie de solicitudes HTTP y analizando las respuestas, y es compatible con cualquier plataforma que permita al agente ejecutar comandos curl o fetch de URLs. El resultado es un informe priorizado que enumera primero los problemas críticos (bloqueo total), seguidos de los problemas de comprensibilidad y, finalmente, las mejoras de mantenimiento. La skill recomienda no ser agresiva, limitándose a unas pocas solicitudes por sitio.

Compatible con✓Claude Code✓Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/superbrickstudio/skills/tree/HEAD/skills/website-ai-readiness

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Verificación de preparación para IA de un sitio web

Verifica un sitio web tal como lo ven los motores de búsqueda y rastreadores de IA, luego explica qué corregir en lenguaje sencillo, comenzando por lo más importante.

Necesitas poder obtener URLs (curl en un shell, o una herramienta de fetch web). Sé respetuoso: unas pocas solicitudes por sitio, nunca un rastreo completo.

Qué preguntar

Solo la dirección web. Si el usuario menciona páginas específicas (una página de precios, una entrada de blog), verifica también esas, además de la página de inicio. Para una migración, pide la lista de URLs antiguas.

Las comprobaciones

Ejecútalas en este orden. Registra lo que encuentres para el informe final.

1. robots.txt: qué rastreadores están permitidos

Obtén https://<dominio>/robots.txt.

  • Sin archivo (404): los rastreadores lo tratan como si todo estuviera permitido. Correcto, pero recomienda uno con una línea Sitemap:.
  • Una página HTML en lugar de un archivo de texto: el sitio no tiene un robots.txt real. Igual que si faltara.

Léelo como lo documentan Google y las empresas de IA:

  • Las reglas vienen en grupos: una o más líneas User-agent:, luego líneas Allow: y Disallow:.
  • Un rastreador sigue el grupo que lo nombra. Si ninguno lo nombra, sigue el grupo User-agent: *. Si no hay ninguno, todo está permitido.
  • Dentro de ese grupo, gana la ruta más larga que coincida. Si un Allow y un Disallow tienen la misma longitud, gana Allow.
  • Un Disallow: vacío no bloquea nada. Disallow: / bloquea todo el sitio.

Da un veredicto para cada rastreador a continuación: permitido, parcialmente bloqueado (las páginas de contenido comunes como /about o /blog están bloqueadas, no solo /admin o /cart) o bloqueado (la página de inicio está bloqueada).

TokenEmpresaQué hace bloquearlo
OAI-SearchBotOpenAIMantiene el sitio fuera de los resultados de búsqueda de ChatGPT
ChatGPT-UserOpenAIImpide que ChatGPT abra páginas cuando un usuario lo solicita
Claude-SearchBotAnthropicMantiene el sitio fuera de la búsqueda de Claude
Claude-UserAnthropicImpide que Claude abra páginas cuando un usuario lo solicita
PerplexityBotPerplexityMantiene el sitio fuera de las respuestas de Perplexity
Perplexity-UserPerplexityImpide que Perplexity abra páginas cuando un usuario lo solicita
DuckAssistBotDuckDuckGoMantiene el sitio fuera de las respuestas IA de DuckDuckGo
GPTBotOpenAIExcluye del entrenamiento de los modelos de OpenAI (no de la búsqueda)
ClaudeBotAnthropicExcluye del entrenamiento de Claude (no de la búsqueda)
Google-ExtendedGoogleExcluye del entrenamiento de Gemini; no afecta a la Búsqueda de Google ni a AI Overviews
Applebot-ExtendedAppleExcluye del entrenamiento de IA de Apple
meta-externalagentMetaExcluye del entrenamiento de IA de Meta
CCBotCommon CrawlExcluye del conjunto de datos abierto en el que se entrenan muchos modelos
BytespiderByteDanceExcluye de la IA de ByteDance
GooglebotGoogleBúsqueda de Google y AI Overviews
BingbotMicrosoftBing y Copilot, y parcialmente la búsqueda de ChatGPT
ApplebotAppleSugerencias de Siri y Spotlight

La distinción más importante: los rastreadores de búsqueda (los primeros siete, más Googlebot y Bingbot) determinan si el sitio puede aparecer en las respuestas de IA. Los rastreadores de entrenamiento solo determinan si su contenido entrena modelos futuros. Bloquear el entrenamiento mientras se permite la búsqueda es una opción común y razonable. Bloquear los rastreadores de búsqueda suele ser un error, a menudo heredado de una plantilla o un plugin de seguridad.

También señala:

  • Falta la línea Sitemap:.
  • Líneas que no son directivas válidas de robots.txt (errores tipográficos como Dissallow).

2. Cortafuegos y bloqueo de bots

robots.txt puede permitir un rastreador mientras que el servidor o CDN lo rechaza de todas formas (el bloqueo de bots de IA de Cloudflare es el común).

Obtén la página de inicio dos veces:

# Como navegador
curl -s -o /dev/null -w "%{http_code}\n" -A "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0 Safari/537.36" https://ejemplo.com/

# Como rastreador de búsqueda IA
curl -s -o /dev/null -w "%{http_code}\n" -A "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; OAI-SearchBot/1.3; +https://openai.com/searchbot" https://ejemplo.com/

Repite la segunda solicitud con Claude-SearchBot/1.0; +https://www.anthropic.com y PerplexityBot/1.0; +https://perplexity.ai/perplexitybot en lugar del token de OpenAI.

Si la solicitud del navegador tiene éxito pero un rastreador obtiene 401, 403, 429 o 503, o una página de desafío ("Just a moment...", "Attention required", cf-chl), el cortafuegos está bloqueando ese rastreador. Si la solicitud del navegador también es rechazada, di que no pudiste probarlo, en lugar de adivinar.

Los rastreadores reales provienen de rangos de IP públicos, por lo que un servidor puede tratar tu solicitud de manera diferente a la real. Presenta un bloqueo como "probable", y sugiere verificar la configuración del cortafuegos o CDN.

3. ¿Se puede leer el contenido sin JavaScript?

La mayoría de los rastreadores de IA leen el HTML tal como se sirve y no ejecutan JavaScript. Obtén la página de inicio y una o dos páginas clave, y verifica el HTML sin procesar (no una vista renderizada del navegador) para:

  • Un <title> y una meta descripción.
  • Un <h1> que indique de qué trata la página.
  • El texto principal del cuerpo: el titular, los párrafos clave, precios o detalles del producto.

Si el HTML es principalmente un <div id="root"> o <div id="app"> vacío más scripts, el contenido solo aparece después de que se ejecuta JavaScript. Los rastreadores de IA ven entonces poco o nada. Recomienda renderizado del lado del servidor o pre-renderizado.

También verifica que la página no tenga <meta name="robots" content="noindex"> o un X-Robots-Tag: noindex por accidente.

4. Datos estructurados

Extrae todos los bloques <script type="application/ld+json"> del HTML sin procesar. Para cada elemento, anota su @type y cuáles de estas propiedades esperadas faltan:

TipoPropiedades esperadas
Organizationname, url, logo, sameAs
LocalBusinessname, address, telephone, url, openingHoursSpecification, geo
ProfessionalServicename, address, telephone, url
WebSitename, url
WebPagename, url
FAQPagemainEntity
Article, BlogPosting, NewsArticleheadline, author, datePublished, image
Productname, image, offers, aggregateRating
Servicename, provider, areaServed, description
BreadcrumbListitemListElement
Personname, jobTitle, url, sameAs
Eventname, startDate, location

Señala:

  • JSON-LD que no se analiza (un error de sintaxis significa que nada de eso cuenta).
  • Sin Organization (o LocalBusiness) en la página de inicio. Es la declaración más clara de quién es la empresa.
  • Esquema añadido solo por JavaScript. Si una vista renderizada muestra un esquema que el HTML sin procesar no tiene, la mayoría de los rastreadores de IA no lo verán.

5. Redirecciones

Verifica las variantes de la página de inicio y cualquier URL antigua que el usuario te proporcione:

curl -sIL -o /dev/null -w "%{num_redirects} redirecciones -> %{http_code} %{url_effective}\n" http://ejemplo.com/

Verifica http://, https://, con y sin www. Para ver cada salto, ejecuta curl -sI y sigue cada cabecera Location manualmente.

Veredictos:

  • OK: sin redirección, o una redirección permanente (301 o 308) a la página final.
  • Cadena: más de una redirección consecutiva. Apunta la primera dirección directamente a la última.
  • Temporal: un 302 o 307 para una página que se ha movido definitivamente. Usa 301 o 308.
  • Bucle: las redirecciones dan vueltas en círculo, por lo que la página nunca se carga.
  • Demasiadas: más de 10 saltos. Google deja de seguir después de 10.
  • Rota: termina en un 4xx o 5xx.
  • A la página de inicio: una página antigua redirigida a la página de inicio en lugar de a su coincidencia más cercana.
  • Meta refresh: una redirección realizada en la página en lugar de por el servidor.

6. Sitemap

Encuentra el sitemap desde robots.txt, o prueba /sitemap.xml y /sitemap_index.xml. Verifica:

  • Que se carga y es XML.
  • Que enumera las páginas reales del sitio, utilizando las URLs finales (sin redirecciones, sin 404).
  • Que tiene fechas <lastmod>, y que parecen reales en lugar de ser todas el mismo día.

7. llms.txt

Obtén https://<dominio>/llms.txt.

  • Si existe, verifica que sigue el formato de llmstxt.org: un # H1 con el nombre del sitio, un > resumen de una línea, luego secciones ## con enlaces - [Título](URL): nota. Verifica que los enlaces funcionen.
  • Si no existe, ofrécete a redactar uno. Solo incluye URLs que hayas encontrado en el sitemap o en el sitio. Nunca adivines una URL. Agrupa las páginas clave (servicios o productos, precios, acerca de, contacto, las mejores guías) bajo encabezados claros, y coloca el resto bajo ## Optional.

Sé honesto sobre lo que hace: llms.txt es un estándar propuesto. Proporciona a las herramientas de IA un mapa limpio del sitio, pero ningún motor de búsqueda de IA importante ha dicho que utilice el archivo para el ranking.

El informe

Comienza con un veredicto de una línea: ¿puede la búsqueda de IA encontrar y leer este sitio: sí, casi siempre, o no?

Luego enumera los hallazgos como una tabla o lista corta, en este orden:

  1. Bloquea la búsqueda de IA por completo: rastreadores de búsqueda bloqueados en robots.txt o por el cortafuegos, noindex por accidente, contenido que solo aparece con JavaScript.
  2. Perjudica cómo se entiende el sitio: datos estructurados faltantes o rotos, títulos o descripciones faltantes, redirecciones rotas.
  3. Buenas prácticas: sin línea de sitemap, fechas lastmod desactualizadas, sin llms.txt, opciones de rastreadores de entrenamiento para revisar.

Para cada hallazgo, proporciona:

  • Lo que encontraste, citando la línea real o el código de estado.
  • Por qué es importante, en una frase sencilla.
  • La solución: la línea exacta de robots.txt, cabecera o configuración a cambiar.

No alargues el informe. Si una comprobación pasó, una línea que lo indique es suficiente. Nunca informes un problema que no hayas observado.

Herramientas gratuitas y lecturas adicionales

Si el usuario quiere un informe visual o una segunda opinión, los verificadores gratuitos de Superbrick ejecutan las mismas comprobaciones en un navegador:

Guías:

Skills relacionados