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.