WordPress liefert standardmäßig mehrere RSS-Feeds aus: einen für Beiträge, einen für Kommentare, je einen pro Kategorie, Tag und Autor. Für klassische Blogs ist das praktisch - Leser können sich abonnieren, Dienste wie Mailchimp und IFTTT hängen sich rein. Für eine Unternehmens-Webseite mit fünf statischen Seiten und einem Kontaktformular ist es schlicht unnötiger Ballast: Google crawlt die Feeds, indexiert sie nicht (Duplicate Content) und meldet dir Stunden später in der Search Console "Gecrawlt, zurzeit nicht indexiert".
Diese Anleitung zeigt dir drei Wege, den RSS-Feed komplett abzuschalten - per Code, per Plugin oder direkt auf Server-Ebene. Plus den robots.txt-Tipp aus den Kommentaren von Jörg, der die Suchmaschinen zusätzlich höflich darauf hinweist, dass es hier nichts zu holen gibt.
Hat meine WordPress-Seite überhaupt einen Feed?
Ja, immer. Ohne Ausnahme. Selbst wenn du noch nie einen Beitrag veröffentlicht hast, sind die Feed-URLs erreichbar. Die wichtigsten:
https://deine-domain.de/feed/- Beiträgehttps://deine-domain.de/comments/feed/- Kommentarehttps://deine-domain.de/category/SLUG/feed/- pro Kategoriehttps://deine-domain.de/tag/SLUG/feed/- pro Schlagworthttps://deine-domain.de/author/admin/feed/- pro Autor
Ruf einfach /feed/ hinter deiner Domain auf. Wenn ein XML-Dokument erscheint, ist der Feed aktiv. Im Quellcode der Startseite (Strg+U im Browser) findest du außerdem die <link rel="alternate" type="application/rss+xml" ...>-Einträge, die Browser und Crawler auf die Feed-URLs hinweisen.
Warum den RSS-Feed abschalten?
Es gibt drei realistische Gründe, den Feed zu deaktivieren:
- Duplicate Content vermeiden. Feed-Inhalte sind exakt die Inhalte deiner Seite, nur in XML. Google indexiert sie meist nicht, crawlt sie aber. Bei kleinen Seiten egal, bei größeren Auftritten verbrennst du Crawl-Budget für Inhalte, die Google sowieso ignoriert.
- Suchmaschinen-Berichte sauber halten. In der Google Search Console tauchen die Feed-URLs unter "Gecrawlt - zurzeit nicht indexiert" auf. Das ist kein Fehler, sieht aber unschön aus und kann den Blick auf echte Probleme verstellen.
- Inhalts-Scraping erschweren. RSS-Feeds sind die bequemste Quelle für automatisierte Content-Diebe (Scraper, Aggregator-Sites, Content-Spinner). Kein Feed heißt nicht "keine Scraper", aber es ist eine Hürde weniger.
Wenn keiner dieser Punkte für dich relevant ist, lass den Feed an. RSS lebt - Mailchimp-RSS-to-Email, Newsletter-Automatisierungen, Podcast-Verteilung und IFTTT/Zapier-Workflows hängen daran.
RSS-Feed über die functions.php deaktivieren
Das ist mein bevorzugter Weg: keine zusätzliche Plugin-Abhängigkeit, sauber im Theme verankert, leicht reversibel.
Öffne die Datei functions.php deines aktiven Child-Themes (nicht des Parent-Themes - bei jedem Theme-Update wäre die Änderung sonst weg). Wenn du kein Child-Theme nutzt, ist jetzt der richtige Moment, eines anzulegen. Dann am Ende der Datei einfügen:
/* RSS-Feed deaktivieren - https://www.redirect301.de/wp-rss-feed-deaktivieren/ */
function fb_disable_feed() {
wp_die(
__('Auf dieser Website wird kein RSS-Feed angeboten. Bitte besuche unsere <a href="' . esc_url(home_url('/')) . '">Startseite</a>.'),
'Kein RSS-Feed',
array('response' => 410)
);
}
add_action('do_feed', 'fb_disable_feed', 1);
add_action('do_feed_rdf', 'fb_disable_feed', 1);
add_action('do_feed_rss', 'fb_disable_feed', 1);
add_action('do_feed_rss2', 'fb_disable_feed', 1);
add_action('do_feed_atom', 'fb_disable_feed', 1);
add_action('do_feed_rss2_comments','fb_disable_feed', 1);
add_action('do_feed_atom_comments','fb_disable_feed', 1);
2. Die alte Anleitung hatte einen Tippfehler: die letzten zwei
add_action-Zeilen verwiesen auf eine nicht existierende Funktion wpb_disable_feed. Dadurch blieben Kommentar-Feeds aktiv. Jetzt zeigen alle Zeilen auf dieselbe Funktion fb_disable_feed.3.
esc_url() sichert den Link gegen Manipulation der Home-URL ab.
Optional: zusätzlich die Feed-Links im Quellcode entfernen
Auch nach dem Deaktivieren verweist WordPress im HTML-Header noch auf die Feed-URLs (<link rel="alternate" type="application/rss+xml" ...>). Crawler folgen diesen Links zwar nicht mehr erfolgreich, aber sauberer ist es, sie ganz zu entfernen. Setz dazu zusätzlich in die functions.php:
remove_action('wp_head', 'feed_links', 2);
remove_action('wp_head', 'feed_links_extra', 3);
Danach im Browser Strg + U auf der Startseite drücken und nach application/rss suchen - es darf kein Treffer mehr erscheinen.
Plugin-Alternative: Disable Feeds
Wenn du keine Code-Änderungen am Theme machen willst oder kein Child-Theme im Einsatz hast, geht der gleiche Effekt über ein Plugin. Die saubersten Optionen aktuell:
- Disable Feeds (von Samuel Wood / Otto42) - winziges Plugin, das exakt das gleiche tut wie das Code-Snippet oben. Keine Einstellungen, einfach aktivieren.
- Perfmatters - kostenpflichtig, aber wenn du es ohnehin für Performance-Optimierungen nutzt, ist das Feed-Abschalten ein Klick im Backend.
Mein Tipp: für eine einzelne Funktion brauchst du kein Plugin. Code-Snippet in die functions.php und fertig. Jedes nicht installierte Plugin ist eines weniger, das du updaten und auf Sicherheitslücken überwachen musst.
Härtere Variante: Feed per .htaccess sperren
Wenn du sicherstellen willst, dass die Feed-URLs gar nicht erst PHP erreichen (z.B. weil aggressive Scraper dir Last verursachen), kannst du den Feed direkt auf Apache-Ebene blockieren. Trag oberhalb des WordPress-Blocks in die .htaccess ein:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^feed/?$ - [G,L]
RewriteRule ^comments/feed/?$ - [G,L]
RewriteRule ^(.+)/feed/?$ - [G,L]
</IfModule>
Das [G]-Flag liefert HTTP-Status 410 Gone für alle Feed-URLs - ohne PHP-Aufruf, ohne Datenbank-Query. Spart Ressourcen und ist die schnellste Variante.
Vorsicht: diese Regel greift auch für Custom Post Types und Sub-Feeds. Falls du irgendwo doch einen Feed brauchst (z.B. einen Podcast-Feed unter /podcast/feed/), passt du die Regeln entsprechend an oder bleibst bei der functions.php-Variante.
robots.txt: Suchmaschinen den Hinweis geben
Auch wenn die Feeds technisch deaktiviert sind, finden Google und Bing die URLs noch über alte Indizes, Sitemaps oder eingehende Links. Du kannst Suchmaschinen den Aufwand sparen, indem du die Feed-URLs in der robots.txt explizit ausschließt:
User-agent: *
Disallow: /feed/
Disallow: /comments/feed/
Disallow: */feed/
Das ersetzt das Abschalten nicht (robots.txt ist nur eine Empfehlung an Crawler, kein Zwang), ergänzt es aber sauber. Diesen Hinweis hat Jörg in den Kommentaren ergänzt - guter Punkt, danke.
Mehr zum Zusammenspiel von noindex, robots.txt und sitemap.xml findest du im Artikel noindex, robots.txt und sitemap.xml.
Kontrolle: hat es funktioniert?
Drei einfache Checks nach dem Speichern:
- Ruf
https://deine-domain.de/feed/auf. Statt einer XML-Liste sollte die "Kein RSS-Feed"-Seite erscheinen (functions.php-Variante) oder ein 410-Status (.htaccess-Variante). Den Status prüfst du am schnellsten in den Browser-Entwicklertools unter Netzwerk-Tab. - Schau in den Quellcode der Startseite. Such mit Strg + F nach
rss+xml. Wenn duremove_actionergänzt hast, darf kein Treffer mehr da sein. - In der Google Search Console nach 2-3 Wochen unter Indexierung → Seiten die Anzahl der "Gecrawlt - zurzeit nicht indexiert"-Einträge kontrollieren. Die feed-URLs sollten dort verschwinden.
Häufige Fragen
Was passiert mit bestehenden Feed-Abonnenten?
Sie sehen statt neuer Beiträge die "Kein RSS-Feed"-Meldung in ihrem Feedreader. Nach ein paar fehlgeschlagenen Versuchen entfernen viele Feedreader das Abo automatisch. Wenn du einen aktiven Leserkreis hast, bietet sich vorher eine Hinweis-Mail an.
Reicht es nicht, einfach robots.txt zu nutzen?
Nein. Die robots.txt ist nur ein Hinweis an Suchmaschinen, kein Zugriffsschutz. Scraper ignorieren sie, der Feed selbst bleibt erreichbar und liefert XML aus. Erst die functions.php- oder .htaccess-Variante schaltet ihn wirklich aus.
Hat das SEO-Vorteile?
Marginal. Du sparst Crawl-Budget und räumst die Search Console auf. Für kleine Seiten ist der Effekt minimal, für große Seiten mit vielen Kategorien und Tags durchaus messbar.
Welche Statuscode-Variante ist besser, 410 oder 404?
410 Gone. Sie signalisiert Suchmaschinen explizit, dass die Ressource entfernt wurde und nicht wiederkommt - Google entfernt 410-URLs deutlich schneller aus dem Index als 404er.
Was, wenn ich später doch wieder einen Feed brauche?
Code aus der functions.php raus, Cache leeren - Feed ist wieder da. Bei der .htaccess-Variante die drei RewriteRule-Zeilen entfernen.
Funktioniert das auch im WordPress Multisite-Netzwerk?
Ja, aber pro Site einzeln. Wenn du es netzwerkweit deaktivieren willst, gehört der Code in ein eigenes Must-Use-Plugin unter wp-content/mu-plugins/disable-feeds.php.
Quellen und weiterführende Anleitungen
Verwandte Artikel
- WordPress Indexierung steuern - was Google indexieren darf und was nicht
- noindex, robots.txt und sitemap.xml - das Zusammenspiel der drei Mechanismen
- WordPress absichern - Login und .htaccess härten
- WordPress reparieren - Notfall-Hub bei kaputten Seiten
Kommentararchiv 1
Ein Leser-Kommentar von Jörg aus 2020: er bestätigt das Vorgehen aus dem Artikel und ergänzt, dass er zusätzlich die feed-URLs in der robots.txt blockiert hat. Genau dieser Hinweis ist seit der Überarbeitung 2026 als eigener Abschnitt im Artikel enthalten - vielen Dank, Jörg.