Maîtrisez les regex pour optimiser votre SEO

Le terme regex est une contraction des mots expressions régulières. Ces suites (ou chaînes) de caractères sont utilisées en SEO et en Data Analytics car elles permettent de rechercher, filtrer, extraire ou remplacer facilement des chaînes de caractères dans un code source ou un texte.

Les applications possibles des regex en SEO

Avant de commencer à vous initier aux regex, il est important que je vous aide à comprendre à quoi elles vous servent concrètement pour analyser et améliorer votre référencement naturel :

  • Segmentation des données : les regex permettent d’extraire beaucoup plus facilement des requêtes ciblées dans Google Search Console ou dans un autre outil SEO, vous permettant d’isoler rapidement de nombreuses informations concernant des mots-clés ou des URL.
  • Exploitation des logs ou d’un crawl : grâce aux expressions régulières, vous pouvez plus facilement traiter et analyser vos logs ou les données extraites d’un crawl.
  • Optimisation des redirections : utilisées dans les fichiers .htaccess, les regex créent des règles avancées pour rediriger facilement des groupes d’anciennes URLs lors des migrations de sites ou de refontes.
  • Etc.

Vous l’avez compris : tout référenceur qui se respecte doit déjà avoir entendu parler des expressions régulières !

Les regex, un langage avec sa propre syntaxe

Votre premier contact avec les regex sera certainement un peu difficile, car elles ressemblent de prime abord à un véritable charabia. Mais si vous les abordez comme une langue étrangère, elles vous sembleront immédiatement plus accessibles.

Les caractères spéciaux utilisés dans les expressions régulières

Le premier élément à maîtriser est la syntaxe de votre regex. Voici quelques caractères spéciaux parmi les plus connus et les plus utilisés :

  • ? : indique que l’élément précédent est optionnel (il peut apparaître une fois ou pas du tout) ;
  • * : rend l’élément précédent facultatif et le répète autant de fois que possible (0, 1 ou plusieurs fois) ;
  • + : Oblige l’élément précédent à apparaître au moins une fois et le répète autant de fois que nécessaire (1 ou plusieurs fois) ;
  • | : permet de choisir entre plusieurs éléments (A ou B) ;
  • ^ : indique le motif devant apparaître au début de la chaîne ;
  • $ : indique que le motif doit apparaître à la fin de la chaîne ;
  • . : correspond à n’importe quel caractère unique, sauf un retour à la ligne ;
  • \ : n’interprète pas un caractère spécial (caractère d’échappement), ou dans certains cas crée un méta-caractère qui présente un sens particulier.

Note : En regex, un motif (pattern) est une suite de caractères et de symboles qui définit un modèle de recherche pour identifier, filtrer ou manipuler du texte.

Cas pratiques : utilisation de la syntaxe regex


  • colou?r : correspond à color et colour (avec ou sans le u qui précède le ?) ;
  • grao*u : correspond à grau, graou, graoou, graooooou, etc. ;
  • a+b : correspond à ab, aab, aaab, etc. ;
  • jument|hongre : jument ou hongre ;
  • ^salut : correspond à salut la compagnie, salut à tous, etc. ;
  • compagnie$ : correspond à salut la compagnie, au revoir la compagnie, etc ;
  • c.t : correspond à cat, cot, cut, cgt, etc ;
  • mon\.cheval : permet d’obtenir la chaîne mon.cheval, avec un point traité comme un point et pas comme un caractère spécial permettant d’afficher n’importe quel caractère (cf. exemple précédent) ;

Les méta-caractères dans les regex

Je vous disais que le caractère spécial \ en regex est utilisé soit comme caractère d’échappement, soit comme un préfixe d’un méta-caractère. Le méta-caractère se compose donc de l’antislash et d’une lettre qui n’a jamais de signification particulière en regex.

Voici les méta-caractères les plus courants :

  • \w : recherche un mot, un chiffre ou_ un type de caractère ;
  • \d : recherche un caractère de type chiffre ;
  • \s : recherche un caractère d’espacement ;
  • \b : indique le début ou la fin d’un mot ;
  • \B : recherche une position qui n’est pas en début ou en fin de mot ;
  • \W : recherche un caractère qui n’est pas un mot, un chiffre ou _ ;
  • \D : recherche un caractère qui n’est pas un chiffre ;
  • \S : recherche un caractère qui n’est pas un espace.

Vous avez compris par vous-mêmes que la majuscule permet de rechercher ou d’indiquer l’inverse de la minuscule.

Les structures de base des expressions régulières

Pouvoir rechercher ou filtre un caractère, c’est bien. Mais pouvoir faire de même avec une chaîne de caractères, c’est mieux !

Les regex proposent des options de regroupement pour capturer des chaînes de caractère, chaque option de groupement ayant ses spécificités :

  • ( ) : les groupes capturants permettent de regrouper des éléments et de mémoriser la sous-chaîne correspondante, afin de la réutiliser dans un remplacement ou de vérifier qu’elle se répète ailleurs dans l’expression ;
  • [ ] : les classes de caractères définissent un ensemble de caractères autorisés à une position donnée dans la chaîne ;
  • { } : les quantificateurs indiquent combien de fois l’élément qui les précède doit se répéter, que ce soit de façon exacte, minimale ou dans une plage définie.

Cas pratiques : utilisation des options de regroupement


  • (benjamin) : recherche exactement la chaîne benjamin ;
  • [aeiou] : correspond à color et colour (avec ou sans le u qui précède le ?) ;
  • [aeiou] : permet de détecter si une chaîne contient une voyelle ;
  • [0-9] : permet de détecter si une chaîne contient un chiffre ;
  • z{4} : permet de rechercher la sous-chaîne zzzz, en répétant la lettre z 4 fois grâce au groupe capturant et au quantificateur {4}.
  • (coin){2} : permet de rechercher la sous-chaîne coincoin, en répétant le mot coin 2 fois grâce au groupe capturant et au quantificateur {2}.
  • \d{4} : permet de rechercher une sous-chaîne composée exactement de 4 chiffres consécutifs (\d étant un méta-caractère représentant un chiffre).

Construire vos premières regex au service de votre SEO

Nous avons vu ensemble les bases des regex. Il est temps de pratiquer en construisant vos premières regex. Je vous donne trois exemples concrets pour les utiliser dans vos actions SEO quotidiennes. Et je décortique chaque expression régulière pour vous familiariser avec elles.

Filtrer une liste d’URL grâce aux regex

Vous désirez extraire la liste des URL de vos pages produits ou de vos pages catégories ? L’élément différenciateur est parfois évident, mais il peut également être plus subtil. Heureusement, une regex va vous permettre de filtrer rapidement votre export Screaming Frog ou votre rapport performance Google Search Console et d’obtenir en quelques secondes les bonnes informations pour finaliser votre audit SEO !

Utilisez les regex dans Google Search Console


Vous pouvez notamment utiliser les Regex dans le rapport Performances de Google Search Console pour affiner vos filtres (URL ou requêtes).

Cas n°1 : différencier des pages produits e-commerce

Cas n°2 : filtrer toutes les URL avec un paramètre

Rediriger les URLs dans un fichier .htaccess

. Vous n’allez pas créer une table de redirections URL par URL, mais vous allez probablement passer par le fichier .htaccess pour établir une règle de redirection. Celle-ci va s’appuyer sur les regex !

Cas n°1 : une regex pour rediriger les URL en .htm vers des URL en .html

Cas n°2 : une regex pour rediriger les URL en HTTP vers des URL en HTTPS

L’IA pour formuler vos regex


Vous n’avez pas besoin de maîtriser toutes les subtilités des regex et d’apprendre par cœur chaque caractère spécial, chaque méta-caractère ou chaque combinaison. Vous pouvez en effet demander à une IA générative de type ChatGPT de vous générer une regex correspondant à votre demande.

Je pense cependant que tout professionnel du SEO devrait maîtriser les bases des regex, ne serait-ce que pour comprendre (dans les grandes lignes) ce que vous fournit votre IA préférée.

Rechercher des mots-clés spécifiques

Les regex peuvent être utilisées sur Google Search Console, par exemple pour filtrer les éléments du rapport Performances ou l’export de vos mots-clés Semrush. Une regex peut vous permettre de retenir uniquement les expressions composées d’un certain nombre de mots : vous filtrez alors uniquement les expressions SEO qui répondent à vos critères de longueur.

Cas n°1 : une regex pour filtrer les expressions de longue traîne de 4 mots et plus

Cas n°2 : rechercher des expressions SEO sous forme de questions