Möglichkeit, alle RSS-Feeds global zu deaktivieren

Hallo,

Während wir eine SEO-Auditierung unserer Website durchführen, von der ein Teil auf Discourse läuft, stellt sich heraus, dass Googlebot einen erheblichen Teil des Crawl-Budgets für RSS-Feeds verwendet. Dies trotz der Tatsache, dass die standardmäßige robots.txt-Datei von Discourse diese URLs blockiert und trotz der Tatsache, dass für diese RSS-URLs ein noindex-Header in der HTTP-Antwort gesendet wird.

Ich frage mich, ob es eine nicht „hackige" Möglichkeit gibt, diese RSS-Feeds auf meiner Website komplett zu deaktivieren. Ich vermute nicht, dass viele Leute sie nutzen (ich werde dies gerne überprüfen). Meine Frage bleibt jedoch bestehen.

Vielen Dank für jede Hilfe dazu!

–Hugh

1 „Gefällt mir“

Aktuell gibt es keine Checkbox, um diese Feeds zu deaktivieren.

Wenn Sie sich mit nginx auskennen, können Sie einen Location-Block erstellen, der auf .rss abzielt und eine 404-Antwort zurückgibt. Fügen Sie diesen im entsprechenden Abschnitt der app.yml-Datei ein.

1 „Gefällt mir“

Wäre das Senden eines 404-Fehlers nicht noch schlechter für SEO?

2 „Gefällt mir“

Warum blockieren Sie sie nicht mit nginx?

Ruft Google diese Seiten tatsächlich ab, oder tauchen die URLs nur in der Google Search Console als „indexiert, aber durch robots.txt blockiert" auf?

Ich sehe keine noindex-Header in RSS-Feeds, aber wenn eine URL durch robots.txt blockiert ist und einen robots-Header hat, könnte der Crawler diesen Header möglicherweise nie sehen.

[Ich habe die Ausgabe von curl -I entfernt, da dabei kein GET-Request verwendet wurde, weshalb der robots-Header fehlte.]

Edit: Ich habe die RSS-Feeds gerade mit einer GET-Anfrage geprüft, weil ich dachte, der x-robots-noindex-Header wäre in den RSS-Feeds enthalten. Er ist tatsächlich vorhanden, aber nur bei einer GET-Anfrage.

Jetzt fällt mir ein, was ich auf meinem Hauptforum gemacht habe. Die Google Search Console warnte davor, dass RSS-URLs indexiert, aber blockiert seien. Deshalb habe ich die Feeds in der robots.txt freigegeben, da dies verhindert, dass Googlebot die URLs abruft und den noindex-Header sieht. Ich bin mir ziemlich sicher, dass dies die Warnungen beheben wird, aber ich weiß nicht, ob es Googlebot davon abhält, diese URLs zu crawlen.

# Disallow: /t/*/*.rss
# Disallow: /c/*.rss

Ich würde mich ein wenig Sorgen machen, wenn man Crawlern mitteilt, dass RSS-Feeds vorhanden sind (mittels link, siehe unten), ihnen aber 404-Fehler zurückgibt, wenn die Bots versuchen, diese URLs abzurufen. Das könnte eine Maschine dazu veranlassen, anzunehmen, es gäbe ein technisches Problem mit der Website, was deren Qualitätsbewertung senken könnte (unabhängig davon, wie Suchmaschinen die Qualität bestimmen oder ob eine Seite für Nutzer möglicherweise defekt ist).

$ curl -s https://meta.discourse.org/latest | grep -i rss    
    <link rel="alternate" type="application/rss+xml" title="Latest posts" href="https://meta.discourse.org/posts.rss" />
    <link rel="alternate" type="application/rss+xml" title="Latest topics" href="https://meta.discourse.org/latest.rss" />
   ...
1 „Gefällt mir“

Ja, die 404-Lösung sagt mir nicht zu. Sie scheint Google ein schlechtes Signal zu senden und ist auch eine ziemlich grobe Methode, um das zu erreichen, was ich möchte. Was ich wirklich will, ist, dass die Links gar nicht erst auf der Seite stehen, nicht dass sie zu toten Links werden.

Zu deiner Frage: Die RSS-Feeds werden in der Search Console als „Von ‚noindex’-Tag ausgeschlossen" angezeigt. Es ist unklar, ob Google Zeit damit verbracht hat, sie abzurufen und sie dann auszuschließen, oder ob sie bereits vor dem Abruf ausgeschlossen wurden. Im letzteren Fall wäre die Auswirkung auf das Crawl-Budget wahrscheinlich geringer.

Es könnte Informationen darüber geben, wie viele RSS-URLs sie abrufen, in den nginx-Logs. Ich habe gerade meine eigenen geprüft, und Googlebot durchsucht die RSS-Feeds. Das habe ich auch so gewollt, da ich sie in der robots.txt freigegeben habe.