Aller au contenu

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

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

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.

🔒 Fichier réservé aux abonnés


Articles Similaires

Membres Public

Comment vérifier gratuitement si une URL est indexée avec Google Docs ?

La semaine dernière, j'ai partagé sur Youtube une petite astuce qui permet de savoir si une URL est indexée en utilisant Google Docs. C'est rapide, c'est gratuit et ça ne nécessite aucune compétence technique. Je t'explique. Quand tu colles une URL dans un document Google Docs (ça marrche aussi dans

Comment vérifier gratuitement si une URL est indexée avec Google Docs ?
Membres Public

Comment trouver l'IP d'un site web avec une simple formule Google Sheets ?

Aujourd'hui, je vais te montrer comment convertir un domaine en adresse IP directement dans Google Sheets. Et oui, c'est possible ! Personnellement, je m'en sers surtout pour analyser la qualité de mes backlinks : ça me permet de vérifier que j'ai suffisamment d'IP différentes parmi mes domaines référents. 1ère étape : récupérer la

Comment trouver l'IP d'un site web avec une simple formule Google Sheets ?
Membres Public

Fonctions nommées : le secret pour travailler encore plus vite avec Google Sheets

As-tu déjà entendu parler des fonctions nommées ("named functions"), la nouveauté disponible dans Google Sheets depuis cet été ? Personnellement, je l'utilise depuis quelques semaines et je trouve ça absolument génial. Les fonctions nommées, c'est quoi ? Une fonction nommée, c'est une fonction personnalisée qu'on peut construire à partir des fonctions "natives"

Fonctions nommées : le secret pour travailler encore plus vite avec Google Sheets