Vista de rastreador

La mayoría de los bots nunca dibujan tu página. Toman el HTML que envía tu servidor, se quedan con las palabras y se van. Esta comprobación muestra esas palabras en el orden en que las encuentra un bot, y señala lo que falta.

Una petición para la página y otra para su robots.txt. Ninguna se guarda.

O prueba wikipedia.org, react.dev

Cada página existe en dos copias

La primera copia es el documento HTML que sale de tu servidor. La segunda es lo que construye un navegador a partir de él cuando ha cargado las hojas de estilo, ejecutado los scripts y traído todo lo que esos scripts piden. Las personas solo ven la segunda copia.

Los bots trabajan sobre todo con la primera. Googlebot sí renderiza las páginas con un Chrome sin interfaz, pero en una pasada posterior que puede retrasarse y agotar el tiempo de espera. Bingbot renderiza menos. Los rastreadores que alimentan a los asistentes de IA, y los que generan las vistas previas de las aplicaciones de chat y de redes sociales, por lo general no ejecutan JavaScript en absoluto. Si tu texto solo existe en la segunda copia, buena parte de tu audiencia de máquinas recibe una página vacía.

Esta comprobación pide la primera copia y se detiene ahí. No se ejecuta nada y no se aplica ninguna hoja de estilo.

Cómo leer la vista en texto plano

Recorremos el cuerpo de la página en el orden del código fuente y lo imprimimos como texto. Se omiten los scripts, los estilos, las plantillas y los dibujos SVG en línea. Lo demás se marca así:

#, ##, ###
Un encabezado y su nivel. Prueba a leer solo estas líneas. Deberían funcionar como el índice de la página.
Palabras subrayadas
Un enlace. Pasa el cursor por encima para ver la dirección a la que lleva.
[Image: …]
El texto alt de una imagen. Una imagen sin atributo alt se muestra como ausente, con el nombre de su archivo. Los botones y los campos de formulario aparecen entre corchetes de la misma manera.
Texto marcado como oculto
Palabras que están en el HTML pero llevan el atributo hidden o un estilo en línea como display:none, visibility:hidden, font-size:0 o un text-indent negativo muy grande.
Texto marcado como noscript
Contenido dentro de <noscript>, que solo reciben los bots y los visitantes sin JavaScript.

Debajo del texto aparecen los números: tamaño del HTML, cantidad de palabras visibles, proporción del HTML que es texto, scripts, enlaces e imágenes. Una proporción de texto de entre el 10 y el 30 % es típica de una página hecha a mano o con un CMS. Con un 1 o un 2 %, el documento es sobre todo código.

Qué activa cada hallazgo

HallazgoRegla aplicada
Contenido solo tras JavaScriptMenos de 60 palabras visibles, junto con uno de estos casos: un contenedor de aplicación vacío (#root, #app, #__next, #__nuxt, app-root y similares), tres o más scripts externos, más de 50 KB de script en línea o más de 150 KB en los archivos de script principales.
Muy poco textoMenos de 150 palabras visibles.
La página pide no ser indexadanoindex o none en una etiqueta meta robots o en una cabecera X-Robots-Tag.
Google no permitidoLa ruta de la página coincide con una regla Disallow de robots.txt que se aplica a Googlebot.
Más texto oculto que visibleLas palabras ocultas superan a las visibles, con un mínimo de 80.
Enlaces que los bots no pueden seguirhref="#", href="javascript:…", o un onclick sin href.
Sin encabezado de nivel 1, imágenes sin altSe cuentan directamente en el HTML.

El último bloque aplica tu robots.txt a esta única dirección para diez rastreadores: Googlebot, Bingbot, Google-Extended, GPTBot, OAI-SearchBot, ClaudeBot, Claude-SearchBot, PerplexityBot, CCBot y Applebot-Extended. Un bloqueo a Googlebot cuenta como error. Un bloqueo a un rastreador de IA solo se indica, ya que es una decisión que tienes derecho a tomar. La comprobación de acceso de bots de IA cubre una lista más larga para todo el sitio.

Cómo poner tu texto en la primera copia

Si la comprobación encontró un contenedor vacío, la página es una aplicación del lado del cliente. El servidor envía un cascarón y el navegador lo rellena. Estos son los remedios, de más a menos completo:

  1. Renderizar en el servidor. Next.js, Nuxt, SvelteKit, Remix y Angular pueden producir HTML completo en cada petición y después enganchar los scripts. Suele ser una decisión de configuración, no una reescritura.
  2. Generar páginas estáticas en la compilación. Para contenido que cambia poco, herramientas como Astro, Gatsby o la exportación estática de los frameworks anteriores escriben un archivo HTML completo por página.
  3. Prerenderizar para los bots. Un servicio de prerenderizado guarda una instantánea renderizada y se la sirve a los rastreadores. Funciona, pero ahora tienes dos versiones que mantener.

En un CMS clásico como WordPress o Drupal, el HTML ya contiene el texto y los hallazgos son menores: un precio que solo aparece dentro de una imagen, un menú cuyos enlaces son manejadores onclick o un número de teléfono en la imagen de un banner con un alt vacío.

El texto oculto se detecta solo a partir del atributo hidden y de los estilos en línea. El texto oculto por una clase de una hoja de estilo externa cuenta aquí como visible, porque no cargamos hojas de estilo. Los menús plegados, las pestañas y los acordeones son normales, y los buscadores no los penalizan.

Preguntas frecuentes

¿Google ejecuta JavaScript cuando rastrea una página?

Sí, pero como segundo paso. Google primero indexa el HTML que descarga y después pone la página en cola para renderizarla en un Chrome sin interfaz. Ese paso puede llegar más tarde, y puede que no espere a los scripts lentos ni al contenido que se carga al desplazarse o al hacer clic.

¿Los rastreadores de ChatGPT, Claude y Perplexity ejecutan JavaScript?

Por regla general, no. GPTBot, ClaudeBot, PerplexityBot y CCBot descargan el HTML y leen su texto. Una página que necesita scripts para mostrar su contenido les da poco o nada.

¿El texto oculto es malo para el SEO?

No cuando forma parte de la interfaz. Los menús, las pestañas, los acordeones y los diálogos se indexan con normalidad. Lo que los buscadores consideran spam es el texto ocultado a propósito a los visitantes para añadir palabras clave, como el texto blanco sobre fondo blanco.

¿Qué es una buena proporción entre texto y HTML?

No hay una cifra objetivo y no es un factor de posicionamiento. Las páginas hechas con cuidado suelen estar entre el 10 y el 30 %. Una cifra muy baja es solo una pista de que el documento lleva mucho marcado o script en línea para la cantidad de contenido.

¿Por qué la vista no muestra casi nada de mi sitio?

Tu servidor envía un cascarón de aplicación y el contenido se añade en el navegador. Abre el código fuente de la página (Ctrl+U o Cmd+Option+U) y busca una frase de tu página. Si no está, los bots que se saltan JavaScript tampoco pueden verla.