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.
- Nachdem Sie die
fstab.yaml
mit einem Bereitstellungspunkt, der auf Ihre SharePoint-Site oder Ihr Google-Laufwerk verweist, gehen Sie zum Stammordner. - Erstellen Sie je nach Backend eine Arbeitsmappe mit dem Namen
query-index.xlsx
für SharePoint oder eine Tabelle mit dem Namenquery-index
für Google Drive. - Erstellen Sie in dieser Tabelle oder Arbeitsmappe ein Arbeitsblatt mit dem Namen
raw_index
.
Einrichten von Eigenschaften zum Hinzufügen zum Index
- In der
query-index
Dokument, fügen Sie eine Kopfzeile hinzu und fügen Sie in der ersten Spaltepath
als Kopfzeilenname. - 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.
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 inquery-index.xlsx
- Sie haben eine
helix-query.yaml
in Ihrem GitHub-Repository, d. h. Sie haben eine benutzerdefinierte Indexdefinition.
Empfehlungen
- Wenn Sie keine benutzerdefinierte Indexdefinition haben wird empfohlen, not hinzufügen
robots
in Ihr Indexblatt ein, es sei denn, Sie sind dazu verpflichtet.
Hinzufügenrobots
-Spalte in Ihr Indexblatt eintragen würde, würde eine Seite von AEM indiziert, auch wenn sierobots
Metadaten festgelegt aufnoindex.
- Wenn Sie über eine benutzerdefinierte Indexdefinition verfügen, würden Seiten unabhängig von der Einstellung durch AEM indiziert.
robots
nachnoindex
auf den Seitenmetadaten. Wenn Sie dies verhindern möchten, können Sie mithilfe von Tabellenfiltern Seiten aus einem Index auslassen, dierobots
Metadaten festgelegt aufnoindex
. Weitere Informationen finden Sie im Abschnitt mit dem TitelDurchsetzungnoindex
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:
- Erstellen Sie ein Blatt mit dem Namen
helix-default
" in derquery-index.xlsx
. Danach wird Ihrquery-index.xlsx
Die Tabelle sollte aus zwei Tabellen bestehen“raw_index
" und“helix-default
". Die“raw_index
" -Tabelle enthält alle indizierten Rohdaten. - Benutzerdefinierte Änderungen vornehmen
helix-query.yaml
(Sie muss sich im Github-Repository Ihres Projekts befinden) und fügen Sie dierobots
-Eigenschaft, damit sie indiziert wird. - Richten Sie jetzt Ihre
“helix-default
"Blatt imquery-index.xlsx
Tabelle, die automatisch mit einer Excel-Formel ausgefüllt wird, um sicherzustellen, dass alle Zeilen inraw_index
dierobots
Eigenschaft festgelegt alsnoindex
, werden nicht in diehelix-default
Blatt. Dies kann mit einer Excel-Formel wie dieser erfolgen=FILTER(Table1,NOT(Table1[robots]="noindex"))
- Jetzt hat Ihr Helix-Standard-Blatt nur die Zeilen aus
raw_index
nichtrobots
Eigenschaft festgelegt aufnoindex
. - Stellen Sie sicher, dass Sie die Seiten veröffentlichen, die indiziert werden sollen.
- Wenn Sie nun den Index wie gewohnt abrufen:
https://<branch>--<repo>-<org>.hlx.page/query-index.json
, erhalten Sie nur Daten vonhelix-default
Tabellenblatt, d. h. Einträge, die nicht explizit daran gehindert werden, über dierobot
Eigenschaft festgelegt alsnoindex
.