Préambule
SPIP gère les urls des objets de façon très fine. Si votre besoin est lié à des objets éditoriaux, je vous invite à lire la documentation de SPIP sur le sujet. Ce plugin n’aborde pas les urls au sens “objet éditorial” de SPIP (cf. la table spip_urls
). Ce plugin n’a pas vocation de remplacer la gestion des URLs de SPIP.
Ce plugin est particulièrement utile pour des sites académiques ou gouvernementaux qui n’ont pas un accès direct au fichier .htaccess, leur permettant ainsi de gérer facilement les redirections depuis l’interface privée de SPIP.
Pourquoi utiliser ce plugin ?
Lorsqu’une page demandée n’existe plus, SPIP génère une erreur 404. Ce plugin permet d’identifier ces erreurs et d’y remédier en mettant en place des redirections 301, évitant ainsi aux internautes de tomber sur une page introuvable. Cela est particulièrement utile lorsqu’un site a changé sa structure d’URL, migré son contenu ou souhaite améliorer son référencement en réduisant les erreurs 404.
Installation
Ce plugin s’installe comme tous les plugins par l’intermédiaire du gestionnaire de plugins de SPIP. Merci de vous référer à la page dédiée.
Une fois activé, le plugin commence à enregistrer les erreurs 404 rencontrées sur l’espace publique du site.
Configuration
Un administrateur du site peut ajouter de nouvelles redirections depuis l’espace privé de SPIP :
- Dans le menu “Publications”, cliquer sur “Redirections 301”
- Ajouter une nouvelle redirection en cliquant sur “Créer une nouvelle redirection”
- Vous pourrez saisir (champs obligatoires) :
- L’ancienne url
- La nouvelle url souhaitée
- Sauvegarder votre saisie.
Vous serez redirigé vers la page spécifique à cette nouvelle redirection. Elle aura le statut “En cours de rédaction” par défaut. Il vous suffira de modifier son statut pour que cette redirection soit prise en compte.
Saisie des URLs
Par principe, l’url à saisir est l’url entière sans le nom de domaine. Exemple:
https://ton.nomdedomaine.tld/masuperlongueEtAncienneUrl/que/je/desire/rediriger/
URL à saisir:
masuperlongueEtAncienneUrl/que/je/desire/rediriger/
Choix du type de redirection (Nouveauté v1.1.0)
À partir de la version 1.1.0, il est possible de définir le type de redirection lors de la création d’une redirection. Ce choix permet d’indiquer aux navigateurs et aux moteurs de recherche comment interpréter la redirection.
Les types de redirection disponibles sont :
- 301 Moved Permanently : Indique que l’URL a été déplacée de façon permanente. Cette redirection est recommandée pour le référencement, car les moteurs de recherche mettront à jour leurs index.
- 302 Found : Signale une redirection temporaire, sans modification de l’indexation des moteurs de recherche.
- 303 See Other : Utilisé principalement pour rediriger après une requête POST vers une nouvelle page en GET.
- 307 Temporary Redirect : Similaire au 302, mais garantit que la méthode HTTP ne change pas.
- 308 Permanent Redirect : Version stricte du 301, conservant la méthode HTTP d’origine.
Lorsqu’une redirection est créée, l’ancienne URL redirigera vers la nouvelle en utilisant le code de redirection sélectionné. Ce paramètre permet une gestion plus fine des redirections en fonction des besoins spécifiques du site.
Fonctionnement
La page de consultation des redirections
Depuis l’espace privé de SPIP, vous pouvez consulter l’ensemble des redirections enregistrées sur la page /ecrire/?exec=redirections
Les redirections peuvent être supprimées ou désactivées depuis l’interface d’administration.
Utilisation des pipelines de SPIP
Pour identifier les erreurs 404, le plugin utilise des pipelines pour fonctionner efficacement :
-
styliser
: pour détecter l’utilisation du squelette 404 -
affichage_entetes_final
: intercepter le statut 404 dans$GLOBALS
Enregistrement des erreurs 404
Lorsqu’une erreur 404 est rencontrée sur le site depuis l’espace public, l’url ($_SERVER['REQUEST_URI']
) est sauvegardée dans le fichier tmp/erreurs_404.log
à chaque fois que cette page est consultée.
En plus de l’URL, deux autres éléments sont enregistrés :
- $_SERVER['HTTP_REFERER']
s’il est disponible
- $_SERVER['HTTP_USER_AGENT']
s’il est disponible également
Consultation des erreurs 404
Depuis la page des Redirections 301 /ecrire/?exec=redirections
, en bas de page, vous pourrez trouver toutes les urls qui ont amenées à une erreur 404 depuis que le plugin a été activé. Le tableau affichera chaque URL en erreur ainsi que le nombre de fois où elle a été consultée.
Cela permet d’identifier les liens problématiques et d’ajouter facilement des redirections adaptées.
Tâche de fond
Pour éviter de gros problèmes de performances, le plugin exporte toutes les redirections publiées dans un fichier json dans tmp/redirections.json
. Le fichier redirections_options.php
se chargeant à chaque consultation de page, il consultera ce fichier json pour trouver une correspondance. Cela évite d’interroger la base de données à chaque fois.
Cette tâche est planifiée pour s’exécuter automatiquement chaque heure.
Précautions d’emploi
Je déconseille fortement l’utilisation de ce plugin si vous avez un très grand nombre de redirections à mettre en place. Je recommande l’utilisation du fichier .htaccess dans ce cas pour plus de vélocité.
No discussion
Add a comment
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Follow the comments:
|
