Wer kennt das nicht. Man fängt an zu bloggen und nach vielen Monaten stellt man fest, dass die zuerst gewählte und für damals sinnvoll befundene Permalinkstruktur nicht das Wahre ist (zu lang, zu unlogisch etc.). Die Permalinkstruktur innerhalb von WordPress zu ändern ist an sich kein Problem. Der Knackpunkt ist die Weiterleitung.
Im Mai letzten Jahres habe ich das Wort “archiv” aus der Permalinkstruktur entfernt und “category” durch “kategorie” ersetzt. Der Code befindet sich im betreffenden Beitrag. An sich eine leichte Übung. Richtig interessant wird es, wenn man die Datumsangabe aus der Struktur entfernen will und dies in der Weiterleitung berücksichtigen möchte. Wie schaut hierbei der Code aus den man in die .htaccess-Datei notieren muss?
Dieser Frage geht Manuel nach und zumindest für ihn hat er eine Lösung gefunden, die funktioniert. In diesem Weblog würde der Code folgendermaßen ausschauen – wenn ich die Regel richtig verstanden habe:
RewriteRule [^/]+/[^/]+/[^/]+/([^/]+) /$1 [R=301]
Wir arbeiten seit 20 Jahren mit WordPress und bieten diverse Dienstleistungen rund um das System an. Kontaktiere uns für weitere Informationen oder für ein Angebot.
Interessante Idee, das Datum aus den Links herauszubekommen. Müsste ich auch mal probieren. Wo ich sowieso gerade am Schrauben und Basteln bin.
Mit den regulären Ausdrücken habe ich immer das Problem, dass ich sie mir ein bis zwei Stunden lang blöde angucken muss (plus meinem RegExp-Buch daneben), bis sie langsam anfangen, mir irgendetwas zu bedeuten…
😕
Ich hab das drüben mal etwas restriktiver gestaltet. Begründung dort 🙂
Erster Test mit o.a. RewriteRule: Klappt bei mir nicht. (Fehler 404)
Habe zuvor im WP-Admin natürlich die Struktur umgestellt auf: http://domain/artikel-titel/
Jetzt ein großes Glas Schlauheit bitte, gut gekühlt…
Du hattest mich ja nach nem Grund für die Umstellung gefragt. Was ich gerade interessanterweise bei Jörg gelesen habe ist nur ein Grund mehr umzustellen. Aber wer weiß schon ob’s stimmt
http://www.einfach-persoenlich.de/2005-12-13/blogger-wie-werden-weblogs-in-google-besser-platziert.html
Hi Manuel,
ich habe da so einen Satz im Kopf welchen ich vor längerer Zeit aufgeschnappt habe:
Diese Aussage richte ich nicht an dich persönlich sondern allgemein in den Raum.
Ich sehe die Datumsangabe in der URL nicht als Ballast sondern als einen zusätzlichen Nutzen für den menschlichen Besucher. Anhand des Datums kann er auf einen Blick sehen wie aktuell der Beitrag ist … z.B. bei der Ausgabe eines Suchergebnises.
Ich könnte z.B., wenn ich Datum in der URL nutze, mehrere Beiträge mit identischem Titel verfassen, nehmen wir mal an in einer Serie “Permalinkstruktur in WordPress anpassen”.
Ob man jetzt dabei den ganzen Datum ausschreiben muss ist eine andere Geschichte. Evtl. würde Jahr und Monat ausreichen. Ich an deiner Stelle hätte eher das Weblog in das Hauptverzeichnis gelegt. Damit hättest du 2 Verzeichnisstrukturen “gewonnen” (beziehe mich jetzt auf die Aussage von Matt) und gegenüber der vollständigen Datumsangabe sind es nur zwei Zeichen mehr … und du müsstest dir keine so komplizierte Weiterleitungs-Regel ausdenken müssen :smile:.
Das Argument mit den identischen Titeln unter verschiedenen Daten ist natürlich treffend. Das deutet aber auch auf eine interessante Diskussion über die Struktur der Blog-Oberfläche hin:
Betone ich in meiner oberflächlichen Blogstruktur eher das Datum oder eher den Titel der jeweiligen Artikel?
Warum z.B. nicht dort klar den Titel herausstellen und das Datum unterordnen, in der URL-Struktur dagegen das Datum vorrangig mitliefern?
(By the way: meine Experimente mit den diversen o.a. Redirect-Ausdrücken waren nicht erfolgreich, aber was soll’s…)
Das Problem ist wohl, dass Suchmaschinen wie Google (die ja in Deutschland > 80% eingesetzt wird) Links wohl geringer bewerten, desto weiter unten die Seite im Verzeichnis ist.
D.h. ein Permalink wie etwa site.com/weblog/2006/05/04/titel ist nicht so gut wie site.com/weblog/titel. Problem ist – wie schon angemerkt, die Eindeutigkeit des Titels.
Ich habe das wie folgt gelöst: site.com/weblog/2006-05-04/titel
Also – statt /.
Rewrite für bestehende URLs:
RewriteRule ^200(5|6)-([0-9]{2})-([0-9]{2})/(.*)$ /weblog/200$1-$2-$3/$4 [L,R]
(funktioniert, bin aber kein Rewrite-Experte, geht sicherlich noch besser 🙂
Damit ist das Datum weiterhin in der URL enthalten, aber 2 Verzeichnisebenen wurden entfernt.
[…] Dies führt nun dazu das ich in WordPress die Permalinkstruktur anpassen kann und auch werde. In dem Beitrag Permalinkstruktur in WordPress anpassen schreibt Perun, das es grundsätzlich kein Problem ist. Ich möchte nun von “Standard” auf eine “Benutzerdefiniert” Permalinkstruktur wechseln. Aber was muss ich alles beachten damit nicht jeder vorher gesetzte Link auf meine Seite ins “leere” läuft. Kann mir jemand dazu einen Tipp geben oder soll ich es einfach machen und abwarten? […]