WordPress ist das am häufigsten verwendete und beliebteste Weblog-System im Internet.

Obwohl WordPress standardmäßig bereits mit vielen guten Konfigurations-Möglichkeiten ausgestattet ist, hapert es bei den bordeigenen Mitteln ein wenig an der Möglichkeiten, WordPress für Suchmaschinen zu optimieren (SEO). In diesem Beitrag möchte ich Ihnen hierzu einige vorbereitende Anpassungen vorstellen, die Sie durchführen sollten.

In einem zweitenBeitrag „5 Top-Plugins für die Suchmaschinenoptimierung von WordPress“ zeige Ihnen dann, welches die aus meiner Sicht 5 wichtigsten Plugins sind, die Sie bei der Suchmaschinenoptimierung Ihres Blogs verwenden sollten.

Einige der hier vorgestellten Tipps stammen aus dem lesenswerten Beitrag „Pimp my WordPress“ von Marcus Tandler (alias Mediadonis), der sich allerdings mit einer älteren Version von WordPress beschäftigt. Was zur Folge hat, dass einige Tipps nicht mehr zur Version 2.5 kompatibel sind. Ich habe hier Anpassungen vorgenommen oder nach Alternativen gesucht sowie neue Tipps zusammengestellt.

Ein Hinweis vorab: Wenn Sie – wie im Fogenden zum Teil beschrieben – Änderungen an php-Dateien oder der .htaccess-Datei vornehmen möchten, müssen Sie den Dateien mithilfe eines FTP-Programms zunächst die richtigen Schreibrechte zuweisen. Mehr Informationen zu den Schreibrechten gibt es hier.

1. Permalinks für Beiträge

Min erster Tipp betrifft die „Adress-Struktur“, also die URLs Ihres Blogs bzw. Ihrer Beiträge. Für Google und andere Suchmaschinen ist es besser, wenn Ihre URLs „sprechen“. Verwenden Sie daher eine sogenannte Permalink-Struktur.

http://www.rhein-konzept.de/wordpress/seo-fuer-wordpress „spricht für sich“ und ist damit besser als z. B. das voreingestellte http://www.rhein-konzept.de/?p=5.

Um WordPress auf Permalinks umzustellen, gehen Sie im Admin-Bereich auf „Einstellungen“ – „Permalinks“ und klicken Sie unter dem möglichen Einstellungen „Individuelle Struktur“ an.

In das Feld daneben kopieren Sie folgenden Code:

/%category%/%postname%/

Wenn Sie die Kategorie nicht dazu nehmen möchten, geben Sie nur /%postname%/ ein.

Ihr neuer Beitrag erhält dann als URL immer den Kategorienamen und den Namen des Beitragstitels. Letzteres können Sie jedoch manuell jederzeit anpassen.

2. Canonical URL (Duplicate Content I.)

Wenn Ihr Blog und damit auch Ihre Beiträge sowohl unter www.meinblog.de als auch unter meinblog.de erreichbar sind, laufen Sie Gefahr, dass Google dies als „duplicate content“ interpretiert und deshalb abwertet.

Sie verhindern dies, indem Sie in die Datei „.htaccess“ folgenden Code schreiben, der in den meisten Fällen (jedenfalls auf Apache-Servern mit aktiviertem mod_rewrite) funktionieren dürfte:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

WordPress übernimmt diesen Job übrigens seit Version 2.3 automatisch, sofern eine .htaccess-Datei vorhanden ist und WordPress Schreibzugriff darauf hat. WordPress leitet dann permanent auf die Adresse um, die Sie im Admin-Bereich unter „Einstellungen – Allgemein“ im Feld „WordPress-Adresse (URL)“ eingegeben haben. Wenn Sie Ihre .htaccess-Datei allerdings schreibgeschützt lassen möchten, können Sie den Code – wie hier beschrieben – manuell eingeben.

Sie finden die .htaccess-Datei in Ihrem Rootverzeichnis, in der Regel ein Ordner namens „httpdocs“. Sie können die Änderung vornehmen, indem Sie sich mit einem FTP-Programm auf Ihrem Server einloggen und die vorhandene Datei auf Ihren PC herunterladen, um sie dann manuell in einem Text-Editor zu bearbeiten, abzuspeichern und wieder auf den Server zu laden.

Sollte es die Datei .htaccess noch nicht auf Ihrem Server geben, dann erstellen Sie eine einfache Text-Datei mittels eines Text-Editors, geben den genannten Code ein und speichern die Datei ab. Benennen Sie die Datei dann manuell in „.htaccess“ um, bevor Sie sie auf den Server laden.

Weitere interessante Einstellmöglichkeiten für die .htaccess-Datei finden Sie übrigens im Blog von Michael Wöhrer.

3. Ping & Trackbacks

Wenn Sie in Ihrem Blog auf einen Beitrag aus einem anderen Blog verweisen, dann können den Inhaber dieses Blogs per Trackback oder – sofern er auch WordPress einsetzt – per Ping darüber infomieren. Was ein Trackback bzw. Ping ist, können Sie sehr anschaulich in einem weiteren Beitrag von Michael Wöhrer nachlesen.

Damit das mit dem Ping auch funktioniert, geben Sie unter „Einstellungen“ – „Schreiben“ unterhalb von „Pingdienste“ am besten folgende Server ein:

http://rpc.pingomatic.com/
http://ping.wordblog.de/

Dies sind die geläufigsten und wichtigsten. Mehr Server machen keinen Sinn, da man sogar Gefahr läuft, wegen doppelter Pings auf einer Blacklist zu landen.

4. Duplicate Content II.

[Bitte lesen Sie zu diesem Punkt auch die Kommentare unten]

Beitragsinhalte können in Ihrem Blog an verschiedenen Stellen auftauchen, z. B. auch in Monatsübersichten oder auf Suchseiten. Damit Google hier nicht zuviel doppelte Inhalte findet, die sich negativ auf das Ranking bei Google auswirken, sollten Sie Ihren Blog so einstellen, dass nur die Hauptseite, einzelne Posts bzw. Artikel, (statische) Seiten und Kategorien von der Suchmaschine indiziert werden.

Öffnen Sie dazu die Datei „header.php“ und geben Sie dort im Head-Bereich (irgendwo zwischen <head> und </head>) folgenden Code ein:
<?php if((!is_paged() ) && ( is_single() || is_page() || is_home() || is_category())){ echo '<meta name="robots" content="index, follow" />' . "n"; } else { echo '<meta name="robots" content="noindex, follow, noodp, noydir" />' . "n";} ?>

Seit der Word-Press-Version 2.5 kann die Abfrage der Startseite – bisher durch !is_paged() ) && ( is_single() möglich – auch mit den neuen Tag is_front_page() realisieren.

Dieser Code-Schnippsel stammt übrigens von Frank Bueltge, dessen Blog noch mehr empfehlenswerte Beiträge zum Thema WordPress enthält.

5. Menütitel in der Sidebar bzw. in Widgets

Viele Menüpunkte in der Seitenleiste von WordPress werden (je nach dem von Ihnen verwendeten „Theme“) in <h2>- oder <h3>-Code gesetzt, damit sie als Überschrift formatiert werden. Allerdings werden gerade diese <h2>- und <h3>-Überschriften von Google beim Indizieren Ihrer Homepage relativ hoch gewichtet. Dass Google hier die Sidebar-Überschriften wie „Kategorien“, „Blogroll“ oder „Links“ als genau so wichtig erachten soll wie Ihre – tatsächlich viel wichtigeren – Beitragsüberschriften, ist unter dem Aspekt der Suchmaschinenoptimierung kaum sinnvoll.

Deshalb sollten Sie den Code entsprechend anpassen.

Zunächst ändern Sie dazu den entsprechenden Eintrag in der CSS-Datei (style.css), z. B.:

#sidebar h2 {
font-family: 'Lucida Grande', Verdana, Sans-Serif;
font-size: 1.2em;
}

in:

#sidebar .widgettitle {
font-family: 'Lucida Grande', Verdana, Sans-Serif;
font-size: 1.2em;
}

Bei Ihnen sieht der Text ab Zeile 2 natürlich normalerweise anders aus, je nachdem, was für ein Theme Sie benutzen. Sie können den „alten“ Eintrag natürlich auch bestehen lassen und stattdessen einfach kopieren und die erste Zeile entsprechend anpassen.

Dann suchen Sie in der Datei functions.php nach dem folgenden Code:

<?php
if ( function_exists('register_sidebar') )
register_sidebar(array(
'before_widget' => '<li id="%1$s" class="widget %2$s">',
'after_widget' => '</li>',
'before_title' => '<h2>',
'after_title' => '</h2>',
));

Genau so wird der Code bei Ihnen wahrscheinlich nicht aussehen. Das Wichtigste ist, dass Sie nach den <h2>-Tags Ausschau haben und diese nach dem folgenden Schema ersetzen:

<?php
if ( function_exists('register_sidebar') )
register_sidebar(array(
'before_widget' => '<li id="%1$s" class="widget %2$s">',
'after_widget' => '</li>',
'before_title' => '<div class="widgettitle">',
'after_title' => '</div>',
));

Auch hier gilt wieder: Je nach Theme sieht der Eintrag anders aus oder ist unter Umständen gar nicht vorhanden. Ist dies der fall oder fehlt bei Ihnen die Datei „functions.php“ sogar ganz, erstellen Sie einfach eine Date dieses Namens und geben Sie dann folgenden Code ein:

<?php
if ( function_exists('register_sidebar') )
register_sidebar(array(
'before_widget' => '',
'after_widget' => '',
'before_title' => '<div class="widgettitle">',
'after_title' => '</div>',
));
?>

Jetzt müssen Sie allerdings noch darauf achten, dass auch das von Ihnen verwendete „Theme“, das ja vom Standard-Theme abweichen kann, eigene Sidebar-Elemente mit sich bringen kann. Daher sollten Sie in der Datei sidebar.php (und anderen ähnlich klingenden Dateien) ebenfalls nach <h2>- und <h3>-Codes suchen und diese dann nach folgendem Muster ersetzen:

<h2> ... </h2>

austauschen durch:

<div class="widgettitle"> ... </div>

Gegebenenfalls müssen Sie diese Änderungen auch noch in manchen php-Dateien der von Ihnen zusätzlich installierten Widgets vornehmen.

Um den Titel der Blogroll bzw. der „Links“ anzupassen, müssen Sie beispielsweise Änderungen in der Datei „bookmark-template.php“ vornehmen. Wie das geht, habe ich im Beitrag WordPress: Blogroll-Ausgabe in der Sidebar formatieren beschrieben.

Soweit zu den bordeigenen Möglichkeiten, die WordPress „bietet“. Wenn Sie diese Änderungen durchgeführt haben, haben Sie den ersten Grundstock zur Suchmaschinenoptimierung gelegt. Als zweiten Schritt sollten Sie zusätzlich die Tipps im Beitrag „5 Top-Plugins für die Suchmaschinenoptimierung von WordPress“ lesen und umsetzen. Denn die in diesem Beitrag vorgestellten 5 Plugins sind im Prinzip unverzichtbar, wenn Sie Ihren Blog für Suchmaschinen optimieren möchten.