WordPress generiert automatisch RSS-Feeds für Beiträge, Kategorien, Kommentare und Autoren. Die Auswirkungen auf SEO werden oft unterschätzt: Unkonfiguriert können Feeds Duplicate Content erzeugen und Content-Scrapern das Leben erleichtern.
Welche Feeds WordPress erstellt
WordPress generiert standardmäßig mehrere Feed-Typen:
- Haupt-Feed (
/feed/) - alle neuesten Beiträge - Kategorie-Feeds (
/category/[name]/feed/) - Beiträge einer Kategorie - Tag-Feeds (
/tag/[name]/feed/) - Beiträge eines Tags - Autoren-Feeds (
/author/[name]/feed/) - Beiträge eines Autors - Kommentar-Feeds (
/comments/feed/) - alle Kommentare - Artikel-Kommentar-Feeds (
/[artikel]/feed/) - Kommentare eines Artikels
Das sind für eine mittelgroße WordPress-Website schnell 20-50 aktive Feed-URLs. Google crawlt diese mit.
Content-Scraper-Bots nutzen WordPress RSS-Feeds automatisch als Quelle. Wie oft die Kopie dabei vor dem Original im Index landet, ist nirgends sauber gemessen; vorkommen tut es, wenn die Scraper-Site häufiger gecrawlt wird als die eigene. Google rät inzwischen davon ab, sich bei syndizierten Inhalten auf Canonical zu verlassen, und empfiehlt stattdessen, die Kopie beim Partner von der Indexierung auszuschließen (Google Search Central).
Das Duplicate-Content-Problem
Feed-Inhalte sind identisch mit dem Artikel-Content. Google sieht:
/blog/mein-artikel/- vollständiger Artikel/feed/- derselbe Artikel im XML-Format/category/seo/feed/- derselbe Artikel nochmals
Technisch ist das kein Problem wenn Google die Original-URL erkennt. Praktisch kann es zu Confusion führen wenn Scraper-Sites den Feed-Content indexieren und ranken.
Was hilft und was nicht
WordPress fügt seit Version 4.4 automatisch rel="canonical" in Feed-Inhalten ein, und ein SEO-Plugin wie Rank Math oder Yoast tut dasselbe. Verlassen Sie sich nicht darauf. Google rät bei syndizierten Inhalten inzwischen ausdrücklich davon ab, die Zuordnung über Canonical zu regeln, weil ein fremder Server das Tag ignorieren oder überschreiben kann. Wirksam ist nur, was auf der Kopie passiert: Wer seinen Feed bewusst an Partner weitergibt, vereinbart, dass die Kopie dort von der Indexierung ausgeschlossen wird. Gegen Scraper, die ungefragt kopieren, hilft beides nicht. Dort zählt, dass Ihr Original zuerst gecrawlt wird.
Feed-Länge konfigurieren
Standardmäßig zeigt WordPress die letzten 10 Beiträge im Feed, wahlweise als Volltext oder Auszug.
Einstellungen → Lesen:
- „Für jeden Beitrag im Feed zeige" → Zusammenfassung wählen
- Anzahl der Feed-Einträge reduzieren (z. B. 5 statt 10)
Feeds auf „Zusammenfassung" stellen statt „Volltext". Das reduziert Duplicate Content, schützt Ihren Content vor vollständigem Scraping und macht den Feed für Aggregatoren weniger attraktiv. Die meisten Feed-Reader kommen mit Zusammenfassungen gut zurecht und rufen den Volltext auf Ihrer Website ab.
// In functions.php: Feed auf Auszug begrenzen
add_filter('the_excerpt_rss', 'custom_rss_excerpt');
function custom_rss_excerpt($content) {
return wp_trim_words(strip_tags($content), 30, '...');
}
Unnötige Feeds deaktivieren
Kommentar-Feeds und Autoren-Feeds bringen meist keinen Mehrwert und können deaktiviert werden:
// In functions.php: Kommentar-Feeds deaktivieren
add_action('do_feed', 'disable_feed', 1);
add_action('do_feed_rdf', 'disable_feed', 1);
add_action('do_feed_rss', 'disable_feed', 1);
add_action('do_feed_rss2', 'disable_feed', 1);
add_action('do_feed_atom', 'disable_feed', 1);
add_action('do_feed_rss2_comments', 'disable_feed', 1);
add_action('do_feed_atom_comments', 'disable_feed', 1);
function disable_feed() {
wp_die(
'<p>Kein Feed verfügbar, bitte besuchen Sie unsere <a href="'
. get_bloginfo('url') . '">Website</a>.</p>'
);
}
Oder selektiv nur Kommentar-Feeds entfernen:
// Nur Kommentar-Feeds deaktivieren
remove_action('wp_head', 'feed_links_extra', 3);
Websites die ihre WordPress-Feeds auf „Zusammenfassung" umstellen und Kommentar-Feeds deaktivieren, reduzieren unnötige Crawl-Budget-Verschwendung um durchschnittlich 15-20 Feed-URLs pro Website - relevanter bei großen Blogs mit vielen Kategorien und Tags.
Feed-Sicherheit: Scraping erschweren
Feeds komplett zu deaktivieren ist für die meisten Websites keine gute Idee - sie werden von anderen Aggregatoren und Tools genutzt. Aber es gibt Maßnahmen:
Nur für eingeloggte Nutzer:
// Feed nur für angemeldete Nutzer
function restrict_feed_to_logged_in() {
if (is_feed() && !is_user_logged_in()) {
wp_redirect(home_url());
exit;
}
}
add_action('template_redirect', 'restrict_feed_to_logged_in');
User-Agent-Blocking im .htaccess für bekannte Scraper-Bots - allerdings wartungsintensiv.
Feeds in robots.txt
Feeds in der robots.txt zu blockieren ist trotzdem keine gute Idee, nur nicht aus dem Grund, der oft genannt wird. Ein gesperrter Feed nützt gegen Scraper nichts, die lesen ihn ohnehin. Er kostet Sie aber die Sichtbarkeit bei allen Diensten, die den Feed legitim nutzen, von Feedreadern bis zu Google News.
# NICHT empfohlen:
User-agent: *
Disallow: /feed/
# Besser: Feeds crawlbar lassen
Google-News-Websites sind ein Sonderfall: Hier sind RSS-Feeds für die Aufnahme in Google News erforderlich. Diese Websites sollten Feeds aktiv pflegen und mit korrekten Attributen (pubDate, Kategorien) versehen. Für normale WordPress-Blogs sind Feeds optional.
Feed-URL anpassen
Die Standard-Feed-URL /feed/ kann mit WordPress-Hooks umgeschrieben werden. Das erschwert automatisches Scraping etwas, ist aber kein Sicherheitsfeature:
// Alternativen Feed-Slug
add_action('init', 'custom_feed_link');
function custom_feed_link() {
add_feed('news', 'custom_feed_content');
}
Für die meisten WordPress-Websites reicht es, den Feed auf Zusammenfassung zu stellen und die Kommentar-Feeds abzuschalten. Wer Inhalte bewusst an Partner ausleitet, regelt die Zuordnung dort und nicht über Canonical im eigenen Feed.
Mehr zu WordPress-Optimierungen finden Sie in unserem Artikel über WordPress SEO Grundlagen.