
Der WordPress Category Slug
Egal, wie Du Permalinks einrichtest, WordPress fügt Kategorien immer automatisch ein „category“ hinzu. Statt „www.website.de/meine-eigene-kategorie/“ liefert WordPress Folgendes aus:
„www.website.de/category/meine-eigene-kategorie“ aus.
Es sieht nicht nur etwas unpassend aus, es ist auch nicht optimal für Dein Suchmaschinenranking.
Im Übrigen wird das „Ding“ Category-Slug genannt. Der WordPress-Slug ist ein Teil des Textes, der nach dem Domainnamen in der Website-URL angezeigt wird. Der WordPress-Slug ist der letzte Teil der URL. Er kann aber auch aus mehreren Teilen bestehen, wie im Falle des Category Slug „/category/“.
Es gibt verschiedene Wege, diesen Teil in der URL wegzubekommen.
Über die htaccess entfernen
Die in die .htaccess einzutragende Regel ist einfach:
RewriteRule ^category/(.+)$ http://www.deine-webseite.de/$1 [R=301,L]
Wie Du im Titelbild des Beitrages siehst, gehört diese Rule direkt unter den Eintrag:
RewriteRule . /index.php [L]
RewriteRule ^category/(.+)$ https://alltag-0815.de/$1 [R=301,L]
Danach im WordPress Dashboard unter „Einstellungen -> Permalinks“ bei „Kategorie-Basis“ einen Punkt setzen und auf „Änderungen speichern“ klicken, um die Permalinks zu aktualisieren. Dieser Schritt wird sehr oft vergessen zu erwähnen. Ich brauchte zwei Stunden, um zu begreifen, warum die Rule nicht funktioniert.
Ein großes Problem …
Wenn die URLs im Nachhinein so umgeschrieben werden, findet WordPress 5 die „alten“ Kategorien nicht mehr, die Umleitung funktioniert nicht. Dieses seit Jahren im Internet kursierende Schnipsel nützt bei den aktuellen WordPress Installationen herzlich wenig.
Lösung: Slug per Plugin entfernen
Was tue ich jetzt also? Ich greife auf ein Plugin zurück, auf „No Category Base (WPML)“ von Marios Alexandrou. Es ist fix installiert und ich muss keine weiteren Handgriffe erledigen. Super!
Die Lösung mit der htaccess funktioniert nur fehlerfrei, wenn vom ersten Tag der WordPress-Installation an dieser RewriteRule genutzt wird.