XmlSiteMapLos sitemaps son archivos que contienen un listado en formato XML de todas las páginas que componen un sitio web.

Estos archivos le son útiles a los robots y a las arañas de los motores de búsqueda, que usarán la información que le damos en el archivo sitemap para realizar un rastreo más efectivo del sitio web, lo que revertirá en que indexe mejor nuestras páginas y en la mejora de nuestro posicionamiento.

Protocolo sitemaps

El archivo de sitemaps viene definido por un protocolo definido en http://www.sitemaps.org/es/protocol.php y está compuesto por una serie de etiquetas XML, un lenguaje que sirve para estructurar la información. Con ese archivo podemos facilitar de forma opcional a los buscadores datos adicionales de cada una de las páginas que se incluyen en nuestro sitio web:

  • URL de la página
  • Última fecha de modificación
  • Frecuencia de modificación
  • Importancia relativa respecto al resto de páginas del sitio.

 

Este protocolo ha conseguido convertirse en un estándar que los principales buscadores (Google, Yahoo, Bing, etc.) soportan y recomiendan. La inclusión en un dominio de un archivo sitemap no garantiza que los buscadores indexen todas las páginas que listamos en él, pero sí es recomendable su uso para que realicen los rastreos de forma más inteligente, al pasarles en los metadatos información adicional sobre la estructura y actualización de nuestra web.

Las URLs que se establecen en el archivo sitemap han de pertenecer al mismo dominio (no se permiten subdominios), el mismo protocolo (si usamos http no podríamos usar https) y la misma subcarpeta en caso de encontrarse en un ruta diferente de la raíz (para un sitemap ubicado en http://www.dominio.com/subcarpeta1 no podríamos incluir URLs ubicadas en http://www.dominio.com/subcarpeta2).

El máximo tamaño del archivo es de 10MB y el máximo número de URLs que puede contener es de 50.000. Como posteriormente explicaremos, en caso de sobrepasar estos valores, se puede utilizar más de un archivo sitemap.

Además del formato XML, para reducir el tamaño del archivo podemos comprimirlo en formato GZIP.

Las URLs que no cumplan con los requerimientos, no se tienen en cuenta, por lo que un archivo sitemap que incluya algunas URLs no válidas puede ser útil para las que cumplen con los requerimientos.

Etiquetas

En la página oficial del protocolo, sitemaps.org, tenemos información detallada del formato que han de seguir los archivos sitemap.

Las etiquetas obligatorias son las siguientes:

  • <urlset> es la etiqueta de apertura. El archivo finaliza con </urlset>.
  • <url> se incluye esta etiqueta principal para cada una de las urls que vamos a especificar.
  • <loc> con ella definimos la URL de la página. Ha de especificar el protocolo (http, https,…) y su máximo tamaño está limitado a 2.048 caracteres.

También de forma opcional podemos incluir las siguientes etiquetas:

  • <lastmod> fecha de la última modificación del archivo. El formato a utilizar es el de fecha y hora W3C, aunque se puede omitir la hora y la fecha quedaría en este formato: AAAA-MM-DD.
  • <changefreq>frecuencia aproximada con la que la página es modificada. Los valores que puede tener este campo son:
    • always (documento que cambia cada vez que se tiene acceso a él)
    • hourly (cada hora)
    • daily (diariamente)
    • weekly (semanalmente)
    • monthly (mensualmente)
    • yearly (anualmente)
    • never (documentos que no van a ser modificados)
  • <priority> se usa esta etiqueta para definir la prioridad de una URL de forma relativa respecto a las demás URLs del sitio. Los motores de búsqueda pueden utilizarla para elegir una u otra URL en sus resultados en función de a cual le demos más prioridad.
    Su valor puede ir de 0,0 a 1,0 y la prioridad predeterminada que se asigna es de 0,5.

Ejemplo de fichero sitemap

El formato que tiene un archivo sitemap estándar es el siguiente:

<urlset>
	<url>
		<loc>http://www.example.com/</loc>
		<lastmod>2009-12-01</lastmod>
		<changefreq>weekly</changefreq>
		<priority>1</priority>
	</url>

	<url>
		<loc>http://www.example.com/pagina.htm</loc>
		<lastmod>2009-12-01</lastmod>
		<changefreq>monthly</changefreq>
		<priority>0.5</priority>
	</url>
</urlset>

Este sitemap correspondería a un sitio web compuesto por 2 páginas, cuya última modificación es del 2009-12-01.

Con este archivo le estamos diciendo a los buscadores que las páginas las modificamos de forma semanal y mensual, respectivamente, y que la primera de ellas tiene una prioridad que es el doble que la segunda.

Esta información le sirve a los motores de búsqueda para hacerse una mejor idea de la estructura de nuestra web.

Índice de sitemaps

Como hemos visto anteriormente, los archivos sitemap pueden estar en formato XML, sitemap.xml o en formato comprimido GZIP, sitemap.xml.gz, con lo que rebajaremos su tamaño.

Las limitaciones de de este archivo se establecen en un máximo de 50.000 URLs y 10MB de peso.

En caso de sobrepasar estos tamaños, se puede dividir el archivo en varios más pequeños y subirlos por separado. Los archivos sitemap no han de tener un nombre específico, se les puede dar el nombre que se desee. En caso de subir más de uno, habrá que indicarlo en un archivo índice de sitemap.

Ese archivo deberá tener las etiquetas obligatorias:

  • <sitemapindex> etiqueta de apertura. Se finaliza el archivo con </sitemapindex>
  • <sitemap> se incluye esta etiqueta para especificar cada uno de los sitemaps
  • <loc> URL del sitemap

Como opcional se puede incluir la etiqueta: <lastmod> fecha de la última modificación del archivo, fecha y hora W3C, pudiendo omitir la hora y dejar el formato: AAAA-MM-DD.

Un ejemplo de archivo índice de sitemap:

<sitemapindex>
	<sitemap>
		<loc>http://www.example.com/sitemap1.xml.gz</loc>
		<lastmod>2009-12-01</lastmod>
	</sitemap>
	<sitemap>
		<loc>http://www.example.com/sitemap2.xml.gz</loc>
		<lastmod>2009-12-01</lastmod>
	</sitemap>
</sitemapindex>

Ubicación

La ubicación recomendada para el archivo sitemap es el directorio raíz del sitio web, pero se puede subir en cualquier otro subdirectorio.

Al hacerlo así, no se pueden especificar en él URLs de directorios superiores.

El protocolo sitemap permite otros tipos de archivos, como feeds RSS, Atom y archivos de texto. Especificaciones para ello puede encontrarse en la web oficial.

Informar a los buscadores

Para informar a los buscadores y que encuentren el o los archivos sitemap tenemos normalmente 3 opciones:

  • Podemos usar el archivo robots.txt incluyendo tantas líneas con la ubicación como archivos sitemaptengamos, de esta forma:
    Sitemap: http://www.example.com/sitemap.xml
    Sitemap: http://www.example.com/sitemap2.xml
  • Mediante http podemos enviar las notificaciones a los buscadores, lo que se conoce como hacer “ping”:
    • Google: http://www.google.com/webmasters/tools/ping?sitemap=<url_del_sitemap>
    • Yahoo: http://search.yahooapis.com/SiteExplorerService/V1/ping?sitemap=<url_del_sitemap>
    • Bing: http://www.bing.com/webmaster/ping.aspx?siteMap=<url_del_sitemap>
  • Cada buscador dispone además de una interfaz que nos permite enviar directamente el archivo sitemapde forma manual desde un formulario. Algunos de ellos: