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 automatise les tâches répétitives pour gagner du temps dans mon quotidien de travailleur du web.

Commentaires


Articles Similaires

Membres Public

Comment générer un slug d'URL avec Google Sheets ?

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

Comment générer un slug d'URL avec Google Sheets ?
Membres Public

3 techniques pour ouvrir plusieurs URLs en même temps

Il y a quelques semaines, je t'ai partagé une technique pour ouvrir l'admin WordPress de plusieurs articles en même temps. Aujourd'hui, je vais aller un peu plus loin en te proposant 3 techniques pour ouvrir plusieurs URLs en un clic. Je ne sais pas pour toi, mais de mon côté

3 techniques pour ouvrir plusieurs URLs en même temps
Membres Public

Extraire la racine et le nom de domaine d'une URL avec Google Sheets (+TEMPLATE)

Aujourd'hui, je te partage un petit tuto pour récupérer la racine et le nom de domaine (ou sous-domaine) d'une URL dans Google Sheets. C'est toujours intéressant d'avoir ça sous le coude, notamment pour des analyses de backlinks, de domaines expirés, de SERPs, etc. Si tu veux avoir accès directement au

Extraire la racine et le nom de domaine d'une URL avec Google Sheets (+TEMPLATE)