Skip to content

Todo para WordPress, el desarrollo web — y mucho más

🗂️ Cómo excluir páginas del sitemap de Yoast SEO

🗂️ Cómo excluir páginas del sitemap de Yoast SEO

Abre Search Console y ve esto: de 200 páginas del sitio, 340 están indexadas. Las 140 adicionales son etiquetas de archivo, duplicados con colas UTM, páginas de prueba y páginas de adjuntos. Google gasta presupuesto de rastreo en basura mientras sus URLs reales esperan su turno durante semanas.

El problema no es Google. El sitemap que Yoast SEO genera informa honestamente al bot todo lo que ve. Y, por defecto, ve muchas cosas innecesarias. Su trabajo es indicarle al plugin qué páginas no deberían terminar en el sitemap.

A continuación, cuatro maneras de limpiar su sitemap XML: desde un solo clic en la interfaz hasta filtros en functions.php. Con capturas de pantalla reales y código actualizado.

💡 Resumen rápido:

  • Excluya una sola página mediante la pestaña «Avanzado» en la caja meta de Yoast SEO, sin necesidad de código.
  • Elimine docenas de URLs en lote mediante el filtro wpseo_exclude_from_sitemap_by_post_ids, un solo array.
  • Desactive taxonomías completas en Apariencia en buscadores o mediante wpseo_sitemap_exclude_taxonomy.
  • Verifique el resultado en sitemap_index.xml y añada noindex si es necesario.

Por qué necesita limpiar su sitemap

Un sitemap no es solo una lista de enlaces. Es una instrucción para el bot de búsqueda: «estas son las páginas que realmente importan, indexarlas primero». Cuando la basura termina en el sitemap, Google se enfrenta a tres problemas.

Primero, los duplicados. El mismo contenido en dos URLs (por ejemplo, /blog/ y /blog/?utm_source=telegram) le indica al motor de búsqueda que el sitio es de baja calidad. Segundo, el contenido escaso. Las páginas auxiliares, los archivos de autor vacíos y las páginas de adjuntos no aportan valor para la búsqueda, pero consumen presupuesto de rastreo. Tercero, las URLs de servicio. Las páginas de aterrizaje de prueba, las páginas de agradecimiento posteriores a la compra y los paneles de usuario no tienen cabida en la búsqueda en absoluto.

Las auditorías periódicas del sitemap son higiene SEO básica. Especialmente si el sitio tiene más de un año: las URLs adicionales casi inevitablemente se filtran en el sitemap.

Yoast SEO proporciona varios niveles de control, desde la exclusión precisa de una sola página hasta el filtrado de taxonomías completas mediante un hook. Repasemos cada uno.

Cómo excluir una sola página del sitemap

El escenario más simple: eliminar una entrada o página específica del índice. Yoast SEO le permite hacer esto directamente desde el editor de WordPress, sin una sola línea de código.

Abra la entrada deseada en el panel de administración, desplace hacia abajo hasta la caja meta de Yoast SEO y vaya a la pestaña «Avanzado». Encuentre la pregunta «¿Permitir a los motores de búsqueda mostrar esta entrada en los resultados de búsqueda?» y cambie de «Sí» a «No». Haga clic en «Actualizar».

Interruptor de indexación de páginas en la pestaña Avanzado de Yoast SEO

Después de guardar, Yoast eliminará la entrada del sitemap y aparecerá una metaetiqueta <meta name="robots" content="noindex, follow"> en el código fuente de la página. La página en sí seguirá siendo accesible mediante enlace directo. Quedará excluida de la búsqueda y del sitemap.

Este es el método estándar y más seguro. Funciona para ocultar una o dos páginas. Para la exclusión en lote de docenas de URLs, consulte la siguiente sección.

Cómo excluir páginas en lote mediante código

Cuando necesita excluir 20 o 30 páginas a la vez, hacer clic en cada una manualmente es una pérdida de tiempo. Yoast SEO proporciona el filtro wpseo_exclude_from_sitemap_by_post_ids: toma un array de IDs de entrada y los elimina del sitemap.

Añada el código al archivo functions.php de su tema activo o mediante el plugin Code Snippets:

1add_filter( 'wpseo_exclude_from_sitemap_by_post_ids', function() {
2 return array( 311, 322, 450, 512 );
3} );
Código PHP para exclusión masiva de páginas mediante el filtro wpseo_exclude_from_sitemap_by_post_ids

¿Cómo encontrar el ID de una página? En el panel de administración de WordPress, abra la lista de páginas o entradas, pase el cursor sobre el título y verá post=311 en la URL del enlace. El número después de post= es el ID.

Después de añadir el filtro, vaya a yourdomain.com/sitemap_index.xml, abra el sitemap hijo (por ejemplo, page-sitemap.xml) y verifique: los IDs especificados han desaparecido de la lista.

Importante: el filtro solo elimina los IDs del sitemap. No añade noindex a la página en sí. Si la página ya está en el índice de Google, establezca adicionalmente noindex mediante la interfaz (sección anterior) o solicite la eliminación de la URL a través de Google Search Console.

Cómo aumentar el límite de enlaces del sitemap

Por defecto, Yoast SEO incluye hasta 1000 enlaces en un solo sitemap hijo. Para un sitio grande (una tienda con 5000 productos o un directorio con decenas de miles de artículos), esto significa o bien más archivos (disminuir el límite) o más URLs en un archivo (aumentar el límite).

El ajuste se encuentra en Yoast SEO → Ajustes → Tipos de contenido:

Ajustes de tipos de contenido y límite de enlaces del sitemap en Yoast SEO

Lo que puede ajustar aquí:

  • Desactivar tipos de contenido innecesarios. Por ejemplo, si solo publica entradas y usa las páginas como páginas de servicio, elimine «Páginas» del sitemap.
  • Configurar medios. La pestaña Medios (adjuntos) se incluye en el sitemap por defecto. Para blogs de fotos esto tiene sentido; para un sitio normal, desperdicia presupuesto de rastreo.
  • Límite de enlaces. Técnicamente, el filtro wpseo_sitemap_entries_per_page le permite establecer un número arbitrario de entradas por archivo de sitemap:
1add_filter( 'wpseo_sitemap_entries_per_page', function() {
2 return 500;
3} );

El estándar 1000 es el punto óptimo para la mayoría de los proyectos. Modifique el límite solo si comprende plenamente las consecuencias para la velocidad de indexación.

Cómo eliminar categorías y taxonomías del sitemap

Las categorías, etiquetas y taxonomías personalizadas suelen saturar el sitemap con archivos vacíos o de escaso valor. Esto es especialmente relevante en sitios WooCommerce: los atributos de producto («color», «talla») generan cientos de URL sin valor de búsqueda independiente.

El primer método, visual, es la pestaña Taxonomías en los ajustes de Yoast SEO:

Pestaña de taxonomías en los ajustes del sitemap de Yoast SEO

Cada taxonomía tiene un interruptor «¿Mostrar en los resultados de búsqueda?». «Sí» significa que la taxonomía se incluye en el sitemap, «No» significa que se excluye. Para la mayoría de los sitios, tiene sentido mantener solo las categorías en el sitemap, desactivando las etiquetas y los atributos de producto.

Lista de taxonomías con interruptores de visibilidad en buscadores en Yoast SEO

Si la taxonomía que necesita no aparece en la lista (porque está registrada mediante código personalizado o un plugin de terceros), utilice un filtro. Código para excluir una sola taxonomía por su slug:

1/* Exclude one taxonomy from Yoast SEO sitemap */
2function sitemap_exclude_taxonomy( $value, $taxonomy ) {
3 if ( $taxonomy === 'taxonomy_slug' ) {
4 return true;
5 }
6 return $value;
7}
8add_filter( 'wpseo_sitemap_exclude_taxonomy', 'sitemap_exclude_taxonomy', 10, 2 );

Para varias taxonomías a la vez:

1/* Exclude multiple taxonomies from Yoast SEO sitemap */
2function sitemap_exclude_taxonomies( $value, $taxonomy ) {
3 $taxonomy_to_exclude = array(
4 'taxonomy_slug1',
5 'taxonomy_slug2',
6 'taxonomy_slug3'
7 );
8 if ( in_array( $taxonomy, $taxonomy_to_exclude, true ) ) {
9 return true;
10 }
11 return $value;
12}
13add_filter( 'wpseo_sitemap_exclude_taxonomy', 'sitemap_exclude_taxonomies', 10, 2 );
Código PHP para excluir múltiples taxonomías mediante el filtro del sitemap de Yoast SEO

Sustituya taxonomy_slug1, taxonomy_slug2 y taxonomy_slug3 por los slugs reales de sus taxonomías. Después de guardar el código, acceda a sitemap_index.xml y compruebe el sitemap secundario: los archivos de las taxonomías excluidas deberían haber desaparecido.

⁉️🤔 Preguntas frecuentes

Una página excluida del sitemap sigue apareciendo en las búsquedas. ¿Por qué?

Un sitemap es solo una recomendación para Google, no una directiva. Excluir una página del sitemap no equivale a noindex. Si la página ya está indexada y tiene enlaces externos que apuntan a ella, Google puede seguir mostrándola. Solución: además de excluirla del sitemap, active noindex (el mismo interruptor en la pestaña «Avanzado» de Yoast) y, si es necesario, solicite la eliminación de la URL mediante Google Search Console.

¿Se puede excluir por completo un tipo de contenido del sitemap sin usar código?

Sí. En Yoast SEO → Ajustes → Tipos de contenido, cada tipo de contenido registrado tiene un interruptor «¿Mostrar en los resultados de búsqueda?». Ajústelo a «No» y el tipo completo (por ejemplo, «Páginas» o «Productos») dejará de aparecer en el sitemap por completo. Esto también funciona para las taxonomías a través de la pestaña Taxonomías.

¿Cómo se verifica que una página se ha eliminado realmente del sitemap?

Abra yoursite.com/sitemap_index.xml en un navegador y verá una lista de sitemaps secundarios. Encuentre el que necesita (por ejemplo, page-sitemap.xml o post-sitemap.xml), siga el enlace y busque por título o URL. Si la página no está ahí, el filtro funcionó. Para una comparación masiva, Screaming Frog o Sitebulb son prácticos: le mostrarán discrepancias entre el sitemap y las páginas reales del sitio.

¿Qué hacer si el código del filtro no funciona?

Revise tres cosas. Primero: el código se añadió al tema activo (functions.php) o mediante Code Snippets, y el archivo se guardó sin errores de sintaxis (abra el sitio en otra pestaña; una pantalla en blanco = error de PHP). Segundo: los IDs de página están especificados correctamente, sin espacios adicionales dentro del array. Tercero: la caché. Yoast SEO almacena en caché el sitemap; después de los cambios, limpie la caché del plugin (SEO → Herramientas → Optimizar datos SEO) o espere hasta 24 horas.

¿Excluir del sitemap afecta al enlazado interno?

No. El sitemap y los enlaces internos son señales independientes. Una página excluida del sitemap sigue transmitiendo link equity a través de los enlaces internos si otras páginas del sitio enlazan a ella. Pero Google la reindexará con menos frecuencia: ha desaparecido de la fuente principal de información sobre la estructura del sitio.

Qué priorizar: interfaz o código

Para tres a cinco páginas, use solo la interfaz. Es rápido, seguro y no requiere acceso a los archivos del tema.

Para docenas de páginas, use el filtro wpseo_exclude_from_sitemap_by_post_ids. Un array con IDs en lugar de alternar manualmente cada entrada.

Para taxonomías, use el interruptor visual en Apariencia en búsquedas si la taxonomía está en la lista. Si no lo está (taxonomía personalizada), use el filtro wpseo_sitemap_exclude_taxonomy.

Y lo más importante: la exclusión del sitemap no equivale a la exclusión del índice. Si una página debe desaparecer por completo de las búsquedas, añada siempre noindex. Yoast SEO proporciona una interfaz unificada para esto; no la descuide.

🔗 Yoast SEO en WordPress.org