Sitemap

Crea file di sitemap generati automaticamente a cui fare riferimento da robots.txt. Questo facilita l’ottimizzazione SEO (Search Engine Optimization) e l’individuazione di nuovi contenuti. AEM può generare tre tipi di sitemap: senza alcuna configurazione, basata esclusivamente su un indice di query o su una configurazione manuale di sitemap. Una singola mappa del sito deve essere limitata a 50.000 URL e 50 MB (non compressi) di dimensioni. Vedere Limiti.

Creazione di una mappa del sito senza alcuna configurazione

Se non esegui alcuna operazione, visualizzerai la mappa del sito in sitemap.xml e avrai un indice di mappa del sito 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 il file di configurazione helix-sitemap.yaml - definito manualmente in GitHub o generato automaticamente - e reindicizzare il sito.

Nome di dominio utilizzato negli URL esterni

Per personalizzare il dominio utilizzato nella creazione di URL esterni, aggiungere 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 in Sharepoint) e visualizzare in anteprima il file per attivarlo.

Generazione di una configurazione Sitemap basata su un indice

Per ulteriori informazioni sull'indicizzazione, vedere il documento 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 file sitemap-index.xml che faccia riferimento a tutte le sitemap e conservarlo come parte del codice del progetto nell'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 superiore a 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 metadati robots: noindex. Quando si utilizzano definizioni di indice generate automaticamente, è sufficiente seguire le raccomandazioni riportate nella documentazione sull'indicizzazione in modo che tali pagine vengano escluse dall'indice.

Le sezioni seguenti contengono i tipi supportati di sitemap.

Mappa del sito semplice

Segue un helix-sitemap.yaml semplice. 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 una proprietà lastmod che includa un formato alla 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. AEM supporta sitemap, inclusi i riferimenti hreflang corrispondenti. Nell’esempio seguente si presuppone che esista un mapping uno a uno tra gli indici e i file XML delle sitemap.

 sitemaps:
   example:
     lastmod: YYYY-MM-DD
     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 di una pagina /fr/welcome nella sezione francese, la voce risultante in /sitemap-en.xml sarà simile alla 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 questo caso, è possibile specificare 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 la seconda è una versione alternativa della prima.

Innanzitutto, aggiungiamo tali informazioni al documento in /fr/bienvenu nei relativi metadati:

Può essere aggiunto anche a un foglio metadata globale, come mostrato in Metadati in blocco.

Viene quindi 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, la pagina francese verrà ripubblicata e verrà rigenerata 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 ottenere questo risultato, aggiungere una proprietà default in sitemap:

 sitemaps:
   example:
     default: en
     lastmod: YYYY-MM-DD
     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. Per ottenere questo risultato, è necessario specificare una matrice di lingue nella proprietà hreflang:

 sitemaps:
   example:
     lastmod: YYYY-MM-DD
     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:
     lastmod: YYYY-MM-DD
     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, puoi includere mappe del sito da altri alberi del linguaggio specificando un percorso XML come origine, come in:

sitemaps:
   example:
     lastmod: YYYY-MM-DD
     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. AEM determinerà alternative per gli URL della sitemap inglese decostruendo le controparti francesi in sitemap esterno utilizzando la definizione alternate.

Aggiunta di un’estensione a tutte le posizioni in sitemap

In uno scenario in cui si desidera che tutte le posizioni abbiano un'estensione, ad esempio .html, e non è possibile generare un foglio helix-sitemap nell'indice di query per derivare una formula, è possibile aggiungere un'estensione a tutte le lingue o a una singola lingua utilizzando una proprietà extension:

sitemaps:
   example:
     lastmod: YYYY-MM-DD
     extension: .html
     languages:
       en:
         source: /en/query-index.json
         destination: /en/sitemap.xml
         hreflang: en
       fr:
         source: /fr/query-index.json
         destination: /fr/sitemap.xml
         hreflang: fr
         alternate: /fr/{path}
recommendation-more-help
10a6ce9d-c5c5-48d9-8ce1-9797d2f0f3ec