WordPress-URLs für Suchmaschinen optimieren
Hier wird gerade ein neues WordPress-Blog gebaut, mit diversen Testinstallationen und der gerade erschienenen WordPress-Version 2.0.4..
Wie immer steckt die Tücke im Detail. So habe ich mir beim Umschreiben der WordPress-URLs heute selbst ein Bein gestellt, kurz:
Wer dies will: „/blog-%post_id%-%postname%.html“ muss im Normalfall mit einer verlängerten WordPress-URL (date/…) in den Archiven leben!
Ich wollte das Datum meiner Beiträge gegen die ID-Nummer ersetzen, um die Wordpress-URLs zu verkürzen. Klar, ich hätte die ID-Nummer auch noch weglassen können, müsste dann aber in Zukunft immer darauf achten, dass zwei Beiträge nicht irgendwann versehentlich einmal die gleiche Überschrift erhalten. Wegen der Eindeutigkeit eines WordPress-Eintrags brauche ich also entweder eine eindeutige ID-Nummer oder halt das Datum, zu dem ich, wie es aussieht, nun zurückkehren muss.
Nachdem ich das Datum der WordPress-URL gegen die „post_id“ ausgetauscht hatte, entdeckte ich bei meinen Archiv-Links plötzlich eine unerklärliche URL-Erweiterung. Die WordPress-Archiv-URLs wurden automatisch mit der Pfaderweiterung „date/“ verlängert, die ich natürlich nicht haben wollte.
Was ich nicht wusste: WordPress hat in der Datei classes.php eine Sicherheitsschleife integriert, die wie folgt aussieht:
// Do not allow the date tags and %post_id% to overlap in the permalink structure. If they do, move the date tags to $front/date/.
$front = $this->front;
preg_match_all('/%.+?%/', $this->permalink_structure, $tokens);
$tok_index = 1;
foreach ($tokens[0] as $token) {
if ( ($token == '%post_id%') && ($tok_index <= 3) ) {
$front = $front . 'date/';
break;
}
}
So wird wohl verhindert, dass es bei mod_rewrite – Einsatz zu Überschneidungen und somit zu fehlerhafter Auslieferung von Seiten kommt. Dies muss man natürlich wissen. 😉
Nächste Woche werde ich noch nach einer Lösung suchen, um aus den Archiv-URLs „/Jahr/Monat/Tag/“ dies hier zu machen: „/Jahr-Monat-Tag/“. Falls jemand schon eine Lösung hat, würde ich mich über den Lösungsweg freuen. Sicher handelt es sich auch hier nur um eine kleine Modifikation in der „classes.php“. Erste Tests meinerseits führten hier jedoch zu Systemfehlern. 😉
WordPress-URLs für Suchmaschinen optimieren
Benutzerinformation und Links:
- Autor: fob (Samstag, - 29. Juli 2006 - 16:14 Uhr)
- Blog-Ablage: Blogs und Blogging, Internet, Suchmaschinenoptimierung, Wordpress
- Stichwortsuche /
Ich bin interessiert, wenn es zur Datum-Optimierung der URL für WordPress ein Update gibt.
Herzlichen Dank.
M. Meier
mmhh, haste den schon eine einfache Lösung gefunden, um aus den Archiv-URLs ”/Jahr/Monat/Tag/” dies hier zu machen: “/Jahr-Monat-Tag/”?? Es müsste doch über die classes.php möglich sein, nur leider kann ich kein PHP. oder gibt es vieleicht ein Plugin für WP, das währe noch schöner. Gruß Ralf
Habe die Sache ganz aus den Augen verloren.
Man könnte bestimmt ein Plugin basteln, welches Archiv-URLs für Suchmaschinen optimiert, müsste es dann aber bei jedem WordPress-Update prüfen und ggf. neue Versionen anbieten. Hmmm… Vielleicht schaue ich mir die Sache noch mal an, wenn ich mehr Zeit dafür habe. Momentan geht`s leider nicht.
Soeben klickte ich zufällig mal auf meine Archiv URLs (die ich manuell im Template hatte, da ich nur jährliche Archive wollte, was früher nicht per Template-Tag ging) und was kommt: 404.
Na wunderbar, keiner sagt was. Das regt mich nun echt auf. Gottseidank hast Du was dazu geschrieben, sonst hätte ich mich in der htaccess wohl blöd gesucht.
Also nun eben mit date und 301 von alte auf neue Archiv-URLs. Ich finde date aber genauso blöd wie category oder tag, was man zumindest mittlerweise selbst benennen (oder ggf. vermeiden) kann.