Robots.txt Strategie

  • Joomla Version
    5
    PHP Version
    PHP 8.3.x
    Hoster
    IONOS

    Hi, ich überlege gerade wie ich meine robots.txt aufbauen soll. Es gibt ja zwei Möglichkeiten:

    1) Alles ausschließen und gezielt Crawler zulassen

    2) Gezielt bestimmte Crawler ausschließen

    Wie macht ihr das? Gibt es bestimmte, größere Nachteile, wenn man sich für 1) entscheidet? Und gibt es Listen, die einem dabei helfen. Ich denke z.B. an die ganzen AI-Crawler. Allerdings gibt es ja auch viele wichtige Crawler von Google und Co.

    Würde folgendes Sinn ergeben? Wichtige Crawler vergessen?

    Spoiler anzeigen

    # Block everything for all Crawlers
    User-agent: *
    Disallow: /

    # Allow everything for Google Search
    User-agent: Googlebot
    Allow: /

    User-agent: Googlebot-Mobile
    Allow: /

    User-agent: Googlebot-Image
    Allow: /

    # Allow everything for Bing Search
    User-agent: Bingbot
    Allow: /

    # Allow everything for Ecosia Search
    User-agent: EcosiaBot
    Allow: /

    # Allow everything for DuckDuckGo Search
    User-agent: DuckDuckBot
    Allow: /

    # Allow everything for Yahoo Search
    User-agent: Slurp
    Allow: /

    # Allow everything for Startpage Search
    User-agent: StartpageBot
    Allow: /

    # Allow everything for Qwant Search
    User-agent: Qwantify
    Allow: /

    # Allow everything for MetaGer Search
    User-agent: MetaGerBot
    Allow: /

    # Allow everything for Google Ads Bots
    User-agent: AdsBot-Google
    Allow: /

    # Allow everything for Bing Ads Bot
    User-agent: AdIdxBot
    Allow: /

    # Allow everything for Social Media Bots to generate Previews
    User-agent: facebot
    Allow: /

    User-agent: Twitterbot
    Allow: /

    User-agent: LinkedInBot
    Allow: /

  • Anfangen würde ich mit

    User-agent: *
    Crawl-delay: 30

    Dadurch wird erst einmal die Abfragefrequenz heruntergesetzt (im Beispiel soll bewirkt werden, dass frühestens nach 30 sec. der nächste Zugriff erfolgt). Ansonsten kann passieren, das jede Sekunde oder noch schneller zugegriffen wird, was die Server-Provider gar nicht mögen. Wir hatten z.B. den Fall, dass durch facebookexternalhit an einem Tag bis zu 350.000 Zugriffe erfolgt sind (glücklicherweise gelöst).

    Und dann muss "Allow: /" ersetzt werden durch "Disallow:" - siehe dazu http://www.robotstxt.org/robotstxt.html

    Wichtig zu wissen ist allerdings, dass die robots.txt nur eine Empfehlung ist und daher nur von den "guten" Bots beachtet wird. Die mehr oder weniger bösartigen kümmern sich nicht oder nur begrenzt darum. So beachtet der Amazonbot z.B. Crawl-delay nicht. Die guten können daran erkannt werden, dass sie im Logfile des Webspaces eine Zugriffsrecord auf die robots.txt hinterlassen (leider viel zu wenige).

    Eine weitaus bessere Abwehr missliebiger Bots kann über die .htaccess erreicht werden. Dazu u.a. folgende Dokus für Apache 2.4

    Über diese Methoden können z.B. IP-Adressen direkt blockiert werden, was unter Umständen z.B. bei Microsoft Sinn macht, das von unterschiedlichsten Servern auf die gleichen URLs zugreift (gilt auch für Google und Amazon). Durch Begrenzung auf ausgewählte IP-Adressen läßt sich Last ebenfalls deutlich reduzieren.

    Viele Beispiele sind auch zu finden in

    Soweit erst einmal.

    Gruß

    Heinz

    "Wer es nicht versucht schafft es auch nicht."

  • Hi, ich überlege gerade wie ich meine robots.txt aufbauen soll. Es gibt ja zwei Möglichkeiten: ....

    Ich würde die robots.txt erst einmal so übernehmen, wie sie in Joomla vorgegeben ist.
    In aller Regel analysiert man seine Seiten ja regelmäßig. Wenn sich dann Auffälligkeiten ergeben, würde ich gezielt eingreifen, egal ob robots.txt oder .htaccess.

    Lediglich wenn man beispielsweise genau weiß, dass Bilder von Google nicht indexiert werden sollen, kann man hier mit disallow für den Google-Imagebot arbeiten.

  • Anfangen würde ich mit

    User-agent: *
    Crawl-delay: 30

    Dadurch wird erst einmal die Abfragefrequenz heruntergesetzt (im Beispiel soll bewirkt werden, dass frühestens nach 30 sec. der nächste Zugriff erfolgt). Ansonsten kann passieren, das jede Sekunde oder noch schneller zugegriffen wird, was die Server-Provider gar nicht mögen. Wir hatten z.B. den Fall, dass durch facebookexternalhit an einem Tag bis zu 350.000 Zugriffe erfolgt sind (glücklicherweise gelöst).


    Das ist ein interessanter Punkt. Ist das nicht ein negativer Punkt für eine Suchmaschine wie Google, wenn diese nur alle 30 Sekunden 1 Seite crawlen darf? Man möchte ja über Google, Bing und Co. gut ranken und gefunden werden. Auf der anderen Seite seine Seite nicht überlasten.

    Ich meine 350.000 Zugriffe an einem Tag wären ja sogar mehr als 4 Anfragen pro Sekunde, konstant den ganzen Tag. Da würde ja auch 2 oder 3 Sekunden Delay schon extrem helfen und die Last um den Faktor 10 und mehr verringern.


    Ich würde die robots.txt erst einmal so übernehmen, wie sie in Joomla vorgegeben ist.
    In aller Regel analysiert man seine Seiten ja regelmäßig. Wenn sich dann Auffälligkeiten ergeben, würde ich gezielt eingreifen, egal ob robots.txt oder .htaccess.

    Die Standard robots.txt ist von Joomla aktiviert im Hauptverzeichnis. Hast du ein Tipp wie man leicht analysieren kann, welches Quellen den Traffic verursachen? Habe jetzt mal den Log-File geöffnet für gestern, aber das sind ja >10.000 Zeilen...

    Und wenn man durch blättert, dann ist da Facebook, Google, Perplexitybot, Claudebot, Bots die ich nicht zuordnen kann...

  • Ist das nicht ein negativer Punkt für eine Suchmaschine wie Google, wenn diese nur alle 30 Sekunden 1 Seite crawlen darf? Man möchte ja über Google, Bing und Co. gut ranken und gefunden werden. Auf der anderen Seite seine Seite nicht überlasten.

    Letztlich muss das jeder seinen Gegebenheiten anpassen. Wenn sich die Inhalte der Webseite eher selten ändern (wie z.B. bei unserer Vereins-Webseite), können 30 oder sogar mehr Sekunden sehr gut ausreichen. Habe ich einen Shop, wo aktuelle Preise sehr schnell kommuniziert werden müssen, sind Vorgaben im unteren Sekundenbereich sicher besser.

    Gruß

    Heinz

    "Wer es nicht versucht schafft es auch nicht."

  • Hast du ein Tipp wie man leicht analysieren kann, welches Quellen den Traffic verursachen? Habe jetzt mal den Log-File geöffnet für gestern, aber das sind ja >10.000 Zeilen...

    Und wenn man durch blättert, dann ist da Facebook, Google, Perplexitybot, Claudebot, Bots die ich nicht zuordnen kann...

    Ist schon länger her, da habe ich mir mal die Mühe gemacht, die log-files für die Zugriffe in Excel einzufügen und dann entsprechend vollautomatisch bearbeiten zu lassen, so dass ich letztendlich eine schöne Übersicht über die Häufigkeit von bestimmten Botzugriffen hatte.
    Dementsprechend habe ich dann meine .htaccess angepasst. Das Ganze habe ich dann über Monate analysiert. Mache ich aber schon länger nicht mehr.

    Es gibt übrigens schon entsprechende Listen mit "unbeliebten" Bots, die du als Grundlage nehmen könntest.
    Das blöde an der ganzen Sache ist halt, dass man die immer wieder anpassen muss. Kann man aber auch automatisieren.
    Und wenn du einen Bot nicht kennst, musst du ihn halt googeln!

    Da kann man wirklich viel Zeit reinstecken. Für die meisten Webseiten ist das aber eh belanglos.

  • Hallo zusammen,

    in dem diskutierten Kontext habe ich eine Zusatzfrage:

    Wenn in Joomla via iframe eine "fremde" Webseite integriert wird und diese Webseite ihre eigene robots.txt mitbringt, muss die Joomla robots.txt mit der via iframe vorliegende robots.txt zusammengefasst werden?

    Im konkreten Beispiel wird die via iframe integrierte Webseite vom der selben Person wie die Joomla-Seite betrieben.

  • Wenn in Joomla via iframe eine "fremde" Webseite integriert wird und diese Webseite ihre eigene robots.txt mitbringt, muss die Joomla robots.txt mit der via iframe vorliegende robots.txt zusammengefasst werden?

    Wer von wem ist egal.

    Alles was von einer anderen Seite per iframe eingebunden wird hat nichts in den robots verloren.

  • Hallo,

    hat niemand einen Tipp für mich?

    Das kommt vor allem auf den Inhalt der robots.txt-Dateien an. Für deine Webseite gilt deine robots.txt.
    Wenn du beispielsweise kein Disallow für den Google-ImageBot nutzt, die eingebundene Seite das aber vorsieht, dann musst du selber entscheiden wie du verfährst. Du könntest ja dann das Disallow speziell für den eingebundenen Inhalt in deine robots.txt aufnehmen. Du schreibst ja, dass beide Webseiten von der selben Person betrieben werden.

  • Hallo Dirk,

    ... per iframe eingebunden wird hat nichts in den robots verloren.

    Gilt das grundsätzlich?

    Ein Beispiel:

    Ein Fotoclub betreibt eine Joomla-Homepage und für die Bilderpräsentation (alle Bilder ausnahmslos von Autoren des FC) wird ein Bildprogramm per iframe eingebunden. Dieses integrierte Prog bring seine eigene rotbots.txt mit um z.B. seine Admin-Seite, die eigenen Apps und den Content (also die Bilder) per Disallow (für willige Bots) zu schützen.

    Warum sollen diese Inhalte der Bildprogs robots.txt nicht in die Joomla robots.txt integriert werden? Kannst Du das bitte etwas erläutern?

    Mir ist das robots.txt Konzept (und seine Einschränken) soweit schon klar, nur im "iframe-Fall" bin ich unsicher.

    Besten Dank.

  • Hallo JoomlaWunder,

    eingebundenen Inhalt in deine robots.txt aufnehmen. Du schreibst ja, dass beide Webseiten von der selben Person betrieben werden.

    genau das war meine Überlegung, aber wie oben beschrieben bin ich mir nicht sicher ob es da irgenwelche "Seiteneffekte" gibt, die Probleme bereiten.

    Danke für Deinen Beitrag.