Comment utiliser les expressions régulières (RegEx) dans la Toolbox

Dans ce tutoriel, nous expliquerons comment utiliser des expressions régulières que l’ont peut appliquer dans la Toolbox SISTRIX. Par exemple en filtrant des URLs, des extraits de code (Snippet) ou des mots-clés.

Qu’est-ce qu’une expression régulière?

Une expression régulière est utilisée pour examiner ou vérifier un modèle. Son application principale est le filtrage des éléments et la recherche de correspondances, par exemple, dans les scénarios suivants :

  • Analytics : vous pouvez utiliser les RegEx pour segmenter le trafic.
  • Htaccess : vous pouvez travailler à la réécriture des URLs plus efficacement.
  • SISTRIX : vous pouvez filtrer nos rapports contenant des URLs, des extraits de code ou des mots-clés.

Les expressions régulières ou RegEx peuvent être utilisées dans différents langages de programmation. Pour ce tutoriel, nous allons nous appuyer sur Perl, qui est la syntaxe sur laquelle est basée la fonctionnalité d’expression régulière que vous avez déjà disponible dans SISTRIX.

Comment construisons-nous des expressions régulières?

Nous le ferons en utilisant des caractères, des groupes, des quantificateurs et des classes, qui est la syntaxe avec laquelle nous pourrons construire des expressions :

Syntaxe pour construire des expressions régulières
CaractèresComportementExemple
?Recherche le caractère précédent une fois ou jamaishttps?
*Rechercher le caractère précédent aucune ou plusieurs foi30*
+Recherche le caractère précédent une ou plusieurs fois[0-9]+
|Recherche un élément ou un autre. (or)(jpg|jpeg)
^Indique le début du modèle^https
$Indique la fin du modèlehtml$
.Recherche n’importe quel caractère (joker)4.
\N’interprète pas un caractère spécial (passer un caractère)\/
Options de regroupement pour les expressions régulières
GroupementComportementExemple
( )Capture un contenu concret(sistrix)
Coincide avec sistrix
[ ]Capture le contenu dans les crochets[0-9]
Coincide avec n’importe quel caractère qui soit un numéro.
[a-z]
Coincide avec n’importe quel caractère qui soit une lettre minuscule.
{ }Indique le nombre de répétitions minimum et maximum[0-9]{2}
Coincide avec n’importe quel numéro répété 2 fois

.{1,3}
Coincide avec n’importe quel caractère répété entre 1 et 3 fois

Pour ce tutoriel, nous n’utiliserons pas de quantificateurs, mais nous trouvons intéressant que vous en connaissiez l’existence pour d’autres utilisations :

Quantificateurs pour les expressions régulières
QuantificateursComportement
\wRecherche un mot, un chiffre ou_ un type de caractère
\dRecherche un caractère de type chiffre
\sRecherche un caractère d’espacement
\bIndique le début ou la fin d’un mot
\WRecherche un caractère qui n’est pas un mot, un chiffre ou _
\DRecherche un caractère qui n’est pas un chiffre
\SRecherche un caractère qui n’est pas un espace

Exemples de SEO avec des expressions régulières

Pour utiliser les exemples que nous proposons, vous devez d’abord aller dans la section « Mots-clés » et utiliser les filtres Mots-clés, URL, Title ou Description.

Filtrer les mots-clés avec des expressions régulières

Pour accéder à cette option, il vous suffit d’analyser un domaine 1, de saisir un mot-clé 2 et d’accéder au sélecteur de filtre 3.

Dans le volet de droite, choisissez le filtre « Mot-clé » puis « Afficher plus » et sélectionnez « Expression régulière » 4 dans le menu déroulant.

Nous aimerions maintenant proposer plusieurs cas d’utilisation où vous pouvez appliquer ces expressions afin de tirer le meilleur parti de l’analyse des mots-clés de vos projets ou lorsque vous analysez vos concurrents.

Inclure ou exclure le nom de marque

Imaginez que vous ayez une marque qui accepte différentes orthographes ou qui est connue sous plusieurs noms différents. Nous pouvons créer une expression régulière pour regrouper tous les mots-clés que nous considérons comme des termes de marque ou branded keywords. Par exemple, decathlon.fr utilise différents mots-clés de marque, à savoir, entre autres :

Quechua, Btwin, Inesis, Tribord, Aptonia, Domyos, Kalenji, Géonaute.

Ainsi, nous allons utiliser pour notre exemple l’expression suivante :

 .*(decathlon|btwin|quechua|inesis|tribord|aptonia).* 

Les résultats que nous obtiendrons seront alors ceux-ci :

Idées de mots-clés pour le domaine decathlon.fr avec un filtre mot-clé et "Expression régulière"

Il est également possible de faire en sorte que le filtre exclue les mots-clés de marque, ce qui nous permettra de ne voir que les mots-clés génériques (ou des marques non présentes dans l’expression). Pour cela nous pouvons utiliser :

^(?!.*(decathlon|btwin|quechua|inesis|tribord|aptonia) .*?) 
Idées de mots-clés pour le domaine decathlon.fr avec un filtre mot-clé et "Expression régulière" excluant certaines marques

Inclure ou exclure les erreurs de marque

Il peut arriver que nous trouvions des marques qui génèrent souvent des erreurs d’orthographe ou de frappe, telles que Schweppes, Häagen-Dazs ou même Ryanair. Voici une série d’exemples de noms de marque que les internautes utilisent pour rechercher cette fameuse compagnie aérienne lowcost :

  • ryanair
  • rayaner
  • ryan ir
  • rayan ir
  • rayana eir
  • raya nair
  • rayan ari
  • rayar air

Nous avons identifié plus de 35 marques que nous pouvons capturer à l’aide d’une expression régulière :

Pour inclure toutes les variations de la marque :

(r|t)[hzeuayi]?[naiy].?[an]?[airn].?(r|t|air)?(e|lines| )?(line|ir)?

Pour exclure toutes les variations de la marque :

^((?!(r|t)[hzeuayi]?[naiy].?[an]?[airn].?(r|t|air)?(e|lines| )?(line|ir)?).)*$  

Avec l’exclusion, cela donne :

Résultats des mots-clés du domaine ryanair.com après avoir appliqué un filtre pour exclure toutes les variations de la marque avec une expression régulière

Bien entendu, d’autres filtres tels que « contient », « ne contient pas », « termine par » ou « commence par » peuvent toujours être appliqués à cette liste.

Inclure ou exclure des mots se terminant par des mots différents

Pour rechercher un mot unique à inclure ou à exclure, un simple filtre suffit. Mais si nous souhaitons rechercher plusieurs conditions, par exemple tous les mots commençant par « acheter » et se terminant par « en ligne », nous pouvons utiliser l’expression suivante :

^acheter.*en ligne$

Ceci, appliqué à l’ex-spécialiste de la vente par catalogue, donnera les résultats suivants :

Filtrage avec une regex tous les mots-clés commençant par « acheter » et se terminant par « en ligne »

Inclure ou exclure des mots-clés commençant par des mots différents

Il peut également être pertinent, du point de vue d’un comparateur, de filtrer des mots contenant plusieurs noms de marque.

Par exemple, avec lesfurets.com, nous pouvons créer une expression régulière qui regroupe tous les critères souhaités, dans ce cas tous les mots-clés commençant par l’une des marques de voiture figurant entre parenthèses.

^(bmw|citroen|audi|ford|fiat).*

À l’inverse, il est également envisageable de créer une regex qui va exclure ces mêmes marques :

^(?!(bmw|citroen|audi|ford|fiat).*)

Inclure ou exclure des mots liés à des caractéristiques spécifiques

Nous pouvons réaliser l’exemple avec une caractéristique présente dans presque tous les projets : le prix.

Il existe de nombreuses recherches faisant référence au prix d’un produit ou d’un service, telles que « bon marché », « pas cher », « solde », « réduction », « coupon », « remise », « prix bas », etc. Si nous voulons les inclure, nous pouvons utiliser par exemple l’expression suivante :

.*(bon marché|pas ch|sold|réduc|coupon|remise|outlet).*
Résultats obtenus après avoir filtré selon les caractéristiques de prix

En tirant parti des colonnes dynamiques du tableau des résultats, nous pouvons trier les données par volume de recherche, par ordre décroissant, en cliquant simplement sur l’en-tête de la colonne qui nous intéresse.

Selon le projet, nous pouvons utiliser d’autres caractéristiques à filtrer telles que les couleurs, les formes, les tailles, les destinataires, etc.

Inclure ou exclure des mots contenant des villes françaises avec les erreurs d’orthographe courantes

Dans de nombreux projets, il est nécessaire de faire un suivi de SEO local. Avec la Toolbox, vous pouvez le faire en utilisant une regex permettant de regrouper les départements, régions, villes, localités, etc.

Dans cet exemple, nous allons utiliser des villes avec des erreurs d’orthographe courantes pour construire une expression qui va filtrer les mots-clés contenant une ville :

 .*(Castres|Castre|Belley|Beley|Vichy|Vychi|Barcelonnette|Barcelonnette|Castellane |Castelane|Briançon|Briansson|Grasse|Grase).* 

N’importe quel commerce en ligne ou comparateur présent physiquement pourra utiliser cette expression pour exclure des zones géographiques ou même ajouter des mots de marque ou d’autres paramètres à exclure :

  ^(?!(.(castres|castre|belley|beley|vichy|vychi|barcelonnette|barcelonnette|castellane|castelane|briançon|briansson|grasse|grase).))

Il est également possible de créer des expressions séparément. Après avoir appliqué l’expression précédente, ajoutez celle qui permet d’exclure la marque. À partir de là, il suffit d’ajouter le filtre Expert pour indiquer que les deux expressions sont des conditions de type «and» («et»), au lieu du type «or» («ou»).

Créer des expressions régulières séparément grâce à un filtre expert

Filtrer des URLs avec des expressions régulières

Comment utiliser les expressions régulières pour les URLs

Les étapes à suivre pour filtrer les URLs sont les mêmes que pour les mots-clés. Toutefois, au moment de cliquer sur le sélecteur de filtres, sélectionnez Urls puis Expressions régulières.

Filtrage des URLs avec des expressions régulières

Maintenant que vous savez comment utiliser les expressions régulières avec des mots-clés, nous allons voir comment s’en servir pour filtrer les URLs à des fins de SEO.

Inclure ou exclure des sous-domaines

Si vous souhaitez analyser un domaine complet et regrouper les URLs selon un critère de sous-domaines stratégiques, vous pouvez opter pour :

(www|support)

Il est possible d’utiliser l’exclusion, par exemple pour ne garder que les sous-domaines purement transactionnels et écarter tous les mots-clés informatifs qui peuvent venir de blogs ou de questions fréquentes.

Inclure ou exclure des sous-domaines  stratégiques

Inclure ou exclure des URLs qui se terminent ou pas par /

La page d’accueil d’un domaine .com, si l’extension du domaine est différente, peut être adaptée en la remplaçant par :

^.*.com/$
^(?!(.*.com/$))

N’importe quelle URL qui se termine par /

.*/$

Cette regex peut également être utilisée dans la section Structure > URL > Expression Régulière

Inclure ou exclure des URLs qui se terminent ou pas par /

N’importe quelle URL qui ne se termine pas par /

^(?!(.*/$))

Inclure ou exclure des URL contenant des chiffres

Vous pouvez également jouer avec la syntaxe des URLs pour identifier celles qui contiennent des chiffres afin de les inclure ou de les exclure.

.*-[0-9].*
^(?!(.*-[0-9].*))

Si vous voulez obtenir des résultats plus concrets et que vous savez que certaines URLs se terminent par un chiffre quelconque, vous pouvez également les inclure ou les exclure de la manière suivante :

.*-[0-9]+$
^(?!(.*-[0-9]+$))

Cette règle vise à filtrer les chaînes contenant des séries numériques de 8 chiffres qui se suivent :

.*[0-9]{8}.html$
^(?!(.*[0-9]{8}.html$))

Inclure ou exclure des URLs ayant un format concret

Vous pouvez également utiliser une regex pour filtrer des formats d’URL, par exemple les URLs htm ou html, ou pdf.

En fait, cela ne représente rien de nouveau puisqu’il y a déjà un filtre «se termine par» ou les filtres «contient» ou «ne contient pas».

.*htm.?$
.*pdf$

Pour exclure les formats d’URL souhaités :

^(?!(.*html.?$).)
^(?!(.*pdf.?$).)

Pour les inclure, vous pouvez utiliser différents formats dans une même expression, ce qui sera beaucoup plus utile et vous évitera d’avoir à effectuer plusieurs enchaînements de filtres :

.*(htm|html)$
.*(jpg|jpeg|gif|png)$

Vous pouvez également combiner des formats pour les exclure :

^(?!(.*(htm|html)$).)
^(?!(.*htm.?)$).)
^(?!(.*(jpg|jpeg|gif|png)$).)

Inclure ou exclure des URLs de marchés incorrects

Vous pouvez faire le suivi des URLs qui ne devraient pas être positionnées sur un marché concret, par exemple les URLs sur le marché français qui correspondent au marché canadien, belge ou suisse.

En partant de la chaîne suivante d’URL :

  • Espagnol pour l’Espagne /es_es/
  • Français pour la Belgique /fr_be/
  • Français pour le Canada /fr_ca/
  • Anglais pour le Royaume-Uni /en_gb/
  • Anglais pour les États-Unis /en_us/
  • Italien pour l’Italie /it_it/

Et ainsi de suite.

Vous pouvez utiliser une regex pour filtrer les URLs qui ne sont pas dirigées au marché français, notamment :

^(?!(.*[fr]_[a-z].*)|(.*[a-z]_[fr].*).)

Comme vous pouvez l’observer ci-dessus, l’expression autorise l’URL de la page home, là où se trouve le sélecteur de drapeaux/langues.

Pour affiner encore plus l’expression et écarter également la page home, vous pouvez la compléter de la manière suivante :

^(?!(.*.com/$)|(.*[es]_[a-z].*)|(.*[a-z]_[es].*).)
Utilisation du filtre URL regex

Résumé

Les paramètres que nous avons abordés vous permettent de trouver des utilisations concrètes des expressions régulières et d’augmenter l’efficacité de vos analyses SEO.

Vous pouvez continuer à faire des essais et à vous entraîner avec des outils tels que https://www.regextester.com/ et directement avec les filtres d’URL, de mots-clés ou de snippets.

Bien que nous ne proposions pas d’assistance pour les regex, nous continuerons à mettre à jour ce tutoriel en incluant au fur et à mesure les nouvelles utilisations et analyses SEO qui peuvent vous être utiles.