Invisible para la IA:
5 errores técnicos
que impiden que los LLMs
rastreen tu web
Puedes tener el mejor contenido del sector. Si los modelos de lenguaje no pueden leerlo, no existes para ChatGPT, Perplexity ni ningún sistema de IA generativa. Esta guía técnica desglosa los cinco errores más frecuentes y cómo solucionarlos completamente.
El posicionamiento en buscadores lleva décadas siendo una disciplina técnica con sus propias reglas, sus propios errores frecuentes y sus propias soluciones. Pero hay una dimensión que muchos equipos de marketing y desarrollo están ignorando completamente: cómo se posicionan sus webs ante los modelos de lenguaje grandes que están redefiniendo cómo millones de personas obtienen información.
Cuando alguien le pregunta a ChatGPT cuál es la mejor agencia de marketing digital para empresas B2B en Madrid, o a Perplexity qué consultor de ciberseguridad recomienda para una startup, esas respuestas no salen de la nada. Salen del contenido que esos sistemas han podido rastrear, procesar y entender. Y si tu web tiene alguno de los errores técnicos que vamos a analizar en este artículo, esa respuesta no va a incluirte. Aunque tengas exactamente el perfil que el usuario está buscando.
Lo que hace que este problema sea especialmente serio es que es invisible. No recibes un aviso. Google Search Console no tiene una sección de «errores de rastreo para LLMs». Simplemente no apareces en las respuestas de los sistemas de IA, y si nadie ha pensado en verificarlo, es posible que lleves meses o años en esa situación sin saberlo.
Los rastreadores de LLMs que necesitas conocer por su nombre
El primer paso para no bloquear a los rastreadores de IA es saber exactamente cuáles son, cómo se identifican y qué plataforma hay detrás de cada uno. Esta información es crítica porque los errores más graves de bloqueo son accidentales: configuraciones de robots.txt o de WAF que bloquean agentes de usuario de forma genérica sin saber que están afectando a los rastreadores de los principales sistemas de IA.
| User-Agent | Sistema de IA | Uso principal | Tipo de acceso |
|---|---|---|---|
| GPTBot | OpenAI / ChatGPT | Entrenamiento de modelos + browsing en ChatGPT | Entrenamiento + RAG |
| ChatGPT-User | OpenAI / ChatGPT Browse | Búsqueda web en tiempo real desde ChatGPT | Tiempo real |
| PerplexityBot | Perplexity AI | Indexación continua para respuestas en tiempo real | Tiempo real |
| ClaudeBot | Anthropic / Claude | Rastreo para conocimiento y respuestas | Entrenamiento + RAG |
| anthropic-ai | Anthropic | Variante de ClaudeBot para acceso general | Entrenamiento |
| Googlebot-AI | Google Gemini / AI Overviews | Alimentar los AI Overviews de Google Search | Tiempo real + RAG |
| cohere-ai | Cohere | Entrenamiento y sistemas empresariales de RAG | Entrenamiento |
RAG (Retrieval-Augmented Generation) es la tecnología que usan sistemas como Perplexity o ChatGPT Browse para buscar información actualizada en la web en tiempo real antes de generar una respuesta. Si un bot RAG puede rastrear tu contenido, tu web puede aparecer citada en las respuestas de esos sistemas. Si no puede, ni tu nombre aparece. El rastreo RAG es el mecanismo más directo para que una web sea referenciada por un sistema de IA.
Los 5 errores y cómo solucionarlos
Este es el error más devastador y, paradójicamente, el más fácil de cometer sin intención. El archivo robots.txt de tu web es el primer lugar donde cualquier rastreador —tanto de buscadores como de sistemas de IA— busca instrucciones sobre qué puede y qué no puede acceder. Un solo bloqueo mal configurado puede hacer que ningún sistema de IA pueda leer tu web completa.
El error más frecuente que encontramos en auditorías es el uso de User-agent: * con reglas restrictivas que bloquean indiscriminadamente a todos los rastreadores, o la presencia de reglas específicas que bloquean a bots cuyo nombre parece sospechoso pero que en realidad son rastreadores legítimos de IA.
El patrón de bloqueo más frecuente
# Este patrón bloquea TODOS los bots, incluidos los de IA
User-agent: *
Disallow: /
# O esta variante que bloquea por nombre de bot
User-agent: GPTBot
Disallow: /
User-agent: PerplexityBot
Disallow: /
User-agent: ClaudeBot
Disallow: /
# Permite a todos los rastreadores de IA
User-agent: GPTBot
Allow: /
User-agent: ChatGPT-User
Allow: /
User-agent: PerplexityBot
Allow: /
User-agent: ClaudeBot
Allow: /
User-agent: anthropic-ai
Allow: /
# Reglas para Googlebot estándar (sin afectar a IA)
User-agent: Googlebot
Allow: /
Disallow: /admin/
Disallow: /private/
# Reglas generales para el resto
User-agent: *
Crawl-delay: 2
Cómo verificarlo ahora mismo
Accede a tudominio.com/robots.txt desde el navegador y busca las reglas que afectan a los agentes de usuario listados en la tabla anterior. Si ves Disallow: / junto a cualquiera de ellos, ese sistema de IA no puede leer tu web. También puedes buscar si existe una regla User-agent: * con Disallow: / que no tenga excepciones específicas para los bots de IA.
Revisa tu robots.txt y añade reglas explícitas de Allow: / para cada uno de los user-agents de LLMs listados en la tabla anterior. Si usas un plugin de SEO como Yoast o RankMath en WordPress, verifica que no haya configuraciones automáticas que bloqueen bots desconocidos. Después de hacer los cambios, verifica con la herramienta de prueba de robots.txt de Google Search Console que los accesos son correctos.
| Sistema de IA afectado | Consecuencia del bloqueo | Urgencia |
|---|---|---|
| ChatGPT (GPTBot) | No apareces en respuestas de ChatGPT Browse ni en entrenamiento futuro | ● Crítica |
| Perplexity (PerplexityBot) | No eres citado en ninguna respuesta de Perplexity en tiempo real | ● Crítica |
| Claude (ClaudeBot) | Tu contenido no alimenta el conocimiento de Claude ni sus respuestas RAG | ● Alta |
| Google AI Overviews | No apareces en los resúmenes de IA que Google muestra en el top de resultados | ● Crítica |
A diferencia de Googlebot, que ha desarrollado capacidades de renderizado JavaScript sofisticadas a lo largo de años, la mayoría de los rastreadores de LLMs acceden al HTML estático de una página. Si tu contenido crítico —el texto de tus artículos, tus descripciones de servicios, tus testimonios— se carga dinámicamente mediante JavaScript después de que la página inicial se sirve al navegador, esos rastreadores ven una página vacía o parcialmente vacía.
Este error es especialmente frecuente en sitios construidos con frameworks JavaScript modernos como React, Next.js sin SSR configurado, Vue.js o Angular en modo SPA (Single Page Application) puro. El usuario en un navegador ve el contenido perfectamente porque el JavaScript se ejecuta. El rastreador de IA ve una estructura HTML casi vacía.
Cómo diagnosticar si este error te afecta
La forma más rápida es usar la herramienta de inspección de URLs de Google Search Console, que muestra cómo ve Google tu página renderizada. Pero para ver exactamente lo que ven los rastreadores básicos, desactiva JavaScript en tu navegador (en Chrome: DevTools → Settings → Debugger → Disable JavaScript) y carga tu página. Lo que ves es aproximadamente lo que ve un rastreador de LLM que no ejecuta JavaScript.
// Componente que carga contenido solo en cliente
export default function BlogPost() {
const [content, setContent] = useState(null);
useEffect(() => {
// Este fetch solo ocurre en el navegador
// Los rastreadores de IA nunca ven este contenido
fetch('/api/content').then(r => r.json())
.then(data => setContent(data));
}, []);
return <div>{content?.body}</div>;
}
// Usando getServerSideProps: el contenido se renderiza en el servidor
// El HTML resultante incluye el texto desde el primer byte
export async function getServerSideProps(context) {
const content = await fetchContent(context.params.slug);
return { props: { content } };
}
export default function BlogPost({ content }) {
// El HTML ya incluye el contenido renderizado
// Los LLMs lo ven en el primer request
return <article>{content.body}</article>;
}
Si usas Next.js, migra las páginas de contenido a getServerSideProps o getStaticProps. En Nuxt.js, activa el modo Universal. En aplicaciones React puras, considera añadir SSR con frameworks como Remix o implementar pre-rendering estático con Gatsby o similar. Para contenido editorial y de servicios, el renderizado server-side no es opcional si quieres visibilidad en LLMs.
Los Web Application Firewalls (WAF) son herramientas de seguridad que filtran el tráfico según patrones de comportamiento. El problema es que muchos rastreadores de IA tienen patrones de acceso —alta velocidad, múltiples requests desde rangos de IP específicos, ausencia de comportamientos de usuario normal— que los WAF mal configurados interpretan como tráfico malicioso y bloquean automáticamente.
Cloudflare, uno de los CDN y WAF más usados del mundo, tiene por defecto configuraciones que pueden bloquear o ralentizar significativamente bots desconocidos. Si usas Cloudflare con el modo «Bot Fight Mode» activado y no has añadido excepciones para los rastreadores de IA conocidos, es probable que estés bloqueando PerplexityBot y otros rastreadores sin saberlo.
Cómo verificar si tu WAF está bloqueando bots de IA
La señal más clara es revisar los logs de acceso del servidor buscando respuestas 403, 429 o 503 para los user-agents de bots de IA listados anteriormente. En Cloudflare, ve a Security → Events y filtra por «Bot» para ver si hay bloqueos de bots que correspondan a los rastreadores de LLMs.
# En Cloudflare WAF > Custom Rules, añade una regla de bypass:
# Condición: http.user_agent contains "GPTBot"
# OR http.user_agent contains "PerplexityBot"
# OR http.user_agent contains "ClaudeBot"
# OR http.user_agent contains "anthropic-ai"
# Acción: Skip > WAF managed rules
# Verificar también que las IPs de OpenAI están en la allowlist:
# OpenAI publica sus rangos de IP en:
https://openai.com/gptbot-ranges.txt
# Perplexity publica sus IPs en:
https://www.perplexity.ai/perplexitybot.json
Rate limiting y crawl-delay
Algunos servidores tienen reglas de rate limiting que bloquean IPs que hacen más de un determinado número de requests por segundo. Los rastreadores de IA pueden ser agresivos en la velocidad de rastreo, especialmente PerplexityBot. Una configuración razonable es usar Crawl-delay: 1 en robots.txt para indicar a los rastreadores que respeten un segundo entre requests, en lugar de bloquearlos directamente.
En Cloudflare: Security → Bots → Bot Fight Mode → añade excepciones para los user-agents de bots de IA verificados. En nginx o Apache, asegúrate de que las reglas de rate limiting tienen una whitelist para rangos de IP de rastreadores conocidos. Usa Crawl-delay en robots.txt como alternativa a bloquear, para controlar la velocidad sin bloquear el acceso.
Que un rastreador de LLM pueda acceder a tu página no significa que pueda entender su contenido. Los modelos de lenguaje procesan el HTML y necesitan estructura semántica clara para extraer significado: qué es el título principal, qué es el cuerpo del artículo, qué son elementos de navegación que no contienen información relevante. Si tu HTML usa <div> para todo sin estructura semántica, el rastreador recibe un volcado de texto sin jerarquía ni contexto.
Este error también incluye una de las trampas más frecuentes en sitios con mucho JavaScript: el HTML está lleno de código de scripts, atributos de frameworks y clases de CSS que añaden ruido al texto real. Un modelo de lenguaje intentando extraer el contenido de tu artículo tiene que filtrar todo ese ruido, y si el ratio entre ruido y contenido real es muy alto, la extracción falla o produce resultados de baja calidad.
<div class="wrapper main-content flex-col">
<div class="block text-xl font-bold">
Mi artículo sobre marketing
</div>
<div class="content-body prose">
<div class="paragraph">Texto del artículo...</div>
</div>
</div>
<article itemscope itemtype="https://schema.org/Article">
<header>
<h1 itemprop="headline">Mi artículo sobre marketing</h1>
<meta itemprop="datePublished" content="2025-04-11">
<meta itemprop="author" content="Sedo Digital">
</header>
<main itemprop="articleBody">
<p>Texto del artículo...</p>
<h2>Sección del artículo</h2>
<p>Más contenido...</p>
</main>
</article>
Schema.org y datos estructurados para LLMs
Los datos estructurados con Schema.org en formato JSON-LD son especialmente valiosos para los rastreadores de IA porque proporcionan una representación estructurada del contenido que no depende de la capacidad del modelo para interpretar el HTML. Un bloque JSON-LD bien construido le dice al rastreador exactamente quién escribió el artículo, cuándo, sobre qué tema, cuál es el contexto y cómo se relaciona con otras entidades.
Audita el HTML de tus páginas principales y reemplaza los <div> genéricos por elementos semánticos: <article>, <main>, <section>, <nav>, <header>, <footer>. Añade Schema.org en JSON-LD para todos los tipos de contenido que publiques: Article, FAQPage, Product, Service, Person, Organization. Los FAQPage son especialmente potentes para aparecer en las respuestas de LLMs, porque el formato pregunta-respuesta es exactamente el que los modelos priorizan cuando generan respuestas.
Este quinto error es diferente a los anteriores porque no es un problema de acceso técnico: es un problema de calidad de señal. Los sistemas de IA no solo necesitan poder acceder a tu contenido; necesitan tener razones para citarlo como fuente autorizada en sus respuestas. Y esas razones son específicas y técnicamente verificables.
Los LLMs y los sistemas RAG tienden a citar páginas que tienen varios atributos que señalan autoridad: datos específicos con fuente, afirmaciones que van más allá del sentido común genérico, autoría con identidad verificable, actualizaciones visibles con fecha, y una estructura que responde directamente a preguntas concretas. El contenido genérico, aunque sea accesible, rara vez se cita porque hay decenas de páginas con exactamente el mismo nivel de información.
Los elementos que hacen tu contenido citable para LLMs
- Datos con fuente explícita: porcentajes, estadísticas, benchmarks con su origen documentado. Los LLMs citan páginas que ofrecen datos verificables que no están en todos los sitios
- Fecha de publicación y actualización visible: los sistemas de IA con componente temporal (Perplexity, ChatGPT Browse) priorizan contenido reciente y con fecha verificable en el HTML
- Autoría identificable: nombre del autor, perfil, organización. Los modelos tienen más confianza en citar contenido con autoría clara que contenido anónimo
- Respuestas directas a preguntas específicas: el formato «Pregunta — Respuesta directa en las primeras dos oraciones» es el que más se alinea con cómo los LLMs generan respuestas
- Definiciones propias y metodología específica: si acuñas un concepto, defines un proceso o nombras una metodología propia, los modelos lo atribuyen directamente a tu fuente cuando lo detectan en otros contextos
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [{
"@type": "Question",
"name": "¿Qué es una auditoría de marketing con IA?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Una auditoría de marketing con IA es un análisis
sistemático de los activos digitales de una empresa
utilizando herramientas de inteligencia artificial para
procesar datos y detectar oportunidades en horas en lugar
de semanas. Cubre SEO, contenido, competencia y conversión."
}
}]
}
</script>
Revisa tus páginas principales y añade: fecha de publicación y última actualización visibles en el HTML y en Schema.org, bloque de autoría con nombre y organización, sección FAQ con Schema FAQPage en las páginas de servicios y artículos clave, y asegúrate de que los datos que citas tienen su fuente explícita y enlazada. Estas señales hacen que tu contenido no solo sea accesible para los LLMs, sino que sea activamente seleccionado como fuente de referencia en sus respuestas.
Resumen: lo que estás haciendo mal vs. lo que deberías tener
- robots.txt con
Disallow: /para GPTBot, PerplexityBot o ClaudeBot - Contenido crítico cargado solo con JavaScript del lado del cliente
- WAF o Cloudflare bloqueando bots de IA como tráfico sospechoso
- HTML con solo
<div>sin elementos semánticos ni Schema.org - Contenido sin fecha, sin autoría y sin datos verificables con fuente
- Sin FAQPage Schema en páginas de servicios o contenido clave
- Rate limiting agresivo que rechaza el acceso de rastreadores IA
- Páginas con alta proporción de ruido (código JS/CSS) frente a contenido real
- robots.txt con
Allow: /explícito para todos los bots de IA conocidos - Server-side rendering para contenido editorial y de servicios
- Reglas de bypass en WAF para user-agents de LLMs verificados
- HTML semántico con
<article>,<main>,<section>y Schema.org JSON-LD - Fecha de publicación y actualización visible en HTML y en Schema
- Autoría identificable con nombre, cargo y organización
- FAQPage Schema en páginas estratégicas con respuestas directas
- Datos estadísticos con fuente explícita y enlazada
La visibilidad en los sistemas de IA no es el futuro del SEO. Es el presente. Cada semana que tu web tiene errores técnicos que bloquean a los rastreadores de LLMs es una semana en que competidores que sí los tienen corregidos están siendo recomendados en tu lugar.
Analizamos tu web y te decimos exactamente qué está bloqueando tu visibilidad ante los sistemas de IA
Los errores que acabas de leer son los más frecuentes. Pero cada web tiene su configuración específica, su stack técnico particular y sus propios puntos ciegos. Lo que aparece en este artículo como guía general necesita una aplicación específica a tu caso concreto para producir resultados reales.
En Sedo Digital realizamos auditorías técnicas de AEO (Answer Engine Optimization) donde revisamos exactamente qué está bloqueando tu visibilidad ante los principales sistemas de IA: robots.txt, configuración de rastreadores, estructura HTML, Schema.org, renderizado y calidad de señal para ser citado como fuente autorizada.
Si quieres saber si tu web es invisible para ChatGPT, Perplexity y Google AI Overviews, y qué hay que hacer para corregirlo, escríbenos. El análisis inicial no tiene coste.
Solicitar revisión técnica AEO →