Indizierung

Adobe Experience Manager bietet eine Möglichkeit, einen Index aller veröffentlichten Seiten in einem bestimmten Bereich Ihrer Website zu speichern. Dies wird häufig verwendet, um Listen und Feeds zu erstellen und Anwendungsfälle für das Suchen und Filtern Ihrer Seiten oder Inhaltsfragmente zu aktivieren.

AEM behält diesen Index in einer Tabelle bei und bietet mithilfe von JSON Zugriff darauf. Lesen Sie das Dokument . Tabellen und JSON für weitere Informationen.

Einrichten eines anfänglichen Abfrageindex

In diesem Abschnitt erstellen wir einen Abfrageindex im Stammordner, der alle Dokumente in Ihrem Backend indiziert.

  1. Nachdem Sie die fstab.yaml mit einem Bereitstellungspunkt, der auf Ihre SharePoint-Site oder Ihr Google-Laufwerk verweist, gehen Sie zum Stammordner.
  2. Erstellen Sie je nach Backend eine Arbeitsmappe mit dem Namen query-index.xlsx für SharePoint oder eine Tabelle mit dem Namen query-index für Google Drive.
  3. Erstellen Sie in dieser Tabelle oder Arbeitsmappe ein Arbeitsblatt mit dem Namen raw_index.

Einrichten von Eigenschaften zum Hinzufügen zum Index

  1. In der query-index Dokument, fügen Sie eine Kopfzeile hinzu und fügen Sie in der ersten Spalte path als Kopfzeilenname.
  2. Fügen Sie in den folgenden Spalten der Kopfzeile alle anderen Eigenschaften hinzu, die Sie aus der gerenderten HTML-Seite extrahieren müssen.

Im folgenden Beispiel in Google Drive werden die extrahierten Felder title, image, description, und lastModified.

Seiten werden beim Veröffentlichen indiziert. Um Seiten aus dem Index zu entfernen, müssen sie depubliziert sein.

Für einfache Szenarien ohne benutzerdefinierte Indexdefinition, Seiten mit robots Metadateneigenschaft auf noindex wird von AEM automatisch bei der Indizierung weggelassen. (Es gibt hier einige spezielle Szenarien, weitere Details finden Sie im Abschnitt . Spezielle Szenarien für Roboter).

Die folgende Tabelle fasst die verfügbaren Eigenschaften zusammen und zeigt, von wo auf der HTML-Seite sie extrahiert werden.

Name
Beschreibung
author
Gibt den Inhalt des Meta-Tags namens author im head -Element.
title
Gibt den Inhalt der og:title Meta-Eigenschaft in der head -Element.
date
Gibt den Inhalt des Meta-Tags namens publication-date im head -Element.
image
Gibt den Inhalt der og:image Meta-Eigenschaft in der head -Element.
category
Gibt den Inhalt des Meta-Tags namens category im head -Element.
tags

Gibt den Inhalt des Meta-Tags namens article:tag im head -Element als Array.

Siehe Dokument . Tabellen und JSON für weitere Informationen zur Array-Handhabung.

description
Gibt den Inhalt des Meta-Tags namens description im head -Element.
robots
Gibt den Inhalt des Meta-Tags namens robots im head -Element.
lastModified
Gibt den Wert der Last-Modified Antwortheader für das Dokument.

Für jede andere hinzugefügte Kopfzeile versucht der Indexer, ein Meta-Tag mit einem entsprechenden Namen zu finden.

Index aktivieren

Um Ihren Index zu aktivieren, zeigen Sie mithilfe des Sidekicks eine Vorschau des Arbeitsblatts an. Dadurch wird eine Indexkonfiguration erstellt.

Überprüfen des Index

Der Admin Service verfügt über einen API-Endpunkt, an dem Sie die Indexdarstellung Ihrer Seite überprüfen können. Bei Ihrem GitHub-Eigentümer, -Repository, -Verzweigung und -Eigentümer sowie einem Ressourcenpfad zu einer Seite lautet der Endpunkt:

https://admin.hlx.page/index/<owner>/<repo>/<branch>/<path>

Sie sollten eine JSON-Antwort erhalten, in der der Daten-Knoten die Indexdarstellung der Seite enthält.

Debuggen der Indexkonfiguration

Die AEM-CLI verfügt über eine Funktion, mit der der Indexdatensatz bei jeder Änderung Ihrer Abfragekonfiguration gedruckt wird. Dies erleichtert die Suche nach den richtigen CSS-Selektoren:

$ aem up --print-index

Lesen Sie hierzu die AEM GitHub-Dokumentation zu CLI Weitere Informationen finden Sie in diesem . Video , um mehr über diese Funktion zu erfahren.

Einrichten weiterer Indexkonfigurationen

Sie können Ihre eigenen benutzerdefinierten Indexkonfigurationen definieren, indem Sie Ihre eigenen helix-query.yaml. Dadurch können Sie mehr als eine Indexkonfiguration in derselben helix-query.yaml, wo Teile Ihrer Sites in verschiedene Excel-Arbeitsmappen oder Google-Tabellen indiziert sind. Siehe Dokument . Indizierungsreferenz für weitere Informationen.

Spezielle Szenarien für Roboter

Es gibt einige Nuancen dazu, wie Seiten von AEM in Verbindung mit der Indizierung für Ihre Site indiziert werden. Sehen wir uns sie an:

In den beiden folgenden Situationen können Sie robots nach noindex in den Seitenmetadaten not Verhindern, dass sie durch AEM indiziert wird:

  • Sie haben eine robots Spalte in query-index.xlsx
  • Sie haben eine helix-query.yaml in Ihrem GitHub-Repository, d. h. Sie haben eine benutzerdefinierte Indexdefinition.

Empfehlungen

  1. Wenn Sie keine benutzerdefinierte Indexdefinition haben wird empfohlen, not hinzufügen robots in Ihr Indexblatt ein, es sei denn, Sie sind dazu verpflichtet.
    Hinzufügen robots -Spalte in Ihr Indexblatt eintragen würde, würde eine Seite von AEM indiziert, auch wenn sie robots Metadaten festgelegt auf noindex.
  2. Wenn Sie über eine benutzerdefinierte Indexdefinition verfügen, würden Seiten unabhängig von der Einstellung durch AEM indiziert. robots nach noindex auf den Seitenmetadaten. Wenn Sie dies verhindern möchten, können Sie mithilfe von Tabellenfiltern Seiten aus einem Index auslassen, die robots Metadaten festgelegt auf noindex. Weitere Informationen finden Sie im Abschnitt mit dem TitelDurchsetzung noindex Konfiguration mit benutzerdefinierten Indexdefinitionen".

Erzwingen der Konfiguration "noindex"mit benutzerdefinierten Indexdefinitionen

Wenn Sie Ihre eigenen benutzerdefinierten Indexdefinitionen in helix-query.yaml, legen Sie die robots Eigenschaft auf noindex verhindert nicht, dass die Seiten indiziert werden. Um noindex -Konfigurationen sind solche Situationen, führen Sie die folgenden Schritte aus:

  1. Erstellen Sie ein Blatt mit dem Namenhelix-default" in der query-index.xlsx . Danach wird Ihr query-index.xlsx Die Tabelle sollte aus zwei Tabellen bestehen “raw_index" und “helix-default". Die “raw_index" -Tabelle enthält alle indizierten Rohdaten.
  2. Benutzerdefinierte Änderungen vornehmen helix-query.yaml (Sie muss sich im Github-Repository Ihres Projekts befinden) und fügen Sie die robots -Eigenschaft, damit sie indiziert wird.
  3. Richten Sie jetzt Ihre “helix-default"Blatt im query-index.xlsx Tabelle, die automatisch mit einer Excel-Formel ausgefüllt wird, um sicherzustellen, dass alle Zeilen in raw_index die robots Eigenschaft festgelegt als noindex, werden nicht in die helix-default Blatt. Dies kann mit einer Excel-Formel wie dieser erfolgen =FILTER(Table1,NOT(Table1[robots]="noindex"))
  4. Jetzt hat Ihr Helix-Standard-Blatt nur die Zeilen aus raw_index nicht robots Eigenschaft festgelegt auf noindex.
  5. Stellen Sie sicher, dass Sie die Seiten veröffentlichen, die indiziert werden sollen.
  6. Wenn Sie nun den Index wie gewohnt abrufen: https://<branch>--<repo>-<org>.hlx.page/query-index.json, erhalten Sie nur Daten von helix-default Tabellenblatt, d. h. Einträge, die nicht explizit daran gehindert werden, über die robot Eigenschaft festgelegt als noindex.
recommendation-more-help
10a6ce9d-c5c5-48d9-8ce1-9797d2f0f3ec