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 Sistrix. Par exemple en filtrant des URL, 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 le Regex pour segmenter le trafic.
  • Dans Htaccess: vous pouvez travailler à la réécriture des URL plus efficacement.
  • SISTRIX: vous pouvez filtrer nos rapports contenant des URL, 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 didacticiel, 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 :

la syntaxe pour construire des expressions
CaractèresComportementExemple
?Rechercher le caractère précédent une fois ou jamaishttps?
*Rechercher le caractère précédent aucune ou plusieurs fois30*
+Rechercher le caractère précédent une ou plusieurs fois[0-9]+
|Rechercher un élément ou un autre. (or)(jpg|jpeg)
^Indique le début du modèle^https
$Indique la fin du modèlehtml$
.Rechercher n’importe quel caractère (joker)4.
\N’interprète pas un caractère spécial (passer un caractère)\/
la syntaxe pour construire des expressions
GroupementComportementExemple
( )Capturer un contenu concret(sistrix)
Coincide avec sistrix
[ ]Caturer 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.
{ }Indiquer le nombre de répetition minimum et maximum[0-9]{2}
Coincide avec n’importe quel numéro répeté 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 à faire dans d’autres environnements :

la syntaxe pour construire des expressions
QuantificateursComportement
\wRechercher un mot, un chiffre ou_ un type de caractère
\dRechercher un caractère de type chiffre
\sRechercher un caractère d’espacement
\bIndiquer le début ou la fin d’un mot
\WRechercher un caractère qui n’est pas un mot, un chiffre ou _
\DRechercher un caractère qui n’est pas un chiffre
\SRechercher 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 .

4

Dans le selecteur de droite choisir « Mot Clef » puis « 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 de marque différents. Nous pouvons créer une expression régulière pour regrouper tous les mots clés que nous considérons comme des termesde marque ou branded keywords. Par exemple, decathlon.fr utilise différents mots-clés de marque, à savoir:

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

et bien plus.

Ainsi, nous allons utiliser (par exemple) l’expression suivante :

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

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

Résultats obtenus en appliquant la regex pour filtrer tous les mots-clés de marque

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

 ^(?!.*(decathlon|btwin|quechua|inesis|tribord|aptonia) .*?) 
Résultats obtenus en appliquant la regex pour filtrer tous les mots-clés n’incluant pas la marque
On voit l’apparition de Solognac, artengo ou aussi btwin avec une autre orthographe

Inclure ou exclure les erreurs de marque

Il peut arriver que nous trouvions des marques qui génèrent des erreurs d’orthographe ou des erreurs lors de la frappe, telles que Schweppes, Häagen-dazss ou même Ryanair.

Une série d’exemple de noms de marque que les internautes utilisent pour rechercher la compagnie aérienne:

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

Filtrer les mots de marque en incluant les fautes d’orthographe

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:

Manière de filtrer avec une regex tous les mots-clés qui commencent par « acheter » et se terminent par «en ligne»”

Inclure ou exclure des mots clefs qui commencent par des mots différents

Il peut également être particulièrement intéressant, 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 voiure figurant entre parenthèses.

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

ou à l’inverse qui va les exlure :

^(?!(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 tout les projets : le prix.

Il existe de nombreuses recherches faisant référence au prix, 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 de la table, 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.

Dans d’autres cas, nous pouvons utiliser d’autres fonctionnalités telles que couleurs, formes, tailles, destinataires, etc.

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

Dans de nombreux projets, il est nécessaire de faire le suivi de SEO local et c’est possible avec une expression régulière qui permet de regrouper les provinces, les villes, les localités, etc.

Dans cet exemple, nous allons utiliser des petites 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 les provinces 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 2 expressions sont des conditions de type «and» («et»), au lieu du type «or» («ou»).

Filtrer des URL avec des expressions régulières

Filtrer des URL avec des expressions régulières

Les étapes à suivre pour filtrer les URL 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:

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 URL à des fins de SEO.

Inclure ou exclure des sous-domaines

Utilisations de base si vous souhaitez analyser un domaine complet et regrouper les URL selon un critère de sous-domaines stratégiques:

(www|support)

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

Inclure ou exclure des URL 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

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 URL 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 URL 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 chaines contenant des séries numériques de 8 chiffres qui se suivent :

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

Inclure ou exclure des URL ayant un format concret

Vous pouvez également utiliser une regex pour filtrer des formats d’URL, par exemple les URL 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 à faire plusieurs enchainements 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 URL de marchés incorrects

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

En partant de la chaine 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-Unis /en_gb/
  • Anglais pour Les USA /en_us/
  • Italien pour Italie /it_it/

Et ainsi de suite.

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

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

Comme vous pouvez l’observer, 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].*).)

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 entrainer avec des outils tels que https://www.regextester.com/ et directement avec les filtres d’URL, de mots-clés ou de snippet.

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.

18.10.2022