PehBehBeh

Erfahrungen eines Hobby-Webentwicklers

Blog-Kosmetik: Die WordPress Permalinks

| 3 Kommentare

Ich bin am Wochenende zu dem Entschluss gekommen meine Permalink-Struktur zu ändern. Im Allgemeinen sollte man wohl davon abraten, die Link-Struktur einer Website zu ändern wenn sie bereits online ist. Natürlich bin ich auch auf einige Probleme gestoßen, aber für WordPress gibt es mittlerweile einen Haufen guter Ressourcen, die einem helfen können. Bei mir hat alles einwandfrei funktioniert und alle Seiten sind noch über die alten Links per 301-Redirect erreichbar.


/%category%/%postname%/ ist böse!

Auch wenn im WordPress Codex dringend davon abgeraten wird die Permalink-Struktur /%category%/%postname%/ zu verwenden, setze ich diese Struktur jetzt produktiv ein. Ich habe jedenfalls keinen überzeugenden Beitrag im Netz gefunden, der mir beweist, dass diese Struktur wirklich so schlecht ist. Angeblich ist WordPress ja ein bisschen langsamer, jedoch nur bei vielen Seiten. Da ich aber nicht mal auf zehn Stück komme, sollte das bei mir im Blog keine Probleme darstellen.

Vorteile überwiegen

Selbst wenn es so sein sollte, dass der Seitenaufruf ein paar Millisekunden verzögert wird, nehme ich diesen Nachteil für die doch schöneren URLs in kauf. Meine Artikel zu den Themen HTML, JavaScript usw. sind doch größtenteils zeitlos, weswegen ich mich gegen die Struktur /%year%/%monthnum%/%day%/%postname%/ entschieden habe.

Probleme

1. Alte Links

Damit all die alten Links noch mit der neuen Permalink-Struktur funktionieren, setze ich Dean’s Permalinks Migration Plugin ein. Einfach alte Struktur eintragen und alle Artikel werden sauber per 301-Redirect auf die neue URL umgeleitet.

2. Kategorie-Basis entfernen

Wenn meine Artikel jetzt über /%category%/%postname%/ zu erreichen sind, möchte ich natürlich auch, dass man beim Entfernen des Artikelnames in der entsprechenden Kategorie landet. Leider sind Kategorien in WordPress unter /category/%category%/ zu erreichen. Folglich muss irgendwie die Kategorie-Basis /category/ entfernt werden. Hier schafft das Plugin WP No Category Base Abhilfe. Es wandelt automatisch alle Links im Blog um. Wenn man dazu noch folgenden Befehl in die .htaccess einfügt, werden auch alte Links sauber weitergeleitet:

RewriteRule ^category/(.+)$ http://domain.de/$1 [R=301,L]

3. Unterkategorien

Wie man im Blog sehen kann verwende ich eine Oberkategorie “Webentwicklung” für die drei Unterkategorien “HTML & CSS”, “JavaScript” und “PHP”. Da ich unwissentlich immer alle Artikel sowohl in der Unter- als auch in der Oberkategorie abgelegt habe, wurde für %category% immer “Webentwicklung” eingesetzt. Das kann man aber umgehen, indem man die Artikel einfach nur in der Unterkategorie ablegt. Sinngemäß werden in der URL Unter- und Oberkategorie eingefügt.

4. Seite = Kategorie

Ein Problem ist nun, dass keine Seite den Namen einer Kategorie (oder eben andersherum) haben darf, da WordPress sonst nicht weiß, was angezeigt werden soll. Ein weiterer Nachteil, den ich nicht als schlimm empfinde.

Ich habe es hinter mir. Habt ihr schon ähnliche Erfahrungen mit Änderungen der Permalink-Struktur gehabt? Oder habt ihr eventuell bessere Lösungen parat?

Dir hat der Artikel gefallen?
Dann abonniere doch den RSS-Feed!

3 Kommentare

  1. Besten Dank für diesen klasse Tipp. Ich habe heute den ganzen Tag damit verbracht eine Lösung zu finden.

    Das Problem war: Die Kategorien-Basis habe ich zwar umgangen, konnte jedoch nicht in der Kategorie blättern. Insofern gab es bei mir immer eine 404.

    Danke für den Tipp mit dem Plugin.

  2. Freut mich, dass ich helfen konnte.

  3. Hallo,

    nutze auch schon lange genau die Cat / postname Perma einstellung und fahre damit eigtl. auch gut. Habe nun um die 500 Posts bei mir im WP und bisher noch keine Probs gehabt. Klar muss man dann sehr drauf achten wie man die Cats und Seiten nennt und vorallem die Artikel selber.
    Ich werde aber mal dein Plugin für die Perma sache auf einem Testblog versuchen.

Hinterlasse eine Antwort

Pflichtfelder sind mit * markiert.