Aller au contenu

Extraire les paramètres d'une URL avec Google Sheets

Antoine Brisset
Antoine Brisset
Temps de lecture : 3 min
Extraire les paramètres d'une URL avec Google Sheets
Photo by Evan Dennis / Unsplash

Table des matières

Aujourd'hui, je vais te montrer comment faire pour extraire les noms des paramètres d'URL dans Google Sheets.

Tu es sûrement en train de te dire : OK, très bien, mais pour quoi faire ?

Et bien, en fait, il y a tout un tas d'applications possibles : mieux comprendre comment sont gérées les URLs en phase d'audit, identifier des sources de DUST (Duplicate URL, Same Text) après un crawl, faire un état des lieux des paramètres à conserver/supprimer lors d'une migration, etc.

Petit rappel

Un paramètre d'URL, c'est un couple clé/valeur séparé par un signe égal (=).

Dans une URL, les paramètres apparaissent immédiatement après le point d'interrogation (?) et forment ce qu'on appelle la query string.

Pour séparer chaque paramètre, on utilise l'esperluette (&).

File:Structure of an HTTP style URI or URL.png - Wikimedia Commons
Structure d'une URL

Dans l'exemple ci-dessus, la query string est "a=b&x=y", les noms des paramètres sont "a" et "b" et les valeurs de ces paramètres sont respectivement "x" et "y".

Si tu veux aller plus loin, tu peux lire cet article du blog ahrefs.

1ère étape : trouver la bonne regex

Pour commencer, il faut que je trouve un moyen de nettoyer l'URL des différentes valeurs de paramètres.

L'objectif est le suivant : supprimer toutes les chaînes de caractères commençant par le signe =, suivi de n'importe quel caractère SAUF le symbole &.

Et oui, on l'a vu plus haut, l'esperluette (&) est le séparateur qui fait le lien entre chaque paramètre. Je dois donc conserver ce symbole et la chaîne de caractères qui vient derrière, en m'arrêtant au signe =.

Tu l'auras deviné, le plus simple est de passer par une expression régulière.

La voici : =[^&]+.

Traduction : je veux trouver toutes les chaînes de caractères qui commencent par le signe =, suivi de n'importe quel caractère sauf l'esperluette ([^&]), répété 1 ou plusieurs fois (+).

En testant avec l'excellent Rubular, c'est validé. L'expression régulière cible bien ce que je veux supprimer.

Test dans Rubular

Maintenant, direction Google Sheets.

2ème étape : supprimer les valeurs de paramètres

Je vais reprendre la regex de l'étape 1 et la passer en paramètre de la fonction REGEXREPLACE.

Cette fonction prend 3 paramètres en entrée :

  1. le texte à modifier
  2. la regex (autrement dit le pattern à "matcher")
  3. le texte de remplacement

Ce qui donnera dans mon cas :

=REGEXREPLACE(A2;"=[^&]+";"")
REGEXREPLACE

Toutes les valeurs de paramètres sont bien remplacées par "", autrement dit supprimées.

Parfait. On peut passer à la suite.

3ème étape : découper l'URL

Le résultat de l'étape 2 contient encore des éléments dont je n'ai pas besoin : le protocole, le domaine et le chemin d'URL.

Pour m'en débarrasser, je vais simplement découper l'URL à partir du ? et ne garder que la deuxième partie, correspondant à la query string.

Je vais faire appel pour cela à deux fonctions : SPLIT et INDEX.

SPLIT va me permettre de découper l'URL autour du point d'interrogation.

SPLIT

INDEX va me permettre de sélectionner la deuxième colonne issue de l'opération précédente.

INDEX

Nickel. On y est presque.

4ème étape : afficher les noms des paramètres

Pour terminer, je vais afficher les noms de paramètres les uns en dessous des autres.

L'astuce consiste ici à remplacer le caractère & par un retour à la ligne en utilisant à la fois la fonction SUBSTITUTE et la fonction CHAR.

La fonction SUBSTITUTE permet de remplacer, dans une cellule, un morceau de texte par une autre.

La fonction CHAR, quant à elle, permet de convertir un nombre en caractère selon la table Unicode.

Dans la version décimale de la table des caractères Unicode, la nouvelle ligne est associée au code 10. J'utiliserai donc CHAR(10).

SUBSTITUTE

Job done !

Voici la formule finale :

=SUBSTITUTE(INDEX(SPLIT(REGEXREPLACE(A2;"=[^&]+";"");"?");2);"&";CHAR(10))
Google Sheets

Antoine Brisset Twitter

Consultant SEO depuis 2010. Je traque les clics inutiles et j'automatise les tâches répétitives pour gagner du temps dans mon quotidien de travailleur du web.


Articles Similaires

Membres Public

Filtrer facilement des valeurs vides avec Google Sheets

📲Je propose désormais des sessions de coaching SEO. Si vous avez besoin d'un accompagnement personnalisé et sur mesure, en SEO ou en édition de sites, rendez-vous ici ! Aujourd'hui, petite astuce pour éviter de devoir utiliser les fonctions FLATTEN + FILTER quand vous devez : 1. convertir une plage

Filtrer facilement des valeurs vides avec Google Sheets
Membres Public

Comment analyser des paramètres d'URL avec Google Sheets ?

L'édition du jour est directement inspirée de l'article paru il y a a quelques jours sur le blog Yapasdequoi d'Aymeric Bouillat. Dans son (très bon) article, Aymeric explique comment faire l'agrégation du nombre de hits Googlebot sur les paramètres d'URL

Comment analyser des paramètres d'URL avec Google Sheets ?
Membres Public

RECHERCHEV dans Google Sheets : comment retourner plusieurs colonnes à la fois ?

Il y a quelques jours, Mickaël Zerrougui a partagé un petit tuto sympa sur la RECHERCHEV en SEO. Si tu l'as loupé, je te le remets ici ⬇️ 🏆 La RechercheV en SEO 🏆 Y'a des SEO qui savent toujours pas utiliser la rechercheV ?😱 Vous en avez marre des

RECHERCHEV dans Google Sheets : comment retourner plusieurs colonnes à la fois ?