
🚫 Cómo poner noindex a las páginas de paginación en Yoast SEO
Cuando usted tiene cientos de publicaciones, docenas de categorías y una nube de etiquetas, las páginas de paginación se multiplican sin que se note. /page/2/, luego /page/3/, después /page/15/, y antes de que se dé cuenta Google está indexando mil URL basura que no contienen contenido único pero consumen su presupuesto de rastreo.
En versiones anteriores de Yoast SEO existía una opción integrada llamada «Noindex subpages of archives». Una casilla y el problema quedaba resuelto. Pero en 2020 el equipo de Yoast eliminó este ajuste de la interfaz. La posición oficial: Google se ha vuelto más inteligente manejando series paginadas y el ajuste ya no es necesario.
En la práctica, sí es necesario. Especialmente para sitios grandes donde cada página extra en el índice consume parte de la cuota de rastreo de URL que realmente deberían posicionarse.
Los desarrolladores de Yoast dejaron una alternativa: el filtro wpseo_robots. Con él puede establecer programáticamente noindex, follow para cualquier página de paginación. A continuación se presentan dos opciones de código: una estricta (todas las URL /page/) y una selectiva (solo archivos de categorías y etiquetas).
💡 Resumen rápido:
- Conozca por qué Yoast eliminó la opción integrada y cuándo sigue siendo necesaria
- Obtenga código listo para usar en
functions.php: dos versiones del filtrowpseo_robots - Aprenda a verificar los resultados mediante el código fuente de la página y Google Search Console
Por qué las páginas de paginación deberían bloquearse de la indexación
Cada página de paginación tiene tres problemas. Primero, duplicación de contenido: /category/seo/, /category/seo/page/2/ y /category/seo/page/3/ muestran las mismas vistas previas, solo que divididas en páginas. Segundo, contenido escaso: una página de paginación no tiene un artículo completo, solo una lista de títulos con extractos. Tercero, presupuesto de rastreo: Googlebot gasta su límite de rastreo en URL que no tienen valor de búsqueda en lugar de volver a rastrear publicaciones nuevas.
Históricamente, Yoast SEO resolvía esta tarea con una sola casilla en los ajustes. Pero a partir de la versión 14.0 la empresa reconsideró su enfoque. La lógica era esta: Google aprendió a reconocer rel="prev" y rel="next", entiende la estructura de paginación y dirige a los usuarios a la primera página por sí mismo. Y el noindex en las subpáginas, en opinión de Yoast, reduce el número de rastreos e impide que el motor de búsqueda redescubra artículos antiguos a través de los enlaces de estas páginas.
Este argumento es discutible. Si usted tiene un blog pequeño con 30 publicaciones, de acuerdo, Google lo resolverá. Pero si su sitio ha crecido hasta varios miles de URL con paginación de categorías, etiquetas y archivos por fecha, el motor de búsqueda pierde el tiempo en lo que no debe. Bloquear las subpáginas de la indexación mediante código es una solución controlada y reversible.
Opción 1: noindex para todas las páginas de paginación
El enfoque más simple y radical. El filtro verifica la condición is_paged(), una función estándar de WordPress que devuelve true en cualquier página de paginación (archivos, categorías, etiquetas, página de inicio). Si la condición es verdadera, sustituimos noindex, follow.
Añada este código al archivo functions.php de su tema activo o mediante el plugin Code Snippets:
1 add_filter('wpseo_robots', function($robots) { 2 if (is_paged()) { 3 return 'noindex,follow'; 4 } 5 return $robots; 6 });
Qué sucede línea por línea:
add_filter('wpseo_robots', ...)se engancha al filtro de Yoast SEO responsable del contenido de la metaetiquetarobots. El filtro acepta el valor actual de$robotsy espera una cadena de texto como respuesta.is_paged()es una función central integrada de WordPress. Se activa en cualquier URL donde la variablepagedesté presente (es decir,/page/N/).return 'noindex,follow'le dice al motor de búsqueda: «no indexe esta página, pero siga los enlaces que contiene». Los enlaces dentro de la paginación continúan transmitiendo peso.return $robotsdevuelve el valor estándar de Yoast sin cambios para todas las demás páginas.
Después de añadir el código, visite cualquier página como /category/seo/page/2/ y abra el código fuente HTML (Ctrl+U). Busque la línea <meta name="robots". Si ve content="noindex, follow", el filtro funcionó.
Opción 2: noindex solo para archivos de categorías y etiquetas
La primera opción afecta a todas las páginas paginadas indiscriminadamente, incluida la página de inicio (/page/2/). Si su página de inicio muestra vistas previas de publicaciones y desea mantener sus subpáginas en el índice, necesita una lógica más específica.
Añadimos una segunda condición: is_archive(). Esta función de WordPress devuelve true solo en páginas de archivo: categorías, etiquetas, archivos por fecha, archivos de autor y taxonomías personalizadas.
1 add_filter('wpseo_robots', function($robots) { 2 if (is_paged() && is_archive()) { 3 return 'noindex,follow'; 4 } 5 return $robots; 6 });
La diferencia con la primera opción está en la combinación de condiciones. is_paged() && is_archive() significa: «página de paginación Y página de archivo simultáneamente». La paginación de la página de inicio (/page/2/) no cumple la condición is_archive(), por lo que su indexación se conserva.
Qué opción elegir:
Situación | Opción |
|---|---|
Sitio grande, miles de URL de paginación, se necesita el máximo control | Opción 1 |
La página de inicio muestra un feed de publicaciones, las subpáginas de inicio son importantes para la indexación | Opción 2 |
Tienda de comercio electrónico en WooCommerce con categorías de productos | Opción 2 |
Se necesita previsibilidad y mínimas excepciones | Opción 1 |
Cómo verificar el resultado
Después de insertar el código, compruebe tres cosas.
Primero, el código fuente. Abra cualquier página de paginación, Ctrl+U, busque <meta name="robots". Asegúrese de ver content="noindex, follow", no content="index, follow".
Segundo, Google Search Console. Vaya a la herramienta de inspección de URL, pegue la dirección de la página paginada y haga clic en «Probar». En el bloque «Indexación» verá el estado: «La página no está indexada» con el motivo «Excluida por etiqueta noindex». Esto confirma que Googlebot recibió y procesó la directiva.
Tercero, la dinámica del índice. En Search Console abra «Índice» → «Páginas». Dentro de 2 a 4 semanas después de implementar el código verá un crecimiento en las páginas con el estado «Excluida por etiqueta noindex» y una reducción en las URL paginadas indexadas. El proceso no es instantáneo: Googlebot debe volver a rastrear cada URL para leer la nueva etiqueta.
Limitaciones y precauciones importantes
El código cambia el comportamiento de todo el sitio. Antes de implementarlo, asegúrese de comprender las consecuencias.
Eliminar repentinamente miles de páginas del índice puede causar temporalmente una caída del tráfico. Si el sitio convivió con la indexación de la paginación durante varios años y algunas subpáginas recibían tráfico de búsqueda, perderá esas visitas. A cambio, liberará presupuesto de rastreo para las páginas que realmente deberían posicionarse. Pero un período de adaptación de 3 a 6 semanas es inevitable.
Haga una copia de seguridad de functions.php antes de editarlo. Un error de sintaxis en el código PHP tirará abajo todo el sitio (pantalla blanca de la muerte). Si usa Code Snippets, el plugin capturará el error fatal y desactivará el fragmento. Si edita functions.php directamente, tenga a mano el acceso FTP para revertir el archivo.
Si el sitio tiene instalado un plugin de caché (WP Rocket, W3 Total Cache), limpie la caché después de añadir el código. De lo contrario, se servirán a los visitantes y motores de búsqueda copias HTML antiguas de las páginas sin la nueva metaetiqueta robots durante varias horas o días.
Para un desglose más detallado de todas las capacidades de Yoast SEO, desde la instalación hasta el ajuste fino de las metaetiquetas, consulte nuestra guía de configuración de Yoast SEO para WordPress.
⁉️🤔 Preguntas frecuentes
¿Por qué eliminó Yoast SEO la opción integrada de noindex para subpáginas?
Google aprendió a reconocer las series paginadas mediante las etiquetas
rel="prev"yrel="next"y a dirigir a los usuarios a la primera página. Yoast decidió que forzar el noindex en las subpáginas reduce los rastreos e interfiere con la reindexación de artículos antiguos a través de enlaces desde páginas paginadas. La documentación oficial de Yoast confirma: el ajuste se eliminó de la interfaz, pero el filtrowpseo_robotspermanece para el control programático.
¿El filtro wpseo_robots sigue siendo compatible en 2026?
Sí. El filtro
wpseo_robotsfunciona en las versiones actuales de Yoast SEO (24.x, 2026) y está documentado en la API de metadatos en developer.yoast.com. Un cambio importante: antes de la versión 19.8 el filtro permitía devolverfalsepara eliminar la metaetiqueta robots. A partir de la 19.8, devolverfalsese ignora; el filtro solo espera una cadena de texto ('noindex,follow'o$robots). Ambas versiones de código de este artículo devuelven una cadena y son totalmente compatibles.
¿Funcionará el código si el sitio tiene una estructura de paginación personalizada?
La función
is_paged()se basa en el parámetro de consulta estándar de WordPresspaged. Si la paginación se implementa mediante un parámetro personalizado (por ejemplo,?pg=2o desplazamiento virtual), la condición no se activará. Para paginación personalizada, sustituyais_paged()por una verificación del query_var específico:get_query_var('custom_page_var'). Plugins como WP-PageNavi funcionan a través delpagedestándar, por lo que no hay conflicto.
¿Cuánto tarda Google en eliminar las páginas paginadas del índice?
En promedio, de 2 a 6 semanas. La velocidad depende del tamaño del sitio y la frecuencia de rastreo: en un sitio con rastreos diarios, Googlebot volverá a rastrear las secciones principales en 7 a 10 días; en un blog pequeño con rastreos semanales, en un mes. Puede acelerarlo mediante una solicitud de rastreo manual en Search Console («Índice» → «Páginas» → seleccionar URL → «Solicitar indexación»), pero Google procesa dichas solicitudes por orden de cola.
¿Se puede bloquear la paginación mediante robots.txt en lugar de noindex?
Técnicamente sí:
Disallow: */page/*en robots.txt prohibirá el rastreo de las URL paginadas. Pero esto es peor que el noindex. La razón: robots.txt bloquea el rastreo de la página, no su indexación. Si enlaces externos apuntan a una página paginada, Google puede indexarla como una «página sin descripción». Al mismo tiempo, los enlaces de la propia página tampoco serán rastreados, y usted perderá la transferencia de peso hacia las publicaciones.noindex, followresuelve ambas tareas: la página no se indexa, pero los enlaces que contiene sí se rastrean.
¿Debería bloquear la paginación de la indexación en su caso?
La respuesta se reduce a dos factores: el tamaño del sitio y si el presupuesto de rastreo es un recurso escaso.
Si tiene 50 publicaciones y tres categorías, no se moleste. Google determinará qué páginas mostrar en los resultados de búsqueda y filtrará por sí mismo las menos valiosas. El filtro wpseo_robots en este escenario es una complejidad innecesaria.
Si tiene más de 500 publicaciones, docenas de categorías, un blog activo con etiquetas y archivos por fecha, la paginación crea cientos y miles de URL que el motor de búsqueda rastrea en lugar de los artículos nuevos. Active la opción 2 (archivos) o la opción 1 (todo), verifique el resultado mediante el código fuente y Search Console, y dé a Google de 3 a 4 semanas para volver a rastrear.
El código es reversible: comente el filtro y en un mes todas las páginas paginadas volverán al índice. Sin consecuencias irreversibles.



