Un sitemap sirve para facilitar la tarea de los crawlers (arañas) de los buscadores, ayuda a que sepan que páginas hay en nuestro sitio, y facilitarles datos sobre ellas para que sean bien indexadas. Esto asegura un correcto posicionamiento de la web en los los resultados de los buscadores (SEO).
El archivo sitemap.xml que se coloca en la raiz del sitio y ofrece una lista con todas las páginas de tu web, a Google le resulta fácil recorrer el archivo e indexar las páginas. Además un archivo sitemap.xml puede indicar a los buscadores la importancia relativa que nosotros le damos a cada una de las páginas que componen la web, cada cuanto las actualizamos, y cuál es la fecha de su última actualización.
Mi experiencia
Yo siempre incluyo un archivo sitemap en mis Webs y si alguien me preguntapar mejorar el SEO de su web, seguro que se lo recomiendo. Un archivo sitemap.xml puede ocultar problemas de navegación de una Web, y es una forma muy sencilla de dar a conocer a Google todas tus páginas. Pero en el caso de una web que está bien construida y tiene una navegación correcta, no debería necesitar para nada un archivo sitemap, y en estos casos no ponerlo sería como pasar la prueba del algodón.
A mi me ha sido muy, pero que muy útil, para dar de alta e indexar de forma casi inmediata una web nueva con todas sus páginas. Una vez subida la web al servidor y generadas varias páginas, la he dado de alta en las herramientas de webmaster de Google a la web y a su sitemap. Y en el caso de una web existente si hay que mejorarle el posicionamiento, también creo un sitemap, asegurándome de que se indexen las páginas son necesarias indexar.
Ahora bien, de tenerlo, tiene que estar completo y actualizado.
Matt Cuts afirma que un sitemap.xml no garantiza que se rastreen todas las páginas pero puede ayudar al robot a descubrir algunas nuevas. Yo creo que si las propias directrices de Google para webmasters indican la conveniencia de tener un sitemap en nuestros sitios web y también en las herramientas de webmaster de Google hay un apartado especial para subir testear y ver el resultado del sitemap.xml de tu web, quiere decir que si es importante.
Como hacer un sitemap para nuestra web
Las directrices y los protocolos sobre como hacer un sitemap están muy bien documentadas en http://www.sitemaps.org/es/index.html y podemos recurrir a estas normas para crear nuestro sitemap. Consultando esta web y modificando el sitemap de ejemplo que nos enseñan podremos crear nuestro propio sitemap.
La forma rápida y no muy optimizada es utilizando una herramienta online gratuita como puede ser http://www.xml-sitemaps.com que automáticamente genera un archivo sitemap.xml indicándole la URL de la web. Le indicamos la frecuencia con la cual modificamos la web (cada cuanto se actualizan las páginas, generamos nuevo contenido), y cuando ha sido la última modificación de nuestro sitio. Por último calcula dándole importancia relativa a cada página que encuentre según su criterio (siendo 1.0 la página más importante). La limitación por se gratuita es que solo genera 500 páginas.
Sitemap para WordPress
Para WordPress es recomendable la utilización de un plugin, yo siempre instalo el SEO YOAST, que tiene a funcionalidad de Sitemap.
Se configura con la información de la web, y cada vez que escribas una nueva entrada, el plugin se encargará de actualizar automáticamente tu sitemap y notificar esta actualización a los robots de los principales buscadores que así sabrán que deben volver a visitarte porque hay novedades.
Cómo generar sitemap.xml con PHP de forma dinámica es un tema que explico en el siguiente artículo
La estructura
El protocolo Sitemap se construye en base a etiquetas XML (Tags) incluidas en un archivo con codificación UTF-8. Debe comenzar con una etiqueta de apertura <urlset> y terminar con una de cierre </urlset>. Debe especificar el protocolo estándar al que responde dentro de la etiqueta de apertura <urlset>. Incluir una entrada <url> por cada dirección URL (que corresponderá a cada una de las páginas del sitio) como nodo XML padre. Incluir un nodo XML hijo <loc> para cada dirección URL (cada nodo XML padre <url>).
Ejemplo de la estructura:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>http://www.example.com/</loc>
<lastmod>2005-01-01</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>http://www.example.com/contact</loc>
<lastmod>2004-12-23T18:00:15+00:00</lastmod>
<changefreq>never</changefreq>
<priority>0.3</priority>
</url>
</urlset> ">
<lastmod>Fecha</lastmod> – Se refiere a la Fecha de la última modificación del archivo. Esta fecha debe expresarse en formado AAAA-MM-DD, este formato permite omitir la parte referente a la hora.
<changefrec>Frecuencia</changefrec> – Se refiere a que tan a menudo cambia la página y será un dato que indicará a la araña con qué frecuencia volver a visitar el sitio. Es un valor orientativo, por lo que no quiere decir que deba cumplirse forzosamente se considera una sugerencia y no una orden. Estos valores son: always – hourly – daily – weekly – monthly – yearly – never. El valor «always» (siempre) debe utilizarse para describir documentos que cambian cada vez que se obtiene acceso a ellos. El valor «never» (nunca) debe utilizarse para describir direcciones URL archivadas.
<prioryty>prioridad</prioryty> – Se refiere a la importancia que tiene la página respecto de las demás que componen el sitio. Es simplemente una manera de indicar prioridades relativas dentro del sitio, sin ningún efecto hacia el exterior del mismo. Los valores válidos abarcan desde 0,0 a 1,0. La prioridad predeterminada de una página es 0,5.
Yo personalmente utilizo sólo uno de las tres etiquetas de información adicional, utilizo <lastmod>. Se puede ver en mi web: www.danielazucotti.com/sitemap.xml
Publicado originalmente 12.02.2013