Google indexa el documento, no el diseño
Estructura y marcado actualizados para los motores de respuesta actuales; el análisis original se conserva.
Google aclaró en silencio este mes que puede no indexar el texto colocado en las propiedades CSS content, porque ese texto no es parte del DOM. Es una nota pequeña con un principio grande detrás: el rastreador lee el documento que define tu marcado, no la imagen que pinta tu estilo. Cualquier cosa que cargue significado —palabras que quieres que se encuentren, posicionen o citen— tiene que vivir en el marcado mismo, no ser conjurada por la hoja de estilos. El CSS es para la presentación; el contenido pertenece al documento.
la respuesta corta
Google aclaró este mes que puede no indexar el texto colocado en las propiedades CSS content, porque ese texto no es parte del DOM. El rastreador lee el documento que define tu marcado, no la imagen que pinta tu CSS. El principio es más amplio que el CSS: texto en una imagen, un div estilizado como encabezado, copia inyectada tras un clic pueden ser visibles para una persona, invisibles para el rastreador. La decoración pertenece al CSS; el significado pertenece al marcado.
ideas clave
- Google aclaró este mes que puede no indexar el texto colocado en las propiedades CSS content, porque ese texto no es parte del DOM.
- El rastreador lee el documento que define tu marcado —el DOM— no la imagen que pinta tu estilo. El contenido en la capa de presentación nunca entra en ese documento.
- El principio es más amplio que el CSS: texto en una imagen sin alt, un div estilizado como encabezado, o copia inyectada tras una interacción pueden ser visibles para una persona e invisibles para el rastreador.
- El CSS es para la presentación; el contenido pertenece al marcado. Recurrir a la hoja de estilos para añadir palabras que significan algo es el movimiento exacto a evitar.
- Revisa el HTML renderizado que Google ve —vía inspección de URL— y confirma que las palabras, encabezados y enlaces que importan existen ahí como marcado real, no solo en pantalla.
qué lee de verdad el rastreador
El navegador fusiona ambas capas en la página que ves, así que la costura es invisible para una persona. El rastreador lee solo la capa de arriba —el documento— que es por lo que cualquier cosa que vive solo en el CSS puede pasar desapercibida.
La idea, en cuatro partes
La pequeña aclaración; documento contra diseño; el mismo error con otra ropa; y cómo mantener tu significado en el documento. Abre cada parte.
01 La pequeña aclaración
Este mes Google hizo un cambio silencioso a su documentación para desarrolladores: aclaró que Google Search actualmente puede no indexar el contenido colocado dentro de las propiedades CSS content, porque ese contenido no es parte del DOM. Es el tipo de nota que es fácil pasar de largo, pero vale la pena detenerse en ella. El CSS tiene una propiedad content, usada con mayor frecuencia junto a los pseudo-elementos ::before y ::after, que permite a la hoja de estilos inyectar texto en una página —una etiqueta antes de un elemento de lista, un icono, un prefijo, a veces una línea de copia real. En la página renderizada ese texto inyectado se ve exactamente como cualquier otro; una persona no puede distinguirlo de las palabras escritas en el HTML. Pero lo produjo la capa de estilo, no se escribió en el marcado, y así nunca se vuelve parte del Document Object Model —la representación estructurada de la página que un navegador ensambla a partir de tu HTML y que el rastreador de Google lee para entender qué es tu página. Google simplemente está confirmando la consecuencia: las palabras que existen solo en la propiedad CSS content pueden no indexarse, porque en lo que al documento respecta no están ahí. Tomado literalmente este es un punto estrecho, que afecta a la minoría de sitios que empujan texto significativo a través del CSS. Pero la razón por la que ocurre —la brecha entre lo que una página parece y lo que el documento contiene— es general, lo que es lo que vuelve una pequeña nota digna de toda una discusión.
02 Documento contra diseño
Para entender por qué ocurre esto, ayuda separar dos capas que el renderizado en pantalla funde en una. La primera es el documento: el marcado HTML que define qué es de verdad tu página —los encabezados, los párrafos, los enlaces, las listas, el contenido y la estructura que lo sostiene. La segunda es la presentación: el CSS que define cómo se ve ese documento —los colores, el espaciado, la tipografía, la maquetación, y, a través de la propiedad content, un poco de decoración inyectada. Cuando cargas una página, el navegador fusiona las dos en lo que ves, y la fusión es lo bastante fluida como para que el límite desaparezca para un lector humano. Pero el rastreador no lee la imagen fusionada como lo hace tu ojo. Lee el DOM, el documento estructurado que el marcado produce, donde el contenido y la estructura viven de verdad. Cualquier cosa que existe solo en la capa de presentación —cualquier cosa que el CSS pinta encima pero que el marcado nunca declaró— simplemente no está en ese documento, y lo que no está en el documento no está disponible para ser leído, indexado, o posicionado. Esta no es una limitación que Google no logra superar; es una separación de responsabilidades deliberada sobre la que la web está construida. El CSS existe para dar estilo al contenido, no para ser contenido. La propiedad content estaba pensada para la decoración —una viñeta, una comilla, un icono— no para palabras que cargan significado. Enrutar significado real a través de ella pide a la capa de presentación hacer el trabajo del documento, y luego se sorprende de que el documento no lo contenga. La regla del rastreador es consistente y fácil de enunciar: indexa el documento, no el diseño.
03 El mismo error, con otra ropa
El caso del CSS content vale la pena tratarlo no porque sea generalizado —no lo es— sino porque es la ilustración más limpia de un error que sí es generalizado, solo que con otra ropa. El error subyacente es tratar la apariencia renderizada como el contenido, cuando los dos pueden separarse en silencio. Una vez que ves el patrón, lo encuentras por todas partes. El texto horneado en una imagen —un encabezado, una cita, una estadística renderizada como parte de un gráfico— se ve como contenido para una persona y es invisible para el rastreador a menos que las mismas palabras existan en el marcado o en un atributo alt. Un encabezado estilizado para parecer uno pero marcado como un div ordinario se lee como un encabezado para el ojo y como texto indiferenciado para el documento, así que su señal estructural se pierde. La copia que un script escribe de una forma que el rastreador no ejecuta, o que solo aparece tras un clic que nunca realiza, está llanamente para un humano y ausente de la versión que Google lee. En cada uno de estos la forma es idéntica: algo significa algo para la persona que mira la página renderizada, pero ese significado nunca se comprometió al documento que el rastreador procesa. El mecanismo difiere —hoja de estilos, imagen, elemento mal marcado, script— pero el fallo y el arreglo son los mismos: asegúrate de que el significado viva en el marcado, no solo en el renderizado.
04 Cómo mantener tu significado en el documento
El remedio es un hábito y una regla. El hábito es revisar el documento directamente en vez de confiar en la página renderizada. Mira la página como lo hace el rastreador —inspecciona el código fuente HTML, o mejor, el DOM renderizado— y confirma que las palabras, encabezados y enlaces que importan están presentes ahí como marcado genuino, en vez de pintados por CSS, sellados dentro de una imagen sin equivalente de texto, o supeditados a un script o interacción para aparecer siquiera. La herramienta de inspección de URL de Google es la comprobación autoritativa aquí: te muestra el HTML renderizado que Google de verdad ve, y si algo importante falta de esa vista, falta y punto, por prominente que se vea en tu navegador. Haz de esa inspección una parte rutinaria de construir y revisar páginas, no un paso forense que solo buscas cuando los rankings decepcionan. La regla que previene el problema en primer lugar es la separación limpia en torno a la cual la web fue diseñada: usa HTML para el contenido y la estructura —marca los encabezados como encabezados, el texto como texto, los enlaces como enlaces, y añade datos estructurados para enunciar el significado explícitamente— y usa CSS estrictamente para cómo se ve todo eso. La señal de que estás a punto de cometer este error es el momento en que recurres a la hoja de estilos para añadir palabras que cargan significado; ese es precisamente el movimiento contra el que la aclaración del mes advierte. La decoración pertenece al CSS. El significado pertenece al marcado. Construir páginas cuyo documento carga todo lo que importa —para que el rastreador lea la misma sustancia que una persona ve, en vez de una versión vaciada de ella— es la disciplina estructural por la que el AC Group ha trabajado durante 27 años.
Por qué esto es una cuestión de contenido, no de estilo
Es tentador archivar esto bajo mantenimiento de front-end: un detalle para quien escribe el CSS. Pero es en realidad una cuestión de contenido con un disfraz técnico. Lo que está en juego no es cómo se estiliza la página; es si el significado que un lector extrae de la página existe de verdad en el documento que la representa. Una página puede verse completa y estar hueca por debajo, porque las partes que cargan significado fueron pintadas en vez de escritas. El lector nunca lo nota; el rastreador nunca lo ve. Esa brecha entre una página de aspecto pleno y un documento delgado por debajo es el riesgo real, y es invisible precisamente para la persona mejor situada para detectarlo, porque está mirando el renderizado, no el marcado.
Encuadrado así, la aclaración es una instancia de un principio que sigue volviendo: la versión de tu página que una máquina lee es la versión que cuenta, y a menudo no es la versión que una persona está mirando. Lo que el rastreador procesa —el documento, no el diseño— es lo que se vuelve tu presencia en la búsqueda. Construir páginas cuya sustancia está plenamente comprometida con el marcado, para que el documento que una máquina lee y la página que una persona ve carguen el mismo significado, es la disciplina a la que esta pequeña nota apunta y por la que el AC Group ha trabajado durante 27 años.
Qué hacer con esto
Audita tus páginas importantes contra el documento, no el renderizado. Para cada una, pregúntate si las cosas que cargan significado —los encabezados, la copia clave, las etiquetas, los enlaces— existen como marcado real, o solo en la imagen: pintadas por CSS, selladas en una imagen sin equivalente de texto, o dependientes de un script o interacción para aparecer. La forma más rápida de comprobar es ver el HTML renderizado que Google ve a través de la herramienta de inspección de URL; si algo importante está ausente ahí, está ausente de la búsqueda, por prominente que sea en pantalla.
Luego sostén la regla en adelante: el HTML carga el contenido y la estructura —encabezados marcados como encabezados, texto como texto, enlaces como enlaces, con datos estructurados para hacer el significado explícito— y el CSS carga solo cómo se ve eso. Trata el impulso de añadir palabras significativas a través de la hoja de estilos como una señal de alarma, porque ese es el error exacto que describe la nota de este mes. La decoración puede vivir en el diseño; el significado tiene que vivir en el documento. Mantener esa línea limpia —para que el rastreador lea la misma sustancia que una persona ve en vez de una versión vaciada de ella— es la disciplina estructural por la que el AC Group ha trabajado durante 27 años.
Documento contra diseño, en claro: respuestas rápidas
¿Qué aclaró Google exactamente este mes?
Google actualizó su documentación para desarrolladores para afirmar que Google Search actualmente puede no indexar el contenido colocado dentro de las propiedades CSS content, porque ese contenido no es parte del DOM. Para desglosarlo: el CSS tiene una propiedad content, usada con mayor frecuencia con los pseudo-elementos ::before y ::after, que puede inyectar texto en cómo se ve una página —una etiqueta, un prefijo, un icono, una pieza de copia decorativa o incluso sustantiva— puramente a través de la hoja de estilos. Visualmente aparece en la página como cualquier otro texto. Pero lo genera la capa de estilo en vez de estar escrito en el HTML, así que no se vuelve parte del Document Object Model, la representación estructurada de la página que el navegador construye a partir de tu marcado y que el rastreador de Google lee para entender tu contenido. La conclusión práctica es contundente: si pones palabras ahí, Google puede simplemente no verlas. Es una aclaración estrecha y técnica, y por sí sola afecta solo al número relativamente pequeño de sitios que empujan texto real a través del CSS. Pero el principio debajo es amplio y vale la pena interiorizarlo, porque la misma lógica gobierna toda una familia de formas en que el contenido puede parecer presente para una persona mientras está ausente para un rastreador. La aclaración es la ocasión de esta nota; el principio es el punto.
¿Por qué Google no indexa el texto generado por CSS?
Porque Google indexa el documento, y el texto generado por CSS no está en el documento: está en la capa de presentación que se asienta encima de él. Ayuda separar dos cosas que parecen una sola en pantalla. Está el documento: el marcado HTML que define qué es la página —sus encabezados, párrafos, enlaces, listas, el contenido y la estructura reales. Y está la presentación: el CSS que define cómo se ve ese documento —colores, espaciado, tipografías, maquetación, y, vía la propiedad content, algo de decoración inyectada. El navegador los combina en lo que ves, lo que vuelve la costura invisible para un humano. Pero el rastreador no está mirando la imagen renderizada como lo hace tu ojo; está leyendo el DOM, el documento estructurado que el marcado produce. El contenido que existe solo en la capa de estilo nunca entra en ese documento, así que no está ahí para ser leído, indexado, o posicionado. Esto no es Google siendo difícil ni fallando en ponerse al día; es una división limpia y deliberada de responsabilidades. El CSS fue diseñado para dar estilo al contenido, no para ser contenido. Cuando el texto es del tipo que debería encontrarse y entenderse —cualquier cosa que cargue significado— pertenece al marcado, donde el documento puede sostenerlo. Ponerlo en la hoja de estilos es usar la presentación para hacer el trabajo del documento, y el documento es lo que se indexa.
No pongo texto en CSS: ¿esto aún me importa?
Casi con seguridad, porque el caso del CSS content es solo el ejemplo más limpio de un error mucho más común: dejar que el significado viva en algún lugar donde el rastreador no lo lee. El error subyacente es tratar la apariencia renderizada como si fuera el contenido, cuando los dos pueden divergir. La misma trampa aparece en varias formas familiares. El texto horneado en una imagen sin equivalente en el marcado o en el atributo alt es visible para una persona e invisible para el rastreador. Un encabezado estilizado para parecer un encabezado con CSS, pero marcado como un div simple, se lee como estructura para el ojo y como nada en particular para el documento. La copia importante inyectada por un script de una forma que el rastreador no ejecuta, o revelada solo tras una interacción que nunca realiza, está presente en pantalla y ausente de la página que Google lee. En cada caso el patrón es idéntico al del CSS content: algo carga significado para el humano que mira la página renderizada, pero ese significado nunca se escribió en el documento que el rastreador procesa. Así que aunque nunca toques la propiedad CSS content, la disciplina a la que apunta se te aplica directamente: audita si las cosas que importan en tus páginas existen de verdad en el marcado, o solo en la imagen. Comprobar que el documento, no solo el diseño, carga tu significado es exactamente el tipo de trabajo estructural que el AC Group ha hecho durante 27 años.
¿Cómo me aseguro de que mi contenido está en el documento?
Revisa el documento directamente en vez de confiar en la página renderizada, y mantén una línea limpia entre lo que es contenido y lo que es estilo. La prueba más simple es mirar la página como lo hace el rastreador: ve el código fuente HTML real o el DOM renderizado y confirma que las palabras, encabezados y enlaces que importan están presentes ahí como marcado real —no pintados por CSS, no encerrados dentro de una imagen sin un equivalente de texto, no dependientes de un script o una interacción para aparecer. La propia herramienta de inspección de URL de Google te mostrará el HTML renderizado que ve, que es la vista autoritativa; si algo importante falta de ella, esa cosa es invisible sin importar cuán prominente se vea en un navegador. Más allá de la comprobación puntual, sostén el principio como una regla de construcción: usa HTML para el contenido y la estructura —encabezados como encabezados, texto como texto, enlaces como enlaces, con datos estructurados para hacer el significado explícito— y usa CSS estrictamente para la presentación. En el momento en que te encuentres recurriendo a la hoja de estilos para añadir palabras que significan algo, detente, porque ese es el movimiento exacto contra el que esta aclaración advierte. La decoración puede vivir en CSS; el significado tiene que vivir en el marcado. Construir páginas donde el documento mismo carga todo lo que importa, en vez de apoyarse en el diseño para implicarlo, es la disciplina estructural por la que el AC Group ha trabajado durante 27 años.
Una nota sobre fuentes y momento
Esto se escribe en septiembre de 2020, justo después de que Google aclarara en su documentación para desarrolladores que Search actualmente puede no indexar el contenido dentro de las propiedades CSS content, porque ese contenido no es parte del DOM. La explicación de por qué —que el rastreador lee el documento que el marcado produce, mientras que el texto inyectado por CSS vive solo en la capa de presentación— se sigue de cómo la web separa el contenido del estilo, y los casos relacionados (texto en imágenes, encabezados mal marcados, copia dependiente de scripts) son instancias de larga data de la misma brecha. El punto duradero sobrevive a esta nota: el rastreador indexa el documento, no el diseño, así que el significado tiene que vivir en el marcado —la disciplina estructural por la que el AC Group ha trabajado durante 27 años.