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 lui permet d’y accéder à l’aide de JSON. Consultez le document Feuilles de calcul et JSON pour plus d’informations.
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.yaml
avec un point de montage qui pointe vers votre site SharePoint ou Google Drive, accédez au dossier racine. - Selon votre serveur principal, créez un classeur nommé
query-index.xlsx
pour SharePoint ou une feuille de calcul nomméequery-index
pour 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
query-index
document, ajoutez une ligne d’en-tête et, dans la première colonne, ajoutezpath
comme nom de l’en-tête. - Dans les colonnes suivantes de la ligne d’en-tête, ajoutez toutes les autres propriétés à extraire de la page de HTML rendue.
Dans l’exemple suivant de Google Drive, les champs extraits sont title
, image
, description
, et lastModified
.
Les pages sont indexées lorsqu’elles sont publiées. 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 qui ont robots
propriété de métadonnées définie sur noindex
sera automatiquement omis de l’indexation par AEM. (Voici quelques scénarios spéciaux pour plus de détails, voir la section . Scénarios spéciaux pour les robots).
Le tableau suivant résume les propriétés disponibles et l’emplacement d’extraction dans la page de HTML.
Pour chaque autre en-tête ajouté, l’indexeur tente de trouver une balise meta avec un nom correspondant.
Activer votre index
Pour activer votre index, prévisualisez la feuille de calcul à l’aide du sidekick. Cela crée une configuration d’index.
Vérification de l’index
Le service d’administration dispose d’un point de terminaison API où vous pouvez vérifier la représentation de l’index de votre page. Compte tenu de votre propriétaire, référentiel, branche et propriétaire GitHub, et d’un chemin d’accès aux ressources vers une page, son point de terminaison est le suivant :
https://admin.hlx.page/index/<owner>/<repo>/<branch>/<path>
Vous devriez obtenir une réponse JSON où le noeud 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é qui permet d’imprimer l’enregistrement d’index chaque fois que vous modifiez la configuration de votre requête, ce qui vous aide à trouver les sélecteurs CSS appropriés :
$ aem up --print-index
Veuillez consulter la Documentation GitHub de l’interface de ligne de commande AEM Pour plus d’informations, regardez ceci video pour en savoir plus sur cette fonctionnalité.
Configuration d’autres configurations d’index
Vous pouvez définir vos propres configurations d’index personnalisées en créant vos propres helix-query.yaml.
Cela vous permet d’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. Voir le document Référence d’indexation pour plus d’informations.
Scénarios spéciaux pour les robots
Il existe quelques nuances sur la façon dont les pages sont indexées par AEM en même temps que la configuration de l’indexation pour votre site. Regardons-les :
Dans les 2 situations suivantes, définissez robots
to noindex
sur la page, les métadonnées not empêcher qu’elle ne soit indexée par AEM :
- Vous avez ajouté une
robots
colonne dansquery-index.xlsx
- Vous avez une
helix-query.yaml
dans votre référentiel Github, c’est-à-dire que vous avez défini une définition d’index personnalisée.
Recommandations
- Si vous ne disposez pas d’une définition d’index personnalisée, il est recommandé de not ajouter une
robots
à votre feuille d’index, sauf si vous en avez besoin.
Ajouterrobots
à votre feuille d’index provoquerait l’indexation d’une page par AEM même si elle peut avoirrobots
métadonnées définies surnoindex.
- Si vous avez une définition d’index personnalisée, les pages seraient indexées par AEM, quel que soit le paramètre
robots
tonoindex
sur les métadonnées de la page. Si vous souhaitez empêcher cela de se produire, vous pouvez utiliser des filtres de feuille de calcul pour omettre les pages des index qui ontrobots
métadonnées définies surnoindex
. Pour plus d’informations, reportez-vous à la section intitulée "Applicationnoindex
configuration 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ées dans helix-query.yaml
, en définissant la variable robots
de noindex
n’est pas efficace pour empêcher l’indexation des pages. Pour faire respecter la loi noindex
dans ce cas, procédez comme suit :
- Créez une feuille nommée "
helix-default
" dans votrequery-index.xlsx
. Après cela, votrequery-index.xlsx
la feuille de calcul doit comporter 2 feuilles.“raw_index
" et“helix-default
". La variable“raw_index
"est là pour avoir toutes les données indexées brutes. - Modifier votre
helix-query.yaml
(il doit se trouver dans le référentiel Github de votre projet) et ajoutez la variablerobots
pour qu’elle soit indexée. - Configurez maintenant votre
“helix-default
" dans la feuillequery-index.xlsx
feuille de calcul pour qu’elle soit automatiquement remplie à l’aide de la formule Excel, ce qui garantit que toutes les lignes deraw_index
qui ontrobots
property défini commenoindex
, ne pas être copié vers lehelix-default
feuille. Vous pouvez le faire en utilisant une formule Excel comme celle-ci :=FILTER(Table1,NOT(Table1[robots]="noindex"))
- Désormais, votre feuille d’hélice par défaut ne contient que les lignes de
raw_index
qui n’ont pasrobots
définie surnoindex
. - Veillez à publier les pages que vous souhaitez indexer.
- Maintenant, si vous récupérez l’index comme vous le faites habituellement :
https://<branch>--<repo>-<org>.hlx.page/query-index.json
, vous obtiendriez uniquement des données dehelix-default
, c’est-à-dire que les entrées qui ne sont pas explicitement empêchées d’être indexées via larobot
property défini commenoindex
.