Plans de site

Créez des fichiers sitemap générés automatiquement à référencer à partir de votre robots.txt. Cela facilite l’optimisation pour les moteurs de recherche et la découverte de nouveau contenu. AEM peut générer trois types de plans de site : sans aucune configuration, basée uniquement sur un index de requête ou sur une configuration manuelle du plan de site.

Création d’un plan de site sans configuration

Si vous ne faites rien, votre plan de site s’affiche dans sitemap.xml et avoir un index de plan de site dans sitemap.json. Il contiendra la liste de tous vos documents publiés.

Si vous avez commencé avec un autre type de plan de site et que vous souhaitez passer à ce type, vous devrez supprimer la variable helix-sitemap.yaml fichier de configuration : défini manuellement dans GitHub ou généré automatiquement, puis réindexez votre site.

Nom de domaine utilisé dans les URL externes

Pour personnaliser le domaine utilisé dans la création d’URL externes, ajoutez une propriété nommée host ou cdn.prod.host dans la configuration de votre projet (nommée .helix/config lorsque vous utilisez Google Drive en tant que serveur principal ou .helix/config.xlsx sur SharePoint) et prévisualisez ce fichier pour l’activer.

Génération d’une configuration de plan de site à partir d’un index

Consultez le document Indexation pour en savoir plus sur l’indexation. Pour générer une configuration de plan de site basée sur un index, vérifiez que vous avez déjà configuré un index de requête initial comme expliqué ici. Cela génère un plan du site à l’emplacement suivant :

https://<branch>--<repo>--<owner>.hlx.page/sitemap.xml

Et une configuration de plan de site à l’emplacement suivant :

https://<branch>--<repo>--<owner>.hlx.page/helix-sitemap.yaml

Il est recommandé de créer une sitemap-index.xml qui référence tous vos plans de site et les conserve dans le code de votre projet dans votre référentiel github. De cette manière, il est facile d’ajouter de nouveaux plans de site au fur et à mesure que le projet se développe.

Configuration manuelle de votre configuration de plan de site

Si vous avez besoin de davantage de personnalisation que le fichier de configuration de plan de site généré, vous pouvez copier son contenu et le coller dans un fichier nommé helix-sitemap.yaml dans le dossier racine du projet.

Remarque : Lors de l’utilisation d’un index et d’un plan de site configurés manuellement (par exemple, votre référentiel de code comprend un fichier helix-query.yaml et helix-sitemap.yaml ), votre définition d’index doit inclure la propriété robots pour vous assurer que le plan de site exclut les pages comportant robots: noindex métadonnées. Lorsque vous utilisez des définitions d’index générées automatiquement, suivez simplement les recommandations de la section documentation sur l’indexation ces pages sont donc exclues de l’index.

Les sections suivantes contiennent les types de plans de site pris en charge.

Plan de site simple

Ce qui suit est une helix-sitemap.yaml. Elle suppose un index unique contenant toutes les pages qui doivent apparaître dans le plan du site.

 sitemaps:
   example:
     source: /query-index.json
     destination: /sitemap-en.xml

Si vous souhaitez que les dates de dernière modification soient incluses dans les URL de votre plan de site, ajoutez une lastmod , y compris un format de votre configuration.

 sitemaps:
   example:
     source: /query-index.json
     destination: /sitemap-en.xml
     lastmod: YYYY-MM-DD

Plusieurs plans de site

Il est courant de disposer de plans de site par section des sites et/ou par pays ou langue. AEM prend en charge les plans de site, y compris les hreflang références. Dans l’exemple suivant, nous supposons qu’il existe un mappage un-à-un entre les index et les fichiers XML des plans de site.

 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}

Si deux pages de la section française et anglaise partagent un suffixe commun, elles seront liées, par exemple si vous avez une page. /welcome dans la section anglaise et une page /fr/welcome dans la section française, l’entrée qui en résulte dans la /sitemap-en.xml se présente comme suit :

<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>

Une entrée similaire sera disponible dans /sitemap-fr.xml.

Spécification manuelle de la langue principale

Il peut arriver que vous disposiez d’autres versions d’une page, mais que vous ne puissiez pas utiliser un suffixe commun pour les identifier, peut-être parce que vous signalez un site web hérité dont les chemins ne doivent pas être modifiés. Dans ce cas, vous pouvez spécifier une primary-language-url pour l’autre emplacement, dans les métadonnées du document.

Supposons que notre langue principale soit l’anglais, que nous ayons une page /welcome dans la section anglaise et /fr/bienvenu dans la section française, et la seconde est une version alternative de la première.

Tout d’abord, nous ajoutons ces informations au document à l’adresse /fr/bienvenu dans ses métadonnées :

Cela peut également être ajouté à une metadata , comme indiqué dans la section Métadonnées en bloc.

Ensuite, nous ajoutons une propriété indexée primary-language-url à l'indice français :

 primary-language-url:
   select: head > meta[name="primary-language-url"]
   value: attribute(el, "content")

Enfin, nous republions la page française, et recréer le plan du site.

Spécification de la langue par défaut

Une autre exigence courante consiste à spécifier la langue par défaut d’un plan de site avec plusieurs langues. Pour ce faire, ajoutez une propriété . default dans le plan du site :

 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}

Dans le plan de site qui en résulte, toutes les entrées de la sous-arborescence anglaise auront une autre entrée supplémentaire avec hreflang . x-default.

Spécification de plusieurs réflexions pour une sous-arborescence

Parfois, il est nécessaire de mapper plusieurs réflexions à une seule sous-arborescence de langue, par exemple, imaginons que les éléments suivants apparaissent dans le plan de site résultant :

<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>

Chaque page de notre source de plan de site doit apparaître exactement une fois, mais plusieurs réflexions alternatives y sont associées. Pour ce faire, vous devez spécifier un tableau de langues dans la variable hreflang property:

 sitemaps:
   example:
     languages:
       la:
         source: /la/query-index.json
         destination: /sitemap-la.xml
         hreflang:
           - es-VE
           - es-SV
           - es-PA

Plusieurs Index Agrégés En Un Seul Plan De Site

Dans certains cas, il est plus facile d’avoir un plan de site unique plus volumineux que des petits plans de site fragmentés, d’autant plus qu’il existe une limite de plans de site pouvant être soumis aux moteurs de recherche par site.

L’exemple suivant montre comment agréger plusieurs index distincts dans un seul plan de site.

 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}

En utilisant la même destination, il est possible de combiner plusieurs petits plans de site en un seul plan de site plus grand.

Inclusion d’autres plans de site comme entrée

Dans un scénario mixte, où toutes les langues d’un plan de site ne sont pas gérées en AEM, vous pouvez inclure des plans de site provenant d’autres arborescences de langue en spécifiant un chemin XML comme source, comme dans :

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}

Dans cet exemple, nous utilisons un plan de site externe français pour calculer tous les emplacements du plan de site. AEM déterminera les alternatives pour les URL de plan de site en anglais en déconstruisant les homologues français dans un plan de site externe à l’aide de la variable alternate définition.

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