Decisiones · cuaderno

96 páginas fuera en una semana.

Por qué eliminamos casi un tercio del sitio tras leer los informes de AdSense

El miércoles 14 a las 19:32 entró el email de Google. Otro "hemos revisado tu sitio y no podemos aprobarlo", con la causa Scaled content abuse en negrita. Es el segundo rechazo del portfolio en nueve días, el primero ya lo arrastrábamos del 6 de mayo. Esta vez no era guíarutas; era guiaenergia. Pero el publisher de AdSense es el mismo, y la auditoría que hicimos esa misma noche encontró exactamente el mismo patrón aquí.

Esto es lo que decidimos hacer en las treinta y seis horas siguientes.

El patrón

Guiaenergia tenía 194 páginas indexadas. Setenta y seis eran combinaciones [ccaa] generadas por plantilla — la misma estructura HTML para Andalucía, Aragón, Asturias, etc., con 150-200 palabras únicas por instancia y el 98-99 % del HTML idéntico carácter a carácter. Esto no es "contenido optimizado para SEO". Esto es lo que Google llama, desde marzo de 2024, scaled content abuse: pasa por las URLs, mira dos o tres ejemplos, ve que son clones, y rechaza el sitio entero aunque las páginas pilar estén bien.

El revisor de AdSense es una persona, no un crawler. Lee la primera ficha buena, le gusta, abre la segunda, ve el patrón clónico, ya no necesita ver más. Cierra el ticket con un "no" y pasa al siguiente sitio en su cola.

Cuando lanzamos la auditoría sobre guíarutas el día 15 por la mañana, lo encontramos: 96 páginas con el mismo patrón. Eran las URLs del tipo /parques/picos-de-europa/cortas/, /parques/picos-de-europa/familia/, etc. — 16 parques nacionales por 6 filtros temáticos, 96 URLs con el 76-85 % del HTML compartido y entre 265 y 290 palabras únicas cada una. Lo habíamos hecho en noviembre como programmatic SEO, siguiendo el patrón que recomiendan en el sector. Resultó ser el patrón que rechaza Google.

La discusión interna

Tres opciones reales encima de la mesa:

Mantener las URLs y ampliar cada una a 700 palabras editoriales. Habría requerido escribir 96 textos verificados nuevos: clima, fauna, normativa, datos MIDE, picos del subset. Treinta o cuarenta horas de redacción documentada. Conservábamos las URLs para SEO long-tail.

Marcar las 96 con noindex y dejarlas como navegación. Es la jugada que recomiendan algunos foros tras un rechazo: "scaled content abuse = noindex urgente". Una hora de trabajo. Pero quedaba la fricción: un visitante que llega por enlace externo se encuentra una página que Google no quiere indexar, lo cual es coherente pero ruidoso.

Consolidar las 96 en 16 fichas únicas con filtros JavaScript. Borrar las URLs intermedias, hacer que cada parque tenga una sola ficha rica con el contenido de los 6 filtros dentro, en acordeones. Sin URLs fantasma, sin sitemap inflado. Coste: 6-8 horas. Beneficio: el riesgo de scaled content baja a cero, las páginas que quedan son densas, y desde una URL antigua se redirige con un 301 al acordeón correspondiente.

Elegimos la tercera. La cifra que terminó de decidir fue la siguiente: nuestro publisher de AdSense ya tiene dos rechazos en menos de dos semanas. Si guíarutas llega con el mismo patrón estructural y es la tercera negativa del mismo pub-2757173654840623, lo que aprende Google sobre nosotros como entidad es que generamos sitios programáticos clónicos. Esa cuenta tendría que pelear el resto de su existencia contra esa etiqueta.

Lo que se borra duele

96 páginas son ocho meses de trabajo. Las hicimos con datos verificados, prosa redactada parque a parque, con honestidad — en filtros que no aplicaban a un parque (refugios en Tablas de Daimiel, por ejemplo) escribimos un noAplica editorial en lugar de inventar contenido. No era spam y no eran textos malos. Eran textos buenos sirvidos en un molde malo.

Esta es la parte que los manuales de SEO no cuentan: slash & burn es la palabra técnica para "borrar mucho", pero la experiencia de hacerlo es la de tirar a la basura cuarenta horas de tu propio trabajo porque el contexto cambió.

La pieza editorial — los introHtml, las caracteristicas, las listas de rutas que cumplen el filtro — la migramos a un módulo único parques-filtros.ts antes de borrar nada. Eso lo conservamos. Lo que se va es el molde: las 96 URLs y la plantilla HubFiltrado.astro que las generaba.

Lo que queda

Tras la consolidación, el sitio pasa de 325 páginas a 229. El sitemap segmentado pierde el bucket programmatic entero, que antes contenía las 96 sub-URLs y ahora está vacío. Cada parque nacional sigue teniendo su contenido por filtros — accesible, escaneable, con deep-link por hash desde las URLs antiguas — pero como una sola ficha rica de 1.500-2.200 palabras.

Hicimos también lo otro que la auditoría recomendaba como bloqueante: aplicamos noindex, follow a nueve páginas thin (tres legales y seis hubs de CCAA con menos de 250 palabras únicas), y las sacamos del sitemap. Esas seis se van a ampliar a 600-800 palabras con datos verificables — clima histórico, normativa singular, geoparques UNESCO — antes de devolverlas al índice.

Lo que cambia mañana

Tres cosas que vamos a hacer distintas a partir de ahora.

Validador prebuild antes de cualquier sección programática. Estamos escribiendo un audit-scaled-content.mjs que falla la build si encuentra un grupo de más de cinco páginas con la misma plantilla y menos de 500 palabras únicas por instancia. Si en seis meses se nos ocurre otra combinatoria X × Y, el script frena antes del despliegue.

"Programmatic SEO" sale del vocabulario del proyecto. El nombre, no la idea. La idea — generar muchas páginas a partir de datos estructurados — sigue siendo válida para combinatorias con suficiente uniqueness por instancia (rutas individuales, etapas Camino). Lo que sale es la asunción de que multiplicar URLs es siempre bueno. No lo es cuando se llega a la masa crítica de plantilla.

Pensamos primero en el revisor humano. Antes pensábamos en el crawler de Google. Ahora pensamos en una persona que abre tres páginas del sitio al azar, busca el byline del editor, lee dos párrafos, y decide. Esa persona no perdona el texto sin voz. Por eso este Cuaderno existe.

Coda

El sitio hermano que arrastra desde el 6 de mayo, guiafiscal.es, está aún esperando veredicto de la resolicitud — día 14 de los 14 que da Google para volver a contestar. Si pasa, la receta de añadir contenido se confirma como buena. Si vuelve a fallar el 22 de mayo, sabremos que la decisión que tomamos hoy en guíarutas era la correcta y que aplicar la misma medicina en guiafiscal era insuficiente.

Sea como sea, este es el último rechazo que nos va a sorprender.

Cristian Corrales
· Lleida, 23:14