Serpion analiza el expediente 016 con problemas de contenido duplicado y URLs inconsistentes en una web de seguros.

El contenido duplicado del impostor · Serpion 016

🎧 Escuchar: El contenido duplicado del impostor · Serpion 016

La web de una aseguradora local. Nada alarmante a primera vista: estructura razonablemente ordenada, páginas de servicios bien diferenciadas, textos trabajados con criterio. Habían invertido tiempo en el contenido y se notaba. Pero el rendimiento orgánico llevaba meses plano. No una caída. No un accidente. Solo estancamiento silencioso, del tipo que no activa ninguna alerta pero que tampoco avanza.

Lo primero que llama la atención cuando revisas algo así no es el error en sí, sino la sensación de que los números no suman. Las páginas existían, Google las visitaba, los textos no eran malos. Y sin embargo, Search Console mostraba señales de contenido duplicado que nadie había detectado ni documentado. Había URLs en estados extraños, grupos de páginas con comportamientos inconsistentes, y una especie de ruido de fondo que alguien en algún momento había decidido ignorar.

Demasiadas URLs apuntando al mismo sitio sin que ninguna tomara el control. Eso no me cuadraba. Si el contenido era sólido y el sitio llevaba años activo, algo tenía que estar interfiriendo antes de que las señales llegaran donde debían.

Sello que pone en investigación el expediente 016 de Serpion
Ficha del expediente Nº: 016

Operario: Serpion

Expediente del caso: El contenido duplicado del impostor

Empresa o negocio: Aseguradora local

Archivado en: Contenido y Arquitectura

Nivel: Básico

El rastro del contenido duplicado en una web sin señales claras

Empecé por donde suelo: los datos de cobertura en Google Search Console. El informe de páginas indexadas no era catastrófico en números absolutos, pero tenía una distribución rara. Alrededor de veinte URLs aparecían bajo el estado "Duplicate without user-selected canonical". No en páginas secundarias ni en secciones menores, sino en las áreas de servicios, justo donde estaban los textos más trabajados del sitio.

La primera hipótesis que barajé fue thin content. Algunas de esas páginas parecían cortas visualmente, y era tentador pensar que Google las estaba agrupando por falta de sustancia. Revisé el recuento de palabras en los documentos afectados: ninguno bajaba de 290 palabras, varios superaban las 400. Pero el número de palabras no permitía confirmar ni descartar por sí solo una situación de thin content. Sin embargo, los primeros indicios apuntaban a otro problema: varias URLs estaban ofreciendo exactamente el mismo contenido. La investigación tenía que continuar por ahí.

Lo que sí seguía en pie era el patrón: grupos de páginas con el mismo comportamiento, todas afectadas en las mismas secciones, ninguna con una señal canónica clara que le dijera a Google cuál debía priorizar. Esto no era ruido aleatorio. Era un patrón con una causa detrás.

Ahí lancé un rastreo completo con Screaming Frog. Lo que apareció confirmó la sospecha: el informe de contenido duplicado mostraba hashes idénticos en grupos de tres a cinco URLs distintas. El mismo hash. El mismo contenido exacto. Rutas diferentes. Google estaba leyendo el mismo texto desde varias direcciones y sin instrucción alguna sobre cuál era la buena.


https://www.ejemplo-seguro.es/seguros/hogar/
https://www.ejemplo-seguro.es/seguros/hogar/?ref=menu
https://www.ejemplo-seguro.es/seguros/hogar/?origen=banner
https://www.ejemplo-seguro.es/hogar/contratacion/

Cuatro URLs. El mismo contenido. Cuatro caminos que conducían al mismo texto sin que el sitio indicara cuál debía ser la versión principal. Google tenía que tomar esa decisión por su cuenta.

Las URLs donde el contenido duplicado se volvía invisible para el rastreador

El patrón se repetía en cinco grupos de páginas, todos relacionados con servicios: hogar, automóvil, vida, salud y decesos. En cada grupo, entre tres y cinco URLs servían contenido con hash idéntico sin ninguna etiqueta canónica declarada. No había instrucción de ningún tipo. El rastreador llegaba, leía el contenido y Google tenía que decidir por su cuenta qué versión debía tratar como referencia, al no encontrar una preferencia canónica declarada por el sitio.

En ausencia de una señal canónica declarada, Google agrupaba las versiones duplicadas y elegía por su cuenta cuál debía considerar principal. El problema era que esa elección no tenía por qué coincidir con la URL que el negocio quería posicionar. Las señales que el sitio enviaba no estaban suficientemente alineadas para orientar esa decisión.

Google no estaba fallando. Estaba obedeciendo. Cuando el sitio no declara una preferencia, el sistema toma la suya propia. Y esa decisión autónoma no siempre coincide con la que el proyecto necesita.

En Search Console aparecían dos situaciones distintas. Algunas URLs figuraban como "Duplicate without user-selected canonical": Google había identificado el contenido duplicado y seleccionado otra versión como canónica. Otras aparecían como "Rastreada: actualmente sin indexar", un estado que indicaba que Google había visitado esas páginas, pero no las había incorporado al índice. Aunque podían coexistir dentro del mismo escenario, cada estado requería interpretar su causa por separado.


Grupo de URLs (ejemplo — seguro de hogar):

URL A: /seguros/hogar/               → URL seleccionada por Google
URL B: /seguros/hogar/?ref=menu      → duplicada
URL C: /seguros/hogar/?origen=banner → duplicada
URL D: /hogar/contratacion/          → duplicada

Canonical declarada por el sitio: ninguna
Hash de contenido: d3f82a19c... (idéntico en las 4)

Hasta aquí la investigación había confirmado el síntoma con bastante detalle. Pero todavía no tenía claro de dónde salían estas variaciones de URL ni por qué el sistema las generaba. Ahí estaba la pregunta que todavía quedaba abierta.

Cuando el impostor tiene tu misma cara

La causa estaba en cómo el CMS del sitio gestionaba las rutas internas. La plantilla de servicios generaba múltiples versiones de cada URL según el punto de entrada del usuario: si llegabas desde el menú principal, desde un banner interno o desde un enlace de otra sección, el sistema añadía parámetros a la URL sin limpiarlos ni redirigirlos hacia la versión canónica. Además, una reorganización interna del árbol de contenido había dejado activa una ruta de URL antigua junto a la nueva, y ambas servían el mismo documento sin que ninguna de las dos tuviera prioridad declarada. La ruta heredada no era un error de configuración evidente: respondía con estado 200, tenía contenido y el sistema la trataba como cualquier otra página activa.

El resultado era exactamente lo que mostraba Screaming Frog: contenido duplicado distribuido en cinco grupos, cada uno con su propio conjunto de URLs activas. No era intención de nadie. Era la consecuencia lógica de una plantilla que no gestionaba los parámetros de seguimiento y de una migración de rutas que se había hecho a medias.

Una URL duplicada no siempre es un error intencionado. A veces es el rastro de algo que se hizo bien en su momento, pero que nadie actualizó cuando el contexto cambió.

El impacto SEO era concreto: las señales que debían apuntar a /seguros/hogar/ estaban repartidas entre varias versiones. Google tenía que decidir cuál representaba mejor ese contenido, y podía elegir una URL distinta de la que el negocio quería posicionar. El rastreador gastaba visitas en todas ellas. Los enlaces internos que apuntaban a versiones distintas no convergían. Y el resultado era una pérdida de control sobre qué URL aparecía en los resultados de búsqueda.

Esto no era un problema de contenido pobre. Era un problema de identidad: el mismo texto vivía en demasiados sitios a la vez, y ninguno de esos sitios era reconocible como el principal porque el propio sitio no había tomado esa decisión.

Limpiar el mapa antes de que Google lo aprenda de nuevo

El plan de acción tenía que resolver tres cosas a la vez: indicar a Google cuál era la URL canónica de cada grupo, eliminar el acceso a las variantes que no debían existir y limpiar los rastros de las rutas antiguas que habían quedado activas sin intención.

Primero el canonical, luego el corte limpio

La primera opción que valoré fue añadir etiquetas noindex a las URLs duplicadas. Es una corrección rápida: le dices a Google que no indexe esas versiones y asunto resuelto en apariencia. Pero hay un problema con ese enfoque: el noindex excluye la página del índice, pero no impide que el rastreador siga visitándola. Las URLs seguirían existiendo, seguirían recibiendo visitas del bot, y el rastreador seguiría distribuyendo tiempo entre versiones que no aportaban nada. Eso era exactamente lo que ya estaba pasando. Cambiar el estado sin limpiar las rutas no resolvía el problema de fondo.

Lo que sí tenía sentido era ir en orden: primero, identificar la URL principal de cada grupo e implementar la etiqueta canónica en las versiones duplicadas que debían seguir siendo accesibles. Segundo, implementar redirecciones 301 desde las variantes de parámetro y las rutas antiguas que ya no debían funcionar como destinos independientes. Tercero, corregir en el panel de configuración interna la forma en que la plantilla generaba los parámetros de seguimiento, para que las nuevas visitas no volvieran a crear variantes sin controlar.

El riesgo de ejecutar esto mal era real. Si las redirecciones 301 apuntaban a la URL equivocada dentro de un grupo, toda la señal acumulada por las variantes iba al destino incorrecto. Había que tener claro cuál era la URL principal antes de tocar nada, y eso requería revisar el enlazado interno del sitio para identificar cuál de las versiones recibía más referencias internas y cuál era la que el sitio debía proyectar hacia fuera.

Con ese mapa claro, la ejecución fue metódica: canonical en las páginas duplicadas que debían seguir siendo accesibles, 301 desde las variantes con parámetros y las rutas antiguas hacia sus respectivas URLs principales, corrección de la configuración del sistema y revisión del sitemap XML para eliminar las URLs duplicadas que seguían declaradas como válidas. Cualquier URL duplicada que siguiera apareciendo en el sitemap enviaba una señal incoherente con la intención de consolidar el contenido en una única versión. El sitemap debía reflejar las URLs principales elegidas para cada grupo.

Dos semanas después del primer bloque de cambios, Search Console empezaba a actualizar los estados. Las URLs duplicadas que debían seguir siendo accesibles comenzaron a pasar de "Duplicate without user-selected canonical" a "Página alternativa con etiqueta canónica adecuada", mientras que las variantes a las que se habían aplicado redirecciones 301 empezaron a figurar como páginas con redirección. Progresivamente, algunas de las URLs principales volvieron al estado indexado con la señal correcta. No fue un cambio instantáneo —Google necesita tiempo para rerastrear y reevaluar—, pero la dirección era la correcta desde los primeros datos.

Cuando una web lleva meses enviando señales contradictorias, la corrección no produce resultados en días. El rastreador tiene que volver, leer la nueva instrucción, procesarla y actualizar su modelo del sitio. Acelerar ese proceso dependía en parte de mantener el sitemap limpio y de reforzar el enlazado interno hacia las URLs canónicas para que el bot tuviera motivos claros para priorizarlas.

Sello que marca como cerrado el expediente 016 de Serpion

💡 Qué he aprendido

Este caso me confirmó algo que ya intuía: el contenido duplicado más peligroso no es el que alguien crea a propósito, sino el que aparece como consecuencia de decisiones técnicas que en su momento tenían sentido. Nadie configuró esos parámetros con mala intención. Nadie dejó activa la ruta antigua para sabotear el sitio. Fue la acumulación de capas —una plantilla, una migración a medias, un sistema de seguimiento sin limpiar— lo que generó el problema.

Lo que cambió en mi forma de trabajar es el orden de la revisión. Antes de evaluar el contenido de un sitio, ahora compruebo primero si todas las URLs que responden con estado 200 deberían estar activas. Un contenido puede estar perfectamente escrito y aun así no posicionar si existe en cuatro versiones simultáneas sin ninguna instrucción de prioridad. La calidad del texto no compensa la ambigüedad de la señal.

También aprendí a no descartar rápido los casos que parecen simples. Este expediente tenía pinta de corrección rápida. Resultó ser un sistema de duplicación en cinco grupos distintos con tres causas solapadas. Los casos básicos a veces esconden más capas de las que muestran al principio.

Bitácora de Serpion

Analista Digital

Expediente Nº 016: El contenido duplicado del impostor

🧩 Notas del caso

⬋⬋

Aseguradora local con rendimiento orgánico estancado durante varios meses. El sitio tenía contenido trabajado en sus páginas de servicios, pero Search Console mostraba alrededor de veinte URLs distribuidas en cinco grupos bajo el estado "Duplicate without user-selected canonical", concentradas en las secciones comerciales principales. Ninguna URL de cada grupo tenía canónica declarada, por lo que Google seleccionaba por su cuenta la versión que consideraba principal.

La causa era la combinación de una plantilla que generaba variantes de URL con parámetros de seguimiento sin limpiarlos y una reorganización interna que había dejado activas rutas antiguas junto a las nuevas. La solución incluyó etiquetas canónicas en las variantes accesibles, redirecciones 301 desde las variantes con parámetros y las rutas heredadas, corrección del sistema de generación de parámetros y limpieza del sitemap XML.

🔎 Pistas SEO extraídas del caso

⬋⬋

  • Alrededor de veinte URLs repartidas en cinco grupos con estado "Duplicate without user-selected canonical", todas concentradas en las páginas de servicios con tráfico potencial.
  • Hash de contenido: Identificador generado a partir del contenido analizado de una página; si dos URLs tienen el mismo hash, el contenido incluido en esa comparación es idéntico.
  • Parámetros de seguimiento (?ref=, ?origen=) generados por la plantilla sin redirección ni limpieza hacia la URL principal de cada grupo.
  • Ruta de URL antigua activa junto a la nueva tras una reorganización del árbol de contenido que no se completó, respondiendo con estado 200 y sin redirección hacia la versión vigente.
  • El sitemap XML declaraba como válidas varias URLs duplicadas, enviando una señal incoherente con la intención de consolidar el contenido en una única versión por grupo.

🚫 Errores SEO detectados en el caso

⬋⬋

  • Ausencia de etiqueta canónica en todas las versiones duplicadas de cada grupo de servicio, dejando a Google la decisión de elegir qué URL tratar como principal sin orientación del sitio.
  • Parámetros de seguimiento no gestionados: la plantilla los añadía a la URL sin redirigir hacia la versión limpia, creando variantes activas con estado 200 de forma automática.
  • Ruta de URL heredada sin redirección: una reorganización interna dejó activa una ruta antigua que servía el mismo contenido con estado 200, sin una redirección 301 hacia la URL vigente.
  • Sitemap XML desactualizado: incluía URLs duplicadas como si fueran páginas válidas, enviando una señal incoherente con la intención de consolidar el contenido en una única versión.
  • Enlazado interno inconsistente: distintos módulos del sitio apuntaban a versiones distintas del mismo servicio, dificultando que Google identificara cuál era la URL principal de cada grupo.

📘 Glosario SEO del expediente

⬋⬋

  • Contenido duplicado: Texto idéntico o muy similar accesible desde varias URLs distintas, independientemente de que exista o no una instrucción canónica entre ellas.
  • Etiqueta canónica: Señal en el HTML que indica a Google cuál es la URL preferida cuando varias versiones sirven el mismo contenido, aunque Google puede seleccionar otra.
  • Hash de contenido: Identificador generado a partir del texto de una página; si dos URLs tienen el mismo hash, su contenido es idéntico.
  • Redirección 301: Respuesta HTTP que indica que una URL se ha trasladado permanentemente a otra. Google la utiliza como una señal para considerar la URL de destino como canónica y consolidar las señales correspondientes.
  • Parámetro de URL: Variable añadida a una dirección web (como ?ref=menu) que puede generar versiones duplicadas si no se gestiona correctamente.

📏 Mini guía práctica

⬋⬋

  1. Rastrea el sitio con Screaming Frog y compara hashes de contenido para detectar grupos de URLs con texto idéntico antes de hacer cualquier otra cosa.
  2. Revisa en Search Console el informe de indexación de páginas filtrando por el estado "Duplicate without user-selected canonical" para identificar cuántas páginas están afectadas y en qué secciones se concentran.
  3. Antes de implementar canonicals o redirecciones, identifica cuál debe ser la URL principal de cada grupo según la estructura y el objetivo del sitio. Comprueba que el enlazado interno y las referencias del sitemap estén alineados con esa elección.
  4. Implementa la etiqueta canónica en las variantes que deben seguir siendo accesibles, y añade redirecciones 301 desde las versiones con parámetros y las rutas antiguas que ya no deben funcionar como destinos independientes.
  5. Limpia el sitemap XML dejando solo las URLs principales de cada grupo, y revisa la configuración interna de la plantilla para evitar que el sistema vuelva a generar variantes sin gestionar.

Comparte el conocimiento. Comparte la historia

Expedientes y Archivos

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Respetamos tu privacidad. Los datos que proporciones se utilizarán únicamente para gestionar y mostrar tu comentario, así como para prevenir el uso indebido o el spam. Puedes consultar más información en nuestra política de privacidad.

Subir