Eine übersichtliche Informationsarchitektur hilft Nutzern und Suchmaschinen, sich auf einer Webseite zurechtzufinden. Entsprechend wichtig ist es, die Seitenstruktur gut zu pflegen. Dabei kann es vorkommen, dass man Unterordner entfernen oder hinzufügen möchte. Hier die Anleitung dafür:
Inhaltsverzeichnis:
Wer sich nicht vertieft mit dem Thema befassen will, versucht sich mit AutoRegex und dessen automatischer Ausgabe der nötigen Befehle.
Mein Wunsch: Optimieren der Informationsarchitektur durch Löschen von Ordnern
In meinem Reiseblog hatte ich ursprünglich einen Ordner für die Kontinente erstellt. Typische URLs von Ländern waren beispielsweisehttps://reisememo.ch/europa/schweiz
https://reisememo.ch/afrika/botswana
https://reisememo.ch/suedamerika/chile
https://reisememo.ch/asien/philippinen
Auf den Länderseiten publiziere ich eine Übersicht der Reisetipps. Seiten wie /asien/oman oder /europa/kroatien werden dadurch recht häufig aufgerufen.
Aber für die Kontinenteseiten hatte ich keine Inhalte: Es war nie ein Ziel, für «Reisen in Europa» gefunden zu werden.
Deshalb will ich testen, ob es aus SEO-Gründen förderlich ist, die Ordner der Kontinente zu entfernen: Die Länderseiten und die effektiven Reisetipps sind damit näher an der wichtigen Homepage. Das müsste sie wichtiger machen als wenn sie weiter weg sind von der Homepage.
Ich ersetze also die längeren Kontinente-URL durch die kürzeren Länder-URL:
https://reisememo.ch/europa/schweiz wird zu
https://reisememo.ch/schweiz
Oder im Falle von Brunch-Tipps wird aushttps://reisememo.ch/europa/schweiz/brunch-zuerich
https://reisememo.ch/schweiz/brunch-zuerich
Umstellen der URL-Struktur in den Permalinks (WordPress)
Im WordPress-Menu «Einstellungen/Permalinks» findet man die Konfiguration der URLs eines Blogs.
Wer das nicht verstellt hat, zeigt seinen Lesern als URL beispielsweise die ID des Artikels, z.B. /?p=123
Das ist weder für Leser noch Suchmaschinen besonders hilfreich.
Auf vielen Blogs sieht man auch URLs mit Datumsangaben wie /2020/02/08/beispielbeitrag. Dadurch liegt der Beispielbeitrag 3 Unterordner weit weg von der Homepage und kann dadurch ja wohl nicht so wichtig sein.
Zudem bietet es Lesern nur sehr limitierten Mehrwert, das Datum in der URL zu lesen.
Ich empfehle die Einstellung «Benutzerdefiniert» mit dem Eintrag /%category%/%postname%
Dies generiert eine URL mit der vorangehenden Domain und dann Unterordner für allfällige Kategorien gefolgt vom Namen des Artikels.
Die Kategorien, in meinem Fall die Länder, werden im WordPress-Menu hinterlegt unter «Beiträge/Kategorien». Dort kann man auch Hierarchien hinterlegen wie eben /europa/schweiz.
Für mein Vorhaben lösche ich die Kategorien aller Kontinente. Die darunter angeordneten Länder verschiebt WordPress automatisch um eine Ebene nach oben.
Theoretisch stellt WordPress jetzt alle URLs automatisch um und der Blog funktioniert weiterhin.
Allerdings sollte man Artikel untereinander verlinken, um Lesern Mehrwert zu bieten. Diese internen Links funktionieren jetzt nicht mehr, da sie ja noch den Kontinent enthalten.
Korrigieren aller internen Links in myPhpAdmin
Bei einem über Jahre entwickelten Blog müssen jetzt hunderte von URLs und interne Links korrigiert werden. Im Falle von Reisememo sind über 500 Artikel betroffen.
Um die URLs nicht von Hand korrigieren zu müssen, ändert man sie per «Suche und Ersetzen» direkt in der Datenbank.
Die meisten Hosting-Dienstleister bieten einen Zugang zu phpMyAdmin: Hier findet man alle redaktionellen Inhalte des Blogs in Tabellenform organisiert.
Um nun eine Änderung in allen Blogbeiträgen vorzunehmen, wählt man links die betroffene Datenbank und dann oben den Reiter «SQL».
Folgende SQL-Abfrage ändert in allen Artikeln (wp_posts) in den Inhalten (post_content) den Pfad mit Australien auf einen Pfad ohne Australien:
UPDATE wp_posts SET post_content = replace(post_content, '/australien/', '/');
Dann drückt man unten auf «Simulate query», wenn man nicht ganz sicher ist oder auf «Go», um die Änderung in allen Artikeln vorzunehmen.
Dieses Vorgehen ist zwar sehr effizient, aber auch sehr gefährlich: Ist der Änderungsbefehl falsch, können auch viele andere Inhalte verändert werden und der Blog läuft nicht mehr rund.
Deshalb teste ich solche Umstellungen immer zuerst auf einer Testversion des Blogs.
301-Weiterleitungen einrichten für externe Links (Regex)
Da die Kontinente-URLs gelöscht wurden, entstehen dadurch «Löcher»: Ist eine Unterseite des Blogs von aussen verlinkt, läuft dieser Link ins Leere.
Deshalb muss man «Weiterleitungen» einrichten: Die alten URLs werden auf die neuen weitergeleitet. Und zwar für immer. Im Tech-Lingo ist das eine permanente 301-Weiterleitung (301 redirect).
Dafür empfehle ich das SEO-Plugin von Yoast oder von Rank Math. Im Yoast-Menu «SEO/Redirects» trägt man die alte und neue URL ein und setzt dies auf 301 permanente Weiterleitung.
Für die Umstellung meiner 6 Kontinente wäre das von Hand kein Problem. So leite ich reisememo.ch/europa beispielsweise weiter auf reisememo.ch/schweiz.
Aber es könnte ja auch jemand eine Unterseite verlinkt haben mit der beispielhaften früheren URL https://reisememo.ch/europa/schweiz/palpuognasee-piz-ela-albulapass
Alle über 500 Artikel will ich nicht von Hand auf die neue URL ohne Kontinent weiterleiten.
Für solche Fälle gibt es die sogenannten Regular Expressions oder abgekürzt Regex: Mittels einer Regel kann man festlegen, dass alle früheren Kontinente aus dem Pfad ausgelassen werden sollen.
Der Befehl lautet für mein Beispiel\/europa\/(.*)|\/afrika\/(.*)|\/asien\/(.*)|\/nordamerika\/(.*)|\/suedamerika\/(.*)
Und die daraus folgende URL soll sein /$1|$2|$3|$4|$5
Was etwas kryptisch aussieht, weil ich alle Kontinente in einer Zeile bearbeite, lässt sich einfacher darstellen für die beispielhafte Änderung nur eines Ordners:
\/europa\/(.*)
Und die Weiterleitung auf die neue URL /$1
Weil bei Regular Expressions der Slash «/» ein Sonderzeichen ist, muss man diesen zuerst mit Backslash «\» sozusagen «deaktivieren» (escapen im Jargon). Deshalb die Zeichenfolge «\/» für die Angabe eines «/».
«\/europa\/» wird also interpretiert als «/europa/».
Dahinter will ich alle möglichen Artikelpfade in eine Variable schreiben und diese dann für die neue URL wiederverwenden.
Der Pfad «/$1» wird also nach dem «/» alles einsetzen, was in der alten URL nach «/europa/» noch folgte.
Mit dem Pipe-Zeichen «|» kann man Oder-Verknüpfungen erfassen. Die weiteren «Oder-Varianten» werden dann in die weiteren Variablen $2, $3, etc. geschrieben.
/$1|$2|$3 etc. schreibt hinter dem «/» also entweder die erste Option oder die zweite oder die dritte etc.
Testen kann man seine Regex im mächtigen Tool von regex101.com. Hier findet man mein Beispiel inklusive Test-URLs: Für jene mit Kontinent soll die Regel greifen, für jene ohne Kontinent nicht.
Rechts wird im Tool auch jeder Befehl erklärt. Sehr hilfreich ;-)
Anpassen der Navigation
Die Änderung der URL-Struktur kann natürlich auch einen Einfluss haben auf die Navigation.
In meinem Beispiel musste ich die Navigation nach Kontinenten manuell nachbauen, da sie jetzt nicht mehr via URL verfügbar ist.
Analog zu meinem Beispiel kann man natürlich auch Ordner neu hinzufügen.
Viel Erfolg bei der Optimierung Deiner URL-Struktur!
4 Kommentare
Hallo Walter, toller Artikel. Dieses Thema beschäftigt mich seit einer Weile. Mich würde es sehr interessieren, ob die Umstellung bei reisememo.ch dann einen positiven Impact auf die SEO-Resultate hatten, nachdem die Folder gelöscht worden sind?
Hallo Mathias
Danke für das Interesse.
Ich kann den Effekt leider nicht identifizieren, da er von viel stärkeren Einflüssen überlagert wird: Bei einem Reiseblog haben äussere Einflüsse wie die Pandemie oder das Wetter einen viel höheren Einfluss auf die Besucherzahlen als SEO-Änderungen. Seit Ausbruch der Pandemie publizieren wir praktisch nur noch Wandertipps. Die sind noch stärker von der Wettervorhersage abhängig als unsere internationalen Reisetipps. Die plant man ja weiter im voraus und das Wetter ist nur für die Auswahl der Saison relevant.
Der Anteil der organischen Besucher am Gesamt-Traffic ist seit langer Zeit konstant. Der absolute Wert der organischen Besucher ist stark abhängig vom Suchvolumen (das je nach Einflüssen und Saison stark schwankt). Die Änderung hatte also mindestens keinen negativen Einfluss.
In folgender Auswertung siehst Du links einen Peak: Am 10. Mai war zwar ein Google Core Update, was uns geholfen haben könnte, aber wenn nach Aufhebung des Lockdowns an Auffahrt am 21. Mai schönes Wetter herrscht, dann ist das um Faktoren stärker als eine SEO-Änderung.
Obwohl ich den Erfolg der Massnahme nicht direkt messen kann, werde ich weitere Optimierungen an der Ordnerstruktur vornehmen: Wenn neben einzelnen Artikeln auch Kategorien beginnen, in den Suchresultaten aufzutauchen, wird es richtig interessant. Denn Kategorien werden mit jedem neuen Beitrag in der Kategorie ja nur noch stärker.
Ich hab das, damals noch ganz unwissend bei meinem letzten grossen «Umbau» mit einem Plugin gemacht gehabt. Oder besser gesagt mit einer Kombination aus zwei verschiedenen Plugins.
Zum einen ist das, dass «Dean’s Permalinks Migration» (gleich vorneweg das gibts zwar noch wird aber schon lange nicht mehr gepflegt) und später bin ich mit einem Linkchecker drüber gegangen.
Das Plugin hat damals direkt in die Datenbank geschrieben und alle Links entsprechend angepasst.
Aus der heutigen Sicht hätte ich das nicht wieder so gemacht. Zum einen weil weniger Plugin’s besser sind und weil es heikel ist. Natürlich hab ich ein Backup vorab gemacht, aber man weiss ja nie.
Mit dem Linkchecker hab ich im Nachhinein vereinzelte Links gefunden die das Plugin übersehen hat.
Hätte ich damals deine Anleitung schon gehabt wäre ich froh gewesen. Ich merk mir sie aber für das nächste Mal schon mal vor :)
Ja, es gibt viele solche «Admin-Plugins». Die kannst Du ja installieren, die Änderungen vornehmen und dann wieder deinstallieren. Dann hast Du nicht weitere Plugins im System.
Aber es von Hand zu machen ist natürlich lustiger und man lernt mehr dabei ;-)
Sich mit Regex auszukennen ist eh eine gute Sache. Die kann man beispielsweise auch in Google Analytics einsetzen, um Seiten nach bestimmten Regeln auszuwählen und dann gemeinsam auszuwerten.