Devlancer Blog

Le Sitemap: cosa sono e come crearle per la SEO

Letteralmente “mappa del sito”, un tempo veniva comunemente inserita nel footer per facilitare l’indicizzazione da parte dei crawler, ma anche per permettere agli utenti di avere un’idea di tutta la struttura del sito. Con il tempo però, i siti web sono diventati sempre più complessi e quindi, analogamente, anche le mappe dei siti sono diventate molto più lunghe e strutturate, dunque più difficili da aggiornare.

Diverse Pubbliche Amministrazioni mantengono tutt’oggi il link “Mappa del sito” nel footer, e questa è sicuramente una pratica buona e utile. Come fare una buona mappa del sito?

Come creare una mappa del sito

Se il nostro sito web è di piccole dimensioni, possiamo creare una semplice lista di link organizzata come fosse un’indice dei contenuti. Ecco un esempio:

  • Chi siamo
    • La nostra azienda
    • Le nostre certificazioni
    • Casi di successo
  • Servizi
    • Consulenza informatica
    • Sviluppo siti web
    • SEO
    • Gestione profili social
  • Contatti
    • Scrivici
    • Lavora con noi
    • Dove siamo

Questo si può fare già in partenza nella creazione di un nuovo sito web, e corrisponde più o meno alla struttura di navigazione.

Ogni elemento della mappa del sito è un link che rimanda alla pagina di destinazione. Questo diventa molto utile sia per i crawler che scansionano il nostro sito, sia per gli utenti che possono avere un’idea delle pagine disponibili.

Tuttavia, se abbiamo un sito con centinaia o migliaia di pagine, o comunque un piccolo sito che prevede di espandersi molto nel corso di pochi anni, una mappa del sito come quella che abbiamo appena visto potrebbe essere molto difficile da mantenere manualmente.

Esistono anche degli strumenti che ci aiutano a creare delle mappe in modo automatico. Possiamo usare ad esempio ScreamingFrog per generare una sitemap XML.

Se usiamo CMS come WordPress, troviamo dei plugin che possono aiutarci, come XML Sitemap Generator for Google, Kwayy HTML Sitemap, YoastSEO, Rank Math, e altri. In modo simile anche per Joomla esistono delle estensioni come JSitemap, mentre per Drupal abbiamo Sitemap, Simple XML Sitemap, XML Sitemap.

Questi strumenti permettono di creare delle mappe in HTML (come l’esempio che abbiamo fatto inizialmente) o in XML, che vengono poi lette dai crawler dei motori di ricerca.

Mappe del sito in XML

L’XML è un linguaggio simile all’HTML, ma viene usato in casi più specifici. Viene utilizzato anche come formato di interscambio, oltre ad esempio a JSON, per poter avere un documento strutturato secondo una certa logica e trasmettendo informazioni in modo standard.

Sono tipi di linguaggi molto usati anche dagli sviluppatori. Per semplificare molto, supponiamo ad esempio di avere un applicativo sviluppato in PHP con MySQL, che deve fornire dei dati tramite API ad una azienda terza che lavora con .NET e MSSQL. In questi casi, in genere ci si scambia le informazioni in un formato comune, come appunto XML o JSON. Questi prevedono degli standard specifici da seguire, così che sia possibile comunicare in modo più semplice.

Struttura XML standard

Un ragionamento simile si applica alle sitemap XML: creiamo una struttura seguendo un certo standard, in modo che il crawler del motore di ricerca possa leggere e ottenere determinate informazioni sul nostro sito web in modo più semplice.

Per quanto riguarda Google, abbiamo una guida a questo proposito: Creare e inviare una Sitemap.

In buona sostanza quindi potremmo modificare una sitemap XML anche manualmente come fosse un file di testo, usando editor come Notepad++ o simili, ma questo è fortemente sconsigliato per l’altra probabilità di inserire errori.

Si preferisce in genere creare degli script automatici che possano agire in Cron (cioè in momenti specifici in modo programmato) e analizzare il sito per generare un file XML, oppure usare dei plugin, alcuni dei quali già citati in precedenza. Esistono infine dei software come ScreamingFrog che ci permettono di generare una mappa XML in modo semi-automatico.

Ecco un esempio, fornito da Google, di una struttura XML per la sitemap:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
	<url>
		<loc>https://www.example.com/foo.html</loc>
		<lastmod>2022-06-04</lastmod>
	</url>
</urlset>

Protocollo per le sitemap XML

Il protocollo da rispettare per questa struttura si può trovare su sitemaps.org. Vediamo i punti principali:

  • <urlset> (obbligatorio): Indica un insieme di URL e riporta il protocollo di riferimento
  • <url> (obbligatorio): da usare per raggruppare tutte le proprietà di ogni URL
  • <loc> (obbligatorio): l’URL vero e proprio della pagina, deve includere il protocollo, iniziando quindi con http:// o simile
  • <lastmod> (opzionale): indica la data di ultima modifica della pagina, deve rispettare il formato W3C Datetime, come ad esempio YYYY-MM-DD che si traduce in 2024-01-25
  • <changefreq> (opzionale): per indicare ogni quanto la pagina viene aggiornata, i valori accettati al momento sono: always, hourly, daily, weekly, monthly, yearly, never
  • <priority> (opzionale): specifica la priorità di questo URL rispetto agli altri, il valore va da 0.0 a 1.0, dove la priorità di default vale 0.5. Non ha particolare valore in termini SEO, è una indicazione che noi forniamo per scegliere quali pagine riteniamo più importanti rispetto alle altre

Quando abbiamo creato il nostro file XML, possiamo pubblicarlo nella cartella del nostro sito, ad esempio nella radice in /sitemap.xml. Questo percorso generalmente viene già consultato dai crawler come default, ma possiamo definirlo in modo specifico nel file robots.txt, ad esempio così:

Sitemap: https://example.com/sitemap.xml

In questo modo comunichiamo ai crawler dove si trova la mappa del sito.

Indici di sitemap

Possiamo anche avere più di una sitemap, questo è tipico dei siti fatti in WordPress, anche perché ogni sitemap per Google ha dei limiti di massimo 50MB o 50.000 URL.

Per gestire sitemap multiple possiamo usare un indice di sitemap. Ecco un esempio in XML:

<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
	<sitemap>
		<loc>https://www.example.com/sitemap1.xml.gz</loc>
	</sitemap>
	<sitemap>
		<loc>https://www.example.com/sitemap2.xml.gz</loc>
	</sitemap>
</sitemapindex>

In genere non è necessario inviare le sitemap tramite Search Console o Webmaster Tools, ma è utile farlo ogni tanto per velocizzare il processo di indicizzazione, soprattutto quando pubblichiamo molti nuovi contenuti, oppure quando stiamo creando un nuovo sito web che vogliamo venga indicizzato più rapidamente.

Una piccola nota a margine: le sitemap possono essere gestite anche come semplici elenchi testuali di URL, con un file nominato ad esempio sitemap.txt che riporta un URL per ogni riga. Tuttavia, la soluzione in XML offre più possibilità ed è quella consigliata.

Link utili

Leggi anche