Mittlerweile exis­tie­ren für WordPress zahl­rei­che Plugins, die sich des Problems “Duplicate Content” anneh­men. mag’s näm­lich ganz und gar nicht, wenn ein– und die­sel­ben Inhalte unter der glei­chen Adresse abzu­ru­fen sind und rea­giert mit Abwertung.

Dass der dup­li­cate con­tent in den letz­ten Monaten gestei­gerte Bedeutung erlangte, hat nicht zuletzt mit der stei­gen­den Verbreitung von Splogs, also Spam-Blogs, zu tun*. Man muss jeden­falls eine Menge Vorkehrungen tref­fen, damit unter der eige­nen Domain jeder Artikel nur ein­mal auf­scheint. Duplicate Content Cure oder Meta Robots lösen die gröbs­ten Troubles (ich ver­wende beide Erweiterungen), effek­ti­vere Resultate erreicht man mit der direk­ten Aussperren von Bots in der robots.txt: diese Datei liegt gemein­hin im und ent­hält Anweisungen für Crawler — und die Big Three (Google, MS, Yahoo) hal­ten sich auch dran.

Word of Warning: Mit Manipulationen an der robots.txt-Datei kann man sich eine gut funk­tio­nie­rende SERP-Struktur im Nu abfu­cken. Außerdem spielt die Frage, ob man z.B. in der Tag– und Category-Ansicht Exzerpte ver­wen­det eine beträcht­li­che Rolle — ebenso wie die Entscheidung, wel­che Einzelpages gut indi­ziert wer­den sol­len. An Impressum und Kontaktformular möchte ich z.B. lie­ber kei­nen Linkjuice ver­schwen­den. In sol­chen Fällen machen interne - hoch­gra­dig Sinn, aber das ist eine andere SEO-Geschichte und soll ein ander­mal erzählt werden…

Word of even more Warning: Die nach­fol­gende ange­ge­be­nen Tipps bezie­hen sich auf *meine* Permalinkstruktur. Wer keine spre­chen­den Permalinks ver­wen­det oder stark abwei­chende Einstellungen, kann mit den fol­gen­den php-Wildcards Crawlern den Zugriff auf Beiträge kom­plett ver­un­mög­li­chen. Also in jedem Fall ein Backup der robots-Datei anle­gen und tes­ten, tes­ten, tes­ten! Sehr hilf­reich dabei: das kürz­lich erwähnte Crawler-Tracker Plugin.

Exclusions im robots.txt

Einige regu­läre Ausdrücke sind im robots.txt erlaubt, $ steht in Regex-Terminologie dabei für das Ende des Dateinamens. Die “.php$” erfasst also alle Dateien, die auf *.php enden. Man kann damit zum Beispiel den Crawler-Zugriff auf alle pdfs, exe-Dateien und Bilder sperren:

Disallow: /*.pdf$
Disallow: /*.jpeg$
Disallow: /*.jpg$
Disallow: /*.gif$
Disallow: /*.png$
Disallow: /*.exe$

Daraus erge­ben sich zahl­rei­che wei­tere Möglichkeiten, die man ja nach eige­ner Präferenz frei kom­bi­nie­ren kann:

Disallow: /*? — alle URLs mit Fragezeichen drin wer­den geblockt. Kann natür­lich nur dann ver­wen­det wer­den, wenn in den Standard-URLs kein Fragezeichen vorkommt.

Disallow: /*.php$ — blockiert alle php-Files
Disallow: /*.inc$ — verhindert den Zugriff auf include-Dateien.
Disallow: /*.css$ — verbirgt Stylesheet-Dateien (falls mehr als eine in Verwendung ist.)
Disallow: */feed/ — ver­hin­dert das Einlesen des Feeds.
Disallow: *// — ver­hin­dert das Indizieren der –URLs.
Disallow: /tag/ — Tag-Pages aus­schlie­ßen
Disallow: /category/ — Kategorie-Seiten aus­schlie­ßen.
Disallow: /2006/ — Disallow: /2007/ — Disallow: /2008/ — Zugriff auf Jahresarchive verbieten

Möchte man nun aus irgend­wel­chen Gründen den Zugriff auf eine der oben aus­ge­schlos­se­nen Seite expli­zit erlau­ben, kommt dazu fol­gende Syntax zum Einsatz:

Allow: /category/meineseite.php — erlaubt den Zugriff auf die ange­ge­bene Adresse, auch wenn /category/ als Pfad gesperrt ist.

Sollte man nun bes­ser die oben ange­ge­be­nen Plugins oder die robots.txt-Methode ver­wen­den? Um die Unterschiede zu ver­ste­hen, muss man ein weni­ger tie­fer in SEO-Welten abtau­chen: wäh­rend die beschrie­be­nen Plugins die von Google vor­ge­se­hene Syntax noin­dex bzw. nofol­low in den Header der betref­fen­den Dateien ein­fü­gen, sorgt die robots.txt-Variante dafür, dass über­haupt nie auf die betref­fen­den Seiten zuge­grif­fen wird. Ob die bei­den Varianten in der Praxis einen Unterschied machen, dar­über strei­ten der­zeit die SEO-Experten — siehe auch die Diskussion zum betref­fen­den Eintrag bei Shoemoney.

Außerdem ist davon aus­zu­ge­hen, dass Google mitt­ler­weile WP-Installationen erkennt und selbst Vorkehrungen gegen Duplicate Content trifft — aber diese Gleichung ent­hält eine Menge Variablen, und nach­tei­lig ist’s ganz gewiss nicht, wenn man sich als Seitenbetreiber selbst drum küm­mert, dass der Crawler aus­schließ­lich uni­que con­tent ser­viert bekommt.


* Viele Scraper steh­len ein­fach auto­ma­ti­siert Inhalte von ande­ren Blogs und schi­cken dann auch noch Trackbacks. Die Beiträge begin­nen immer mit “xy wrote an inte­res­ting arti­cle today:” Dürfte wohl irgend­eine Scraper-Software from Hell sein. Beruhigend zu wis­sen ist nur, dass sol­che “Strategien” lang­fris­tig nie­mals aufgehen.