WordPress Multisite – Wie man /blog/ aus der URL entfernen kann
Kategorie: Web Projektentwicklung
Jeder der sich mit dem Thema Multisite beschäftigt ist sicherlich schon einmal mit dem Problem konfrontiert worden, dass eine Multisite auf Verzeichnisbasis automatisch eine URL-Zusatz „/blog/“ einfügt, den man nicht so einfach wieder los wird.
Wer bis jetzt das Plugin „WordPress SEO“ von Joost de Valk benutzt hat, für den war dieses Problem mit einem Häkchen im Submenü „Permalinks“ schnell gelöst.
In einer der letzten Updates kam aber die Info, dass diese Option in Zukunft nicht mehr zur Verfügung steht. Und leider ist es in der aktuellen Version auch wirklich geworden – die Option wurde entfernt.
Warum wird der Zusatz „Blog“ eigentlich bei einer Multisite automatisch hinzugefügt?
Da gehen die Meinungen sicherlich auseinander, aber auf der offiziellen WordPress-Seite wordpress.org gibt es die Erklärung, dass gerade bei einer sogenannten Subfolder-Installation damit das Problem umgangen wird, dass es zu verwirrenden Duplikaten kommt. Ich könnte ja folgendes Setup anlegen:
MS Seite 1: www.meineDomain.com
MS Seite 2: www.meineDomain.com/shop/
Lege ich jetzt auf der Seite 1 ebenfalls eine Seite an, die den Slug „/shop/“ besitzt, ist es für die Datenbankabfrage nicht eindeutig, welche Seite nun angezeigt werden soll. Noch schlimmer, wenn ich das Domain Mapping aktiviert habe, und die Regel bei der Eingabe von www.meineDomain.com/shop/ automatisch immer die Domain www.meineShopDomain.com gemappt wird.
Durch das Einfügen des „/blog/“ Verzeichnisses in der Hauptdomain, kann dieses Problem nicht vorkommen, weil die URL im Fall von Seite 1 nun www.meineDomain.com/blog/shop/ lauten würde, und damit auch das Problem mit dem Redirect gelöst wird.
Lösungsansätze um den Parameter /blog/ trotzdem zu entfernen.
Wir haben eine funktionierende Lösungen gefunden und getestet, die mit der aktuellen WordPress Version 3.9.1 den URL-Zusatz zuverlässig entfernen.
Datenbankmanipulation Plugin WordPress SEO Version 1.5.4.2
Wir zuvor erwähnt ist die Option in der Admin Oberfläche entfernt worden. Wenn die Option aber zuvor ausgewählt hat, dann funktioniert es auch mit der aktuellen Version, obwohl man sie nicht mehr deaktivieren kann. Der Trick: Man ersetzt bei einer frischen Installation den Wert in der Datenbank einfach mit dem Wert, in der diese Option aktiviert wurde.
Tabelle: wp_options
Option_name: wpseo_permalinks
Option_value*:
a:10:{s:15:“cleanpermalinks“;b:0;s:24:“cleanpermalink-extravars“;s:0:““;s:29:“cleanpermalink-googlecampaign“;b:0;s:31:“cleanpermalink-googlesitesearch“;b:0;s:15:“cleanreplytocom“;b:0;s:10:“cleanslugs“;b:1;s:15:“force_transport“;
s:7:“default“;s:18:“redirectattachment“;b:0;s:17:“stripcategorybase“;b:0;s:13:“trailingslash“;b:0;}
* Das ist bereits der funktionierende Wert. Zur Sicherheit bitte zuerst den aktuellen Wert in eine Textdatei kopieren und aufbewahren!
Zusätzlich muss der Parameter /blog/ auch noch aus der Permalinkstruktur der Hauptdomain entfernt werden. Dies kann auch direkt in der Datenbank gemacht werden (gleiche Tabelle) oder aber über die Netzwerkverwaltung im Admin Interface.
Über die Datenbank:
Tabelle: wp_options
Option_name: permalink_structure
Option_value: /blog/%category%/%year%/%postname%/ (Alter Wert)
Mit diesem Wert ersetzen
Option_value: /%category%/%year%/%postname%/ (Neuer Wert)
Über die Netzwerkverwaltung (eingeloggt als Super-Admin):
Gehe in das Menü „SEITEN“ > „ALLE SEITEN“. Du erhältst nun eine Liste der bestehenden Multisite Seiten. Wähle die Hauptseite aus (meist ID 1), in unserem Beispiel www.meineDomain.com und klicke auf „BEARBEITEN“.
Wechsel nun zum Tab „EINSTELLUNGEN“ und scrolle runter bis zur Option „Permalink Structure“. Hier findest du den gleichen Wert wir oben bei der Variante über die Datenbank. Entferne einfach die Zeichen „/blog/“, damit nur mehr die gesäuberten Permalinks, in unserem Beispiel „/%category%/%year%/%postname%/“ stehen bleiben.
Ganz am Ende der Seite findest du den „ÄNDERUNGEN ÜBERNEHMEN“ Button, mit dem die Änderung übernommen werden kann.
FUNKTIONIERT & FERTIG!
Kategorien, Artikel und Seiten sind nun ohne den URL-Zusatz „/blog/“ erreichbar und ergeben keine 404 Fehlermeldungen mehr.
Auf der Suche nach einer funktionierenden Lösung mit der aktuellen WordPress Version haben wir uns auch Plugins, wie zum Beispiel „Remove Blog Slug“ von Herr Llama angesehen und getestet. Leider funktioniert dies in der Version 1.0 aktuell nicht.
Eine weitere Lösung die wir gefunden haben, war ein Versuch über den Admin_Cookie Zusatz in der wp-config.php – jedoch auch dieser Lösungsansatz hat mit der aktuellen WordPress Version nur zu einem Datenbankverbindungsfehler geführt.
Wenn ihr noch einen anderen Workaround bzw. Fix gefunden habt, dann schreibt mir doch gerne eine Nachricht oder hinterlasst einfach ein Kommentar unterhalb des Artikels.
4 Antworten zu “WordPress Multisite – Wie man /blog/ aus der URL entfernen kann”
Schreibe einen Kommentar
Bei allen mit * gekennzeichneten Links handelt es sich um so genannte Affiliate-Links, das heißt, dass aufgezeichnet wird, dass sie die Empfehlung oder das Plugin hier gefunden haben. Bei einem Kauf erhält der Betreiber der Webseite eine Mittlerprovision vom Anbieter der Software dafür erstattet, ihren Kosten erhöhen sich dadurch nicht. Generell spreche ich auch nur Empfehlungen für Produkte aus, die ich selbst bei Kunden oder eigenen Projekten im Einsatz habe.
„Teste, die neuesten Web-Design und Website-Builder-Tools hier templatetoaster jetzt! „
Danke für diesen nützlichen Hinweis mit dem Entfernen des Blog-Eintrags bei Multisites. Das hat mich schon immer genervt und bisher hatte ich keine Lösung gefunden.
Grüße,
Andreas
Hat bei mir nicht funktionier: Ich finde diese Optionen in der Datenbank nicht. z.B. das Wort „stripcategorybase“ kommt in meiner Datenbank nicht vor. Hat sich inzwischen etwas geändert (WP5.1.1) Sowieso ziemlich unglaublich, dass solche Hacks nötig sind …
Mittlerweile gibt es diese Option bei YOAST SEO wieder. Du kannst sie bequem über die Adminoberfläche einstellen.
LG Markus