Beheben falscher oder doppelter kanonischer und Sitemap-URLs aus der AEM-Domain- und Protokollkonfiguration
Von AEM generierte kanonische Tags und Sitemap-URLs zeigen die falsche Domain, das falsche Protokoll, relative Pfade oder doppelte kanonische Tags an, wenn Seiteneigenschaften, Externalizer, Anfragekopfzeilen oder Vorlagenlogik nicht korrekt konfiguriert sind. Die häufigsten Ursachen sind eine fehlende Externalizer-Domain-Konfiguration, eine fehlende X-Forwarded-Proto-Kopfzeile, falsche Dispatcher-clientheaders oder Vorlagenlogik, die ein zweites kanonisches Tag ausgibt. Durch die Korrektur der Seiteneigenschaften und Externalizer-Einstellungen, die Sicherstellung, dass die Protokollkopfzeile AEM erreicht, und das Entfernen doppelter Vorlagenlogik werden die richtigen kanonischen und Sitemap-URLs wiederhergestellt.
Beschreibung description
Problem: AEM gibt falsche, doppelte oder relative kanonische und Sitemap-URLs aus
Beschreibung
Sites in AEM zeigen falsche kanonische URLs an - http anstelle von https, relative URLs oder vollständige URLs fehlen - oder generieren Sitemaps, die relative anstelle absoluter URLs enthalten. In einigen Fällen fügt AEM ein standardmäßiges kanonisches Tag ein, wenn eine benutzerdefinierte Implementierung bereits ein generiert, wodurch Duplikate entstehen. Falsch konfigurierte Seiteneigenschaften, eine fehlende Externalizer-Domain-Konfiguration, fehlende X-Forwarded-Proto-Kopfzeilen, falsche Dispatcher-clientheaders oder eine Logik auf Vorlagenebene, die automatisch kanonische Tags ausgibt, all diese Symptome werden durch Trigger verursacht.
Umgebung:
- Adobe Experience Manager as a Cloud Service (AEMaaCS)
- AEM Managed Services
- AEM 6.5 On-Premise
- Dispatcher- und CDN-/Lastenausgleichsebenen
Problem/Symptome:
- Kanonische URLs werden als
http://anstelle vonhttps://angezeigt - Die Sitemap enthält nur Slugs oder relative URLs anstelle absoluter URLs
- Doppelte kanonische Tags werden in der Seitenquelle angezeigt
- Das von AEM automatisch generierte kanonische Tag zeigt nur einen relativen Pfad anstelle der vollständigen URL an
Grundursache:
AEM bestimmt kanonische und Sitemap-URLs aus einer Kombination aus Seiteneigenschaften, Externalizer-Konfiguration, Anfragekopfzeilen (insbesondere X-Forwarded-Proto), Ressourcenauflösungszuordnungen und vorlagenspezifischer Logik. Wenn eine dieser URLs fehlt, falsch konfiguriert oder überschrieben wird, gibt AEM falsche, doppelte oder relative URLs aus. Einige Sitemap-Verhaltensweisen sind auch Einschränkungen im Apache Sling Sitemap-Modul .
Wie kann ich bestätigen
- Ordnen Sie das beobachtete Symptom einer Kategorie zu: doppelte kanonische Tags, falsches Protokoll (
http), fehlende Domain oder eine Sitemap, die relative URLs erzeugt. - Überprüfen Sie die Seitenquelle und überprüfen Sie, wie viele kanonische Tags vorhanden sind und ob jedes das richtige Protokoll und die richtige Domain verwendet.
- Rufen Sie
<site>.sitemap-index.xmlin einem Browser ab und bestätigen Sie, ob es sich bei den Einträgen um absolute oder relative URLs handelt.
Lösung resolution
-
Korrigieren Sie doppelte oder falsche kanonische Tags. Öffnen Sie Seiteneigenschaften
>Erweitert und suchen Sie das Feld Kanonische URL , das die automatische kanonische Generierung steuert. Löschen oder aktualisieren Sie den Wert nach Bedarf, laden Sie dann die Seitenquelle neu und bestätigen Sie, dass nur ein einziges kanonisches Tag verbleibt. Wenn das automatisch generierte Tag weiterhin angezeigt wird, überprüfen Sie die benutzerdefiniertenheaderlibsoderhead.htmlauf Vorlagenlogik, die ein zweites kanonisches Tag hinzufügt, und entfernen oder deaktivieren Sie die doppelte Logik. -
Korrigieren Sie kanonische URLs, die das falsche Protokoll verwenden. Bestätigen, dass das CDN oder der Lastenausgleich die Kopfzeile sendet:
code language-none X-Forwarded-Proto: https
Überprüfen Sie die eingehenden Anfragekopfzeilen mit den Browser-DevTools oder -curl, um sicherzustellen, dass die Kopfzeile vorhanden ist. Wenn er fehlt, aktualisieren Sie die CDN- oder Load-Balancer-Regeln.
3. Überprüfen Sie für AEMaaCS die OSGi-Konfiguration, die über Cloud Manager für org.apache.felix.http.sslfilter.SslFilter bereitgestellt wird, mit den folgenden Feldwerten:
enable= trueforwarded= trueforwarded.header= x-forward-protoforwarded.value= https
Zeigen Sie nach der Bereitstellung die Seitenquelle an, um zu bestätigen, dass die kanonische Generierung https verwendet.
4. Korrigieren Sie relative URLs oder eine fehlende Domain in der Sitemap. Vergewissern Sie sich, dass der sitemap-index.xml verwendet wird - absolute URLs erscheinen oft nur in sitemap-index.xml und nicht in den untergeordneten sitemap.xml. Stellen Sie dann sicher, dass die Externalizer-Domain-Konfiguration über den Code mithilfe der com.day.cq.commons.impl.ExternalizerImpl-publish bereitgestellt wird. Fügen Sie einen einfachen Test-Link mit externalizer.externalLink oder externalizer.publishLink hinzu, um zu bestätigen, dass der Externalizer absolute URLs erzeugt.
5. Generieren von Sitemaps mit den vordefinierten Funktionen von AEM. Bestätigen Sie dass Sitemap generieren“ auf Seitenebene korrekt aktiviert oder deaktiviert ist. Für Seiten, die als Sitemap-Stammordner markiert sind, generiert AEM sitemap.xml und sitemap-index.xml. Greifen Sie direkt auf /content/<path>.sitemap-index.xml oder /content/<path>.sitemap.xml zu, um zu bestätigen, dass die erwartete XML-Datei erstellt wurde. Wenn die URLs nichts zurückgeben, bestätigen Sie, dass die Seite veröffentlicht wurde. Wenn Sie Edge Delivery Services-Sitemaps (EDS) verwenden, beachten Sie, dass lastmod und changefreq nicht unterstützt werden. Dies ist eine feste Einschränkung. Versuchen Sie daher nicht, die EDS-Sitemap anzupassen.
6. Verwenden Sie für MSM oder mehrsprachige Sites auf AEMaaCS die integrierte Sling-Sitemap mit einem sling:sitemapRoot auf Seitenebene. Der ACS Commons Sitemap-Generator wird nicht unterstützt. Bestätigen Sie, dass sling:sitemapRoot = true auf jedem Sprachstamm vorhanden ist, dann greifen Sie auf <langroot>.sitemap-index.xml zu, um zu bestätigen, dass jeder Sprachstamm eine eigene Sitemap erstellt.
Validierung
- Öffnen Sie die Seitenquelle und bestätigen Sie, dass nur ein kanonisches Tag vorhanden ist, das Protokoll korrekt ist und die Domain der erwarteten Konfiguration entspricht.
- Öffnen Sie
sitemap-index.xmlundsitemap.xmlund überprüfen Sie, ob absolute URLs dort angezeigt werden, wo sie unterstützt werden, ohne relative Slugs, es sei denn, dies wird durch die Einschränkungen von Apache Sling Sitemap erwartet. - Bestätigen Sie, dass Änderungen an der Dispatcher-, CDN- oder OSGi-Konfiguration nach der Bereitstellung weitergegeben werden. AEMaaCS wendet diese automatisch bei der Bereitstellung an.
Verwandtes Lesen
- Kanonische AEM-URL-Tags (AEMaaCS)
- Generieren einer AEM-Sitemap (AEMaaCS)
- Externalizer-Konfiguration
- AEM leitet beim Zugriff über einen durch SSL/TLS beendeten Load-Balancer zurück zu http
- Sitemap.xml nicht korrekt formatiert
- Adobe Experience Manager: WARNMELDUNG „Geplanter Auftrag hat Thread-Pool mit dem Namen org-apache-sling-sitemap angefordert“