Suchmaschinenfreundliche URLs - mittels htaccess

Im heutigen SEO Artikel geht es um den Aufbau von Suchmaschinenfreundlichen URLs.

Einleitung
Im ersten Teil des Themas gehe ich auf Wordpress ein und wie man da eine Suchmaschinenfreundliche URL bekommt. Der zweite Teil richtet sich dann eher an klassische Webseiten, die selbst Umstellungen in der HTACCESS vornehmen möchten, um die Verlinkung zu verbessern.

SEO URL - für Wordpress Nutzer

Unter Wordpress wird das ganze richtig einfach. Im Administrationsbereich unter Einstellungen -> Permalinks kann die Linkstruktur ausgewählt oder selbst definiert werden.

Permalinks in WordPress (SEO)

Permalinks in WordPress (SEO)


Hier gibt es die folgenden Punkte:
  • .../?p=123
    Das ist die PHP Lösung um Themen oder Kategorien anzusteuern. Für Programmierer also die freundlichste Lösung. Im Bereich der Suchmaschinenoptimierung aber untauglich. Auch die Leser werden vor einem Klick nicht wissen, wo diese hingeleitet werden.
  • .../2010/08/26/sample-post/
    Diese Struktur ist schon besser. Diese Struktur ist eher für Archive oder Nachrichten geeignet. Durch die tiefliegende Struktur ist es aber SEO-Technisch untauglich. Eine zu tiefe Struktur (viele Ordner werden vorgetäuscht) schwächen den Wert eines Themas ab, da das Thema nicht so weit vorn liegt. Hier wäre es ratsamer .../2010-08-06/sample-post/ zu definieren, da es nur eine Zwischenebene ist.
  • Benutzerdefinierte Struktur
    Ab hier geht es um den Aufbau von einer eigenen Definition, wie das Linkmuster gestalltet werden soll. Das machen wir uns zu nutze, um mittels SEO bessere Platzierungen in den Suchmaschinen zu erhalten

Benutzerdefinierte Struktur / Permalinks unter Wordpress

Empfehlen kann ich die im Netz häufigst verbreitete Methode, die auch dieser Blog verwendet. .../Kategorie/Artikeltitel/.

Diese wird in Wordpress Permalinks wie folgt notiert:
/%category%/%postname%/

Damit sieht die URL Beispielsweise so aus:
http://webmaster-glossar.de/suchmaschinenoptimierung/suchmaschinenfreundliche-urls-mittels-htaccess/
Diese Strukur wird dann selbständig in der Wordpress .htaccess eingetragen, insofern man der HTACCESS auch Schreibrechte gegeben hat!

SEO URL - für Webseiten

Natürlich benötigen auch normale Webseiten eine htaccess, wenn diese nicht den Luxus eines Wordpress Scripts besitzen. Hier gebe ich meine Erfahrungen, sowie meine Meinung darüber weiter.

Der PHP Teil:
Per PHP möchte man den Link so auslesen, um die Anweisungen zu ermitteln, welche Daten man für den Aufbau einer jeden Einzelseite benötigt. Hier reichen oft 2 Parameter, die sogenannten GET Befehle in PHP.
Den ersten für die Kategorie, den zweiten für den Artikelname.

Beispielsweise haben wir solch ein Aufbau in PHP
index.php?kat=seo&thema=seo-artikelserie

Ab hier ergeben sich das die 2 ersten Herausforderungen. Der GET Parameter "kat" für Kategorie, sowie der GET Parameter "thema". Hier sieht man schon, dass ein Thema Namens "seo-artikelserie" geladen werden soll.
Nun muss vorarbeit geleistet werden. Bisherige Themen brauchen also eine Abwandlung des Artikel-Titels in eine SEO-URL. Das heißt entfernen aller Sonderzeichen, alles in Kleinbuchstaben, Leerzeichen durch Bindestriche ersetzen.
Ich nenne das Endergebniss dann SEO-URL. Diese habe ich dann meist in der Datenbank bei jedem Artikel mitgespeichert.
Wenn der erste Schritt ersteinmal gelöst wurde, könnte man schon Artikel in der Datenbank selektieren, die die gewählte SEO-URL von dem GET Parameter "thema" beinhaltet.

Dann fehlt die .htaccess Datei noch. Diese muss im root / Hauptverzeichnis der Seite liegen, wo auch die index.php liegt.

Mein HTACCESS Beispiel:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*)/(.*).html$ index.php?kat=$1&artikel=$2

Hier sieht man sehr schön, wie die Struktur aufgebaut ist. Man nennt dies auch modrewrite oder mod_rewrite, da etwas umgeschrieben werden soll.
Dieses htaccess soll als Beispiel dienen und nicht als fertige Lösung. Auch weitere Parameter könnten angehängt werden. Dafür sind dann aber entweder/oder Vergleiche notwendig.

Die htaccess funktioniert mit regular expression (reguläre Ausdrücke). Prüfen kann man seinen Code unter anderem mit dem empfehlenswerden The Regex Coach. Hier wird dann auch schnell klar, welcher Ausdruck eine URL haben kann und welcher nicht funktioniert.
Auch kann man sich im Netz auf diversen reg. expression Seiten nach Tipps umschauen.
Empfehlenswerte Quellen sind:

Wikipedia , SelfHTML , DrWeb , modrewrite