WordPress als CMS – Vermeidung von Duplicate Content
Kategorie: WP Plugins
WordPress als CMS System für kleine bis mittelgroße Webprojekte ist kein Geheimnis mehr. Die Entwicklercommunity rund um das Open Source Content Management System von Matt Mullenweg ist groß und engagiert. Plugins, Themes und Erweiterungen gibt es wie Sand am Meer.
Sollten Sie jemals ein Projekt auf Basis von WordPress aufgesetzt haben, dann wissen sie wovon wir sprechen.
Nicht nur Prozess der Installation ist einfach und schnell, auch die Erweiterung, Customisierungen und Konfiguration ist, wenn man es bereits einmal gemacht hat bzw. etwas Erfahrung hat eine Sache auf wenige Klicks.
WordPress Standard Setup inklusive Plugins und Custom Configs
Als Webdesigner hat man sich normalerweise ein fertiges Default WordPress Setup zurechtgelegt, das Plugins, und Configs beinhaltet und somit das anfängliche Setup noch zusätzlich verkürzt.
Wenn man negatives über WordPress als CMS in den Foren und Blogs liest, dann steht es meistens im Zusammenhang mit der Suchmaschinenoptimierung einer Seite und dem Problem von Duplicate Content.
Duplicate Content bei WordPress Seiten
Wie kann es zu Duplicate Content kommen? Mit DC „Doppelter Content“ ist gemeint, dass ein oder mehrere Inhalte nicht nur über eine einzige Adresse erreichbar sind. Dies entspricht nicht dem Google Webmaster Guide und kann in großen Mengen zu einem schlechteren Ranking in den Google Serps führen.
Der Übeltäter im Fall Duplicate Content sind meistens die Kategorien (categories), Tags (Schlagwörter) oder Suchergebnisseiten (Search Result Pages).
Verwendet man ein SEO Plugin, so gibt es verschiedene Optionen, die diesem Problem gegenwirken sollen.
Variante 1 – Das Meta Tag noindex, follow auf folgenden Seiten setzen:
- Archives
- Category
- Tags
- Search Results
Variante 2 – Das Canonical Tag
Mit dem Canonical Tag kann theoretisch eine Default URL angegeben werden, auf der sich der Original Ort einer Information bzw. Inhalts befindet. Ein Beispiel wäre in etwa bei einer statischen Seite mit der Startseite domain.tld, sowie der Seite domain.tld/index.html. Die URL ist unterschiedlich, der Inhalt jedoch der gleiche. Um das zu verhindern könn man auf der Seite zB das Canonical Tag einsetzen, das besagt, dass der eigentliche Ort des Contents auf folgender Adresse zu finden ist: domain.tld
Beispiel zum richtigen Einsatz von Canonical Tags am Google Webmaster Blog
Variante 3 – Weglassen von Articles
Der einfachste Weg ist die WordPress Website nur mit Hilfe von Seiten umzusetzen. Bei den Seiten gibt es keine Inhaltsüberschneidungen und somit auch keine Gefahr für Duplicate Content.
Der Nachteil dabei ist, warum ein CMS System verwenden und dann nur Seiten anlegen, anstatt die Möglichkeiten für aktuellen Artikeln und frischen, interessanten Content zu nützen.
Variante 4 – Umgehen der Kategorien mit Page of Posts
Auch wenn WordPress dafür nicht gedacht ist, so kann man doch sehr einfach statische Seiten als Startseiten festlegen, sowie Seiten mit Posts einer bestimmten Kategorie auffüllen. Das Zauberwort heißt Page of Posts.
Wie funktioniert das genau?
WordPress wir ganz normal aufgesetzt und eingerichtet. Die verschiedenen Kategorien für Artikel werden angelegt, sowie jeweils eine Seite (Page) mit dem Namen der jeweiligen Kategorie.
Im Theme gibt es ein Template für eine statische Seite mit dem Dateinamen page.php
Diese Datei einfach kopieren und eine Kopie unter dem Namen page-category1.php auf den Server laden.
Im Quellcode der Template Datei den Namen des Templates eingeben:
/*
Template Name: Category 1 Page Template
*/
Auf der Seite Category 1 kann nun beim Bearbeiten der Seite das Layout Template der Seite eingestellt werden. Sie finden hier nun das „Category 1 Page Template“ zur Auswahl. Dieses Template auswählen.
Danach öffenen Sie wieder den Editor und editieren erneut das Template für Category 1.
Und zwar wird der Standard Loop durch eine Custom SQL Query ergänzt. In dieser Query werden zB die letzten 5 Artikel der Category 1 ausgelesen und wie auf einer Archive Page dargestellt.
Beispiel nach dem Loop der Page Inhalte:
<div id=“content-wrap“>
<?php
$my_query = new WP_Query(‚cat=1&posts_per_page=5&orderby=date&order=DESC‘);
if ( $my_query->have_posts() ) :
while ( $my_query->have_posts() ) : $my_query->the_post();//necessary to show the tags
global $wp_query;
$wp_query->in_the_loop = true;
?>
<div class=“post“>
// Title, Permalink zum Artikel, Excerpt, …
</div><?php endwhile; ?>
</div>
<?php else : ?>
Der Vorteil dieser Methode ist, man kann so eine statische Artikelseite aufbereiten, die einerseits statischen Content aus dem Page Content zum Thema der Category 1 besitzt, als auch die dazupassenden Artikel aus der Category 1 anzeigen.
Sollte man einmal mehr als 5 Artikel in dieser Kategorie haben, so kann man für die Paged Varianten eine eigene Page Navi nachbauen, die auf dieses System basiert. Alles was angepasst werden muss ist die Custom SQL Query.
Variante 5 – Ausgeben von Category Descriptions
Wenn man in der Kategorieverwaltung unter Artikel/Kategorien eine Kategorie bearbeitet, dann läßt WordPress zu jeder Kategorie ebenfalls eine Beschreibung zu. Diese Beschreibung kann ebenfalls der Unique Content eines Category Page sein.
Einfach den Beschreibungstext zur Kategory dort eingeben und im Template im File archive.php folgenden Funktionsaufruf einbauen:
echo category_description( $category );
Problem an dieser Variante ist abermal, wenn es mehr als nur eine Seite dieser Kategorie gibt, d.h. mehr als die zugelassenen Artikel pro Seite, dann ist dieser Unique Content auf allen Archive Pages der gleiche und wiederum suboptimal.
Alternativ dazu könnte man den Text nur auf der ersten Seite einer Category ausgeben, die kann mit folgender Condition gelöst werden:
if (is_page(‚ 1 ‚) && strpos($_SERVER[‚REQUEST_URI‘], „/page/“) === false) { }
Diese Condition gibt nur dann etwas aus, wenn die Seite nicht die 2., 3., usw. Page ist.
Eine weitere Methode wäre noch die jeweiligen Archive, Suchergebnisse und Tagseiten per robots.txt aus dem Google Index auszusperren. Grundsätzlich empfohlen und auch eine richtige Anwendung, doch eines sei dazu gesagt:
Viele Blogger und SEO Optimierer geben sich vorallem mit den Keywords in den Kategorien und Tags seh viel mühe. Das Prinzip Artikel einer Kategorie zuzuordnen ist ja eigentlich ein Ansatz den Inhalt für den User leichter entdecken zu lassen, daher ist für uns ein Aussperren des GoogleBots keine so tolle Alternative.
Sollten wir noch eine Variante vergessen haben, dann schreibt uns bitte ein Kommentar zu diesem Artikel. Ich hoffe dem einen oder anderen hilft unser kleines Tutorial zum Thema Duplicate Content bei WordPress Projekten.
Ist Ihnen die Methode der Page of Posts zum umständlich, können Sie natürlich auch die archive.php und category.php Templates dazu verwenden und anpassen. Aus Kundensicht war es unserer Erfahrung nach immer verständlicher für den Kunden das passende Template bei einem Artikel oder einer Seite auswählen zu können.
7 Antworten zu “WordPress als CMS – Vermeidung von Duplicate Content”
Schreibe einen Kommentar
Bei allen mit * gekennzeichneten Links handelt es sich um so genannte Affiliate-Links, das heißt, dass aufgezeichnet wird, dass sie die Empfehlung oder das Plugin hier gefunden haben. Bei einem Kauf erhält der Betreiber der Webseite eine Mittlerprovision vom Anbieter der Software dafür erstattet, ihren Kosten erhöhen sich dadurch nicht. Generell spreche ich auch nur Empfehlungen für Produkte aus, die ich selbst bei Kunden oder eigenen Projekten im Einsatz habe.
Wow, recht ausführlich, sogar mit Codebeispielen 😉
Ich habe in der letzten Zeit (nach Penguin Update) so ein recht mulmiges Gefühl, dass Google nun die Tags Unterseiten ganz anders bewertet und diese immer wieder in DC-Konflikt mit „normalen“ Unterseiten treten… Manche empfehlen dagegen, anstatt von Dir empfohlener Lösung (robots.txt) auf noindex zu setzen. Wenn ich mir aber das Artikel/Tags Verhältnis ansehe (1:5) habe ich wirklich Angst, so ein großen Teil meiner Seite für Google zu sperren…
In diesen Diskussionen steht die Welt auf dem Kopf. Es ist Google’s Problem, relevanten Content zu finden, selbst dann, wenn ein CMS das in verschiedenen, Sinn machenden Views präsentiert.
Und wenn Google die Funktionsweise des weltweit meistgenutzten Blogsystems ignorieren oder abstrafen will – dann braucht es doch wohl irrsinnige Leute, die so ein Spiel mitspielen und sich danach richten wollen. Ignoriert Google. Stellt die Welt wieder auf die Füße.
Hi,
war auf der Suche nach einem Schnipsel für die Kategorie-Beschreibung. Hab dann zufällig eine elegante Lösung Seitens WordPress gefunden:
description code….
für die Kategorie somit:
Das klappt mit jeder Seite – also auch auf der Startseite.
Vll. solltest du eine Code-Funktion für Besucher einfügen 🙂 Mein Code wurde nicht übernommen…
Hier der Link http://wordpress.org/support/topic/how-to-display-category-description-only-on-the-first-category-page
Hallo,
vielen Dank für diesen Beitrag. Hab es gleich für die eigene Website verwendet. Auch das mit den Pages from Posts ist interessant.
LG
Klasse, ich bin begeistert. Nach dem ich ein onpage Analyse-Tool bemüht hatte, stellte ich fest, dass ich zuviel doppelte Inhalte über Kategorien und Schlagwörter hatte. Ich konnte mir nicht vorstellen wie ich dieses Problem lösen kann.
Nachdem ich die Google Suchmaschine bemüht hatte, war deine Lösung gleich auf dem ersten Platz. Sicherlich auch schön für dich zu wissen, dass deine SEO funktioniert 🙂
Jetzt bin ich mir aber nicht sicher, was in Hinsicht auf google die eleganteste Lösung ist. Gebe ich für alle betreffenden Kategorien und Schlagwörter ein noindex und nofollow, werden diese bei Google auch nicht mehr indexiert. Das bedeutet, ich habe für Google auch weniger Inhalt als zuvor. Wie ist das bei Canonical? Werden mit dieser Funktion die Inhalte von Google dann weiterhin als Content berücksichtigt? Was im Nachhinein betrachtet ja keinen Sinn macht, denn dann hätte man trotz Canonical dublicate Content. Dem nach kann die Wahl zwischen diesen beiden Varianten doch eigentlich nur nofollow und noindex für Kategorien und Schlagwörter sein.
Ich bin leider kein Profi. Aber interpretiere ich das so richtig?
Ich mach es je nach Blog wie folgt:
Wenn ich der Meinung bin, dass der Leser einen Mehrwert bei einer Kategorie hat, dann verfasse ich in den Einstellungen der Kategorie einen Beschreibungstext und gebe diesen oberhalb der Blogbeiträge auf der Seite 1 aus. So schaffe ich nicht nur „beschreibenden Content“ auf dieser Seite, sondern auch das Bisschen Uniquness, das es braucht. Wenn es bei den Kategorien nur um eine Navigationshilfe für den Leser geht, dann setz ich diese auf noindex, follow.
Schlagwörter/Tags setze ich seit mehreren Jahren nicht mehr ein, da es viel zu viele Seiten produziert und genau NICHTS bringt. Daher noindex,follow.
Hoffe das hilft dir weiter.
Liebe Grüße
Markus