Les expressions régulières (également appelées REGEX ou REGEXP) vous aident à trouver des URL ou du texte qui correspondent à un modèle particulier.
💡REGEX est supporté dans l'explorateur de site, l'audit de site et certains points de terminaison dans notre API:
En savoir plus sur tous les endroits que vous pouvez utiliser.
Comment fonctionne REGEX
Passons des exemples les plus simples à des exemples plus avancés.
La configuration suivante inclut toutes les URL qui contiennent le mot « blog » et excluent les URL contenant le mot « produit ».
Ceci explique à notre bot d'explorer :
★https://ahrefs.com/blog
https://ahrefs.com/blog/seo-techniques/
https://ahrefs.com/academy/blogging-for-
es
Et pour ignorer :
https://ahrefs.com/blog/category/product-blog/
https://ahrefs.com/blog/ecommerce-out-of-stock-products/
C'était facile, non ?
Mais que faire si vous voulez inclure les URL du sous-dossier /blog/ spécifiquement mais pas https://ahrefs.com/academy/blogging-for-business
?
Vous pouvez utiliser un modèle un peu plus avancé :
Vous vous demandez probablement ce que sont ces symboles avant et après “blog”.
En regex, vous devez «escape» quelques symboles pour qu'ils ne soient pas reconnus comme des caractères spéciaux. Pour ce faire, utilisez l'antislash \
avant le caractère.
Un simple point .
dans le regex, par exemple, signifie tout caractère. Mais \.
fonctionne comme un symbole stop. C'est pourquoi j'ai échappé au caractère slash dans l'exemple ci-dessus comme ceci : \/
Comment Ahrefs gère plusieurs expressions REGEX
Veuillez noter que vous pouvez appliquer plusieurs modèles pour inclure ou exclure des URL dans les paramètres d'exploration dans l'audit de site. Si aucune correspondance n'est trouvée pour une des règles, la règle sera ignorée.
Les règles ci-dessus demanderont à notre explorateur d'explorer les URLs qui contiennent les mots :
“blog” ou “produit”
ET ne contiennent pas les mots :
“blogging” ou “productif.”
Pour plusieurs règles de réécriture d'URL, chaque nouvelle règle est exécutée séquentiellement au résultat de la réécriture précédente.
Quelques jetons Regex pratiques
^
- ce symbole indique le début de l'URL
$
- ce symbole indique la fin de l'URL
.
- le point décimal correspond à n'importe quel caractère unique
*
- recherche l'expression précédente 0 ou plus de fois
+
- correspond à 1 ou plus du précédent
?
- Matches 0 ou 1 de la précédente
|
- est équivalent à OR.
[__]
- est similaire à |, mais peut être utilisé pour définir des plages
(__)
- les parenthèses regroupent les regex entre eux
\d
- correspond à un chiffre
\D
- correspond à un non-chiffre
\w
- correspond à un mot
\W
- correspond à un caractère non-verbal
Différents outils et plates-formes peuvent utiliser différentes librairies regex. Notre audit de site utilise RE2. Vous pouvez trouver sa syntaxe complète ici.
Quelques exemples pratiques
1. URL Https dans le sous-dossier /wp-content/
^https:.*\/wp-content\/
^
indique le début de l'URL. Cette règle correspond à toutes les URL commençant par « https:» suivies de 0 à n'importe quel nombre de caractères .*
avant « /wp-content/».
URL correspondant au patron :
https://ahrefs.com/blog/wp-content/uploads/2019/03/fb-ranking-1-image-1.png
Les URL ne correspondent pas au patron :
http://ahrefs.com/blog/wp-content/uploads/2019/03/fb-ranking-1-image-1.png
2. URL dans un sous-dossier, y compris l'URL du répertoire lui-même.
\/blog(\/.*)?$
Cette règle correspond à toutes les URL qui se terminent $
avec « /blog », éventuellement suivi par le slash et 0 à n'importe quel nombre de caractères (\/. )?
. Le point d'interrogation dans ce modèle correspond à l'expression entre parenthèses entre 0 et 1 fois, ce qui en fait facultatif.
URL correspondant au patron :
https://ahrefs.com/blog
https://ahrefs.com/blog/301-redirects/
Les URL ne correspondent pas au patron :
https://ahrefs.com/blogging
https://ahrefs.com/academy/blogging-for-business
3. URLs qui contiennent des symboles @ ou %
@|%
ou [@%]
|
et [__]
fonctionnent comme OU
URL correspondant au patron :
https://ahrefs.com/@timsoulo
https://ahrefs.com/%D1%81%D0%B%D0%BE
Les URL ne correspondent pas au patron :
https://ahrefs.com/blog/nofollow-links
4. URL « Ajouter au panier » dans Woocommerce
\?add-to-cart=
Gardez à l'esprit que ?
est un symbole spécial dans la regex. Pour l'utiliser comme un simple point d'interrogation, n'oubliez pas de l'échapper comme ceci : \?
URL correspondant au patron :
https://yourdomain.com/?add-to-cart=25
Les URLs ne correspondent pas au modèle :
https://votredomaine.fr/smartphones
5. URL contenant un an (4 chiffres)
[0-9]{4}
ou \d{4}
[0-9]{4}
correspondra à toutes les URL contenant quatre {4}
chiffres [0-9]
à la suite
\d{4}
fait la même chose que \d
signifie un chiffre
URL correspondant au patron :
https://yourdomain.com/best-smartphones-2019
Les URLs ne correspondent pas au modèle :
https://votredomaine.fr/smartphones
6. Toutes les URL du sous-domaine (http et https)
^https?:\/\/help.ahrefs.com
Cette règle correspond à toutes les URL qui commencent par "http://help.ahrefs.com" ou "https://help.ahrefs.com".
Le point d'interrogation ici ?
indique que «s» est facultatif, pour que http et https correspondent à cette règle.
URL correspondant au patron :
https://help.ahrefs.com
http://help.ahrefs.com/
http://help.ahrefs.com/site-audit
Les URLs ne correspondent pas au patron :
https://ahrefs.com/site-audit
A_ftp://help.ahrefs.com
7. URL de fichier variées
\.(jpg|gif|bmp|png|css|pdf)$
Cette règle correspond à toutes les URL qui se terminent par $
avec . pg OU .gif OU . mp OU .png OU .css OU .pdf.
Vous pouvez réduire cette expression pour cibler un plus petit nombre d'extensions. Par exemple, pour les seules URL qui finissent $
avec .jpg OU .png seulement :
.*\.(jpg|png)$
Parenthèses (__)
grouper les regex entre eux et |
signifie OU
URLs correspondant au patron :
Ωhttps://ahrefs.com/blog/wp-content/uploads/2019/03/fb-ranking-1-image-1.png
http://ahrefs.com/blog/wp-content/uploads/2019/03/fb-ranking-1-image-1.png
Les URL ne correspondent pas au patron :
https://ahrefs.com/site-audit
8. Utiliser des règles de réécriture d'URL pour explorer un site web de pré-production dans l'audit de site
Vous pouvez utiliser les règles de réécriture d'URL dans les paramètres d'audit du site pour remplacer certaines parties des URL par une autre valeur.
Par ex. Lorsque votre site Web de pré-production est basé sur un sous-domaine, par exemple staging.ahrefs.com
Cette règle remplacera "ahrefs.com" dans chaque URL par "staging.ahrefs.com"
9. Utiliser des règles de réécriture d'URL avec des groupes de capture numérotés
Avec les groupes de capture, vous pouvez remplacer plusieurs parties de l'URL par une seule règle.
Schéma à correspondre:
www\.ahrefs\.com([^\?|#]*)?([#]?[^\?]*)\??(.*)
Remplacer par :
www.ahrefs.com\1?parameter1=5273&\2?parameter2=7465&\3
([^\?|#]*)
est le premier groupe de capture
([#]?[^\?]*)
est le 2ème groupe de capture
(.*)
est le troisième groupe de capture
\1?parameter1=5273&\2\3
remplace la valeur du 1er groupe de capture par "?parameter1=5273
"
\2?parameter2=7465&
remplace la valeur du 2ème groupe de capture par "?parameter2=7465&
\3
insère la valeur correspondant au troisième groupe de capture
6. Filtrer pour le texte de plus de 50 caractères
^[\s\S]{50
$
Autres ressources
J'espère que cet article vous a aidé à apprendre quelques trucs cool que vous pouvez faire avec les expressions régulières.
Vous pouvez tester votre Regex sur ce site : https://regex101.com/. Notez que vous devez sélectionner “Golang” dans le menu de gauche.