Reguläre Ausdrücke in der Google Search Console

Seit April 2021 (siehe die Google Ankündigung) erweitert der Leistungsbericht der Google Search Console (kurz: GSC) seine Funktionalität um die Filterung mittels regulärer Ausdrücke, kurz RegEx für „regular expressions“. Dadurch können entweder Suchanfragen oder URLs mit größerer Präzision durchsucht werden.

Im Vergleich zu den bisher verfügbaren Filtern in der GSC, die nur „enthält“, „enthält nicht“ oder „ist exakt“ erlaubten, bieten reguläre Ausdrücke eine erheblich flexiblere und genauere Suchmethode. Mit RegEx können Benutzer spezifizieren, ob ein Wort z.B. am Anfang oder Ende stehen, oder ob eine bestimmte Anzahl von Zeichen auf den Ausdruck folgen muss.

Doch auch durch die „oder“ Verknüpfung wurde die Analyse im Leistungsbericht massiv vereinfacht. Dank der Verknüpfung mehrerer Worte mit dem Zeichen „|“ kann definiert werden, dass unterschiedliche Zeichenfolgen (nicht) enthalten sein sollen. Wichtig ist das vor allem für die Filterung von „Brand-Suchanfragen“ in unterschiedlichen Schreibweisen, inklusive Vertippern.

Viele SEOs haben nach wie vor Schwierigkeiten bei der Erstellung von regulären Ausdrücken. Anhand der hier gezeigten Beispiele möchten wir das Erlernen von RegEx und deren Anwendung in der Google Search Console vereinfachen. Übrigens: Die hier gezeigten regulären Ausdrücke sind zum großen Teil fest in unserer kostenlosen Chrome-Erweiterung „GSC Helper“ zu finden.

Wichtige Grundlagen für reguläre Ausdrücke

Damit meine RegEx Beispiele einfacher zu verstehen sind, sollten wir uns die Grundlagen anschauen.

0 oder max. 1 Treffer: Das Fragezeichen ?

Wenn du ein Fragezeichen angibst, bedeutet das, dass das vorangegangene Zeichen entweder 0x oder 1x in der gesuchten Zeichenfolge vorkommen soll. Wenn du also nach https? suchst, sind sowohl http als auch https gültige Ergebnisse, da das s als optional markiert wurde.

0 oder unendlich viele Treffer: Der Stern *

Wenn das vorangegangene Zeichen 0x oder beliebig oft vorkommen soll, ist das Sternchen die passende Wahl. Nehmen wir zum Beispiel die Suche nach hall*: Dadurch ist auch „hal“ ein Treffer, da das zweite l durch das * als optional markiert wurde.

Mindestens ein Treffer: Das Plus +

Wenn ein + in den Ausdruck integriert ist, muss das vorangegangene Zeichen mindestens 1x vorkommen.

Entweder oder: Der Pipe |

Soll im Suchtext entweder seo oder mario enthalten sein? Dann kannst du sie durch die Verknüpfung der beiden Zeichenfolgen mittels „|“ suchen. Das bedeutet für das konkrete Beispiel: seo|mario.

Beginn eines Suchmusters markieren oder Ausschluss aus der Trefferliste: Das Konsolenzeichen ^

Um zu kennzeichnen, dass die gesuchte Zeichenfolge am Anfang stehen soll, verwende das Konsolenzeichen (^). Wenn du ^https angibst, kommt die Zeichenfolge https nur als Suchtreffer infrage, wenn sie damit beginnt.

Das Konsolenzeichen kann auch verwendet werden, um Zeichen aus der Suche auszuschließen. So führt [^abc] dazu, dass diese drei Buchstaben nicht im Suchtreffer vorkommen dürfen. Zur Bedeutung der eckigen Klammern erfährst du gleich mehr.

Ende eines Suchmusters markieren: $

Durch das Dollarzeichen wird angegeben, dass das Suchmuster am Ende der Zeichenfolge vorkommen muss. Wenn du zum Beispiel Dateien mit der Endung jpg suchst, definierst du das mit jpg$.

Beliebig viele Zeichen: der Punkt .

Der Punkt steht standardmäßig als Platzhalter für beliebig viele Zeichen. Wenn du also eine RegEx-Suche nur nach „.“ durchführst, entspricht der gesamte Text diesem Suchmuster.

Die Standardaktion aufheben: Der Backslash

Was ist, wenn der „.“ nicht für beliebig viele Zeichen stehen soll, sondern zum Beispiel nur für .html? Das ist auch möglich. In diesem Fall musst du die normale Bedeutung des Punkts aufheben – und das machst du, indem du einen Backslash davorsetzt. Um nach .html zu suchen, ist .html die entsprechende RegEx.

Gruppen bilden oder exakte Reihenfolge der Zeichen: Die runde Klammer ()

Indem du eine Zeichenfolge in runden Klammern umschließt, gibst du an, dass die dort enthaltene Zeichenfolge in der definierten Reihenfolge vorkommen muss, damit ein Treffer vorliegt. Dieses Verhalten gilt auch ohne Klammern. Warum also die Klammern nutzen? Um Gruppen zu bilden.

Gruppen sind in regulären Ausdrücken besonders interessant, da sie weiterverarbeitet werden können. Du kannst also die in runden Klammern beschriebene Zeichenfolge verwenden, um sie mit etwas Neuem zu kombinieren.

Angenommen, im Zuge eines Website-Relaunchs ändert sich die Verzeichnisstruktur, und die Inhalte von /sport/fussball/ werden nun nach /news/ verschoben. Aus /sport/fussball/artikel-123 wird folglich /news/artikel-123. Durch den RegEx /sport/fussball/(.*)$ wird alles nach /sport/fussball/ als eine Gruppe definiert. Auf diese Gruppen kann bei einem Ersetzungsvorgang (Replace) zugegriffen werden. Die einzelnen Gruppen werden dabei nummeriert – über $1 sprichst du die erste über die runden Klammern definierte Gruppe an, über $2 eine eventuell weitere definierte Gruppe und so weiter.

Bereiche definieren oder beliebige Reihenfolge der Zeichen: Die eckige Klammer []

Wenn das Suchmuster in eckigen Klammern steht, müssen die Zeichen nicht in der angegebenen Reihenfolge im Text vorkommen. Die Angabe h[ae]llo bedeutet, dass auf ein h entweder ein a oder ein e folgen soll und sich ein „llo“ anschließen muss. Entsprechend sind hallo oder hello Suchtreffer – haello allerdings nicht, da nur das A oder das E vorkommen soll (aber nicht beide).

Die eckige Klammer hat auch eine weitere Funktion: Durch die Verwendung eines Bindestrichs werden Bereiche definiert. Die Angabe [a-s] bedeutet, dass jeder kleinbuchstabige Buchstabe zwischen a und s gesucht werden soll. Der Ausdruck [1-3] bedeutet entsprechend, dass eine Zahl zwischen 1 und 3 gesucht wird.

Trefferanzahl festlegen: Die geschweifte Klammer {}

Um zu definieren, wie oft sich ein Suchmuster maximal wiederholen darf, kannst du das in geschweiften Klammern angeben. Neben der exakten Angabe über {Zahl}, zum Beispiel {2}, kannst du auch den Minimal- oder Maximalwert festlegen. Während {1,3} für mindestens 1 und maximal 3 steht, stehen die Angaben {,2} für höchstens zweimal oder {2,} für mindestens zweimal. In Abbildung 3 soll auf „ha“ mindestens einmal und höchstens dreimal ein kleinbuchstabiges L folgen.

Nicht nur die Klammern oder der Punkt haben bei der Arbeit mit regulären Ausdrücken eine besondere Bedeutung. Es gibt auch Angaben, die zum Beispiel die Suche nach Zahlen erleichtern.

  • \w findet sowohl klein- als auch große Buchstaben als auch Zahlen. Ausnahmen bilden Buchstaben, die zum Beispiel mit einem Akzent versehen sind, wie é oder à.
  • \d findet Zahlen.
  • \s findet Leerzeichen, Tabulatoren und Ähnliches.
  • \b definiert, dass das davorstehende Zeichen das Ende der Zeichenkette darstellen muss.

Die Bedeutung dieser Angaben kann auf das Gegenteil umgekehrt werden, indem von Klein- auf Großbuchstaben gewechselt wird. Ein \D definiert folglich, dass keine Zahl gesucht wird.

Beispiele für reguläre Ausdrücke in der Google Search Console

Eine Sache ist wichtig zu wissen: Es gibt unterschiedliche Wege, um zu deinem Ziel zu kommen. Du kannst z.B. denselben Ausdruck in unterschiedlichen „Arten“ beschreiben. Dazu bei dem Abschnitt über „Fragen finden“ mehr.

Brand-Suchanfragen definieren und filtern

Nehmen wir an, du arbeitest für die Drogeriekette DM und hast unter anderem folgende Liste an Suchanfragen als „Brand-Suchen“ identifiziert: dm, d&m, d und m, d m

In diesem Fall kommst du mit den Standardfiltern der Google Search Console nicht weit, sondern musst einen regulären Ausdruck schreiben. Sinnvoll ist die Verknüpfung der Worte per Pipe (|), um zu markieren, dass (mindestens) einer der Werte enthalten sein soll. Unser regulärer Ausdruck sieht also wie folgt aus:

dm|d&m|d und m|d m

Durch die Auswahl in der Google Search Console sagst du anschließend, ob du nur Suchanfragen sehen möchtest, die dem regulären Ausdruck entsprechen – oder eben nicht. Im ersten Fall siehst du alle Brandsuchanfragen, im zweiten Fall alle Non-Brand-Suchen.

Fragen finden

Ähnlich gehen wir vor, um Fragewörter wie „wer“ oder „was“ zu finden. Doch Stopp: Die klassischen deutschen Fragewörter starten immer mit einem w. Das können wir doch als „Muss-Wert“ definieren, um uns Wiederholungen des w zu ersparen.

(\s|^)w(er|em|en|essen|ie|ann|o|elche|as|obei|omit|oran|ohin|obei|eshalb|arum|ieso|orauf|orum|ovor|odurch|oher|eswegen|oraus)\s

Dieser verkürzte, dafür aber schwerer lesbare reguläre Ausdruck hat für die Arbeit mit der GSC vernachlässigbare Geschwindigkeitsvorteile. Du kannst also alternativ auch einfach die „Langform“ nutzen:

wer|wem|wen|wessen|wie|wann|wo|welche|was|wobei|womit|woran|wohin|wobei|weshalb|warum|wieso|worauf|worum|wovor|wodurch|woher|weswegen|woraus

Transaktionale Suchanfragen filtern

Bestellen, kaufen, … – anhand unterschiedlicher Worte lässt sich eine Kaufabsicht ableiten. Um die unterschiedlichen Versionen zu finden, nutzen wir den Pipe – und noch ein paar weitere Modifikatoren.

\b(bestell[^\s]*|ordern|kaufen|anfordern|erwerben|beziehen|besorgen|downloade?n?)\b

Durch die Angabe von \b wird markiert, dass vor oder nach der angegebenen Zeichenfolge nichts kommen darf.

Einwortsuchanfragen finden

Wer nur 1-Wortsuchanfragen anzeigen möchte, der macht das mit diesem regulären Ausdruck:

^(\w+)$

Hier wird durch das ^ definiert, dass vor dem Treffer nichts stehen darf, und durch das $ wird definiert, dass auch nichts hinter dem Treffer steht. Durch die Verwendung von \w werden Groß- und Kleinbuchstaben gematcht.

Zweiwort-Suchanfragen finden

Durch ein \s kann ein Leerzeichen gesucht werden – wenn wir das nun mit \w kombinieren, werden ausschließlich Zweiwort-Suchanfragen angezeigt.

^(\w+)\s\w+$

Durch eine Wiederholung von \s\w lässt sich die Wortanzahl erhöhen.

Mehr als x-Worte

Durch die eckige Klammer wird die minimale Anzahl an Wiederholungen definiert. Somit können wir in dem Beispiel nur solche Suchanfragen ausgeben, die aus mindestens 3 Worten bestehen.

^(\w+\s+){3,}\w+$

URLs mit mindestens 3 Verzeichnissen

Auch in URLs kann in der Google Search Console mittels regulärer Ausdrücke gesucht werden. So können wir definieren, dass in der URL nach einem http(s):// mindestens 3 weitere / kommen müssen. Dadurch können wir nur URLs einer gewünschten Verzeichnistiefe anzeigen.

^https?://[^/]+(/[^/]+){3,}/?

URLs, die (nicht) mit Slash enden

Um URLs anzuzeigen, die auf ein Slash enden (oder durch entsprechende „Entspricht nicht dem regulären Ausdruck“-Auswahl eben nicht), ist dieser reguläre Ausdruck zu verwenden:

.*\/$

URLs mit Parameter finden

Um Adressen mit Parameter(n) zu finden, ist ein regulärer Ausdruck nicht zwingend nötig. Denn über den „Enthält ?“-Filter wäre das ebenfalls möglich.

.?.+=.

Reguläre Ausdrücke testen

Mit Tools wie https://regex101.com/ kannst du problemlos reguläre Ausdrücke testen. Denn wenn du in der Search Console einen RegEx verwendest, siehst du nur die Zeilen, die deinem Suchmuster entsprechen. Aber eben nicht, was dir jetzt „fehlt“. Testtools zeigen jedoch auch an, welche Daten nicht mit dem Ausdruck übereinstimmen – das erleichtert die Fehlersuche erheblich.

Möchtest du weitere Beispiele? Die Hilfe der Google Search Console ist eine gute Quelle.