Modrewrite und Suchmaschinen- Optimierung für ein Wiki via .htaccess

Das war eine härtere Nuss! Im Zuge der Suchmaschinen-Optimierung für die Modellbau Wiki habe ich das Wiki von

http://www.modellbau-wiki.de/wiki/index.php?title=thema

auf die wesentlich suchmaschinenfreundlicher URL

http://www.modellbau-wiki.de/wiki/thema

umgestellt.

Natürlich waren mit der alten URL schon zig Seiten im Google-Index. Durch diesen Umstand war DC (Double Content) garantiert! Die Anforderung an das Rewrite war also eine Dynamische Rewrite-Regel (da es um mehrere hundert Seiten geht), welche die Bots auf die neue URL verweist und die alte URL aus dem Index entfernt. Genau das macht einen 301-er Weiterleitung: Der Server sendet Status 301 (Moved Permanently), um anzuzeigen, dass die Ressource für immer unter der neuen URL erreichbar ist.

Die Aufgabe läßt sich mit folgender Regel in der .htaccess lösen:

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.modellbau-wiki\.de$
RewriteRule ^(.*)$ http://www.modellbau-wiki.de/$1 [L,R=301]

RewriteCond %{THE_REQUEST} \?title=(.+)\ HTTP
RewriteRule ^.*$ http://www\.modellbau-wiki\.de/wiki/%1? [R=301,L]

RewriteRule ^wiki/?(.*)$ /w/index.php?title=$1 [L,QSA]

Mit Zeile 1 & 2 der Regel wird Modrewrite aktiviert.

Zeile 3 & 4 verhindern ebenfalls, das DC entsteht. Ohne diese Regel wärden mit der Zeit sowohl www.modellbau-wiki.de/wiki/thema als auch modellbau-wiki.de/wiki/thema im Index erscheinen (es langt schon, wenn ein einziger Link ohne www. gesetzt wird).

Das dynamische 301-Rewrite steckt in Zeile 5 & 6: Jeder Aufruf mit ?title=thema wird abgefangen und die neue URL www.modellbau-wiki.de/wiki/thema als 301-er Weiterleitung zurück gegeben.

Zeile 7 schliesslich wandelt für die interne Verarbeitung die URL (unsichtbar für den User) wieder in das eigentlich benötigte Format.

13 Antworten auf „Modrewrite und Suchmaschinen- Optimierung für ein Wiki via .htaccess“

  1. Sehr nützlicher Hinweis und elegante Lösung. War mir der DC Problematik vorher gar nicht so bewußt gewesen.

  2. Na das sind doch mal hilfreiche tiefgehende Tipps zum Thema Suchmaschinen Optimierung und htaccess. Besten Dank jedenfalls!

  3. zu Zeile 3 & 4

    Ich habe diese Regel gerade mal ausprobiert. Bei mir gab es allerdings ein Problem mit einer Subdomain. Damit dies auch für meine Subdomain funktioniert, habe ich die Regel wie folgt geändert:


    RewriteCond %{HTTP_HOST} !^www.modellbau-wiki.de$ [NC] [OR]
    RewriteCond %{HTTP_HOST} !^subdomain.modellbau-wiki.de$ [NC]
    RewriteRule ^(.*)$ http://www.modellbau-wiki.de/$1 [L,R=301]

    (für “subdomain” muss natürlich der Name der Subdomain eingetragen werden)

  4. Bin über “Strato ohne mod_rewrite” von premium-hosting.24 hier :) Bei Strato hilft das alles nicht, sonst vielen Dank, habe über ein Wiki nachgedacht, aber genau von diesem Problem früher gelesen. Merke mir diese Seite, vielen Dank!

  5. Sehr gute Tipp, dei Erläuterung zu Zeile 3&4 ist vollkommen richtig, das kostet echt Punkte bei Google-Pagerank!
    Danke!

  6. Naja das Problem muss man doch irgendwie gelöst bekommen, ich werde mich mal an die Lösung dieses Problems machen.

  7. Liebe Firma Webdesign Köln, neben dem Problem ist in diesem Artikel auch die Lösung beschrieben…

    Ihren Kommentar klassifiziere ich ergo als “Kommentar-Spam” und habe den Link auf Ihre Seite mit dem Keyword Webdesign Köln entfernt, damit sich jemand, der einen Webdesigner in Köln sucht, sich lieber nicht an einen Keyword-Spammer zum Thema Webdesign Köln wendet, sondern sich besser an einen Webdesigner wendet, der ohne Spam für seine Keywörter (z.B. Webdesign Köln) auskommt…

  8. Danke. Sehr gute Info.

    Ich versuche mich gerade noch daran:

    RewriteCond %{THE_REQUEST} ?title=(.+) HTTP
    RewriteRule ^.*$ http://www.modellbau-wiki.de/wiki/%1? [R=301,L]

    Bekomme es aber für meine Situation (wohl syntaktisch) nicht auf die Reihe.
    Kann mir jemand einen Tipp geben, wobei “seite1” daß sich ändernde Parameter darstellt:

    Alter Aufruf: http://www.domain.tld/?inhalt=ich_bin_der_parameter_fuer_seite1

    Neuer Aufruf: http://www.domain.tld/die_neue_webseite_seite1.html

    Wäre super. Danke.

  9. hallo … ich finde das sehr interessant. welche zeile muss ich denn in der htaccess stehen haben, damit eine url nur in der form .de/name und nicht mit .de/profil?name=emp bei google steht?

    gruß ep

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert