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]

Zusätzlich kann noch die entsprechende alte Seite über die robots.txt von der Indexierung ausgeschlossen werden, was aber bei beiden Umleitungen über die htaccess nicht notwendig ist:
Disallow: /alte-seite.html

5.05.2009 |
 Autor: Crazy Girl |
 Themenbereich: Blog SEO Tips
Trackback URL: http://www.crazytoast.de/2009/05/blog-seo-tips/automatische-weiterleitung-urls-redirect-permanent.html/trackback/
Ähnliche Beiträge:
↑ Ganz nach oben springen ↑
↓ zum kommentieren springen ↓
15 Reaktionen:
3 Trackbacks:
  1. [...] Bei crazytoast.de wird 301 redirect noch ausführlicher beschieben (zum Artikel). [...]

  1. [...] Weitere 301 Weiterleitungsmöglichkeiten habe ich vor einiger Zeit hier beschrieben: Automatische Weiterleitung einzelner URLs mit redirect permanent [...]

  1.  Crazy Girls Tipps, am 8. Oktober 2009:

    Einzelne URLs mal schnell aus dem Google Index verschwinden lassen…

    Der ein oder andere von Euch mag sich bei diesem Titel jetzt wohl denken, dass die „alte Crazy“ wohl einen an der Birne hat. Vor kurzem beschwert sie sich, dass Google Blog Artikel aus dem Index verliert und nun will sie absichtlich einzelne URLs aus d…

12 Kommentare:
  1. nastorseriessix schrieb am 6. Mai 2009 um 00:13 Uhr:

    Oh das ist was für mich. ;)

    Muss ja demnächst meine bisherige URL auf meine neue URL umleiten nur das dass dann eine Subdomain einer neuen Url ist. Irgendwie habe ich da noch was mit Google index und so im Kopf in dem Zusammenhang. Nur was genau war das alles…?

  2. Crazy Girl antwortete am 6. Mai 2009 um 19:44 Uhr:

    @nastorseriessix: Wenn Du eine komplette Weiterleitung der gesamten Domain inklusive Unterseiten auf die neue Domain machst (mit einer rewrite rule), dann werden die Seiten aus dem Index pö a pö sich auf die neue URL ändern.

  3. nastorseriessix schrieb am 6. Mai 2009 um 21:04 Uhr:

    Rewrite URL? WTF?

    Auf Deutsch wäre nicht schlecht…

  4. Crazy Girl antwortete am 7. Mai 2009 um 07:36 Uhr:

    Na ja, wie soll ich die englischen Befehle auf deutsch sagen, wenn sie nunmal nur auf englisch funktionieren? *kopfkratz*
    Eine gesamte Domain mit allen Unterseiten kann man nicht mit dem redirect permanent ... Befehl in der htacces umleiten, da dieser nur eine einzelne Seite umleitet. Dafür braucht man eine so genannte rewrite rule ... . Auf Deutsch: permanente Umleitung funktioniert nicht, es braucht eine Umschreibe-Regel…
    Den entsprechenden Code dafür kann ich Dir leider nicht liefern, bin leider kein htaccess Experte und die Rewrite Rule’s haben mich persönlich schon hin und wieder zum verzweifeln gebracht, vor allem wenn es um Subdomains ging, die am Server in Unterordner der Hauptdomain lagen und nicht in eigenen Accounts.

  5. nastorseriessix schrieb am 7. Mai 2009 um 09:14 Uhr:

    Vielleicht kann mit der Support von all-inkl.com dabei dann helfen, bzw. mir das passend einstellen. :)

    Mit auf Deutsch meinte ich eigentlich nur, das du es etwas genauer erklärst, mehr nicht. Muss das nix übersetzten, aber trotzdem danke dafür. :D

  6. Crazy Girl antwortete am 7. Mai 2009 um 09:48 Uhr:

    Keine Ahnung ob all-inkl dabei helfen kann. Mit solchen Sachen habe ich mich noch nie an die gewendet, da das meiste im Standard eh im Netz zu finden ist.

    Mein Tipp diesbezüglich an Dich: Erstelle im KAS für die Subdomain einen eigenen Unteraccount (also die Subdomain im Menü Unteraccount/als Subdomain anlegen und nicht im Menü Subdomain). Damit funktionieren die Umleitungen am einfachsten.

    Wenn die Subdomain stattdessen als Subdomain (ein eigner Ordner im gleichen Account) angelegt ist, musst Du auch noch den Ordner der Domain umleiten, unter dem alle Subdomains ebenfalls erreichbar sind, und dann gibt es haufenweise Konflikte mit der Hauptdomain bzw. den Dateien dort. Vor allem ist die Frage wie Wordpress das alles packt, denn das arbeitet für die Permalinks ebenfalls mit einer RewriteRule in der htaccess.

  7. limone schrieb am 27. September 2009 um 17:38 Uhr:

    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!

  8. Crazy Girl antwortete am 28. September 2009 um 10:07 Uhr:

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

  9. limone schrieb am 28. September 2009 um 17:21 Uhr:

    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!

  10. Crazy Girl antwortete am 28. September 2009 um 17:43 Uhr:

    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.

  11. Peti schrieb am 7. Oktober 2009 um 00:20 Uhr:

    Also am Besten macht man sowas mit mod_rewrite oder eben in der .htaccess, von meta refresh oder Javascript sollte man wohl besser die Finger lassen, da Javascript von Suchmaschinenspidern nicht verfolgt werden und das meta refresh wohl für mehr Verwirrung als Nutzen bei den Spidern sorgt.

    Da die Geschichte mit mod_rewrite aber wohl eher etwas für Profis ist (da kann man ne Menge falsch machen…)

    Eine solche Zeile wie der manuelle 301 redirect veranlaßt die lieben Spider, die alte URL zu verwerfen und durch die Neue zu ersetzen.
    Und wie es so aussieht, wird auch der PR mit umgezogen, auch das Rinking in den Sumas bleibt bestehen.

    Und an das Crazy Girl: Super Blog, bitte unbedingt weiter so!!!

  12. Crazy Girl antwortete am 7. Oktober 2009 um 17:09 Uhr:

    @Peti: Sorry, ich musste die eine Codezeile leider aus Deinem Kommentar rausnehmen. Egal wie ich das maskiere, da wird immer ein Link draus :-(

    Javascript wird übrigens seit einiger Zeit von den Suchmaschinen verfolgt, nichts desto trotz hast Du Recht, 301 redirect ist die sinnvollste Variante. Der PR wird umgezogen und auch das Ranking bleibt bestehen, das hast Du richtig beobachtet :-)

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 abonnieren ohne selbst einen Kommentar abzugeben: