In questo articolo andremo a scoprire cos’è una sitemap xml, perché è fondamentale crearla e come possiamo segnalare a Google la sua presenza nel nostro sito web.
Cos’è una Sitemap xml.
Come dice il nome stesso, la sitemap è la mappa di un sito web, un file in cui vengono riportate tutte le informazioni delle tue pagine, immagini, video e di altri file presenti sul tuo sito.
Possiamo vedere la sitemap come l’indice di un sito web che permette agli utenti e ai bot, dei motori di ricerca, una visione ed una scansione del sito nel modo più efficiente possibile.
Esistono due tipi di sitemap:
- formato HTML: è il formato più vecchio e ha lo scopo di aiutare gli utenti a navigare il tuo sito web, migliorando la user experience.
- formato XML: è il formato inventato da Google e poi adottato anche dagli altri motori di ricerca. Le mappe in formato XML sono progettate per facilitare la navigazione dei bot dei vari motori di ricerca.
In questo articolo ci soffermeremo sulle sitemap XML poiché l’utilizzo di quelle HTML è ormai obsoleto.
Perchè creare una Sitemap xml.
Come abbiamo anticipato, creare una sitemap xml è molto importante per favorire la corretta indicizzazione di un sito web sui motori di ricerca.
Vediamo i casi in cui una sitemap può veramente fare la differenza:
- Il sito è nuovo ed è stato appena pubblicato. Googlebot (bot di Google) esegue le scansioni web muovendosi tra i link dei siti e se non sono presenti backlink (link esterni di altri siti che puntano al tuo) è possibile che faccia più fatica a raggiungere le tue pagine.
La creazione della sitemap e l’invio di essa permette di dire a Google “Heey! Ci sono anche io”. - Siti web di grandi dimensioni. E’ possibile che i crawler di Google possano trascurare delle pagine nuove o aggiornate di recente se si tratta di grandi siti web.
- Il sito presenta un vasto archivio di pagine isolate o collegate male. Può capitare che siano presenti delle pagine del sito non linkate o difficilmente raggiungibili. Con l’utilizzo della sitemap, raggiungeremo ogni pagina.
Nonostante l’utilizzo della sitemap non sia obbligatorio, è buona pratica realizzarla sempre poiché non può far altro che migliorare l’efficacia del tuo sito web.
Come trovare la tua Sitemap xml.
Le sitemap, generalmente, si posizionano nella directory principale del sito web.
Per controllare la sua presenza puoi provare a digitare nel tuo browser:
- https://www.dominiosito.com/sitemap.xml
- https://www.dominiosito.com/sitemap_index.html (questa dicitura viene generalmente utilizzata dai siti Wordpress)
Ti basterà sostituire “dominiosito.com” con il dominio del tuo sito web e il browser dovrebbe restituirti la mappa del sito se presente. Per esempio, la sitemap del team WeAreUncommon si trova all’indirizzo https://weareuncommon.it/sitemap_index.xml.
La sitemap può avere un nome personalizzato (purché l’estensione del file sia .XML) e può essere posizionata in directory differenti ma è ormai uno standard inserirla in quella principale.
Nel caso in cui non sia presente una sitemap all’interno del tuo sito web, nel prossimo capitolo ti spiegheremo come crearne una.
Generare una Sitemap.
Creare la propria sitemap è molto semplice e veloce!
Sito Web realizzato con un CMS
Se hai creato il tuo sito web attraverso l’utilizzo di un CMS (Wordpress, Joomla, Drupa, ecc..), probabilmente disponi già degli strumenti necessari alla creazione della mappa.
Con Wordpress, per esempio, ti basterà cercare e scaricare un plugin con questa funzione. In automatico effettuerà sia la generazione che il caricamento della sitemap nella directory del sito.
Sito web custom
Se devi crearti manualmente la tua sitemap puoi usufruire di servizi online con questo scopo.
Ti basterà scrivere nella barra di ricerca “generatore di sitemap” e aprire uno dei primi risultati. Solitamente questi servizi sono gratuiti per i siti di piccole dimensioni.
Il passo finale sarà inserirla nella directory principale del sito, ovvero dove si trova la pagina html della tua homepage.
La sintassi
Di seguito una sitemap formata da due pagine:
<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <url> <loc>https://www.weareuncommon.it/</loc> <lastmod>2022-05-15</lastmod> <changefreq>monthly</changefreq> <priority>0.8</priority> </url> <url> <loc>https://www.weareuncommon.it/contatti</loc> <lastmod>2022-05-15</lastmod> <changefreq>yearly</changefreq> <priority>0.8</priority> </url> </urlset>
Entriamo nello specifico ed analizziamo passo-passo tutte le componenti di una sitemap.
Nella prima riga è necessario specificare che si tratta di un file XML con codifica utf-8.
<?xml version="1.0" encoding="UTF-8"?>
Tutto il contenuto della sitemap deve poi iniziare con un tag <urlset> e concludersi con un tag </urlset>
<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> ... </urlset>
Per ogni pagina che si vuole inserire bisogna utilizzare i tag <url> e </url>
<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <url> ... </url> <url> ... </url> </urlset>
All’interno di ogni pagina si possono poi definire una serie di attributi:
- <loc>
Obbligatorio. Inserisci l’url della pagina.
- <lastmode>
Opzionale. Inserisci la data dell’ultima modifica del file. Utilizza il formato W3C Datetime che ti consente di omettere l’ora, se lo desideri, e di utilizzare il formato AAAA-MM-GG.
- <changefreq>
Opzionale. Inserisci la frequenza con il quale la pagina viene modificata. Puoi scrivere uno dei seguenti valori:
- always: la pagina si aggiorna ogni volta che si accede al sito web;
- hourly: aggiornamento orario;
- daily: aggiornamento giornaliero;
- weekly: aggiornamento settimanale;
- monthly: aggiornamento mensile;
- yearly: aggiornamento annuale;
- never: la pagina non viene più aggiornata. Da utilizzare per le pagine presenti in un archivio.
Ricordati che questi sono solo dei suggerimenti che noi diamo ai motori di ricerca. Gli spider potrebbero tenerne conto oppure no. Difatti potrebbe succedere che una pagina a cui abbiamo assegnato gli aggiornamenti settimanali, venga scansionata meno di una a cui abbiamo assegnato quelli annuali.
- <priority>
Opzionale. Inserisci la priorità che ha l’url corrente rispetto agli altri del sito web. Puoi assegnare un valore che va da 0.0 a 1.0 (di default 0.5).
Tieni presente che questo valore non cambia il ranking della tua pagina nei risultati di ricerca e che non si paragona con gli altri siti. Questa informazione è relativa al tuo sito e serve solo per comunicare agli spider il grado di importanza di ogni pagina (secondo te).
Assegnare a tutte le pagine il valore massimo di 1.0 non porterà alcun vantaggio perchè significherebbe attribuire ad ogni pagina la stessa rilevanza.
<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <url> <loc>https://www.weareuncommon.it/</loc> <lastmod>2022-05-15</lastmod> <changefreq>monthly</changefreq> <priority>0.8</priority> </url> <url> <loc>https://www.weareuncommon.it/contatti</loc> <lastmod>2022-05-15</lastmod> <changefreq>yearly</changefreq> <priority>0.8</priority> </url> </urlset>
All’interno di una sitemap, tutti i valori dei dati (inclusi gli URL) devono utilizzare codici di escape (vedi tabella sotto). Una Sitemap può contenere soltanto caratteri ASCII; non può contenere caratteri ASCII estesi o alcuni codici di controllo e caratteri speciali.
Se non vengono utilizzati i parametri corretti, verrà generato un errore quando tenterai di aggiungere la sitemap.
Carattere | Simbolo | Codice di escape |
---|---|---|
E commerciale | & |
& |
Virgolette semplici | ' |
' |
Virgolette doppie | " |
" |
Maggiore di | > |
> |
Minore di | < |
< |
Se vuoi approfondire maggiormente la sintassi delle sitemap, ti invitiamo a visitare www.sitemaps.org
Sitemap index per i siti web di grandi dimensioni
I file delle singole sitemap possono contenere fino a 50.000 URL e non possono pesare più di 50MB (non compressi). Nel caso non si riescano a rispettare questi parametri è necessario creare un indice di sitemap (sitemap index).
Di seguito potete vedere l’index sitemap di WeAreUncommon.
Come puoi vedere dal seguente codice, la sintassi di una index sitemap è molto simile a quello di una normale sitemap:
<?xml version="1.0" encoding="UTF-8"?> <sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <sitemap> <loc>http://www.example.com/sitemap1.xml.gz</loc> </sitemap> <sitemap> <loc>http://www.example.com/sitemap1.xml.gz</loc> </sitemap> </sitemapindex>
I tag che vengono utilizzati sono:
- <sitemapindex>
Obbligatorio. Questo tag racchiude l’intero indice di sitemap.
<?xml version="1.0" encoding="UTF-8"?> <sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> ... </sitemapindex>
- <sitemap>
Obbligatorio. Questo tag si deve ripetere per ogni sitemap che vogliamo mettere nell’indice.
<?xml version="1.0" encoding="UTF-8"?> <sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <sitemap> ... </sitemap> <sitemap> ... </sitemap> </sitemapindex>
- <loc>
Obbligatorio. In questo tag va inserito l’url della singola sitemap.
<?xml version="1.0" encoding="UTF-8"?> <sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <sitemap> <loc>http://www.example.com/sitemap1.xml.gz</loc> </sitemap> <sitemap> <loc>http://www.example.com/sitemap1.xml.gz</loc> </sitemap> </sitemapindex>
Le index sitemap devono essere codificate in UTF-8 e gli URL devono contenere i caratteri di escape appropriati.
Se sei interessato a capire come inviarle a Google, ti invitiamo a leggere il capitolo Come inviare una Sitemap.
Sitemap xml per i siti multilingua
Prima di stabilire come devi strutturare una sitemap per un sito multilingua, è fondamentale capire la differenza tra sito web multilingue e multiregionale:
- Un sito web multilingue è un sito che offre i contenuti in più lingue, ad esempio un museo italiano che offre le versioni in inglese e spagnolo del proprio sito. La ricerca Google cercherà di mostrare all’utente le pagine corrispondenti alla sua lingua.
- Un sito web multiregionale è un sito espressamente dedicato a utenti di diversi paesi, quindi che non si limita solamente alla traduzione dei contenuti ma che cambia le informazioni al suo interno in base al paese di riferimento; ad esempio un’agenzia che si occupa di pratiche burocratiche avrà sicuramente delle documentazioni differenti per ogni paese.
La ricerca Google in questo caso mostrerà all’utente le pagine con le impostazioni internazionali più corrette.
Esistono anche dei casi in cui un sito è sia multilingue sia multiregionale, ad esempio un sito potrebbe avere versioni diverse per l’Italia e la Francia e versioni in inglese e in spagnolo dei contenuti solo per i contenuti italiani.
Ora che abbiamo chiarito cos’è un sito multilingue, possiamo procedere con la creazione della sua sitemap.
Sintassi delle sitemap multilingue
Prendiamo la mappa di un sito in italiano contenente solo l’url dell’homepage.
<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <url> <loc>https://www.weareuncommon.it/it/</loc> </url> </urlset>
Per ogni lingua in cui la pagina è tradotta, dovremo inserire un tag <url> differente. Se quindi l’homepage è in italiano, inglese e spagnolo, ci saranno 3 tag <url>.
<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <url> ... </url> <url> ... </url> <url> ... </url> </urlset>
All’interno di ogni tag <url> dobbiamo specificare il tag <loc> contenente l’url della pagina nella rispettiva lingua.
<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <url> <loc>https://www.weareuncommon.it/it/</loc> </url> <url> <loc>https://www.weareuncommon.it/en/</loc> </url> <url> <loc>https://www.weareuncommon.it/es/</loc> </url> </urlset>
L’ultimo passo è l’utilizzo di un nuovo elemento di cui non abbiamo ancora parlato, il tag <xhtml>
La sintassi è la seguente:
<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <url> <loc>https://www.weareuncommon.it/</loc> <xhtml:link rel="alternate" hreflang="en" href="https://www.weareuncommon.it/en/"/> <xhtml:link rel="alternate" hreflang="es" href="https://www.weareuncommon.it/es/"/> <xhtml:link rel="alternate" hreflang="it" href="https://www.weareuncommon.it/"/> </url> <url> <loc>https://www.weareuncommon.it/en/</loc> <xhtml:link rel="alternate" hreflang="es" href="https://www.weareuncommon.it/es/"/> <xhtml:link rel="alternate" hreflang="it" href="https://www.weareuncommon.it/"/> <xhtml:link rel="alternate" hreflang="en" href="https://www.weareuncommon.it/en/"/> </url> <url> <loc>https://www.weareuncommon.it/es/</loc> <xhtml:link rel="alternate" hreflang="en" href="https://www.weareuncommon.it/en/"/> <xhtml:link rel="alternate" hreflang="it" href="https://www.weareuncommon.it/"/> <xhtml:link rel="alternate" hreflang="es" href="https://www.weareuncommon.it/es/"/> </url> </urlset>
Questo tag, come possiamo vedere, è formato da tre attributi:
- rel: utilizzare sempre la forma rel=”alternate”;
- hreflang: specificare la lingua e, facoltativamente, l’area geografica;
- href: inserire l’url della pagina nella lingua corretta.
L’attributo hreflang è l’elemento su cui ci dobbiamo soffermare maggiormente.
Il valore di questo attributo identifica la lingua (in formato ISO 639-1) e, facoltativamente, l’area geografica (in formato ISO 3166-1 Alpha 2) di un URL alternativo.
Facciamo degli esempi:
- it: contenuti in italiano, a prescindere dall’area geografica.
- it-CH: contenuti in italiano per gli utenti della Svizzera.
- en-US: contenuti in inglese per gli utenti negli Stati Uniti d’America.
Se utilizziamo un solo codice stiamo dicendo a Google che quella pagina può essere vista da chiunque in quella lingua; se invece utilizziamo due codici, stiamo specificando l’area geografica in cui la pagina può essere mostrata in quella lingua.
Varianti del sistema di scrittura di una lingua
Quando una lingua ha scritture differenti (es: cinese tradizionale e semplificato), il sistema di scrittura corretto viene dedotto dal paese.
Ad esempio, se specifichi zh-TW per gli utenti a Taiwan, il sistema di scrittura della lingua viene ricavato automaticamente (in questo caso cinese tradizionale).
Come inviare una Sitemap xml a Google.
Ci sono tre metodi principali per segnalare ai motori di ricerca la sitemap del proprio sito web:
- Caricare il file all’interno del proprio pannello di Google Search Console.
- Inserire un riferimento all’interno del file robots.txt.
- Utilizzare lo strumento ping.
Inviare la sitemap xml attraverso Google Search Console:
- Accedi al tuo account GSC.
- Nella barra laterale in alto, cliccare il menù a tendina e selezionare il sito web in questione.
- Sempre nella barra laterale, andare nella sezione “Indice” e cliccare la voce “Sitemap”.
- Nel campo “Aggiungi una nuova Sitemap”, inserisci l’indirizzo web del tuo file sitemap.xml.
- Clicca su Invia.
Nel caso aveste una sitemap index non è necessario inviare tutte le sitemap singolarmente ma potete limitarvi ad inviare l’url dell’indice.
Inserire la sitemap xml nel file robots.txt
- Aprire il file robots.txt del tuo sito. Solitamente si trova nella directory principale.
- Scorrere il file fino in fondo ed aggiungere la parola “Sitemap:” seguita dall’url della tua sitemap. Per non sbagliare puoi prendere spunto dal nostro file robots.txt o dall’immagine sottostante.
Nel caso aveste una sitemap index non è necessario inserire tutte le sitemap singolarmente ma potete limitarvi ad inserire l’url dell’indice.
Utilizzare lo strumento ping
È possibile inviare una richiesta GET nel browser o nella riga di comando a questo indirizzo, specificando l’URL completo della Sitemap.
https://www.google.com/ping?sitemap=https://esempio.it/sitemap.xml
Verificare il funzionamento e l’invio corretto della Sitemap
Il test preliminare più semplice per testare il funzionamento di una sitemap consiste nel digitare nella barra di ricerca il suo url completo.
Se nel file che si aprirà non vedrai segnalati degli errori, vorrà dire che lo avrai generato correttamente.
Un’analisi più accurata invece, può essere fatta tramite Google Search Console.
Dopo che hai inviato la tua sitemap come descritto nel paragrafo precedente, avrai accesso ad una serie di informazioni come gli URL che sono stati rilevati e lo stato di funzionamento.
La sitemap può assumere tre stati:
- Riuscita: questo stato conferma che non sono stati rilevati errori e gli URL verranno messi in coda per la scansione.
- Presenta errori: Google Search Console ha riscontrato degli errori e solo gli URL corretti verranno scansionati.
Se sei alla ricerca degli errori che non permettono l’intera elaborazione ti consigliamo questa lettura. - Impossibile recuperare: in questo caso un errore non ben definito non ha permesso la lettura di nessun URL della sitemap. Per scoprire il perché, puoi eseguire un test sulla sitemap attraverso lo strumento Controllo URL.
Mi raccomando, non sottovalutare l’importanza delle Sitemap xml. Rappresentano uno degli step di partenza per l’indicizzazione del tuo sito web. Includi solamente la pagine che realmente vuoi mostrare sui motori di ricerca e contribuisci a sfruttare al meglio il budget crawling dei vari bot!