Cómo crear un sitemap en WordPress
En este artículo te voy a explicar la importancia del sitemap.xml y las ventajas que te va a aportar. Además, te daré varios métodos para que generes tu sitemap.xml en WordPress. ¡Vamos allá!
- ¿Qué es un Sitemap y para qué sirve?
- Diferencias entre sitemap.html y sitemap.xml
- Beneficios de usar un sitemap en tu sitio web
- Estructura básica de un sitemap.xml
- Qué es el sitemap.xml en WordPress y cómo crearlo
- Cómo crear el sitemap.xml en WordPress con un plugin
- Cómo crear el sitemap.xml en WordPress sin plugins
- Añadir el sitemap.xml al archivo robots.txt
- Cómo subir el sitemap.xml a Google Search Console
¿Qué es un Sitemap y para qué sirve?
Dentro del contexto web, un sitemap es un archivo que lista de manera estructurada el contenido de un sitio web. Es decir, en un sitemap se verán reflejadas todas las páginas que tengas en tu sitio, de manera organizada. Podría decirse que es como una especie de “mapa” de una ciudad, pero en lugar de puntos de interés, restaurantes o museos y cómo llegar a ellos, tendremos páginas y podremos acceder a ellas.
Quizás te estés preguntando: ¿pero… para qué sirve un sitemap? Un sitemap es útil por varias razones.
En primer lugar, es útil para los usuarios, ya que tendrán un lugar en el que encontrar de un vistazo cualquier página o contenido y acceder a él.
Por otro lado, un sitemap es especialmente útil para los motores de búsqueda, como Google, Yahoo, Bing, etc. Estos motores de búsqueda rastrean los sitios web en busca de contenido para indexar y el sitemap les sirve de ayuda para encontrar de manera rápida y fácil todo el contenido de una web.
Un sitio web puede tener más de un sitemap. Por ejemplo, WordPress crea varios sitemaps para organizar los diferentes tipos de contenido (aunque ya hablaremos de esto más adelante).
Es importante mencionar que existen diferentes tipos de sitemap. En este artículo vamos a diferenciar entre el sitemap.html y el sitemap.xml.
Diferencias entre sitemap.html y sitemap.xml
La primera diferencia es obvia y es el formato o lenguaje en el que están escritos. Aunque ambos son lenguajes de marcado, el HTML se utiliza para estructurar el contenido de un sitio web de manera visual, y el XML sirve para almacenar y estructurar datos (dicho de una manera muy resumida).
Otra diferencia entre los sitemap.html y los sitemap.xml es a quién están orientados. Mientras que los sitemap.html están dirigidos a los usuarios para facilitarles la navegación, los sitemap.xml están dirigidos a los motores de búsqueda para ayudarles a rastrear e indexar el sitio web.
Beneficios de usar un sitemap en tu sitio web
Con lo que te he contado hasta ahora, te puedes hacer una idea de lo importante que es y qué beneficios te puede aportar utilizar un sitemap en tu web. Por supuesto, me refiero a un sitemap.xml que es en el que se centra este artículo.
Para empezar, el uso de un archivo sitemap hace que a los motores de búsqueda les resulte más sencillo indexar tu contenido. Piensa que usando un sitemap les estás facilitando el trabajo, ya que les estás proporcionando una guía con un listado de todas las URL de tu sitio web, algo así como el índice de un libro. De esta manera, el ‘crawler’ (el bot que explora y analiza los sitios web para indexarlos) ya sabe cuáles son. Esto es especialmente útil si tu sitio web es muy grande y tiene muchas URLs.
Otra cosa interesante de los sitemap.xml es que puedes asignar niveles de prioridad a tus URL para indicarle a los motores de búsqueda su nivel de importancia dentro del sitio. Esto se hace con la etiqueta "<priority>".
También puedes indicar la fecha de la última modificación de cada URL con la etiqueta "<lastmod>". Esto sirve para hacer saber al ‘crawler’ cuándo se modificó por última vez cada URL y que sepa ni es necesario volver a rastrearla o no.
En resumen, los beneficios a nivel SEO son notables y, por lo tanto, generar y utilizar un sitemap.xml es una práctica altamente recomendada.
Estructura básica de un sitemap.xml
Hace un momento te hablaba sobre las etiquetas “priority” o “lastmod” que pueden formar parte de un archivo sitemap. Para que entiendas mejor esa parte, vamos a ver un ejemplo básico de un sitemap.xml para conocer su estructura.
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://tuweb.com/</loc>
<lastmod>2024-12-18</lastmod>
<changefreq>daily</changefreq>
<priority>1.0</priority>
</url>
<url>
<loc>https://tuweb.com/quienes-somos</loc>
<lastmod>2024-12-16</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
</urlset>
Lo primero que debe incluir un sitemap.xml es la declaración XML, gracias a la cual indicamos que el documento va a estar escrito en lenguaje XML. También indicamos la versión y la codificación de caracteres:
<?xml version="1.0" encoding="UTF-8"?>
A continuación hay que definir una etiqueta "<urlset>" dentro de la cual vamos a incluir toda la lista de URL que queramos que formen parte del sitemap. Con esta etiqueta especificamos también que el documento va a seguir las directrices del protocolo sitemap.
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
Dentro de "<urlset>" incluiremos una etiqueta "<url>" por cada URL que queramos incluir en el sitemap. Dentro de cada etiqueta "<url>" incluiremos varias etiquetas:
<url>
<loc>https://tuweb.com/</loc>
<lastmod>2024-12-18</lastmod>
<changefreq>daily</changefreq>
<priority>1.0</priority>
</url>
- <loc>: la URL de la página
- <lastmod> (opcional): la fecha de la última modificación del contenido de la página.
- <changefreq>: frecuencia de actualización (aproximada) de la página.
- <priority>: nivel de importancia de la página dentro del sitio web (entre 0.0 y 1.0).
Como dato, los archivos sitemap.xml tienen un límite según el estándar de 50.000 URL y de 50 mb de peso (sin comprimir). Es por ello que, sobre todo para webs muy grandes, es útil dividir y organizar el sitemap.xml en varios “sub-sitemaps”.
Qué es el sitemap.xml en WordPress y cómo crearlo
Ahora que nos hemos puesto en situación sobre qué es un sitemap y que beneficios puede aportar a tus webs, vamos con el objetivo principal de este artículo: el sitemap.xml en WordPress.
Hace años (más o menos antes del año 2020) WordPress no generaba de forma automática y predefinida un sitemap. Por lo tanto, si querías que tu web incluyera un archivo sitemap.xml tenías que recurrir sí o sí a un plugin o bien generar ese archivo a mano.
Por suerte, desde WordPress 5.5 el sitemap es una funcionalidad nativa del CMS, es decir, que a partir de esta versión en adelante, tus sitios web en WordPress tendrán generado automáticamente un archivo sitemap.xml.
Este sitemap.xml que genera WordPress se puede consultar desde la URL: "https://tuweb.com/wp-sitemap.xml" (obviamente, sustituye “tuweb.com” por tu dominio), y por defecto es algo como esto:
Como puedes ver, el sitemap por defecto de WordPress es algo así como un directorio de sitemaps. Automáticamente, se generarán sitemaps diferentes para tus páginas, entradas, taxonomías (categorías y etiquetas), autores y CPT (custom post types). Todos estos sitemaps están centralizados en el ‘wp-sitemap.xml’.
Aunque el hecho de que WordPress añada por defecto un archivo sitemap.xml está muy bien, lo cierto es que no deja de tener una configuración inicial relativamente básica, y muchas veces puede ser necesario personalizarlo un poco.
Por suerte, no tienes por qué quedarte con el sitemap que te genera WordPress por defecto y puedes crear tu propio sitemap.xml. Para ello tienes varias opciones: como siempre, puedes hacerlo a mano (aunque ello implica que debes tener ciertos conocimientos de código) o puedes utilizar alguno de los plugins que existen para ello.
Cómo crear el sitemap.xml en WordPress con un plugin
La manera más fácil de crear tu propio sitemap.xml en WordPress es utilizar un plugin. A día de hoy existen plugins de SEO muy potentes que, entre sus muchas funcionalidades, incluyen la posibilidad de generar un sitemap.xml totalmente personalizado. Mi consejo es que recurras a alguno de los dos plugins de los que te voy a hablar a continuación si quieres generar un sitemap en WordPress.
Crear el sitemap.xml con Rank Math SEO
Rank Math es uno de los plugins de SEO para WordPress por excelencia. Entre las muchas funcionalidades que proporciona están la optimización de palabras clave o keywords, integración con Google Analytics, configuración del ‘schema’, soporte para WooCommerce y, por supuesto, la generación de sitemaps.
Rank Math utiliza por defecto su propio sitemap.xml. Por lo tanto, cuando lo instales, el sitemap por defecto de WordPress (del que hemos hablado más arriba) se desactivará para dar paso al de Rank Math.
Puedes configurar el sitemap desde los ajustes de Rank Math en "Rank Math SEO > Ajustes del mapa del sitio".
En la pestaña ‘General’ verás la URL de tu sitemap y además podrás configurar si quieres que se muestren las referencias a las imágenes en él. También puedes incluir las imágenes destacadas.
En la pestaña ‘Mapa del sitio HTML’ puedes activar o desactivar la funcionalidad de generar a mayores un sitemap en código HTML. Este sitemap lo podrás incrustar donde quieras utilizando un shortcode o puedes elegir directamente en qué página de tu sitio se mostrará.
En la sección ‘Tipos de contenido’ aparecerán los tipos de contenido que tengas, tanto las entradas como las páginas que son nativas de WordPress como los Custom Post Type que hayas creado. En la pestaña de cada tipo de contenido puedes activar o desactivar si quieres que se muestren tanto en el sitemap.xml como en el sitemap.html.
La sección de ‘Taxonomias’ funciona exactamente igual que la de ‘Tipos de contenido’.
Crear el sitemap.xml con Yoast SEO
Otro de los plugins de SEO más famosos para WordPress es Yoast SEO. Las funcionalidades que trae son muy parecidas a las de Rank Math, por lo que se trata de un plugin bastante similar.
Crear un sitemap con Yoast SEO no podría ser más fácil. Simplemente instalando el plugin ya tendrás creado automáticamente el sitemap.xml. De todos modos, puedes comprobarlo si vas a "Yoast SEO > Ajustes" y haces scroll hasta el apartado donde dice “Mapas del sitio XML”. A mayores, podrás desactivarlo si lo necesitas.
Al contrario que en Rank Math, en Yoast SEO no podemos configurar ajustes del sitemap, o al menos desde los menús de configuración del plugin. Cualquier cambio que necesites tendrás que hacerlo mediante código y la documentación de Yoast.
Cómo crear el sitemap.xml en WordPress sin plugins
Crear un sitemap personalizado en WordPress es una tarea que resulta muy fácil de hacer utilizando un plugin como Rank Math o Yoast SEO. Aun así, si quieres crear tu propio sitemap.xml en WordPress sin utilizar plugins también puedes hacerlo. Ten en cuenta que tendrás que tener un mínimo de conocimientos de PHP y del core de WordPress para poder hacerlo.
Antes de seguir te recomiendo que crees un tema hijo si todavía no lo tienes. Así no perderás los cambios que hagas a continuación cuando tengas que actualizar tu tema.
Para crear un sitemap.xml personalizado en WordPress vamos a añadir código en el archivo functions.php del tema hijo, y para ello vamos a seguir varios pasos:
En primer lugar, vamos a desactivar el sitemap por defecto de WordPress (ya que vamos a utilizar nuestro propio sitemap).
add_filter( 'wp_sitemaps_enabled', '__return_false' );
Ahora tenemos que crear una estructura para nuestro sitemap y que las URL se añadan de manera dinámica y automática, para que cada vez que creemos un nuevo contenido en nuestro WordPress (una página, un post, etc.) no tengamos que preocuparnos de añadirlas a mano en el sitemap. Para ello, vamos a utilizar el siguiente código:
function generar_sitemap() {
header( 'Content-Type: application/xml; charset=utf-8' );
echo '<?xml version="1.0" encoding="UTF-8"?>';
echo '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">';
$posts = get_posts( array(
'post_type' => array( 'post', 'page' ), // Puedes añadir los tipos de contenido que necesites
'post_status' => 'publish',
'numberposts' => -1, // El valor -1 es para que coja todos los posts
));
foreach ( $posts as $post ) {
$url = get_permalink( $post->ID );
$lastmod = get_the_modified_time( 'c', $post->ID );
echo '<url>';
echo '<loc>' . esc_url( $url ) . '</loc>';
echo '<lastmod>' . esc_html( $lastmod ) . '</lastmod>';
echo '<changefreq>weekly</changefreq>'; // Puedes cambiar la frecuencia de actualización
echo '<priority>0.8</priority>'; // Puedes cambiar la prioridad
echo '</url>';
}
echo '</urlset>';
exit;
}
Esta función es un ejemplo básico, pero puedes personalizarla a tu medida (fíjate en los comentarios del código). Si tienes dudas acerca de qué valores puedes utilizar o cuál es el más adecuado para tu caso puedes consultar la siguiente web: https://www.sitemaps.org/protocol.html
Finalmente, tienes que registrar una URL personalizada para el sitemap y decirle que su contenido va a ser el que genera la función que acabas de crear.
function registrar_sitemap_endpoint() {
add_rewrite_rule( '^custom-sitemap\.xml$', 'index.php?custom_sitemap=1', 'top' );
}
add_action( 'init', 'registrar_sitemap_endpoint' );
function agregar_query_var( $vars ) {
$vars[] = 'custom_sitemap';
return $vars;
}
add_filter( 'query_vars', 'agregar_query_var' );
function cargar_sitemap_personalizado() {
if ( get_query_var( 'custom_sitemap' ) ) {
generar_sitemap();
}
}
add_action( 'template_redirect', 'cargar_sitemap_personalizado' );
Ya para terminar, ve a "Ajustes > Enlaces permanentes" y haz clic en el botón de “Guardar cambios” (no hace falta que cambies antes ninguna opción), para actualizar los ajustes de escritura.
Si has seguido bien los pasos, ya tendrás creado un sitemap.xml en WordPress. Si accedes a "http://tuweb.com/custom-sitemap.xml/" (para el ejemplo, yo he usado “custom-sitemap” pero puedes cambiarlo si lo necesitas), verás algo como esto:
Si lo necesitas, puedes comprobar si la estructura de tu sitemap es válida con alguna herramienta online como https://www.xml-sitemaps.com/validate-xml-sitemap.html
Añadir el sitemap.xml al archivo robots.txt
Por si no lo sabes, el archivo robots.txt es un archivo de texto que se encuentra en la raíz de tu sitio web y que contiene instrucciones para los motores de búsqueda para que sepan qué tienen que indexar y qué no.
Cuando tienes un sitemap.xml lo ideal es que los motores de búsqueda sepan de su existencia y eso puedes hacerlo gracias al archivo robots.txt.
Como te decía, puedes localizarlo en la raíz de tu sitio y puedes editarlo para añadir el sitemap.xml con el siguiente código:
Sitemap: https://tuweb.com/sitemap.xml
User-agent:*
Disallow:
Te lo explico brevemente:
- Sitemap: aquí simplemente debes indicar la URL de tu archivo sitemap.
- User-agent: sirve para indicar a qué motores de búsqueda va a afectar (el de Google, el de Bing, etc.). Poniendo un asterisco, le estamos diciendo que afecte a todos.
- Disallow: aquí puedes añadir directorios que no quieras que se indexen, por ejemplo: “/wp-admin/”, “/config/”, etc. Si lo dejas vacío no habrá nada que no se indexe.
Cómo subir el sitemap.xml a Google Search Console
Aunque el archivo robots.txt sirve para que los motores de búsqueda conozcan tu sitemap y que sepan así qué contenido deben indexar, a veces es interesante utilizar ciertas herramientas específicas. Es el caso de Google, el cual, gracias a Google Search Console te permite subir el archivo sitemap.xml.
El hecho de subir el sitemap a Google Search Console te aporta ciertas ventajas con respecto a hacerlo solamente en el robots.txt, como por ejemplo el seguimiento y control de posibles errores de indexación de tus URL.
Puedes subir el sitemap.xml a Google Search Console siguiendo estos pasos:
- Inicia sesión en tu cuenta de Google Search Console (o regístrate si aún no tienes cuenta).
- Si todavía no lo has hecho, añade tu sitio web como una nueva propiedad en Google Search Console. Una vez la añadas, debes verificarla a través de alguno de los métodos disponibles.
- Si ya tienes la propiedad creada, haz clic en “Sitemaps” en el menú lateral.
- Introduce la URL de tu sitemap. Ten en cuenta que solamente tienes que añadir el nombre del archivo sitemap.
- Pulsa en “Enviar”. Si todo ha ido bien verás un mensaje de confirmación.
Subir el sitemap a Google Search Console y añadirlo en tu robots.txt no son excluyentes, por lo que mi consejo es que lo hagas en ambos sitios. Además, otros motores de búsqueda como Bing o Yahoo tienen también sus propias herramientas para subir el sitemap, por lo cual puede ser interesante utilizarlas para subir tu sitemap.xml.
Deja una respuesta
Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *