Ein wichtiger Faktor bei der Suchmaschinenoptimierung sind suchmaschinenfreundliche URLs die im Optimalfall mehrere wichtige Keywords abdecken.
Als Beispiel verwenden wir einen Link zu einem Artikel zum Thema “Kanonische Adressen“:
http://www.domain.de/artikel.php?id=384&p=4
Sehr böse
http://www.domain.de/artikel/384/4
Noch immer böse
http://www.domain.de/artikel/newsbeitrag-kanonische-adressen.html
Schon sehr gut
http://www.domain.de/news/suchmaschinenoptimierung/kanonische-adressen.html
Optimal! Besser gehts kaum!
Aber wie erstellt man diese Links ohne 1:1 die Ordnerstruktur abbilden zu müssen?
Ganz einfach: Das ganze läuft über das Apache-Modul mod_rewrite.
1. Erstellung einer .htaccess – Datei
2. Um das letzte Beispiel zu realisieren muss darin folgender Code enthalten sein:
# Aktivieren der RewriteEngine
RewriteEngine On
# Gibt jemand im Browser eine Adresse des Schemas /news/[kategorie]/[artikelname] ein
# wird dieser auf die URL artikel.php?linkurl=[artikelname]&kategorie=[kategorie] weitergeleitet
RewriteRule ^news/([-_0-9a-zA-Z]*)/([-_0-9a-zA-Z]*)$ artikel.php?linkurl=$2&kategorie=$1
3. Datei per FTP in das Rootverzeichnis hochladen!
Wichtiger Hinweis:
Trotz interner mod_rewrite Umleitung bildet der Browser die Verzeichnisstruktur 1:1 ab. Das heißt alle Bild-/CSS-Verknüpfungen müssen mit absoluten Pfaden realisiert werden.
Um funktionelle Linkkeywords z.B. aus Artikelbezeichnungen zu erstellen habe ich in einem älteren Post bereits eine passende Funktion veröffentlicht: Suchmaschinenfreundliche URLs
Jetzt kann es allerdings sein, dass du Probleme mit normalen $_GET-Variablen bekommst, war zumindest bei mir so. Für Seitenzahlen oder so lohnt es sich teilweise schon, mit $_GET zu arbeiten, weils einfach weniger aufwendig ist, als eine Rewrite Condition zu formulieren.
Ich hab das bei mir mit {QUERY_STRING} gelöst, also in deinem Beispiel:
RewriteRule ^news/([-_0-9a-zA-Z]*)/([-_0-9a-zA-Z]*)$ artikel.php?linkurl=$2&kategorie=$1{QUERY_STRING}
Gruß
Hamster
Nicht mal DoFollow aktiviert hier.
Imho ist placefavoritedomainhere.com/kurzeurl.html wesentlich besser als placefavoritedomainhere.com/a/b/c/kurzeurl.html.
Aber na ja, als Leiter einer 70.000-Mann-Community und selbstständiger Webagenturbesitzer wirst du es sicherlich besser wissen.
Btw. solltest du dein Impressum ändern… phpblog4you.de ist ja nur noch nen Redirect. Und noch ein Tip. Probier mal %postname%.html statt /jahr/monat/tag/beitrag.html… Macht sich besser, wenn man mit Suchmaschinenoptimierung prahlt.
Have a Nice day,
Cruelty
Pingback: Suchmaschinenoptimierung mod_rewrite dynamische URLs | phpjunkie.de