Guía completa: cómo crear y personalizar mapas del sitio XML (sitemaps) con Yoast

El plugin Yoast SEO es el plugin WordPress más popular e instalado por sus fantásticas funcionalidades, entre las que se encuentra la creación de mapas del sitio XML (sitemaps).

Cómo crear un mapa del sitio XML con Yoast

Crear un mapa del sitio con Yoast SEO es incluso trivial, pues lo hace incluso sin necesidad de que actives ningún ajuste, lo hace por defecto.

Pero siempre es bueno confirmar que está activa la funcionalidad, que estará en tu escritorio de WordPress, en

SEO > General > Características

.

activar sitemap Yoast

Si pulsas sobre el icono de ayuda (?) se abrirá un texto informativo con un enlace a tu mapa del sitio, como te indico en la captura.

¿Qué hay por defecto en tu mapa del sitio?

Pues por defecto todos los tipos de contenido que Yoast detecte en tu instalación de WordPress.

Este sería un ejemplo con los ajustes por defecto de Yoast, en una instalación reciente de WordPress, solo con la entrada y página que se crean automáticamente.

sitemap XML Yoast

Fíjate que en realidad no muestra tus entradas y/o páginas sino que es una especie de índice, en el que hay enlaces a otros sub-mapas del sitio, en el ejemplo al de entradas (

post-sitemap

) y al de páginas (

page-sitemap

).

El mapa del sitio estará en la siguiente dirección:

https://tusitio.es/sitemap_index.xml

aunque también se puede acceder desde

https://tusitio.es/sitemap.xml

, y hará una redirección a la otra URL.

Al hacer clic en cada sub-mapa del sitio es cuando se mostrará un listado de tus entradas, páginas, etc.

Cómo personalizo en Yoast qué aparecerá en el sitemap XML

Para personalizar qué tipo de contenidos tendrán un sub-mapa en el mapa del sitio XML de Yoast lo haremos desde la sección de ajustes

SEO > Apariencia en el buscador

.

En concreto, tenemos que configurar, o al menos revisar, las secciones siguientes:

  • SEO >
    • Apariencia en el buscador >
      • Tipos de contenido
      • Taxonomías
      • Archivos

En cada una de estas pantallas veremos una lista de los contenidos, taxonomías, etc existentes en nuestra instalación:

Para empezar a decidir qué tipos de contenido, taxonomía, etc aparecerán en tu mapa del sitio.

Y solo tienes que ir a cada tipo de contenido, para activar o desactivar (Sí / No) lo que quieras que aparezca en el sitemap.

tipos de contenido sitemap yoast

En el caso de las taxonomías es igual. En la siguiente captura he desactivado los formatos para que no aparezcan en el mapa del sitio, cosa por otra parte recomendable casi siempre.

taxonomías sitemap yoast

¿Qué pasa si decido no mostrar un tipo de contenido o taxonomía en el sitemap?

Además de que no aparecerá el sub-mapa del sitio en el índice del sitemap creado por Yoast, en cada contenido o taxonomía que hayas decidido no incluir se añadirá una etiqueta meta que indicará a los bots de los buscadores que no indexen ese contenido o taxonomía.

Así:

Estas etiquetas las añadirá Yoast SEO automáticamente a las cabeceras HTML de todos los contenidos o taxonomías.

En caso contrario, si un contenido está activo para aparecer en tu mapa del sitio, Yoast no añade ninguna meta, pues por defecto los contenidos son

index

y

follow

.

¿Qué pasa si añado posteriormente un tipo de contenido y/o taxonomía?

Muy buena pregunta, porque Yoast identifica cualquier tipo de contenido y taxonomía, y por defecto los añade a tu mapa del sitio automáticamente.

Taxonomías añadidas en un Ecommerce

Así que, cuando instales cualquier plugin que añada tipos de contenido y/o taxonomías, o los crees manualmente, pásate de inmediato por los ajustes de Yoast SEO para decidir cuáles aparecerán en tu mapa del sitio y cuáles no.

¿Cómo quito o añado al sitemap un contenido concreto?

Esto es parte de lo genial que es Yoast SEO, pues es muy sencillo.

Solo tienes que editar la entrada, página, etc, y en el editor de WordPress, da igual si es el de bloques o el clásico, verás la famosa caja meta de Yoast SEO.

Pues si quieres quitar o añadir ese contenido concreto al mapa del sitio, tienes que desplegar la pestaña «Avanzado».

Una vez ahi puedes cambiar el ajuste por defecto para el tipo de contenido y decidir, como en el siguiente ejemplo, elegir la opción contraria, que en este caso es que esa página concreta no aparezca en el mapa del sitio.

Al cambiar este ajuste a «No», además de no aparecer en la lista de URLs del sub-mapa del sitio de páginas (page-sitemap), añadirá a la cabecera HTML de esta página la meta

noindex

.

Si, además, quieres que los bots de los buscadores no sigan los enlaces que haya esta página, cambia la siguiente casilla denominada «¿Deberían los motores de búsqueda seguir los enlaces que hay en esta Página?» a «No».

Haciendo esto se añade a la cabecera HTML de la página la meta

nofollow

.

La meta, si decides no indexar y no seguir los enlaces quedaría así añadida a la cabecera de la página:

Por supuesto, además de no aparecer en el mapa del sitio la URL a esa página concreta.

¿Cómo quito o añado al sitemap una taxonomía concreta?

Pues igual que con los contenidos, y es que mucha gente ni siquiera sabe que la caja meta de Yoast SEO también está disponible por defecto en las taxonomías.

Solo tienes que ir a la pantalla de administración de la taxonomía, por ejemplo a la administración de tu WordPress

Entradas > Categorías

, y hacer clic en una categoría.

Al fondo de la pantalla de edición tienes la caja meta para modificar sus ajustes de indexado como hemos visto antes con los tipos de contenido.

Ya que estamos, por si no lo habías hecho antes, si has decidido indexar taxonomías, deberías personalizar el título, descripción, snippet y todos los elementos positivos para el SEO que puedas editando cada una ayudado de la caja meta de Yoast.

Es muy triste ver en las SERP a veces URLs de taxonomías en primeros resultados con unos tristes snippets, que no ayudan nada al usuario del buscador, y por supuesto no animan nada a hacer clic en ellos.

¿Qué debería mostrar o no en el mapa del sitio?

sitemap xml

Esa es una decisión que deberías hacer tú, en base a tu estrategia de SEO, y variará dependiendo de muchos aspectos y tácticas, incluso tipo de web, porque no es lo mismo un blog que una web corporativa o un Ecommerce.

De hecho en las tiendas online las decisiones son más difíciles, a la hora de decidir, por ejemplo, si activar productos, categorías, etiquetas, incluso atributos, elementos que aparecerían en este caso en la página de ajustes de Yoast, pues identifica automáticamente todos tus tipos de contenido y taxonomías registrados.

Si no tienes claro qué indexar en tu mapa del sitio consulta y contrata a un profesional del SEO WordPress.

Caso especial: Páginas de cookies, privacidad, contacto

Casi nunca tiene sentido indexar páginas como las de privacidad, cookies, términos y condiciones, incluso la de contacto en ocasiones.

Estas páginas deberían ser

noindex
follow

, para que los buscadores no las indexen en sus resultados de página pero sí sigan los enlaces que haya en las mismas, normalmente a contenidos de tu sitio.

Un poco más abajo de esta guía te explico cómo hacer esto, cómo excluir contenidos concretos del mapa del sitio XML y cómo no indexarlos.

Caso especial: Archivos de autor

Un caso especial son los sub-mapas del sitio de los archivos de autores, y me explico…

Por defecto, verás que Yoast SEO tiene el ajuste de archivos de autor inactivo si no has configurado lo contrario en el asistente de configuración. Estos ajustes están en

SEO > Apariencia en el buscador > Archivos

.

Y esto es así porque – salvo en sitios de noticias con varios autores – todas las entradas y páginas se suelen publicar bajo un mismo usuario.

Si esto es así, hacer clic en el archivo de ese autor único, mostraría prácticamente la misma lista de contenidos publicados que si se ve la portada del blog o el archivo de entradas.

Con esto, lo que estamos haciendo es ofrece a los buscadores varias URLs que ofrecen los mismos contenidos, y esto suele ser perjudicial para el SEO, pues no deja de ser canibalización de contenidos, ya que distintas URLs están compitiendo en la misma web por contenido igual o muy muy similar.

Así que, salvo que tengas varios autores en tu sitio, donde el enlace al archivo de cada autor muestre distintas entradas, es mejor hacer caso a Yoast SEO e inactivar ese ajuste.

Una vez hecho, no solo los archivos de autor serán

noindex

, sino que Yoast redirige los enlaces de archivos de autor al archivo de entradas, o tu portada si el sitio está configurado como blog.

Otro caso especial: Archivos por fechas

Salvo situaciones muy específicas, nadie busca contenido por fechas únicamente, sino por temática, por frases clave, o sea, por contenidos.

Y es que esos archivos por fecha mostrarán contenidos cuya única relación entre ellos será la fecha, no los contenidos que ofrecen, y nadie busca «artículos de lo que sea de enero de 2019».

Puedes buscar «artículos SEO de 2019», pero para eso ya están los algoritmos de los buscadores para mostrarte los contenidos más relevantes y actualizados.

Para empeorar las cosas, la mayoría de temas WordPress incluyen enlaces a los archivos por fecha en distintos lugares, la portada del blog, en cada artículo, y si además añades el widget de archivo por fechas tendrás un montón de URLs en tu sitio que enlazan a contenidos de tu web que no tienen ninguna relación semántica entre ellos, solo la fecha de publicación.

Así que de nada sirve indexar los archivos por fecha en tu sitio, y de hecho suele ser perjudicial.

Dicho lo cual, pásate por

SEO > Apariencia en el buscador > Archivos

y desactiva los archivos por fecha.

Tu tema seguirá mostrando la fecha de las publicaciones, pero sin enlace, y todos los archivos por fecha que genera automáticamente WordPress serán

noindex

.

Para desarrolladores: Cómo personalizar sitemaps en Yoast sin pasar por los ajustes

esquema sitemap xml

Además de lo fácil que es usar Yoast SEO para crear mapas del sitio XML para cualquier usuario, también tiene filtros que los desarrolladores pueden utilizar para predefinir ajustes mediante funciones y, de este modo, controlar instalaciones propias o de clientes.

Estos filtros puedes incluirlos como funciones en tu plugin de personalizaciones o en el archivo

functions.php

del tema.

Quitar tipos de contenido del mapa del sitio

Para quitar tipos de contenido del mapa del sitio tienes el filtro:

wpseo_sitemap_exclude_post_type
/* Excluye un tipo de contenido del mapa del sitio de Yoast SEO */
function sitemap_exclude_post_type( $value, $post_type ) {
if ( $post_type == 'product' ) return true;
}
add_filter( 'wpseo_sitemap_exclude_post_type', 'sitemap_exclude_post_type', 10, 2 );

En este ejemplo hemos excluido el tipo de contenido

product

, los productos de WooCommerce. Para adaptarlo a tus necesidades pon el slug del tipo de contenido que quieras excluir del mapa del sitio.

Si quieres, puedes excluir del mapa del sitio varios tipos de contenido a la vez, así:

/* Excluir varios tipos de contenido del mapa del sitio de Yoast SEO */
add_filter( 'wpseo_sitemap_exclude_post_type', 'sitemap_exclude_post_type', 10, 2 );
function sitemap_exclude_post_type( $value, $post_type ) {
$post_type_to_exclude = array('product','project', 'page');
if( in_array( $post_type, $post_type_to_exclude ) ) return true;
}

Como verás, en este ejemplo para excluir varios tipos de contenido del mapa del sitio XML hemos usado

product

,

project

y

page

. De nuevo, adáptalo a tus requisitos.

Quitar taxonomías del mapa del sitio

Para excluir taxonomías usaremos el filtro:

wpseo_sitemap_exclude_taxonomy

Y se utiliza así para excluir una sola taxonomía:

/* Excluir una taxonomía del mapa del sitio de Yoast SEO */
function sitemap_exclude_taxonomy( $value, $taxonomy ) {
if ( $taxonomy == 'category' ) return true;
}
add_filter( 'wpseo_sitemap_exclude_taxonomy', 'sitemap_exclude_taxonomy', 10, 2 );

Y de este otro modo para excluir varias:

/* Excluir varias taxonomías del mapa del sitio de Yoast SEO */
add_filter( 'wpseo_sitemap_exclude_taxonomy', 'sitemap_exclude_taxonomy', 10, 2 );
function sitemap_exclude_taxonomy( $value, $taxonomy ) {
$taxonomy_to_exclude = array('category','product-category', 'product-tag');
if( in_array( $taxonomy, $taxonomy_to_exclude ) ) return true;
}

Como en el caso de los tipos de contenido, sustituye los

slugs

de taxonomías de los ejemplos por los tuyos.

Quitar contenidos concretos del mapa del sitio

Si quieres excluir entradas o páginas específicas del mapa del sitio XML de Yoast SEO, ya no tienes un ajuste que hubo en el pasado en el que ponías sus IDs para excluirlos.

Ahora, o vas editando cada uno como hemos visto antes en esta guía, o utilizas el filtro

wpseo_exclude_from_sitemap_by_post_ids

.

Aquí tienes un ejemplo:

*/ Excluir contenidos concretos por ID del mapa del sitio de Yoast SEO */
add_filter( 'wpseo_exclude_from_sitemap_by_post_ids', function () {
  return array( 187, 459, 775 );
} );

Especificar la cantidad de URLs por mapa del sitio XML

Por defecto, Yoast SEO separa los sub-mapas del sitio XML a partir de las 1.000 URLs.

Así, si tienes más de mil entradas, no tendrás un sub-mapa

https://tusitio.es/post-sitemap.xml

sino

https://tusitio.es/post-sitemap1.xml

,

https://tusitio.es/post-sitemap2.xml

y así sucesivamente.

Un ejemplo lo tienes en el mapa del sitio de este mismo blog.

¿Por qué? Pues decisiones de los desarrolladores de Yoast.

Google admite mapas del sitio XML de hasta 5.000 URLs o 50 Mb, lo que ocurra antes, pero nunca es buena idea apurar los límites.

Si, por algún motivo, quieres cambiar esa cantidad por defecto a otra, puedes hacerlo con el filtro

wpseo_sitemap_entries_per_page

.

La sintaxis es la siguiente:

*/Especificar cantidad de urls por sitemap en Yoast SEO */
add_filter( 'wpseo_sitemap_entries_per_page', 'max_entries_per_sitemap' );
 function max_entries_per_sitemap() {
    return 500;
}

Solo tienes que cambiar el número de ejemplo (500) por el que creas conveniente.

Añadir un mapa del sitio adicional

Como hemos visto al principio de esta guía, el mapa del sitio XML de Yoast SEO se compone de varios sub-mapas, cada uno por un tipo de contenido, taxonomía, archivos, etc.

Pero ¿y si tienes otro mapa del sitio no creado ni detectado por Yoast que quieres incluir?

Esto es más común de lo que imaginas, cuando por ejemplo otro plugin gestiona un mapa del sitio XML de algún tipo de contenido específico, como podcasts, vídeos, etc.

Por supuesto, puedes dar de alta en la Search Console y herramientas para webmasters de los distintos buscadores tantos mapas del sitio como quieras, pero también puedes aprovechar el índice de mapas del sitio XML de Yoast para incluirlos todos, con una estructura lógica, y controlada.

Para ello Yoast dispone del filtro

wpseo_sitemap_index

.

Te pongo un ejemplo de su uso:

*/ Incluir mapa del sitio adicional al sitemap de Yoast SEO */
add_filter( 'wpseo_sitemap_index', 'add_sitemap_custom_items' );
function add_sitemap_custom_items() {
   $sitemap_custom_items = '

https://misitio.es/podcasts.xml
2019-09-29T22:11:27+00:00
';
   
/* Otro sitemap adicional
 * Puedes quitar esta sección si no tienes otro mapa adicional, o utilizarla, claro
 */
  $sitemap_custom_items .= '

https://miotrositio.com/videos.xml
2018-05-22T23:12:27+00:00
';
/* NO BORRES NADA DEBAJO DE ESTA LÍNEA
 * Sino no funciona nada de lo anterior
 */
return $sitemap_custom_items;
}

Lo que hemos hecho en la función anterior es añadir 2 mapas adicionales al índice del sitemap de Yoast SEO.

Uno está en el mismo dominio (

https://misitio.es/podcasts.xml

), y otro en un dominio diferente (

https://miotrositio.com/videos.xml

).

Cuando uses este filtro deberás sustituir esas URLs del ejemplo por las tuyas, y además cambiar las fechas de última modificación (

lastmod

) de todos los sitemaps adicionales que incluyas, indicando la fecha de su creación.

Una vez guardes el código el mapa del sitio no se actualizará solo, o esperas a una nueva actualización automática de Yoast SEO o la fuerzas desactivando y activando la característica de mapas del sitio XML de Yoast desde los ajustes.

Otros filtros útiles para el mapa del sitio XML de Yoast SEO

Otros filtros que puedes utilizar para personalizar el mapa del sitio, siguiendo la sintaxis que ya hemos visto, serían estos:

  • Excluir archivos de autor:
    wpseo_sitemap_exclude_author

    .

  • Excluir taxonomías concretas:
    wpseo_exclude_from_sitemap_by_term_ids

    .

¿Dónde puedo aprender más?

¿Te ha gustado esta guía? ¿has aprendido algo que no sabías? ¿te ha sido útil?

Si tu respuesta es afirmativa a al menos una de estas cuestiones me doy por satisfecho.

Si quieres aprender más sobre las posibilidades de los mapas del sitio (sitemap) XML de Yoast SEO te dejo un par de enlaces útiles:

La entrada Guía completa: cómo crear y personalizar mapas del sitio XML (sitemaps) con Yoast la publicó primero Fernando Tellado en Ayuda WordPress. No copies contenido, no dice nada bueno de ti a tus lectores.

Laura D´Cuero

Copywriter, Redactora de Content SEO.
Laura D´Cuero
0 comentarios

Dejar un comentario

¿Quieres unirte a la conversación?
Siéntete libre de contribuir!

Deja un comentario

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