Redirections d’URLs

Modifié :

Publié :

Les redirections d’URLs sont principalement gérées via le plugin Redirection. Il permet de construire des redirections, de suivre si elles sont vraiment utilisées par les internautes, et de rediriger automatiquement les pages renommées.

Le plugin permet de réaliser des redirections complexes et des configurations très avancées. Une bonne connaissance des codes HTTP et des expressions régulières (voir plus bas) est nécessaire pour en tirer parti.

Les redirections quelques produites hors du plugin et les redirections « magiques » sont abordées en fin d’article.

Configuration générale

Les principales sections du plugins sont les suivantes :

SectionUtilité
RedirectionsVoir les redirections
GroupesClasser les redirections par groupe
JournauxVoir les redirections récemment utilisées par des internautes
404Voir les requêtes récentes ayant abouti à une 404
Import/Export
OptionsParamètres applicables à toutes les redirections

À noter

  • Chaque redirection au sein d’un groupe à une « position », qui correspond à son ordre d’exécution par le serveur (0 est exécuté avant 1).
  • La V4 d’inserm.fr est resté en ligne près de 10 ans (mise hors ligne 2017), c’est pourquoi certaines adresses V4 ont été redirigées en V6.

Expressions régulières

Les redirections d’URLs s’appuient souvent sur des expressions régulières (abrégé regex ou rexep). Il s’agit d’une technologie très puissante, mais qui suppose une apprentissage important et n’est pas implémentée partout de la même façon.

Redirection s’appuie sur les expressions régulières de PHP (type PCRE).

Le plugin fournit une brève introduction au sujet, avec quelques liens pour approfondir et tester ses regex. Pour une plongée dans le sujet, on peut aussi consulter l’excellent Rexegg (même si son guide rapide ne colle pas 100% avec ce que fait PHP).

À noter, l’option suivante :

Note that if you are using a regular expression you will need to manage your own trailing slashes in the expression.

Redirections produites ailleurs

On peut créer des redirections directement dans le .htaccess ou via le plugin de SEO : on évite absolument de le faire, sinon ça va être un bordel ingérable.

Il est probable que Polylang Pro gère aussi quelques redirections, car il est est capable de donner la même URL à des contenus différents. Par ex. les catégories (les catégories International FR et EN ont le même permalien : international).

Par ailleurs, WordPress produit en natif des redirection « magiques », qui peuvent interférer avec ce qu’on a prévu dans Redirection.

Les redirections magiques

Explication : si on clique une URL qui devrait tomber en 404, mais qu’il existe sur le site un contenu dont le slug s’approche de cette URL, WordPress va servir ce contenu à la place d’une 404. Exemple :

  1. https://domaine.tld/categorie/contenu-existant (existe)
  2. https://domaine.tld/categorie/c (devrait 404er)
  3. https://domaine.tdl/lapin/c (devrait 404er)

Alors que les URL (2) et (3) devraient tomber en 404, WordPress va servir l’URL (1) à la place. C’est complètement perturbant, mais c’est comme ça.

Selon cet article, Ce fonctionnement est lié aux fonctions template_redirect et redirect_canonical. Pour limiter ce fonctionnement bizarre, on pense à bien fermer ses regex dans Redirections (^ma-regex$).



Publié

dans

par

Étiquettes :

Commentaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *