Online Marketing Blog von Walter Schärer
  • Home
  • Social Media
  • Online-Tools
Twitter LinkedIn Facebook RSS
  • Home
  • Kontakt / Über mich
Twitter Facebook RSS
Online Marketing Blog von Walter Schärer
  • Home
  • Social Media
  • Online-Tools
Online Marketing Blog von Walter Schärer
Home»SEO»Seitenstruktur ändern: Ordner in einer URL entfernen und mit Regex weiterleiten

Seitenstruktur ändern: Ordner in einer URL entfernen und mit Regex weiterleiten

4
By Walter Schärer on 8. Februar 2020 SEO, Wordpress
Hier teilen
LinkedIn Twitter Facebook Email

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:

  1. SQL-Statement für Search and Replace
  2. Direkt zur Regex

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 beispielsweise
https://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 aus
https://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.

SQL-Statement für phpMyAdmin zur Entfernung eines Ordners
SQL Befehl um einen bestimmten Ordner in allen Dokumenten zu entfernen

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.

Beispiel einer 301 - Permanenten Weiterleitung
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

301-Weiterleitungsbeispiel mit einer Regular Expression (Regex)
301-Weiterleitungsbeispiel mit einer Regular Expression (Regex)

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 ;-)

Regex-Editor-101 am Beispiel von Reisememo
Editor zum Testen von Regular Expressions

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.

Anpassung der Menustruktur in WordPress
Manuelle Anpassung der Menustruktur in der Hauptnavigation

Analog zu meinem Beispiel kann man natürlich auch Ordner neu hinzufügen.

Viel Erfolg bei der Optimierung Deiner URL-Struktur!

Anleitung Blog-Tipps
Share. LinkedIn Twitter Facebook Email
Walter Schärer
  • Twitter
  • LinkedIn

Walter Schärer bloggt über Internet-Trends im Online Marketing, Social Media, Blogs, Web Analytics, SEO, Mobile und so.

Ähnliche Informationen

Soll man AMP-Seiten für WordPress aktivieren oder nicht?

4. Januar 2023

Inhalte optimieren für Rich Snippets oben auf Googles Trefferliste

4. Februar 2023

Was mich mein gescheitertes Startup gelehrt hat

9. Mai 2019

4 Kommentare

  1. Martin @pokipsie Rechsteiner on 5. April 2020 12:28

    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 :)

    Reply
    • Walter Schärer on 7. April 2020 13:34

      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.

      Reply
  2. Mathias Graf on 28. Juli 2021 21:31

    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?

    Reply
    • Walter Schärer on 31. Juli 2021 10:53

      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.

      Anteil der organischen Besucher am Gesamt-Traffic von reisememo.ch

      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.

      Reply

Leave A Reply Cancel Reply

Über Walter Schärer

Dies ist Walter Schärers Blog über Internet-Themen wie Online Marketing, Search Engine Optimierung (SEO) oder Content Marketing.

Walter Schärer arbeitet seit 1994 als Scrum Product Owner und Online-Manager im Web-Umfeld.

Von HTML/VRML kam er via Powerpoint/Word zu Confluence/Jira dann Trello/Whiteboard und organisiert sich aktuell mit Asana/Google Drive, wenn er nicht gerade mit Blender/Python oder WordPress/Elementor experimentiert.

Die Inhalte dieses Blogs spiegeln die persönliche Meinung.

Neuste Webmemos

Framework for wrapping your head around generative AI

12. März 2023

Exploring the Metaverse: What it is and why it’s more than just roads and buildings

11. März 2023

AI tools to streamline online work processes

13. März 2023

List of generative AI tools for different purposes

12. März 2023
© 2010 - 2023 Webmemo | Walter Schärer's Blog
  • Home
  • Kontakt / Über mich
  • Datenschutz
  • Nach oben

Type above and press Enter to search. Press Esc to cancel.