Indexation
Adobe Experience Manager permet de conserver un index de toutes les pages publiées dans une section spécifique de votre site web. Il est généralement utilisé pour créer des listes, des flux et activer des cas d’utilisation de recherche et de filtrage pour vos pages ou fragments de contenu.
AEM conserve cet index dans une feuille de calcul et permet d’y accéder à l’aide de JSON. Consultez le document Feuilles de calcul et JSON pour plus d’informations.
Nous allons introduire le concept de création d’un index de requête en prévisualisant d’abord un classeur Excel ou une feuille de calcul Google. Notez que si vous disposez déjà d’une définition de requête personnalisée dans un fichier appelé helix-query.yaml dans votre référentiel GitHub, il n’est plus possible de créer des index de cette manière. Chaque nouvel index devra être ajouté manuellement à ce helix-query.yaml.
Configuration d’un index de requête initial
Dans cette section, nous allons créer un index de requête dans le dossier racine qui indexera tous les documents de votre serveur principal.
- Après avoir configuré votre
fstab.yamlavec un point de montage qui pointe vers votre site SharePoint ou votre lecteur Google, accédez au dossier racine . - En fonction de votre serveur principal, créez un classeur nommé
query-index.xlsxpour SharePoint ou une feuille de calcul nomméequery-indexpour Google Drive. - Dans cette feuille de calcul ou ce classeur, créez une feuille nommée
raw_index.
Configuration des propriétés à ajouter à l’index
- Dans votre document
query-index, ajoutez une ligne d’en-tête et, dans la première colonne, ajoutezpathcomme nom d’en-tête. - Dans les colonnes suivantes de la ligne d’en-tête, ajoutez toutes les autres propriétés que vous devez extraire de la page HTML rendue.
Dans l’exemple suivant dans Google Drive, les champs extraits sont title, image, description et lastModified.
Les pages sont indexées lors de leur publication. Pour supprimer des pages de l’index, elles doivent être dépubliées.
Pour les scénarios simples sans définition d’index personnalisée, les pages dont robots propriété de métadonnées est définie sur noindex sont automatiquement omises de l’indexation par AEM. (Il existe quelques scénarios spéciaux ici. Pour plus de détails, consultez la section Scénarios spéciaux pour les robots).
Le tableau suivant résume les propriétés disponibles et l’emplacement d’extraction de ces propriétés dans la page HTML.
Pour chaque autre en-tête ajouté, l’indexeur tente de trouver une balise meta avec un nom correspondant.
Activation De L’Index
Pour activer l’index, prévisualisez la feuille de calcul à l’aide du sidekick. Cette opération crée une configuration d’index.
Vérification de votre index
Admin Service dispose d’un point d’entrée de l’API où vous pouvez vérifier la représentation d’index de votre page. Étant donné votre propriétaire GitHub, votre référentiel, votre branche et votre propriétaire, ainsi qu’un chemin d’accès aux ressources d’une page, son point d’entrée est :
https://admin.hlx.page/index/<owner>/<repo>/<branch>/<path>
Vous devez obtenir une réponse JSON dans laquelle le nœud de données contient la représentation d’index de la page.
Débogage de la configuration de l’index
L’interface de ligne de commande d’AEM dispose d’une fonctionnalité permettant d’imprimer l’enregistrement d’index à chaque fois que vous modifiez la configuration de votre requête, ce qui permet de trouver les sélecteurs CSS corrects :
$ aem up --print-index
Consultez la documentation GitHub de l’interface de ligne de commande d’AEM pour plus d’informations, regardez cette vidéo pour en savoir plus sur cette fonctionnalité.
Configurer D’Autres Configurations D’Index
Vous pouvez définir vos propres configurations d’index personnalisées en créant vos propres helix-query.yaml. vous pouvez ainsi avoir plusieurs configurations d’index dans la même helix-query.yaml, où des parties de vos sites sont indexées dans différents classeurs Excel ou feuilles de calcul Google. Consultez le document Référence d’indexation pour plus d’informations.
Scénarios spéciaux pour les robots
Il existe quelques nuances sur la manière dont les pages sont indexées par AEM conjointement avec la configuration de l’indexation pour votre site. Examinons-les :
Dans les 2 situations suivantes, la définition de robots sur noindex dans les métadonnées de la page n’empêche pas l’indexation par AEM :
- Vous avez ajouté une colonne
robotsdansquery-index.xlsx - Votre référentiel Github contient un
helix-query.yaml, c’est-à-dire que vous avez défini une définition d’index personnalisé.
Recommandations
- Si vous ne disposez pas d’une définition d’index personnalisée il est recommandé de pas d’ajouter une colonne
robotsà votre feuille d’index, sauf si vous en avez l’obligation.
Si vous ajoutezrobotscolonne à votre feuille d’index, une page est indexée par AEM même si ses métadonnéesrobotssont définies surnoindex. - Si vous disposez d’une définition d’index personnalisée les pages sont indexées par AEM, que le
robotssoit défini ou non surnoindexdans les métadonnées de la page. Pour éviter cela, utilisez les filtres de feuille de calcul pour omettre les pages de l’index dont les métadonnéesrobotssont définies surnoindex. Pour plus d’informations, consultez la section intitulée « Applicationnoindexconfiguration avec des définitions d’index personnalisées » ci-dessous.
Application de la configuration « noindex » avec des définitions d’index personnalisées
Si vous avez défini vos propres définitions d’index personnalisé dans helix-query.yaml, définir la propriété robots sur noindex n’empêche pas efficacement l’indexation des pages. Pour appliquer la configuration noindex de telles situations, procédez comme suit :
- Créez une feuille nommée «
helix-default» dans votrequery-index.xlsx. Après cela, votre feuille de calculquery-index.xlsxdoit comporter 2 feuilles“raw_index» et“helix-default». La feuille «“raw_index» est là pour avoir toutes les données indexées brutes. - Modifiez votre
helix-query.yamlpersonnalisée (elle doit se trouver dans le référentiel Github de votre projet) et ajoutez la propriétérobotsafin qu’elle soit indexée. - Configurez maintenant votre feuille «
“helix-default» dans la feuille de calculquery-index.xlsxpour qu’elle soit automatiquement remplie à l’aide d’une formule Excel qui garantit que toutes les lignes desraw_indexdontrobotspropriété est définie surnoindexne sont pas copiées dans la feuille dehelix-default. Pour ce faire, utilisez une formule Excel comme celle-=FILTER(Table1,NOT(Table1[robots]="noindex")) - Désormais, votre feuille hélice par défaut ne comporte que les lignes de
raw_indexpropriétérobotsqui n’ont pas la valeurnoindex. - Veillez à publier les pages que vous souhaitez indexer.
- Désormais, si vous récupérez l’index comme d’habitude, comme
https://<branch>--<repo>-<org>.hlx.page/query-index.json, vous obtiendrez uniquement des données de la feuillehelix-default, c’est-à-dire des entrées qui ne sont pas explicitement empêchées d’être indexées par le biais de la propriétérobotdéfinie surnoindex.