Manchmal mag es für Wordpress Nutzer notwendig sein, die RSS Feeds zu deaktivieren. Dies wäre beispielsweise der Fall, wenn Wordpress nicht als Blog, sondern als Content Management System (CMS) für Webseiten eingesetzt wird. Immer mehr Webmaster gehen dazu über ihre Internetseiten nicht mehr einfach nur in HTML zu programmieren, sondern stattdessen ein CMS System zu nutzen, welches bereits viele Features mit sich bringt, die sonst oft umständlich programmiert oder darauf verzichtet werden müsste.
Wordpress bringt aber auch die RSS Feeds mit sich, die leider nicht einfach per Mausklick aktiviert oder deaktiviert werden können. Die Frage nach dem „warum deaktivieren“, wenn kein RSS Feed benötigt wird, ist einfach zu beantworten. Die RSS Feeds können zwar mit einfachen Mitteln von Indexierung ausgeschlossen werden (Plugin Robots Meta oder über die robots.txt mit entsprechenden Disallow Befehlen) aber warum etwas, was man gar nicht benötigt oder gar haben möchte, von der Indexierung ausschließen, wenn schon einen Schritt weiter vorne angesetzt werden kann. Die elegantere Lösung ist dann doch die RSS Feeds gar nicht erst zu produzieren.
Weiter gibt es noch den Gedanken, dass Wordpress den Internetauftritt für die Suchmaschinen als Blog definiert. Der Internetauftritt ist aber gar kein Blog. Könnte so etwas nicht vielleicht irgendwann zu Nachteilen für die entsprechende Webseite führen? Bis dato ist zwar über negative Folgen nichts bekannt, aber was nicht ist kann ja noch werden. Ich kann mir vorstellen, dass irgendwann mal jemand auf die Idee kommt, dass wenn eine Webseite vorspielt etwas zu sein, was sie gar nicht ist (Vorspiegelung falscher Tatsachen), das zu Minuspunkten führen soll.
Um die RSS Feeds zu deaktivieren, begeben wir uns als erstes in das benutzte Wordpress Theme in die Datei header.php. Im Bereich finden wir folgende Zeilen:
<link rel="alternate" type="text/xml" title="RSS .92" href="<?php bloginfo('rss_url'); ?>" />
<link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="<?php bloginfo('rss2_url'); ?>" />
<link rel="alternate" type="application/atom+xml" title="Atom 1.0" href="<?php bloginfo('atom_url'); ?>" />
<link rel="pingback" href="<?php bloginfo('pingback_url'); ?>" />
Die ersten drei Zeilen verweisen auf die RSS Feeds und die Vierte auf die Pingback Adresse. Wer weder RSS Feeds noch Pingbacks benötigt kann alle 4 Zeilen löschen, ansonsten für die RSS Feeds nur die ersten drei Zeilen.
Nun werden die Links zu den RSS Feeds nicht mehr auf jeder Seite im Quellzeit angezeigt. Produziert werden sie aber leider trotzdem noch. Bei Bueltge fand ich eine Funktion, welche die Feeds deaktiviert. Beim Aufruf eines Feeds erscheint daraufhin eine Fehlerseite mit einem Link zur Startseite. Diese Funktion ist auch als Feed Disabler Plugin erhältlich. Doch gibt es hier einen entscheidenden Nachteil. Diese Fehlerseite wird nicht von allen Browsern interpretiert und beispielsweise der IE zeigt seine eigene Fehlerseite an. Das ist in meinen Augen keine zufrieden stellende Lösung. Vor allem das mit dieser Funktion Webadressen wie domain.tld/feed oder domain.tld/feed/ immer noch erreichbar sind.
Die beste Lösung zum Feed deaktivieren ist in meinen Augen eine Umleitung aller /feed und /feed/ Adressen über die htaccess. Dazu folgende drei Zeilen in die htaccess einfügen:
RewriteEngine on
RewriteRule ^feed(feed|rdf|rss|rss2|atom){0,1}/?$ http://domain.tld/ [L,R=301]
RewriteRule ^(.*/)feed(feed|rdf|rss|rss2|atom){0,1}/?$ http://domain.tld/$1 [L,R=301]
Das Deaktivieren der RSS Feed Erstellung über die oben erwähnte Funktion kann man sich so schenken. Die Feeds werden damit zwar produziert, aber jeder, der versucht sie anzusurfen (auch Suchmaschinen), dem wird mitgeteilt „gibt’s nicht mehr, ist für immer auf die Startseite umgezogen“.