Comment créer automatiquement ses redirections .htaccess avec Google Sheets ?
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.
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.
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).
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.
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.
- 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.