Scrivere e usare la sitemap xml
Stai utilizzando una Sitemap XML nel tuo sito? L’hai poi connessa a Google Webmaster Tools? Se hai risposto NO ad una di queste domande allora ti suggerisco di continuare a leggere questo articolo.
La sitemap xml è un file che serve per aiutare i crawler di Google ad indicizzare il tuo sito. Ti pare poco? Basta inserire il file nella root del tuo sito, poi vai in Google Webmaster Tools a suggerire il path. Se non hai ancora un account Google devi farlo, apri questo link.
L’account Google Webmaster Tools
Ogni account Google può accedere a questo strumento e può inserire molti siti web, il procedimento per inserire un sito è il seguente:
- Fai login in Google Webmaster Tools col tuo Google Account.
- Clicca “aggiungi un sito” e scrivi l’indirizzo URL. Mettilo completo (es: http://www.example.com/)
- Clicca “continua”. Si apre la pagina di verifica.
- (Opzionale) Nel campo nome puoi inserire il nome del tuo sito.
- Seleziona il metodo di verifica che preferisci e segui le istruzioni.
Quando hai completato la verifica, è il momento di connettere la tua sitemap.xml. Al momento non vedrai dati riguardanti il nuovo sito perché è troppo presto, ma fra qualche giorno ne avrai, intanto nella prima pagina (la dashboard) cerca “Sitemaps” e premi il bottone “Collega una Sitemap”. Inserisci il path verso la tua sitemap.xml e salva. Se tutto è andato bene, non avrai errori, in caso contrario Google te li segnala.
Ora aspetta 24-36 ore per avere i primi dati. Google Webmaster Tools è un ottimo abbinamento con Google Analytics.
La sintassi della Sitemap XML
Ora vediamo come tecnicamente creare un file di sitemap: deve essere un XML con codifica utf-8 e deve avere le seguenti caratteristiche:
- si apre con il tag
<urlset>
e si chiude con</urlset>
. - bisogna specificare il protocollo namespace dentro al tag
<urlset>
. - si usa il tag
<url>
per ogni indirizzo da inserire. - si usa il tag
<loc>
all’intero di ogni tag<url>
.
Tutti gli altri tag sono opzionali.
<?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> </urlset>
Attributo | Descrizione | |
---|---|---|
<urlset> |
richiesto | Incapsula il file e identifica il protocollo. |
<url> |
richiesto | Tag parent che racchiude altri tag che descrivono un singolo record di pagina. |
<loc> |
richiesto | Tag per inserire l’URL della pagina. Deve avere il protocollo (esempio http) e finire con slash se il server lo richiede. Non deve superare 2,048 caratteri. |
<lastmod> |
opzionale | Data di ultima modifica della pagina. Deve essere in formato W3C Datetime. E’ permesso omettere la porzione del time e usare solo YYYY-MM-DD.
Nota che questo tag è diverso dal header “If-Modified-Since (304)” che il server può rispondere, e i motori di ricerca possono utilizzare entrambe le informazioni in modo differente. |
<changefreq> |
opzionale | Quanto frequente è l’aggiornamento della pagina. Può suggerire ai crawler quanto spesso venire a controllare la pagina, ma non è un obbligo per loro seguire queste istruzioni, sono solo suggerimenti. Inoltre è bene non barare ed essere onesti, senza dare frequenze elevate a pagine che in effetti sono statiche. Google potrebbe penalizzare chi non è onesto. I valori sono:
Il valore “always” è indicato per le pagine che cambiano ad ogni apertura, sono generate dinamicamente in modo continuo. Il valore “never” è indicato per le pagine statiche che non cambiano mai. Anche se le pagine sono indicate come “hourly” è molto probabile che i crawler passino in modo molto meno frequente, e le pagine indicate come “yearly” potrebbero essere invece visitate più frequentemente. Potrebbero addirittura visitare le pagine contraddistinte da “never” per verifica. |
<priority> |
opzionale | Questo è un indice di priorità relativo a tutti gli url del sito. I valori validi sono da un range di 0.0 fino a 1.0. Indica al crawler quanto importanti consideri determinate pagine rispetto ad altre.
La priorità default è 0.5. Questo valore non cambia il ranking della tua pagina nei risultati di ricerca, non si compara con gli altri siti. I motori di ricerca possono usare questa informazione solo relativamente al tuo sito web, quando elencano una lista delle tue pagine, per ordinarle in base all’importanza. Inoltre considera che mettere priorità alta a tutte le pagine è scorretto e non ti aiuta, la comparazione appunto è relativa. Quindi deve esserci una relazione di importanza tra le pagine del tuo sito per funzionare. |
Escaping
La codifica è UTF-8. Come tutti i file XML tutti i dati (inclusi URL) devono usare i codici di escape per i caratteri indicati nella tabella seguente.
Character | Escape Code | |
---|---|---|
Ampersand | & | & |
Single Quote | ‘ | ' |
Double Quote | “ | " |
Greater Than | > | > |
Less Than | < | < |
Inoltre gli indirizzi devono essere URL-escaped e codificati in modo opportuno per il web server dove sono ospitate le pagine. Controllare che si seguano questi standard: RFC-3986 per URIs, RFC-3987 per IRIs, e XML standard.
Sitemap multiple ed uso di sitemapindex
Si possono fornire più file sitemap, ogni file non deve avere più di 50,000 URL e non deve pesare più di 10MB (10,485,760 bytes). E’ possibile comprimere il file con gzip. Per la maggioranza dei siti web questi limiti sono abbondanti, ma in casi particolari con molte migliaia di pagine può esserci la necessità di fare diversi file sitemap.
In questo caso ogni sitemap deve essere inserita in una lista sitemap index. Sitemap index è un file che non deve avere più di 50,000 Sitemap e non deve pesare più di 10MB (10,485,760 bytes), anche questo file può essere compresso. E’ possibile avere molti file sitemap index. Il formato XML è molto simile a quello della sitemap e deve avere le seguenti caratteristiche:
- Aprire con il tag
<sitemapindex>
e chiudere con</sitemapindex>
. - Inserire un tag
<sitemap>
per ogni Sitemap. - Inserire un tag
<loc>
come child di ogni tag<sitemap>
.
Resta opzionale il tag <lastmod>
che ha lo stesso significato visto per la sitemap.
Nota: il file sitemap index deve contenere solo sitemap residenti nello stesso server.
<?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> <lastmod>2004-10-01T18:23:17+00:00</lastmod> </sitemap> <sitemap> <loc>http://www.example.com/sitemap2.xml.gz</loc> <lastmod>2005-01-01</lastmod> </sitemap> </sitemapindex>
Attribute | Description | |
---|---|---|
<sitemapindex> |
richiesto | Incapsula le informazioni di tutte le sitemap nel file. |
<sitemap> |
richiesto | Contiene le informazioni di una sitemap specifica. |
<loc> |
richiesto | URL della sitemap. Può essere un formato sitemap, Atom, RSS o txt semplice. |
<lastmod> |
opzionale | Identifica il momento della modifica della sitemap. La modifica di ogni pagina contenuta nella sitemap potrebbe essere diversa. Deve essere in formato W3C Datetime.
Con questa opzione si indica ai crawler di controllare solo le sitemap che sono state modificate rispetto la visita precedente. Questo sistema incrementale serve ad aggiornare velocemente gli indici in siti davvero molto grandi. |
Generatori e validatori di sitemap
Se utilizzate WordPress esistono molte plugin che generano automaticamente la sitmap, io uso Yoast SEO, in Prestashop esiste un modulo gratuito Google Sitemap nel repository ufficiale. In alternativa esistono vari generatori di sitemap online.
Questo articolo ha 0 commenti