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.

recommendation-more-help
10a6ce9d-c5c5-48d9-8ce1-9797d2f0f3ec