Asiste al evento de SEO más avanzado del año

Sitemaps

Todo lo que necesitas saber acerca de cómo crear e interpretar un Sitemap

Autor:
Carlos Sánchez
Temática:
Enlazado
,
Internacional
,
Rastreo
Fecha de publicación:
2024-02-06

Última revisión:
2024-03-27

Un Sitemap SEO será un archivo web con un listado de URLs donde le indicará a los motores de búsqueda cuales son las URLs relevantes.

Según el tipo de Sitemap, se pueden indicar más factores, como la última actualización, si esa URL contiene imágenes o vídeos relevantes, o incluso si tiene una versión de idioma o "regional" alternativa.

Los Sitemaps se recomiendan especialmente en webs grandes, con gran cantidad de archivos multimedia o con mal enlazado. Lo ideal con estos Sitemaps es automatizarlo, pues es complicado mantener actualizado el Sitemap de cualquier web mínimamente grande.

Como existen opciones tan sencillas como añadir un Sitemaps con las URLs principales en un archivo txt, o una implementación básica de xml y es algo que no hace daño al posicionamiento ni al rendimiento, yo personalmente recomiendo hacerlo siempre (en un claro orden de prioridad, por debajo de tareas más necesarias), ya que es bastante habitual que en una web, el enlazado externo/interno y la arquitectura no brillen por ser ejemplares.

Características generales de cualquier Sitemap

Es útil saber que no necesitas poner todas las URLs en un mismo Sitemap ni necesariamente lo tienes que hacer sólo para robots. Está genial que lo puedas segmentar en bloques para detectar errores y que sea útil y entendible para el ser humano. Aquí tienes un ejemplo de cómo sería el mío (para ver el código le puedes dar a click derecho y a "ver código fuente de la página", o si estás en el móvil añadir "view-source:" delante de la url).

Sitemap xml

Un Sitemap XML es el tipo de Sitemap más completo, ya que nos permite ofrecerle a Google un montón de información sobre las características de las URLs que le queremos indicar al motor de búsqueda como indexables.

Sitemap Básico

En un Sitemap de XML básico simplemente nos tenemos que centrar en poner las URLs de acuerdo a la semántica que tienen los Sitemaps pensados para SEO.

En una web con un alfabeto ordinario debemos iniciar siempre con este código en el archivo .xml para indicar el tipo de escritura:

<?xml version="1.0" encoding="UTF-8"?>

Explicado esto, muestro un ejemplo de un sitemap básico y estándar, pondré solo una URL para que se vean y aprecien las características:

<?xml version="1.0" encoding="UTF-8"?>
<!-- Si quieres añadirle un estilo chulo, puedes usar el mío -->
<?xml-stylesheet href="https://carlos.sanchezdonate.com/wp-content/themes/sanchezdonate/core/css/stylesheet.xsl" type="text/xsl"?>
<!-- hay que ponerle el atributo correcto en urlset, con el xmlns correcto, para un sitemap simple nos vale:-->
<urlset
xmlns="https://www.sitemaps.org/schemas/sitemap/0.9"
>
<url>
<loc>https://carlos.sanchezdonate.com/</loc>
<lastmod>2023-05-24</lastmod>
</url>
</urlset>

Atributos

El atributo lastmod debemos utilizarlo con cuidado, ya que desde junio de 2023 hacen énfasis en utilizar utilizar el lastmod solo cuando haya cambios significativos en la página.

El resto de atributos como changefreq o priority son irrelevantes, ya que Google no los lee y pueden haces más pesada la página.

Sitemap de imágenes

El resto de sitemaps específicos en realidad son como una extensión de un Sitemap básico, pero que se le añade la "librería" de imágenes, con el atributo y url tal cual que pongo en el ejemplo, y con las etiquetas correspondientes dentro de <url>.

Lo que se hace con añadir imágenes en un sitemaps es decir las imágenes importantes que hay en una URL.

<?xml version="1.0" encoding="UTF-8"?>
<!-- Si quieres añadirle un estilo chulo, puedes usar el mío -->
<?xml-stylesheet href="https://carlos.sanchezdonate.com/wp-content/themes/sanchezdonate/core/css/stylesheet.xsl" type="text/xsl"?>
<!-- hay que ponerle el atributo correcto en urlset, con el xmlns correcto, para un sitemap simple nos vale:-->
<urlset
xmlns="https://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:image="http://www.google.com/schemas/sitemap-image/1.1"
>
<url>
<loc>https://master-testing.com/</loc>
<lastmod>2023-05-24</lastmod>
<image:image>
<image:loc>https://carlos.sanchezdonate.com/wp-content/themes/sanchezdonate/images/sanchez-white-seo.svg</image:loc>
</image:image>
</url>
</urlset>

Adjunto un ejemplo de Sitemap de imágenes que puedes ver haciendo click derecho y señalando a "ver código fuente".

Atributos

El resto de atributos existentes para un sitemap de imágenes específicos de imágenes están obsoletos desde el 6 de mayo de 2022.

¿No lo estás entendiendo?
Si quieres aprender a aplicar todo esto y mucho más, accede a mi formación: ¡Aprende SEO de verdad!

Sitemap de vídeo

No es necesario incluir el sitemap de imágenes para incluir el de vídeo. Una extensión no depende de otra.

Este tipo de Sitemap tiene sentido en webs que utilizan muchos vídeos como las webs de canales de televisión. Es recomendable especialmente señalar las URLs donde la característica principal es el vídeo y combinarlo con un dato estructurado de video.

Recomendaciones para un sitemap de video:

<?xml version="1.0" encoding="UTF-8"?>
<!-- Si quieres añadirle un estilo chulo, puedes usar el mío -->
<?xml-stylesheet href="https://carlos.sanchezdonate.com/wp-content/themes/sanchezdonate/core/css/stylesheet.xsl" type="text/xsl"?>
<!-- hay que ponerle el atributo correcto en urlset, con el xmlns correcto, para un sitemap simple nos vale:-->
<urlset
xmlns="https://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:image="http://www.google.com/schemas/sitemap-image/1.1"
xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"
>
<url>
<loc>https://master-testing.com/</loc>
<lastmod>2023-05-24</lastmod>
<image:image>
<image:loc>https://carlos.sanchezdonate.com/wp-content/themes/sanchezdonate/images/sanchez-white-seo.svg</image:loc>
</image:image>
<video:video>
<video:thumbnail_loc>https://i.ytimg.com/vi_webp/f5-07hStg4A/maxresdefault.webp</video:thumbnail_loc>
<video:title>Cookies y Cache en el SEO</video:title>
<video:description>Descubrir que son las cookies y la cache, como afectan a una web y cómo utilizarlas a nuestro favor en el SEO</video:description>
<video:player_loc>https://www.youtube.com/embed/f5-07hStg4A</video:player_loc>
<!-- Etiquetas opcionales para vídeo -->
<video:duration>5198</video:duration>
<video:publication_date>2023-05-24</video:publication_date>
<video:family_friendly>yes</video:family_friendly>
<video:rating>5.0</video:rating>
<video:view_count>3000</video:view_count>
<video:restriction relationship="allow">ES MX US</video:restriction>
<video:platform relationship="allow">mobile</video:platform>
<video:requires_subscription>yes</video:requires_subscription>
<video:uploader>Carlos Sánchez</video:uploader>
<video:live>no</video:live>
<video:tag>cookies, cache, servidores, wpo, seo, seo tecnico</video:tag>
</video:video>
</url>
</urlset>

Atributos obligatorios

En la documentación oficial está el detalle de todos y cada uno de estos atributos.

Como se puede observar, hay un montón de atributos que son necesarios para que el sitemap de vídeos funcionen.

Atributos opcionales

Sitemap de Noticias

Los Sitemaps de noticias son más complicados de implementar de una forma correcta, es por este motivo que recomiendo leerse las instrucciones con calma. No obstante este tipo de Sitemaps son muy rastreables por Google en el sentido de que es una de las formas más rápidas de indexación.

La forma más rápida de indexar sería el API indexing, pero está recomendada sólo para vídeos de streaming y publicaciones de empleos, es decir, para "indexaciones fugaces", por lo que aplicar la implementación de API Indexing podría considerarse Black-hat ya que debe tener dichos datos estructurados.

En conclusión, la forma más rápida/eficiente de indexar una noticia o publicación además del inspector de elementos de Search Console, sería por un Sitemap de Noticias.

<?xml version="1.0" encoding="UTF-8"?>
<!-- Si quieres añadirle un estilo chulo, puedes usar el mío -->

<?xml-stylesheet href="https://carlos.sanchezdonate.com/wp-content/themes/sanchezdonate/core/css/stylesheet.xsl" type="text/xsl"?>

<!-- hay que ponerle el atributo correcto en urlset, con el xmlns correcto, para un sitemap simple nos vale:-->


<urlset

xmlns="https://www.sitemaps.org/schemas/sitemap/0.9"

xmlns:image="http://www.google.com/schemas/sitemap-image/1.1"

xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"

xmlns:news="http://www.google.com/schemas/sitemap-news/0.9"
>

<url>


<loc>https://master-testing.com/</loc>

<lastmod>2023-05-24</lastmod>


<image:image>

<image:loc>https://carlos.sanchezdonate.com/wp-content/themes/sanchezdonate/images/sanchez-white-seo.svg</image:loc>

</image:image>


<video:video>


<video:thumbnail_loc>https://i.ytimg.com/vi_webp/f5-07hStg4A/maxresdefault.webp</video:thumbnail_loc>

<video:title>Cookies y Cache en el SEO</video:title>

<video:description>Descubrir que son las cookies y la cache, como afectan a una web y cómo utilizarlas a nuestro favor en el SEO</video:description>

<video:player_loc>https://www.youtube.com/embed/f5-07hStg4A</video:player_loc>


<!-- Etiquetas opcionales para vídeo -->


<video:duration>5198</video:duration>

<video:publication_date>2023-05-24</video:publication_date>

<video:family_friendly>yes</video:family_friendly>

<video:rating>5.0</video:rating>

<video:view_count>3000</video:view_count>

<video:restriction relationship="allow">ES MX US</video:restriction>

<video:platform relationship="allow">mobile</video:platform>

<video:requires_subscription>yes</video:requires_subscription>

<video:uploader>Carlos Sánchez</video:uploader>

<video:live>no</video:live>

<video:tag>cookies, cache, servidores, wpo, seo, seo tecnico</video:tag>

</video:video>

<news:news>

<news:publication>

<news:name>El equivalente al h1</news:name>

<news:language>es</news:language>

</news:publication>

<news:publication_date>2023-05-24</news:publication_date>

<news:title>Inventarnos otro title o copiar el que hay</news:title>


</news:news>

</url>

</urlset>

Atributos obligatorios:

Para que un sitemap de noticias sea efectivo debe tener estas etiquetas de forma obligatoria.

Un sitemap de noticias debe actualizar con nuevos artículos a medida que se vayan publicando. La URL en este sitemap específico tiene más sentido que en ninguno que la URL sea estática.

Los artículos deben tener como máximo 2 días de antigüedad, cuando pase ese periodo, deben retirarse las URLs del sitemap o eliminarse las etiquetas y subetiquetas pertenecientes a <news:news>

Sitemap Index

El sitemap index es un sitemap de Sitemaps, como hay una restricción de peso y enlaces, es ideal cuando se tienen webs largas. A mi también me suele gustar para dividir distintas secciones y a la hora de tenerlo automatizado, tener los sitemaps con cierto orden. Para además tener una mayor facilidad a la hora de detección de errores.

Así se vería un Sitemap Index:

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="wp-content/themes/sanchezdonate/core/css/stylesheet.xsl" type="text/xsl"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>https://carlos.sanchezdonate.com/sitemap.xml</loc>
</sitemap>
<sitemap>
<loc>https://carlos.sanchezdonate.com/sitemap-posts.xml</loc>
</sitemap>
</sitemapindex>

Sitemap de idiomas

Si deseas implementar un Sitemap de idiomas, debes tener conocimiento acerca de como funcionan los hreflang. Pues además de apuntar a las distintas versiones de idiomas, es importante que se mencionen como autoreferencia y tener los conceptos claros, como en qué consiste el x-default.

Recordando las directrices que son común a todos los métodos de implementación. Tenemos que tener en cuenta que esta sería la solución más práctica en un sistema de páginas de distintos idiomas con diferentes dominios e incluso servidores, ya que su mantenimiento e implementación sería mucho más sencillo que hacerlo por medio de metaetiquetas o servidores.

Esto se debe a que solo habría que sustituir los archivos xml y consistiría en comprobar que coinciden en que son versiones alternativas por cada URL en los distintos dominios.

No todas las URLs tienen por qué tener una versión alternativa, pero por cuestiones de seguridad, Google solo tendrá en cuenta un hreflang cuando este se indica desde las diferentes versiones.


Así es como funcionan los hreflangs

Cuando cuelga del mismo dominio

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
<loc>http://hreflang.test/</loc>
<xhtml:link
rel="alternate"
hreflang="es"
href="http://hreflang.test/es"/>
<xhtml:link
rel="alternate"
hreflang="en"
href="http://hreflang.test/"/>
</url>
<url>
<loc>http://hreflang.test/es</loc>
<xhtml:link
rel="alternate"
hreflang="en"
href="http://hreflang.test/"/>
<xhtml:link
rel="alternate"
hreflang="es"
href="http://hreflang.test/es"/>
</url>
</urlset>

Cuando son distintos dominios

Como mencionaba este es el caso más práctico, entonces cada archivo xml tiene que estar en su versión de idioma. Aquí pongo un ejemplo básico de cómo funcionaría:

Formato español
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
<loc>http://hreflangtest.es</loc>
<xhtml:link
rel="alternate"
hreflang="en"
href="http://hreflangtest.uk/"/>
<xhtml:link
rel="alternate"
hreflang="es"
href="http://hreflangtest.es"/>
</url>
</urlset>
Formato en el dominio inglés
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
<loc>http://hreflangtest.uk/</loc>
<xhtml:link
rel="alternate"
hreflang="en"
href="http://hreflangtest.uk/"/>
<xhtml:link
rel="alternate"
hreflang="es"
href="http://hreflangtest.es"/>
</url>
</urlset>

Sitemap TXT

En el caso de que no te quieras complicar la vida, siempre puedes crear un archivo .txt (que no se llame robots por favor) y ponerlo en la carpeta root.

Este Sitemap ofrece muy poca personalización, pero si que permite añadir un listado de URLs simple con las páginas más importantes de la web.

Esto es bastante útil como parche mientras se programa el Sitemap bueno para evitar pérdida de tiempo por su facil manejo. Pero no es escalable ni eficiente a largo plazo para proyectos grandes.

Sitemap Feed

Si tienes un blog con RSS, MRSS o Atom 1.0, tu feed vale como Sitemap. La ventaja que Google acepte este formato es que la mayoría de CMS lo generan de forma automática y relativamente bien. Además los artículos de una web mayoritariamente son indexables. Así que para una web sencilla es una tremenda opción para tener un Sitemap totalmente automatizado de forma natural sin necesidad de plugins (un sitemap de posts).

Recuerda no ser un gran genio y bloquear el /feed/ por medio del robots.txt como recomiendan la mayoría de negligentes desinformadores si lo que pretendes es usar este sistema.

Automatizar Sitemaps

Como podrás ver, parecen complejos de actualizar y hacerlo de forma eficiente, especialmente el sitemap de noticias.

Pero por muy complejos que parezcan manualmente, si se programan y automatizan, se convierte en un proceso bastante sencillo, personalizado y escalable.

Es decir, lo ideal es hacer la plantilla y automatizarlo, de forma que tu web lo procese cada vez que se reciba una actualización.

Para hacer esto o aprender a mejorarlo estéticamente, no puedo explicarlo en un solo post. Pero si en el máster de SEO Técnico. Así que si quieres volverte un experto en Sitemaps no lo dudes.

Bibiliografía

Si te gusta este artículo, me ayudarías un montón compartiendo mi contenido:
No se te da mal el SEO Técnico

Te falta mi máster. Accede a una formación avanzada que te permitirá aplicar e implementar SEO en cualquier tipo de WEB

¡Accede al Máster de SEO Técnico!
Tal vez te interesen otros artículos:
Artículos de SEO
Usamos cookies para asegurar que te damos la mejor experiencia en nuestra web. Aquí tienes nuestra política de privacidad.