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.

recommendation-more-help
10a6ce9d-c5c5-48d9-8ce1-9797d2f0f3ec