Hinzufügen von Sitemap- und Suchmaschinenrobotern
- Themen:
- Cloud
Erstellt für:
- Admin
- Entwickler
Der Versuch, die sitemap.xml
-Datei zu generieren und in das Stammverzeichnis zu schreiben, führt zum folgenden Fehler:
Please make sure that "/" is writable by the web-server.
Mit Adobe Commerce in der Cloud-Infrastruktur können Sie nur in bestimmte Verzeichnisse schreiben, z. B. var
, pub/media
, pub/static
oder app/etc
. Wenn Sie die sitemap.xml
Datei mithilfe des Admin-Bedienfelds generieren, müssen Sie den /media/
angeben.
Sie müssen keine robots.txt
-Datei generieren, da sie den robots.txt
Inhalt nach Bedarf generiert und in der Datenbank speichert. Sie können den Inhalt in Ihrem Browser mit dem <domain.your.project>/robots.txt
oder <domain.your.project>/robots
Link anzeigen.
Dies erfordert die ECE-Tools-Version 2002.0.12 und höher mit einer aktualisierten .magento.app.yaml
. Ein Beispiel für diese Regeln finden Sie im Magento-Cloud-Repository.
So generieren Sie eine sitemap.xml
in Version 2.2 oder höher:
-
Zugriff auf Admin.
-
Klicken Sie im Menü Marketing auf Siteübersicht im Abschnitt SEO und Suche.
-
Klicken Sie in Ansicht Sitemap“ auf Sitemap hinzufügen.
-
Geben in der Ansicht Neue Sitemap“ die folgenden Werte ein:
- Dateiname:
sitemap.xml
- path:
/media/
- Dateiname:
-
Klicken Sie Speichern und generieren. Die neue Sitemap wird im Raster Sitemap verfügbar.
-
Klicken Sie auf den Pfad in der Spalte Link für Google.
So fügen Sie der robots.txt
Inhalt hinzu:
- Zugriff auf Admin.
- Klicken Sie Menü Inhalt im Abschnitt Design auf Konfiguration“.
- Klicken Sie in Ansicht Design-Konfiguration für Website in der Spalte Aktion auf Bearbeiten.
- Klicken Sie in der Ansicht Hauptwebsite auf Suchmaschinenroboter.
- Aktualisieren Sie das Feld Benutzerdefinierte Anweisung von robots.txt bearbeiten.
- Klicken Sie Konfiguration speichern.
- Überprüfen Sie die
<domain.your.project>/robots.txt
oder<domain.your.project>/robots
URL in Ihrem Browser.
<domain.your.project>/robots.txt
eine 404 error
generiert, Sie "Adobe Commerce-Support-Ticket einreichen, um die Umleitung von /robots.txt
zu /media/robots.txt
zu entfernen.Umschreiben mit Fastly VCL-Snippet
Wenn Sie über verschiedene Domains verfügen und separate Sitemaps benötigen, können Sie eine VCL erstellen, um zur richtigen Sitemap zu routen. Generieren Sie die sitemap.xml
-Datei im Admin-Bedienfeld wie oben beschrieben und erstellen Sie dann ein benutzerdefiniertes Fastly-VCL-Snippet, um die Umleitung zu verwalten. Siehe Benutzerdefinierte Fastly-VCL-Snippets.
Verwenden eines Fastly VCL-Snippets für die Umleitung
Erstellen Sie ein benutzerdefiniertes VCL-Snippet , um den Pfad für sitemap.xml
zu /media/sitemap.xml
mithilfe der Schlüssel-Wert-Paare type
und content
neu zu schreiben.
{
"name": "sitemapxml_rewrite",
"dynamic": "0",
"type": "recv",
"priority": "90",
"content": "if ( req.url.path ~ \"^/?sitemap.xml$\" ) { set req.url = \"/media/sitemap.xml\"; }"
}
Das folgende Beispiel zeigt, wie Sie den Pfad für robots.txt
und sitemap.xml
zu /media/robots.txt
und /media/sitemap.xml
umschreiben
{
"name": "sitemaprobots_rewrite",
"dynamic": "0",
"type": "recv",
"priority": "90",
"content": "if ( req.url.path ~ \"^/?sitemap.xml$\" ) { set req.url = \"/media/sitemap.xml\"; } else if (req.url.path ~ \"^/?robots.txt$\") { set req.url = \"/media/robots.txt\";}"
}
So verwenden Sie ein Fastly-VCL-Snippet für eine bestimmte Domain-Umleitung:
Erstellen Sie eine pub/media/domain_robots.txt
-Datei, in der die Domain domain.com
ist, und verwenden Sie das nächste VCL-Snippet:
{
"name": "domain_robots",
"dynamic": "0",
"type": "recv",
"priority": "90",
"content": "if ( req.url.path == \"/robots.txt\" ) { if ( req.http.host ~ \"(domain).com$\" ) { set req.url = \"/media/\" re.group.1 \"_robots.txt\"; }}"
}
Der VCL-Ausschnitt leitet http://domain.com/robots.txt
und zeigt die pub/media/domain_robots.txt
an.
Um eine Umleitung für robots.txt
und sitemap.xml
in einem einzigen Snippet zu konfigurieren, erstellen Sie pub/media/domain_robots.txt
- und pub/media/domain_sitemap.xml
-Dateien, wobei die Domain domain.com
ist, und verwenden Sie das nächste VCL-Snippet:
{
"name": "domain_sitemaprobots",
"dynamic": "0",
"type": "recv",
"priority": "90",
"content": "if ( req.url.path == \"/robots.txt\" ) { if ( req.http.host ~ \"(domain).com$\" ) { set req.url = \"/media/\" re.group.1 \"_robots.txt\"; }} else if ( req.url.path == \"/sitemap.xml\" ) { if ( req.http.host ~ \"(domain).com$\" ) { set req.url = \"/media/\" re.group.1 \"_sitemap.xml\"; }}"
}
In der sitemap
-Admin-Konfiguration müssen Sie den Speicherort der Datei mithilfe von pub/media/
anstelle von /
angeben.
Konfigurieren der Indizierung nach Suchmaschine
Um robots.txt
Anpassungen in der Produktion zu aktivieren, müssen Sie die Option Indizierung durch Suchmaschinen ist aktiviert für<environment-name>
in Ihren Projekteinstellungen aktivieren.
-
Die Indizierung durch Suchmaschinen kann nur in der Produktion aktiviert werden, nicht aber in einer der niedrigeren Umgebungen.
-
Wenn Sie PWA Studio Auf die Zulassungsliste setztest verwenden und nicht auf Ihre konfigurierte
robots.txt
zugreifen können, fügen Sierobots.txt
zur Front Name unter Stores > Configuration > General > Web > UPWARD PWA Configuration hinzu.