Sitemap
Crea file di sitemap generati automaticamente a cui fare riferimento dal tuo robots.txt
. Questo facilita l’ottimizzazione SEO (Search Engine Optimization) e l’individuazione di nuovi contenuti. L’AEM può generare tre tipi di sitemap: senza alcuna configurazione, basata esclusivamente su un indice di query o su una configurazione manuale di sitemap.
Creazione di una mappa del sito senza alcuna configurazione
Se non esegui alcuna operazione, visualizzerai la mappa del sito in sitemap.xml
e hanno un indice sitemap in sitemap.json
. Conterrà un elenco di tutti i documenti pubblicati.
Se hai iniziato con un altro tipo di mappa del sito e desideri passare a questo tipo, dovrai eliminare la helix-sitemap.yaml
file di configurazione, definito manualmente in GitHub o generato automaticamente, e reindicizza il sito.
Nome di dominio utilizzato negli URL esterni
Per personalizzare il dominio utilizzato nella creazione di URL esterni, aggiungi una proprietà denominata host
o cdn.prod.host
nella configurazione del progetto (denominata .helix/config
quando si utilizza Google Drive come back-end o .helix/config.xlsx
su Sharepoint) e visualizzare in anteprima il file per attivarlo.
Generazione di una configurazione Sitemap basata su un indice
Consulta il documento Indicizzazione per ulteriori informazioni sull'indicizzazione. Per generare una configurazione di sitemap basata su un indice, assicurati di aver già impostato un indice di query iniziale come spiegato in questo documento. Verrà generata una mappa del sito nel percorso:
https://<branch>--<repo>--<owner>.hlx.page/sitemap.xml
E una configurazione di sitemap nella seguente posizione:
https://<branch>--<repo>--<owner>.hlx.page/helix-sitemap.yaml
È consigliabile creare un sitemap-index.xml
file che fa riferimento a tutte le sitemap e mantienilo come parte del codice del progetto nel tuo archivio github. In questo modo è facile aggiungere nuove sitemap man mano che il progetto si espande.
Configurazione manuale della mappa del sito
Se hai bisogno di una personalizzazione maggiore di quella fornita dal file di configurazione della sitemap generata, puoi copiarne il contenuto e incollarlo in un file denominato helix-sitemap.yaml
nella cartella principale del progetto.
Nota: Quando utilizzi un indice e una mappa del sito configurati manualmente (ad esempio, l’archivio del codice include un file helix-query.yaml ed helix-sitemap.yaml), la definizione dell’indice deve includere la proprietà robots per garantire che la mappa del sito escluda le pagine con robots: noindex
metadati. Quando utilizzi definizioni di indice generate automaticamente, segui semplicemente i consigli in documentazione sull’indicizzazione quindi queste pagine sono escluse dall’indice.
Le sezioni seguenti contengono i tipi supportati di sitemap.
Mappa del sito semplice
Di seguito è riportato un semplice helix-sitemap.yaml
. Presuppone un singolo indice contenente tutte le pagine che devono essere visualizzate nella sitemap.
sitemaps:
example:
source: /query-index.json
destination: /sitemap-en.xml
Se desideri includere le date dell’ultima modifica negli URL della mappa del sito, aggiungi un lastmod
che include un formato per la configurazione.
sitemaps:
example:
source: /query-index.json
destination: /sitemap-en.xml
lastmod: YYYY-MM-DD
Più sitemap
È comune avere mappe del sito per sezione dei siti e/o per paese o lingua. L’AEM supporta le mappe del sito, tra cui le corrispondenti hreflang
riferimenti. Nell’esempio seguente si presuppone che esista un mapping uno a uno tra gli indici e i file XML delle sitemap.
sitemaps:
example:
languages:
en:
source: /en/query-index.json
destination: /sitemap-en.xml
hreflang: en
fr:
source: /fr/query-index.json
destination: /sitemap-fr.xml
hreflang: fr
alternate: /fr/{path}
Se nella sezione inglese e francese sono presenti due pagine che condividono un suffisso comune, queste saranno correlate, ad esempio se si dispone di una pagina /welcome
nella sezione inglese e in una pagina /fr/welcome
nella sezione francese, la voce risultante nel campo /sitemap-en.xml
avrà un aspetto simile al seguente:
<url>
<loc>https://wwww.mysite.com/welcome</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://wwww.mysite.com/welcome"/>
<xhtml:link rel="alternate" hreflang="fr" href="https://wwww.mysite.com/fr/welcome"/>
</url>
Una voce simile sarà disponibile in /sitemap-fr.xml
.
Specifica manuale della lingua principale
In alcune situazioni potrebbero essere presenti versioni alternative di una pagina, ma non è possibile utilizzare un suffisso comune per identificarle, probabilmente perché si sta eseguendo il porting di un sito web legacy che non dovrebbe avere percorsi modificati. In tale situazione, puoi specificare un primary-language-url
per la posizione alternativa, nei metadati del documento.
Supponiamo che la nostra lingua principale sia l’inglese, abbiamo una pagina /welcome
nella sezione inglese e /fr/bienvenu
nella sezione francese, e quest’ultima è una versione alternativa della prima.
Per prima cosa, aggiungiamo tali informazioni al documento in /fr/bienvenu
nei metadati:
Questo può anche essere aggiunto a un metadata
come mostrato nella Metadati in blocco.
Quindi, viene aggiunta una proprietà indicizzata primary-language-url
all'indice francese:
primary-language-url:
select: head > meta[name="primary-language-url"]
value: attribute(el, "content")
Infine, ripubblichiamo la pagina francese e rigenerare la mappa del sito.
Specifica della lingua predefinita
Un altro requisito comune è quello di specificare la lingua predefinita per una sitemap con più lingue. Per farlo, aggiungi una proprietà default
nella mappa del sito:
sitemaps:
example:
default: en
languages:
en:
source: /en/query-index.json
destination: /sitemap-en.xml
hreflang: en
fr:
source: /fr/query-index.json
destination: /sitemap-fr.xml
hreflang: fr
alternate: /fr/{path}
Nella mappa del sito risultante, tutte le voci della sottostruttura inglese avranno una voce alternativa aggiuntiva con hreflang x-default
.
Specifica di più riflessi per un sottoalbero
A volte, è necessario mappare più riflessi a una sola sottostruttura della lingua, ad esempio si supponga di voler visualizzare quanto segue nella mappa del sito risultante:
<url>
<loc>https://myhost/la/page</loc>
<xhtml:link rel="alternate" hreflang="es-VE" href="https://myhost/la/page"/>
<xhtml:link rel="alternate" hreflang="es-SV" href="https://myhost/la/page"/>
<xhtml:link rel="alternate" hreflang="es-PA" href="https://myhost/la/page"/>
</url>
Ogni pagina nella nostra origine sitemap dovrebbe apparire esattamente una volta, ma ad essa dovrebbero essere associati più hreflang alternativi. A questo scopo, è necessario specificare una matrice di lingue nel hreflang
proprietà:
sitemaps:
example:
languages:
la:
source: /la/query-index.json
destination: /sitemap-la.xml
hreflang:
- es-VE
- es-SV
- es-PA
Più Indici Aggregati In Una Sitemap
In alcuni casi è più semplice creare una mappa del sito singola più grande rispetto a mappe del sito di piccole dimensioni frammentate, soprattutto in quanto esiste un limite di mappe del sito che possono essere inviate ai motori di ricerca per sito.
L’esempio seguente mostra come aggregare un numero di indici separati in una singola sitemap.
sitemaps:
example:
languages:
dk:
source: /dk/query-index.json
destination: /sitemap.xml
hreflang: dk
alternate: /dk/{path}
no:
source: /no/query-index.json
destination: /sitemap.xml
hreflang: no
alternate: /no/{path}
Utilizzando la stessa destinazione è possibile combinare più sitemap di piccole dimensioni in un’unica sitemap più grande.
Inclusione di altre sitemap come input
In uno scenario misto, in cui non tutti i linguaggi in una mappa del sito vengono gestiti in AEM, è possibile includere mappe del sito da altri alberi del linguaggio specificando un percorso XML come origine, come in:
sitemaps:
example:
languages:
en:
source: /en/query-index.json
destination: /sitemaps/sitemap-en.xml
hreflang: en
fr:
source: https://www.mysite.com/legacy/sitemap-fr.xml
destination: /sitemaps/sitemap-fr.xml
hreflang: fr
alternate: /fr/{path}
In questo esempio, utilizziamo una sitemap francese esterna per calcolare tutte le posizioni della sitemap. L’AEM determinerà alternative per gli URL della sitemap inglese decostruendo le controparti francesi in sitemap esterno utilizzando alternate
definizione.