Comment générer un slug d'URL avec Google Sheets ?
Table des matières
Aujourd'hui, je vais te montrer comment faire pour transformer un texte en slug d'URL.
Si le terme de "slug" ne te parle pas, sache que c'est tout simplement la partie finale d'une URL.
Dit autrement, c'est l'identifiant textuel d'une page d'un site.
Généralement, en SEO, il est recommandé d'avoir un slug composé des mots-clés principaux de ta page, séparés par des tirets, sans accents, et en minuscules.
1ère étape : supprimer les accents
Je n'ai malheureusement pas trouvé de moyen simple pour supprimer les accents dans Google Sheets.
Je vais donc utiliser la fonction SUBSTITUTE
en lui passant en paramètre chaque couple de lettres à rechercher/remplacer, à savoir :
- à → a
- â → a
- æ → ae
- ç → c
- è → e
- é → e
- ê → e
- ë → e
- î → i
- ï → i
- ô → o
- ù → u
- û → u
- ü → u
- ÿ → y
- œ → oe
Ce qui donne :
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1;"é";"e");"è";"e");"ê";"e");"ë";"e");"à";"a");"â";"a");"î";"i");"ï";"i");"ô";"o");"ù";"u");"û";"u");" ü";"u");"ÿ";"y");"æ";"ae");"œ";"oe");"ç";"c")
2ème étape : supprimer la ponctuation
Pour cette deuxième étape, je vais utiliser la fonction REGEXREPLACE
.
Ce que je cherche à faire, c'est remplacer par "rien" tout ce qui ne fait pas partie de la liste des signes suivants :
- chiffre
- lettre minuscule
- lettre majuscule
- espace
- apostrophe
- tiret
Hmm... pourquoi épargner l'apostrophe et le tiret alors que ce sont des signes de ponctuation ?
Et bien tout simplement parce que dans la langue française, ils peuvent être utilisés pour marquer la liaison ou la séparation entre deux mots. Ils ont donc ici une utilité.
Exemple : "c'est" ou "après-midi".
Revenons-en à Google Sheets. Voici la formule correspondante :
=REGEXREPLACE(A1;"[^0-9a-zA-Z\s\'\-]+";"")
Décortiquons rapidement la regex :
[^]+
signifie n'importe quel caractère, une ou plusieurs fois, sauf ce qui suit le^
, à savoir :0-9
: n'importe quel chiffre compris entre 0 et 9a-z
: n'importe quelle lettre minuscule comprise entre a et zA-Z
: n'importe quelle lettre majuscule entre A et Z\s
: l'espace\'
: l'apostrophe\-
: le tiret
3ème étape : remplacer les espaces et les apostrophes par des tirets
Maintenant, je vais remplacer tout ce qui s'apparente à une séparation entre deux mots par un tiret.
Je cible donc les espaces et les apostrophes dans une regex avec, à nouveau, la fonction REGEXREPLACE
.
=REGEXREPLACE(A1;"[\s\']+";"-")
Note bien la présence du +
après les crochets, indiquant qu'il peut y avoir une ou plusieurs occurrences à remplacer.
4ème étape : convertir le texte en minuscules
On y est presque !
Il ne reste plus qu'à transformer les majuscules en minuscules avec la fonction LOWER
.
=LOWER(A1)
La formule finale
Hop, c'est cadeau.
=LOWER(REGEXREPLACE(REGEXREPLACE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1;"é";"e");"è";"e");"ê";"e");"ë";"e");"à";"a");"â";"a");"î";"i");"ï";"i");"ô";"o");"ù";"u");"û";"u");" ü";"u");"ÿ";"y");"æ";"ae");"œ";"oe");"ç";"c");"[^0-9a-zA-Z\s\'\-]+";"");"[\s\']+";"-"))
- Partager sur Twitter
- Partager sur Facebook
- Partager sur LinkedIn
- Partager sur Pinterest
- Partager par E-mail
- Copier le lien
Un Template Google Sheets Offert ! 🎁
Rejoins ma newsletter et reçois une astuce SEO chaque mercredi ! En cadeau, je t'offre un template Google Sheets avec 50 fonctions de scraping prêtes à l'emploi.