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

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

Des variables dans les formules Google Sheets (enfin !)

Le mois dernier, Google a ajouté 11 nouvelles fonctions dans Google Sheets. Tu peux retrouver tout ça en détail ici. Parmi ces nouveautés, celle que j'ai le plus vite intégrée dans mon quotidien est sans hésiter LET. La fonction LET permet en effet de créer des variables à l'intérieur d'une

Des variables dans les formules Google Sheets (enfin !)
Membres Public

Comment calculer la similarité de 2 textes avec Google Sheets ?

Aujourd'hui, on se plonge à nouveau dans Google Sheets avec un tuto rapide pour te montrer comment mesurer la similarité entre 2 contenus. Choix de la métrique : l'indice de Jaccard Il existe énormément de façons de mesurer un taux de similarité entre deux textes : distance de Levenshtein, indice de Dice,

Comment calculer la similarité de 2 textes avec Google Sheets ?
Membres Public

Comment (bien) compter le nombre de mots dans un texte avec Google Sheets ?

Compter le nombre de mots dans un texte est une tâche récurrente en SEO. Pourtant, elle n'est pas aussi triviale qu'il n'y paraît. Je te montre aujourd'hui comment faire avec Google Sheets. Méthodes Il existe plusieurs façons de faire. Je vais t'en présenter deux : * méthode 1️⃣ : compter le nombre d'espaces

Comment (bien) compter le nombre de mots dans un texte avec Google Sheets ?