Aller au contenu

Comment créer automatiquement ses redirections .htaccess avec Google Sheets ?

Antoine Brisset
Antoine Brisset
Temps de lecture : 4 min
Comment créer automatiquement ses redirections .htaccess avec Google Sheets ?
Photo by Jamie Templeton / Unsplash

Table des matières

Si tu travailles dans le SEO, tu sais comme moi que préparer des redirections .htaccess est une tâche vraiment ennuyante chronophrage et répétitive : copier/coller des URLs, rechercher/remplacer des caractères, vérifier la syntaxe, etc.

Je vais donc te partager aujourd'hui une méthode pour te faire gagner du temps dans ce process, en utilisant tout le potentiel de Google Sheets.

Je précise qu'il s'agit ici de t'aider dans l'écriture des redirections, et non dans la phase de collecte/nettoyage/mise en correspondance des URLs, qui vient en amont et qui est beaucoup plus difficilement automatisable.

Si tu es pressé, tu peux scroller tout en bas pour récupérer directement le fichier (réservé aux abonnés).

1ère étape : transformer l'URL à rediriger en URL relative

Avant de démarrer, il faut créer :

  • une 1ère colonne avec la liste des URLs à rediriger (URL avant)
  • une 2ème colonne avec la liste des URLs de redirection (URL après)

À partir de là, on va pouvoir transformer les URLs contenues dans la colonne URL avant en URLs relatives. Autrement dit, enlever à la fois le protocole, le sous-domaine, le domaine et le TLD pour ne garder que le chemin de l'URL.

Anatomie d'une URL

Dans Google Sheets, il existe plusieurs façons de procéder pour arriver à ce résultat.

Pour ma part, j'utilise la formule suivante :

=RIGHT(A2;LEN(A2)-FIND("/";A2;9))

Explications : j'extrais, en partant de la fin de la cellule (fonction RIGHT), l'ensemble des x caractères situés après le TLD. Pour calculer ce "x", je soustrais le nombre total de caractères dans l'URL au nombre de caractères entre le début de l'URL et le slash suivant le TLD (LEN(A2)-FIND("/";A2;9)).

Pour les curieux, FIND("/";A2;9) me permet de rechercher la position du slash dans la cellule, en commençant la recherche après les slashs figurant dans http:// (7 caractères) ou https:// (8 caractères). D'où le 9 figurant en 3ème paramètre dans la fonction FIND.

Extraction du chemin à partir de l'URL absolue

2ème étape : créer une colonne pour les "flags" et une colonne pour choisir de supprimer ou de conserver les paramètres

Ici, rien de bien sorcier : je crée une colonne Flag dans laquelle j'indique le code réponse ("flag" en langage serveur) à associer à la redirection : 301 (permanente) ou 302 (temporaire).

J'ajoute également les options 404 ou 410 dans l'éventualité où aucune correspondance n'est trouvée pour une ou plusieurs URLs.

Ensuite, je crée une colonne Supprimer les paramètres avec une case à cocher pour savoir si oui ou non, les paramètres de redirections doivent être supprimés lors de la redirection (généralement oui).

Choix du code et contrôle des paramètres d'URL

3ème étape : créer les règles de redirection

On arrive au plus intéressant : la création des règles de redirection Apache.

La formule que j'utilise est la suivante :

=ARRAYFORMULA("RewriteRule ^"&C2:C10&" "&IF(D2:D10<=302;IF(E2:E10=TRUE;B2:B10&"? ";B2:B10&" ");"- ")&"[R="&D2:D10&",L]")

Je vais essayer de faire court pour l'explication.

Je commence l'écriture de la règle avec RewriteRule ^"&C2:C10&" qui reprend dynamiquement le chemin de l'URL à rediriger derrière la directive RewriteRule.

Puis je vérifie avec IF(D2:D10<=302) si je suis bien en présence d'une redirection.

Si c'est le cas, je vérifie si Supprimer les paramètres est bien coché avec la formule IF(E2:E10=TRUE).

En fonction du résultat, j'ajoute ou non le caractère ? derrière l'URL de redirection. Le point d'interrogation indique en effet à Apache de ne pas conserver les éventuels paramètres d'URL lors de la redirection.

Si ce n'est pas le cas, je renvoie directement et dynamiquement le flag choisi dans la colonne Flag.

Autre chose intéressante ici : la fonction ARRAYFORMULA. C'est une fonction matricielle que je trouve tout simplement géniale et qui permet de calculer des valeurs en lot, plutôt que de devoir les calculer individuellement, ligne par ligne.

En gros, tu saisis ta formule une seule fois et l'ensemble de la plage se met automatiquement à jour.

La magie d'ARRAYFORMULA

Pour avoir accès au template Google Sheets, clique sur le lien ci-dessous ↓ puis fais une copie du document pour pouvoir l'utiliser librement avec tes propres URLs.


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 ?