Automatische Weiterleitung einzelner URLs mit redirect permanent

Hin und wieder kommt es vor, dass sich einzelne URLs ändern und man gezwungen ist, auf eine automatische Weiterleitung auf die neue URL zurückzugreifen. Wichtig vor allem, wenn die alte URL noch erreichbar ist, um den so genannten Double Content zu vermeiden, der dazu führt, dass die Suchmaschinen sich für die in ihren Augen richtige URL entscheiden, was oft nicht die gleiche Sichtweise des Webmasters darstellt.

Diese Problematik wurde vor Kurzem in meinem Blog aktuell, als ich im Zuge der Tagcloud Erweiterung auch einige Änderungen an den Kategorien beziehungsweise der entsprechenden Beitragszuordnung vornahm. Da ich die Kategorie in meinen Beiträgen in die URL eingebunden habe, ändert sich logischerweise bei einer Änderung der Kategorie auch die entsprechende URL.

Wordpress gibt in einem solchen Fall aber keinen 404 Fehler für die entsprechende Beitrags URL aus, sondern zeigt die alte URL ebenso wie die neue URL fehlerfrei an. Da blieb mir natürlich nichts anderes übrig, als auf die automatische Weiterleitung der einzelnen URLs zurückzugreifen. Plugin war dazu keines notwendig, denn es handelte sich nur um eine Handvoll URLs, das ist schnell und einfach manuell erledigt.

Generell gibt es für die automatische Weiterleitung von URLs wie auch Domains mehrere Möglichkeiten:

  • Automatische Weiterleitung via HTML beziehungsweise Meta Tags
    <meta http-equiv="refresh" content="0; url=http://www.neue-adresse.tld/">

    Von dieser automatischen Weiterleitung kann nur abgeraten werden, vor allem wenn der content etwas anderes als 0 sein soll (Zeit in Sekunden nach der die Umleitung erfolgen soll). Diese Form der Weiterleitung wurde in der Vergangenheit oft zur Manipulation von Suchmaschinenergebnissen missbraucht, so dass einer solchen Lösung oft im Handumdrehen eine Abstrafung folgt.

  • Autmatische Weiterleitung via Javascript
    Auch von dieser Form der automatischen Weiterleitung ist eher abzuraten, denn wenn ein User in seinen Einstellungen Javascript deaktiviert hat, dann funktioniert auch die Weiterleitung nicht.
  • Automatische Weiterleitung via PHP
    header("Location: http://www.neue-adresse.tld/",TRUE,301);

    Diese automatische Weiterleitungsmöglichkeit (Der Status Code 301 steht übrigens für „permanenten Umzug“) ist zwar hervorragend geeignet URLs umzuleiten, doch in meinem Fall für einzelne Wordpress Beiträge nicht einfach zu implementieren.

  • Automatische Weiterleitung via htaccess
    Hier gibt es die Möglichkeit entweder mit dem Redirect Permanent oder mit einer Rewrite Rule zu arbeiten, um einzelne URLs, wie auch die gesamte Domain umzuleiten

Die einfachste Möglichkeit meine alten Beitrags URLs auf die neuen URLs einzeln automatisch umzuleiten ist die über die htaccess. Ob nun mit dem Redirect Permanent, welcher automatisch den Status Code 301 beinhaltet, gearbeitet wird, oder entsprechende Rewrite Rules erstellt werden, ist reine Geschmackssache:

Redirect permanent /alte-seite.html http://www.domain.tld/ordner/neuer-beitrag.html

oder

RewriteRule alte-seite.htm$ http://www.domain.tld/neue-seite.html [L,R=301]

Bleib auf dem Laufenden und abonniere meinen RSS Feed Crazy Girls RSS Feed jetzt abonnieren
|
 Autor: Crazy Girl |
 Themenbereich: Blog SEO Tips
Trackback URL: http://www.crazytoast.de/automatische-weiterleitung-urls-redirect-permanent.html/trackback/
Ähnliche Beiträge:
↑ Ganz nach oben springen ↑
↓ zum kommentieren springen ↓
5 Reaktionen:
1 Trackback:
  1. [...] Bei crazytoast.de wird 301 redirect noch ausführlicher beschieben (zum Artikel). [...]

4 Kommentare:
  1. limone schrieb am 27. September 2009 um 17:38 Uhr:
    # 2

    ich wunder mich gerade, wo wordpress diese daten speichert. nach einem update auf eine neue version habe ich z. b. das “index.php” in der url nicht mehr mitgeschleift, alle google-links funktionieren aber noch, weil automatisch auf die neue url geleitet wird. gleiches bei trackbacks, wenn die url inzwischen geändert wurde. das muss dann doch irgendwo in der datenbank mitgeführt werden, woher weiß wp das sonst? weißt du das zufällig?

    danke für die wertvollen beiträge zu diesem thema!

  2. Crazy Girl antwortete am 28. September 2009 um 10:07 Uhr:
    # 3

    @limone: Im Normalfall passiert das mit dem entsprechenden Eintrag in der htaccess. Oder hast Du ein Plugin für die Weiterleitung installiert?

  3. limone schrieb am 28. September 2009 um 17:21 Uhr:
    # 4

    nein, hab ich nicht, es muss also die htaccess sein. aber die führt doch eigentlich nicht jede änderung an einzelnen beiträgen mit? zumindest steht nur die globale änderung der permalinkstruktur drin (/index.php/ rausgenommen) in der htaccess, aber nicht, wenn ich den link eines einzelnen postings ändere. außer ich trage das manuell ein, wie du es hier im beitrag beschrieben hast.

    den tipp aus deinem anderen kommentar probier ich gleich mal aus, vielen dank!

  4. Crazy Girl antwortete am 28. September 2009 um 17:43 Uhr:
    # 5

    Der globale Eintrag in der htaccess sorgt dafür, dass die URLs nicht mehr mit ?irgendwas generiert werden, sondern so wie Du es unter Permalinks in den Einstellungen angegeben hast.
    Probier bitte mal den Tipp von mir mit dem kleinen Zusatz in der htaccess und sag dann kurz Bescheid, ob jetzt per 301 weitergeleitet wird. Ich vermute dass das dort alles so passiert, aber ganz sicher bin ich mir nicht.

Einen Kommentar dazu schreiben:

Bitte beachtet die Datenschutzhinweise sowie zu Spammer Kommentaren.

Ich behalte mir das Recht vor, Kommentare entsprechend zu löschen oder editieren!

Kommentare mit Links, die nicht zu Blogs führen und/oder Keywords
als Namen verwenden sind nicht erwünscht und werden gelöscht!


Links beinhalten das rel=nofollow Attribut (Stammkommentatoren ausgeschlossen)!

Kommentare abonnieren ohne selbst einen Kommentar abzugeben: