La sitemap.xml è un elemento molto importante per un sito web, questo file infatti rappresenta l’indice di tutte le pagine che si intende inviare ai motori di ricerca affinchè vengano indicizzate. La guida si focalizza sulla sintassi corretta della sitemap.xml, mentre per verificare la completezza degli URL elencati rimando a questa guida.
La sitemap.xml dovrebbe essere linkata dal file robots.txt che è il primo file che i crawler leggono quando atterrano su un sito web:
User-agent: *
Disallow: /admin/
Sitemap: http://www.esempio.com/sitemap.xml
Google nelle sue linee guida fornisce consigli e risorse dove è possibile studiare la struttura che una sitemap.xml dovrebbe avere, tuttavia molti webmaster ignorano queste indicazioni e generano sitemap.xml spesso rudimentali ed incomplete.
Con questo articolo vorrei riassumere le informazioni necessarie per creare una sitemap.xml perfetta.
Cos’è la Sitemap.xml
La sitemap.xml è un file, appunto in formato .xml, che contiene l’elenco formattato degli URL del sito web nel quale è contenuta. In questo elenco è possibile specificare, per ogni URL, alcune informazioni utili ai motori di ricerca:
- la data dell’ultimo aggiornamento
- la frequenza di aggiornamento
- l’importanza che l’URL ha in relazione a tutte le altre pagine del sito
Come si scrive la Sitemap.xml
La Sitemap.xml dovrebbe essere scritta e aggiornata automaticamente dal CMS ogni qual volta un contenuto viene aggiornato o aggiunto ex-novo. Durante la sua compilazione bisogna rispettare alcuni limiti ed alcune regole, come ad esempio possono venire elencati fino ad un massimo di 50.000 URLs e la dimensione del file Sitemap.xml non compresso non deve superare i 50MB.
Vediamo un esempio di Sitemap.xml con due URLs:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>http://www.esempio.it/</loc>
<lastmod>2013-06-26</lastmod>
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>http://www.esempio.it/contatti/</loc>
<lastmod>2013-05-26</lastmod>
<changefreq>monthly</changefreq>
<priority>0.3</priority>
</url>
</urlset>
Come potete notare la Sitemap.xml inizia con il tag di apertura “urlset” con il quale si dichiara lo standard del protocollo utilizzato. Di seguito trovate elencati tutti gli attributi, obbligatori e facoltativi, che una Sitemap.xml completa dovrebbe utilizzare.
Gli attributi della Sitemap.xml

Ci possono essere situazioni dove una sola sitemap non basta, ad esempio per siti con più di 50.000 pagine. In questi casi si devono generare più sitemap ed una sitemapindex che le comprenda tutte. Vediamo un esempio di sitemapindex.xml
La Sitemapindex.xml
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>http://www.esempio.it/sitemap1.xml.gz</loc>
<lastmod>2013-06-01T14:32:19+00:00</lastmod>
</sitemap>
<sitemap>
<loc>http://www.esempio.it/sitemap2.xml.gz</loc>
<lastmod>2013-06-01</lastmod>
</sitemap>
</sitemapindex>
Dove posizionare la Sitemap.xml
Si consiglia di inserire il file Sitemap.xml nella root del web server poichè gli URLs contenuti devono risiedere nella stessa struttura di folder della sitemap. In altre parole, il percorso di un file Sitemap determina l’insieme di URL che può essere inserito nella Sitemap, ad esempio:
Un file Sitemap posizionato in http://esempio.it/catalog/sitemap.xml può includere tutti gli URL che iniziano con http://esempio.it/catalog/ ma non quelli che iniziano con http://esempio.it/images/.
Per questo motivo si consiglia di posizionare la sitemap nel folder dove risiede la prima pagina del sito (index.php/html/asp/…)
La Sitemap.xml per i siti multi-lingua organizzati in sub-folder
Immaginiamo un sito in due lingue, Italiano ed Inglese, organizzato in sub-folder:
- http://www.esempio.com/IT/
- http://www.esempio.com/EN/
In questo caso si consiglia di generare tre sitemap distinte:
- Un indice di sitemap: http://www.esempio.com/Sitemapindex.xml
- La sitemap per gli URL in lingua Italiana: http://www.esempio.com/IT/Sitemap.xml
- La sitemap per gli URL in lingua Inglese: http://www.esempio.com/EN/Sitemap.xml
Questa suddivisione aiuta Google ad interpretare e suddividere le lingue nel sito, soprattutto in casi dove il rel alternate non sia ben implementato.
Come riprodurre i caratteri speciali nella Sitemap.xml

Come verificare la correttezza della Sitemap.xml
Ho scritto una guida dedicata alla verifica della sitemap che ti consiglio di leggere. Online esistono diversi tools per testare la validità della Sitemap.xml, di seguito elenco alcuni strumenti:
Emanuele
ciao, Vorrei chiederle delle informazioni in merito a seo sitemap domini e sottodomini, ha un contatto da lasciarmi, grazie mille.