Domainbasierte robots.txt
Sofern Sie in Ihrem Shopware Shop mehrere Sales-Channels besitzen, können Sie für die unterschiedlichen Domains, die verwendet werden, eigene Robots-Anweisungen definieren.
Voraussetzungen
- Shopware Installation
- mehrere Domains / Verkaufskanäle
Verzeichnisstruktur anpassen
Zu Beginn muss im public Verzeichnis von Shopware ein weiteres Verzeichnis namens robots erstellt werden. Innerhalb des robots Verzeichnis müssen dann die jeweiligen robots.txt Dateien mit der folgenden Namenskonvention erzeugt werden, bspw.: domain.tld.txt oder sub.domain.tld.txt.
Beispiel
Ein Beispiel zwei verschiedener robots.txt in einer Shopware Installation:
public/robots/beispiel.de.txt public/robots/shop.beispiel.de.txt Terminal
mkdir -p /var/www/vhosts/<plesk-domain-name>/httpdocs/public/robots
touch /var/www/vhosts/<plesk-domain-name>/httpdocs/public/robots/shop.beispiel.de.txt
touch /var/www/vhosts/<plesk-domain-name>/httpdocs/public/robots/beispiel.de.txt In den Dateien shop.beispiel.de.txt und beispiel.com.txt können Sie nun die für die jeweilige Domain relevanten Robots-Anweisungen hinterlegen.
Plesk Control Panel
Navigieren Sie in den Datei-Browser des entsprechenden Abonnements.
Anschließend muss das Verzeichnis robots im public Verzeichnis erstellt werden.
Bestätigen Sie mit der Schaltfläche „OK" und wechseln Sie anschließend in das zuvor erstellte Verzeichnis.
Erstellen Sie in dem robots Verzeichnis für jede Domain, für die Sie eigene Robots-Anweisungen definieren wollen, eine Datei mit der folgenden Namenskonvention, bspw.: domain.tld.txt oder sub.domain.tld.txt
Bestätigen Sie den Dateinamen mit der Schaltfläche „OK" und wählen Sie anschließend die Datei im Datei-Browser aus, tragen in dem sich öffnenden Editor-Fenster die gewünschten Robots-Anweisungen ein und speichern die Änderung über die blau hinterlegte Schaltfläche Speichern.
Da in dem Beispiel für jeweils zwei Domains Anweisungen definiert werden sollen, muss ebenfalls die folgende Datei erstellt und mit Robots-Anweisungen gefüllt werden: beispiel.de.txt
Sie können die ursprünglich einzelne robots.txt entfernen, da diese nicht mehr verwendet wird. Beachten Sie, dass dessen Datei-Inhalt jedoch für eine der dedizierten robots.txt relevant sein könnte.
Apache2 Rewrite-Regel hinterlegen
Bei Plesk wird im Standard der Webserver Apache2 für die Auslieferung der Webseiten des jeweiligen Abonnements verwendet, weswegen hier ausschließlich eine Anpassung der .htaccess erforderlich ist.
Fügen Sie folgendes am Anfang der .htaccess Datei ein:
RewriteRule ^robots\.txt$ robots/%{HTTP_HOST}.txt [NS] Die .htaccess Datei befindet sich ebenfalls im public Verzeichnis der Shopware Installation.
Plesk NGINX Rewrite-Regel hinterlegen
Sofern Sie den NGINX-Proxymodus deaktiviert haben, muss die Rewrite-Regel in den zusätzliche nginx-Anweisungen hinterlegt werden. Navigieren Sie hierzu in die Hosting und DNS Einstellungen Ihres Abonnements und öffnen Sie die Apache und nginx Einstellungen.
Fügen Sie dort die folgende nginx-Anweisung zu und speichern Sie die Änderung mit einem Klick auf die blaut hinterlegte Schaltfläche OK.
\nZusätzliche nginx-Anweisungen:
# multi domain robots.txt
rewrite ^/robots\.txt$ /robots/$host.txt; Standalone NGINX Rewrite-Regel hinterlegen
Wir NGINX alleine betrieben, muss die Rewrite-Regel in dem entsprechenden Server-Block hinzugefügt werden. Je nachdem wie Sie NGINX konfiguriert haben, finden Sie die entsprechende Konfigurationsdatei unter /etc/nginx/conf.d oder in /etc/nginx/sites-available.
Für Änderungen im Verzeichnis /etc wird grundsätzlich der root Benutzer benötigt.
\nBeispiel:
server {
listen 80;
listen [::]:80;
server_name domain.tld;
root /var/www/domain.tld/public;
# mutli domain robots.txt
+ rewrite ^/robots\.txt$ /robots/$host.txt
index index.html index.htm;
} Anschließend muss die Nginx-Konfiguration mit folgendem Befehl neu geladen werden:
systemctl reload nginx Im Vergleich zu dem Befehl systemctl restart nginx sorgt der reload Befehl ausschließlich für das Neuladen der Konfigurationsdatei, sodass hierbei keine Verbindungen hart abgebrochen werden.