Es gibt 1.000 Gründe, wie unerwünschter Duplicate Content entstehen kann: Unkontrollierbare Skripte, mangelndes Verständnis für das eigene CMS, sorglose “Syndizierung” eigener Inhalte und ein paar “typische Probleme” die man stets beachten sollte.
Ich habe den (IMHO coolen) deutschen Digg-Clone yigg.de mal als case study herangezogen, weil hier meiner Meinung nach viel Optimierungsbedarf besteht. Das soll nicht heißen, dass die Entwickler Fehler gemacht haben – es gab sicher wichtigeres zu tun – sondern, dass einfach Tasks, die in den SEO-Bereich fallen, vernachlässigt wurden.
1. Standarddomain definieren
Ein gängiger Fehler ist das Unterlassen der Definition einer Standard-Domain. Das heißt im Fall von Yigg, dass ich die Artikel unter yigg.de aber auch unter www.yigg.de erreichen kann. Tatsächlich erwächst daraus selten eine Strafe, optimal ist der Zustand dass Webseiten sowohl unter der 2nd-Level-Domain als auch unter www.domain.de erreichbar sind mit Sicherheit nicht. Um des Problems Herr zu werden gibt es 2 Möglichkeiten:
1.1 Standard-Domain per .htaccess-Datei definieren
Durch folgenden Eintrag in die .htaccess im Stammverzeichnis zwingt man den Server per mod_rewrite alle Browser und Bots (!) auf die Version mit “www.*” umzuleiten:
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.yigg\.de$
RewriteRule ^(.*)$ http://www.yigg.de/$1 [L,R=301]
2.2 Google Webmaster Tools – Preferred Domain
In den Google Webmaster Tools kann man nach erfolgreicher Anmeldung seiner Domain die “preferred Domain” festlegen. Einfach gesagt kann man Google mit einem Klick sagen welche Version man ausschließlich im Index finden will.
2. Dynamische und statische URLs aufruf- und indizierbar
Im Fall von yigg.de ist es mit diesen Maßnahmen leider noch nicht getan. Zusätzlich lässt sich die obige Story immernoch dynamisch aufrufen (und indizieren!): http://www.yigg.de/familiar.php?story=32513
3. Mirrors, Dev-Domains, HTTPS
Insgesamt finden sich schon 8 Varianten der selben Seite im Google-Index. Weitere könnten entstehen wenn Google die Dev-Subdomain devel.yigg.de weiter crawlen darf. Hier wäre eine robots.txt, besser noch Verzeichnisschutz per .htaccess angebracht.
Exkurs: Development-Subdomains, DB-Admin-GUI und Backends
Allein durch die Benutzung der Alexa-Toolbar durch den Admin enttarnt alexa.com oft sämtliche administrativen Subdomains. Daher ist man stets gut beraten soetwas nicht über Subdomains, sondern Verzeichnisse zu lösen und diese oder die Subdomains mit .htaccess zu schützen.
4. Speaking URLs / mod_rewrite richtig einsetzen
Ein weiterer Tipp: Wenn ich eine ID in den sprechenden URLs nutze, ist es meistens sinnvoll diese beim mod_rewrite auszulesen und stets auf die speaking URL umzuleiten. Sonst könnte theoretisch so etwas entstehen:
http://yigg.de/32513_Wikipediaorg_gibt_das_Prinzip_kollektive_Intelligenz_auf
http://yigg.de/32513
Beide URLs sind aufrufbar und indizierbar. Oft befinden sich auch schon beide Versionen im Index. Im schlimmsten Fall kann ein böser Konkurrent sogar derart mit den URLs spielen und sie anlinken, dass er endlich viele Duplikate in die Welt den Index setzt. Daher stets nur die ID auslesen und alles auf eine endgültige URL (Permalink) jagen.
5. Aus Fehlern lernen und das Beste draus machen
In jedem Fall ist oft noch nicht Hopfen und Malz verloren, sondern man kann meistens durch intelligente 301-Umleitungen und rewrite rules den Google-Juice der Dupe-Seiten und auf sie verweisenden Links noch nutzen. Daher gilt im Zweifel: Immer besser umleiten als sterben lassen.
Idealerweise (es sind z.B. IDs vorhanden) leitet man alle Duplikate mittels Server Code 301 (redirect permanent) auf die eine zukünftige URL um, für die man sich entschieden hat. Ich präferiere im Zweifel die kürzeste URL, die außerdem Keywords enthält. Leider ist das nicht immer möglich. Dann ist es ratsam die URLs auf die Startseite umzuleiten oder im schlimmsten fall eine 4xx Statuscode senden zu lassen.
6. Der Klassiker (index.html,index.php)
Huch, hätte ich fast vergessen: Wahrscheinlich DER häufigste Fehler überhaupt: yigg.de und yigg.de/index.php rufen ein und dasselbe Skript auf, stellen aber ebenfalls für Suchmaschinen 2 URLs mit gleichen Inhalten dar. Also wenn ich in der Navigation auf die Startseite verweise, sollte ich einfach auf die Domain bzw. den Stammordner linken.
Sicher gibt es noch andere Standard-Fehler, die ich gerade nicht bedacht habe. Dann gerne in die Kommentare.
7. Nachtrag: Duplicate Domains
Auch ein recht häufig vorkommender Mangel: yigg.co.uk Es ist immer richtig, sich solche Domains frühzeitig zu sichern. Aber entweder sollte man redundante Domains umleiten oder einen Platzhalter einrichten. Wenn es geht nicht einfach alle Domains auf den gleichen Webspace zeigen lassen. Meistens passiert dieser Fehler wenn man sich mehrere Domainendungen sichern muss, oder wenn man beispieldomain.de und beispiel-domain.de kauft.