Keine automatische robots.txt in SW6?

Hallo Community,

gibt es in Shopware 6 keine automatische robots.txt Datei? Hat jemand eine sinnvolle Vorlage?
Ich habe mir die Shops in den Case Studies angeschaut, 8 von 2 haben eine. Hier gibt es wohl Nachholbedarf.

Gruß
Marco

Hallo,

automatisch gibt es keine, aber du kannst einfach eine in /public/robots.txt anlegen.

Bsp:

User-agent: *
Allow: /
Disallow: /*?
Disallow: /*account/
Disallow: /*checkout/
Disallow: /*widgets/
Disallow: /*navigation/
Disallow: /*bundles/


Disallow: /*impressum$
Disallow: /*datenschutz$
Disallow: /*agb$

Sitemap: https://www.deinedomain.com/sitemap.xml

Viele Grüße

5 „Gefällt mir“

Sehr gut. Danke. Das sollte evtl. in die SW6 Dokumentation übernommen werden…

@shopware Wird diese Funktion noch kommen oder muss man sich immer selbst eine robots.txt erstellen?

Vielen Dank im Voraus!
Gruß Daniel

Wie erstell man dann die robots.txt wenn man mehrere Domains hat?

Sitemap: https://www.deineErsteDomain.com/sitemap.xml
Sitemap: https://www.deineZweiteDomain.com/sitemap.xml

 

Das würde mich auch interessieren…

@HADDEN schrieb:

Hallo,

automatisch gibt es keine, aber du kannst einfach eine in /public/robots.txt anlegen.

 

 

Bsp:

User-agent: *
Allow: /
Disallow: /*?
Disallow: /*account/
Disallow: /*checkout/
Disallow: /*widgets/
Disallow: /*navigation/
Disallow: /*bundles/

Disallow: /*impressum$
Disallow: /*datenschutz$
Disallow: /*agb$

Sitemap: https://www.deinedomain.com/sitemap.xml

Viele Grüße

 

 

 

Mit der robots habe ich so meine Probleme…wenn ich diese erstelle und unter /public hochlade und versuche diese aufzurufen, komme ich auf eine 404 Seite …Google search console findet diese daher auch nicht … klappt der aufruf bei euch oder woran liegt es bei mir ?

 

@silvio123 schrieb:

Wie erstell man dann die robots.txt wenn man mehrere Domains hat?

Sitemap: https://www.deineErsteDomain.com/sitemap.xml
Sitemap: https://www.deineZweiteDomain.com/sitemap.xml

 

Nein. Da du hier eine Differenzierung auf Domain-Ebene hast geht das so nicht. Jede Domain muss seine eigene robots.txt und sitemap.xml haben.

Wenn du nun aber auf ein und der selben Domain z.B.: mehrere Sprachen hast. So wie:

https://www.domain.de/ (deutsch)
https://www.domain.de/en/ (englisch)

 

Dann würde die robots.txt so aussehen:

Sitemap: https://www.domain.de/sitemap.xml
Sitemap: https://www.domain.de/en/sitemap.xml

Achtung: robots.txt gibt es pro Domain nur eine. Also darf hier in /en/ keine neue robots.txt liegen, bzw darf, bringt aber nichts.
Solltest du mehrere Domains haben, die von ein und der selben Shopware (6) Instanz gehandhabt werden dann hast du erstmal ein Problem. Denn der Ort auf dem WebSpace wäre für:

domain1.de/robots.txt

genau der selbe wie für:

domain2.de/robots.txt

Hier hilft nur dynamisches Generieren von deiner robots.txt.
AUßER: die robots.txt ist für beide komplett identisch!

Hier sollte allerdings schon der absolute Link der sitemap.xml nicht identisch sein. Das lässt sich lösen. Indem man ihn in einen relativen Link umwandelt. Dann würde die robots.txt (der sitemap-Teil) so aussehen:

Sitemap: /sitemap.xml
Sitemap: /en/sitemap.xml

Jetzt müsste man sich eben nur ganz sicher sein, dass diese robots.txt für beide wirklich identisch ist. Aber gehen tut es so.

 

 

Was es dazu zu sagen gibt:

Laut offiziellen Dokumentationen (LINK) sollte es KEIN relatives Pfad sein, sondern MUSS ein absoluter Pfad sein. Allerdings hat Google bisher auch meine relativen Pfade erkannt. Aber darauf würde ich mich auf lange Sicht nicht verlassen!
So oder so: Shopware sollte hier dynamisch eine robots.txt generieren (und Cachen!!!) können und das für jede in die Installation gemappte Domain! 
Was es noch geben soltle: Variablen, die gerendert werden können. z.B.: { domain }, { shema }, { urlBase } etc etc, die dann einfach gerendert werden und pro Domain dann abgespeichert werden und per rewrite oder einem Routing Enhancer dann eben dementsprechen ausgeliefert werden.

 

(TYPO3 hat sowas … wollte es nur gesagt haben)

Vielen Dank für die ausführlichen Infos.

Mir ist aber noch nicht ganz klar, wie ich das in einer Shopware Installation mit mehreren Verkaufskanälen machen muss, wenn jeder Verkaufskanal über eine andere Url erreichbar ist. Hier müsste ich doch die Robots.txt und die Sitemap.xml je Verkaufskanal / Url separat hinterlegen.

Wie mache ich das?

Gruß Daniel

können diese beiden Ressourcen wirklich problemlos gesperrt werden? Wird die „navigation“ nicht in der mobilen Ansicht als Main-Navi verwendet? Falls ja, so sollte Google diese ja zwingend aufrufen dürfen.

Das würde mich auch interessieren.
Zudem wüsste ich gerne, für was die Sterne (/*widgets/) und das Zeichen (/*impressum) bei den Regel sind.

Vielen Dank im Voraus!
Gruß Daniel

Ja ob es problemlos ist, kann ich nicht 100%ig sagen. Die Navigation hat bei mir die normale SEO href

Die Sternchen habe ich drin, weil es bei mir mehrere Verkaufskanäle mit verschiedene URLs gibt. Aber es gibt nur eine robots.txt.

z.B. /de/de/widgets und /at/de/widgets/

1 „Gefällt mir“

Moin, @HADDEN

wir haben das gleiche Setup: Eine Shopware-Instanz, aber zwei Verkaufskanäle mit 2 verschiedenen Domains (.de & .com).
Kannst du bitte ein kurzes Beispiel hier posten, wie du beide Domains in einer robots.txt Datei behandelst?

Großes Dankeschön

Ich habe mir folgendes Setting eingerichtet, und es scheint zu gehen. Die Google Search Console hat auch nicht gemeckert.

→ in der htaccess im Bereich mod_rewrite hinzufügen → RewriteRule ^robots.txt$ robots.php

→ Inhalt der robots.php-Datei

<?php

#
# dieses File dient zur automatischen Auswahl des robots.txt file je nach Domain
# das originale robots.txt im Root wird nicht beachtet
# siehe htaccess -> RewriteRule ^robots.txt$ robots.php
#

  header('Content-Type: text/plain; charset=utf-8');

  if($_SERVER['HTTP_HOST']=='www.domain.de'){
    echo 'User-agent: *
    Disallow: /*account/
    Disallow: /*checkout/
    Disallow: /*widgets/
    Disallow: /*navigation/
    Disallow: /*bundles/
    Disallow: /*wishlist/
    Disallow: /*informationen/
    Disallow: /*rechtliches/

    Disallow: /*.pdf$
    Disallow: /*impressum$
    Disallow: /*agb$

    Host: https://www.domain.de/
    Sitemap: https://www.domain.de/sitemap.xml
    ';
  } else if($_SERVER['HTTP_HOST']=='www.domain.com'){
    echo 'User-agent: *
    Disallow: /*account/
    Disallow: /*checkout/
    Disallow: /*widgets/
    Disallow: /*navigation/
    Disallow: /*bundles/
    Disallow: /*wishlist/
    Disallow: /*informations/
    Disallow: /*legal-conditions/

    Disallow: /*.pdf$
    Disallow: /*imprint$
    Disallow: /*general-terms-and-conditions$

    Host: https://www.domain.com/
    Sitemap: https://www.domain.com/sitemap.xml
    ';
  } else {
    echo 'User-agent: *
    Disallow: /
    ';
  }
?> 
4 „Gefällt mir“

Oh wow. Wusste nicht das sowas geht. Danke für den Post und sry dass ich erst jetzt mal wieder hier rein geschaut habe.

1 „Gefällt mir“