Sitemaps
Erstellen Sie automatisch generierte Sitemap-Dateien, auf die über Ihre robots.txt
. Dies hilft bei SEO und der Erkennung neuer Inhalte. AEM können drei Arten von Sitemaps generieren: ohne Konfiguration, nur basierend auf einem Abfrageindex oder basierend auf einer manuellen Sitemap-Konfiguration.
Erstellen einer Sitemap ohne Konfiguration
Wenn Sie nichts tun, wird Ihre Sitemap in sitemap.xml
und weisen einen Sitemap-Index in sitemap.json
. Es enthält eine Liste aller veröffentlichten Dokumente.
Wenn Sie mit einem anderen Sitemap-Typ begonnen haben und zu diesem Typ wechseln möchten, müssen Sie die helix-sitemap.yaml
Konfigurationsdatei - entweder manuell in GitHub definiert oder automatisch generiert - und indizieren Ihre Site neu.
In externen URLs verwendeter Domänenname
Um die beim Erstellen externer URLs verwendete Domäne anzupassen, fügen Sie eine Eigenschaft mit dem Namen host
oder cdn.prod.host
in Ihrer Projektkonfiguration (benannt in .helix/config
bei Verwendung von Google Drive als Backend oder .helix/config.xlsx
auf Sharepoint) und zeigen Sie eine Vorschau dieser Datei an, um sie zu aktivieren.
Erstellen einer Sitemap-Konfiguration basierend auf einem Index
Lesen Sie das Dokument . Indizierung , um mehr über die Indizierung zu erfahren. Um eine Sitemap-Konfiguration basierend auf einem Index zu generieren, stellen Sie bitte sicher, dass Sie bereits einen ersten Abfrageindex wie hier beschrieben eingerichtet haben. Dadurch wird eine Sitemap am Speicherort generiert:
https://<branch>--<repo>--<owner>.hlx.page/sitemap.xml
Eine Sitemap-Konfiguration am folgenden Speicherort:
https://<branch>--<repo>--<owner>.hlx.page/helix-sitemap.yaml
Es wird empfohlen, einen sitemap-index.xml
-Datei, die auf alle Sitemaps verweist und diese als Teil Ihres Projekt-Codes in Ihrem github-Repository speichert. Auf diese Weise ist es einfach, neue Sitemaps hinzuzufügen, wenn das Projekt erweitert wird.
Manuelles Setup Ihrer Sitemap-Konfiguration
Wenn Sie mehr Anpassungen vornehmen müssen, als Ihre generierte Sitemap-Konfigurationsdatei bereitstellt, können Sie den Inhalt kopieren und in eine Datei mit dem Namen helix-sitemap.yaml
im Stammordner Ihres Projekts.
Hinweis: Bei Verwendung eines manuell konfigurierten Index und einer Sitemap (z. B. enthält Ihr Code-Repository eine Datei helix-query.yaml und helix-sitemap.yaml ) muss Ihre Indexdefinition die Eigenschaft robots enthalten, um sicherzustellen, dass die Sitemap Seiten mit robots: noindex
Metadaten. Befolgen Sie bei Verwendung automatisch generierter Indexdefinitionen einfach die Empfehlungen im Abschnitt Indexdokumentation sodass diese Seiten aus dem Index ausgeschlossen sind.
Die folgenden Abschnitte enthalten die unterstützten Sitemap-Typen.
Einfache Sitemap
Folgendes ist einfach: helix-sitemap.yaml
. Es wird davon ausgegangen, dass ein einzelner Index alle Seiten enthält, die in der Sitemap angezeigt werden müssen.
sitemaps:
example:
source: /query-index.json
destination: /sitemap-en.xml
Wenn Sie möchten, dass die letzten Änderungsdaten in die URLs Ihrer Sitemap aufgenommen werden, fügen Sie eine lastmod
-Eigenschaft, einschließlich eines Formats für Ihre Konfiguration.
sitemaps:
example:
source: /query-index.json
destination: /sitemap-en.xml
lastmod: YYYY-MM-DD
Mehrere Sitemaps
Es ist üblich, Sitemaps pro Abschnitt der Sites und/oder pro Land oder Sprache zu haben. AEM unterstützt Sitemaps einschließlich der entsprechenden hreflang
Verweise. Im folgenden Beispiel wird davon ausgegangen, dass es eine 1:1-Zuordnung zwischen den Indizes und den sitemaps-XML-Dateien gibt.
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}
Wenn es im englischen und französischen Abschnitt zwei Seiten gibt, die ein gemeinsames Suffix aufweisen, werden sie verwandt sein, z. B. wenn Sie eine Seite haben. /welcome
in der englischen Sektion und einer Seite /fr/welcome
im französischen Abschnitt den resultierenden Eintrag im /sitemap-en.xml
sieht wie folgt aus:
<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>
Ein ähnlicher Eintrag wird in /sitemap-fr.xml
.
Manuelles Festlegen der Primärsprache
Es kann Situationen geben, in denen Sie alternative Versionen einer Seite haben, aber Sie können kein gemeinsames Suffix verwenden, um sie zu identifizieren. Dies kann möglicherweise daran liegen, dass Sie eine ältere Website importieren, deren Pfade nicht geändert werden sollten. In diesem Fall können Sie eine primary-language-url
für den alternativen Speicherort in den Metadaten des Dokuments.
Nehmen wir einmal an, unsere Hauptsprache ist Englisch, wir haben eine Seite /welcome
im englischen Abschnitt und /fr/bienvenu
im französischen Abschnitt, und letzterer ist eine alternative Version des ersteren.
Zuerst fügen wir diese Informationen zum Dokument hinzu unter /fr/bienvenu
in den Metadaten:
Dies kann auch zu einer globalen metadata
wie in Massenmetadaten.
Anschließend fügen wir eine indizierte Eigenschaft hinzu primary-language-url
zum französischen Index:
primary-language-url:
select: head > meta[name="primary-language-url"]
value: attribute(el, "content")
Schließlich veröffentlichen wir die französische Seite erneut und Sitemap neu erstellen.
Festlegen der Standardsprache
Eine weitere gängige Anforderung besteht darin, die Standardsprache für eine Sitemap mit mehreren Sprachen anzugeben. Dies kann durch Hinzufügen einer -Eigenschaft erreicht werden default
in der Sitemap:
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}
In der resultierenden Sitemap haben alle Einträge aus der englischen Unterstruktur einen zusätzlichen alternativen Eintrag mit hreep x-default
.
Festlegen mehrerer Reflektoren für eine Unterstruktur
Manchmal ist es erforderlich, mehrere Reflektoren nur einer Sprachunterstruktur zuzuordnen. Nehmen wir beispielsweise an, dass Folgendes in der resultierenden Sitemap angezeigt werden soll:
<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>
Jede Seite in unserer Sitemap-Quelle sollte genau einmal angezeigt werden, es sollten jedoch mehrere alternative Reflexionen zugeordnet sein. Um dies zu erreichen, sollten Sie ein Array von Sprachen in der hreflang
Eigenschaft:
sitemaps:
example:
languages:
la:
source: /la/query-index.json
destination: /sitemap-la.xml
hreflang:
- es-VE
- es-SV
- es-PA
Mehrere Indizes, die zu einer Sitemap aggregiert werden
Es gibt Fälle, in denen es einfacher ist, eine einzelne größere Sitemap als fragmentierte kleine Sitemaps zu haben, insbesondere da es eine Beschränkung von Sitemaps gibt, die an Suchmaschinen pro Site gesendet werden können.
Das folgende Beispiel zeigt, wie eine Reihe separater Indizes in einer Sitemap zusammengefasst werden können.
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}
Mit demselben Ziel können mehrere kleine Sitemaps zu einer größeren Sitemap zusammengefasst werden.
Andere Sitemaps als Eingabe einschließen
In einem gemischten Szenario, in dem nicht alle Sprachen in einer Sitemap AEM verwaltet werden, können Sie Sitemaps aus anderen Sprachbäumen einbeziehen, indem Sie einen XML-Pfad als Quelle angeben, wie in:
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}
In diesem Beispiel verwenden wir eine externe französische Sitemap, um alle Sitemap-Standorte zu berechnen. AEM ermittelt die Alternativen für englische Sitemap-URLs, indem die französischen Entsprechungen in der externen Sitemap mithilfe der alternate
Definition.