Comment empêcher WordPress de deviner l’URL d’un article?

Si vous utilisez WordPress depuis quelques temps, vous savez probablement que lorsque vous entrez une URL erronée d’un article WordPress, ce dernier essaiera de deviner l’URL exzcte.

Par exemple, si un utilisateur tappe l’URL http://monsite.fr/hello/ et qu’il n’y a pas de contenu associé à cette URL, WordPress essaiera de deviner l’URL exacte afin de rediriger l’utilisateur vers une URL qui « devrait être la bonne« , dans cet exemple http://monsite.fr/hello-monde/.

La raison de cette déduction?L’URL de cet article contient le mot « hello ».

Aussi utile que soit cette fonction, WordPress n’est pas très doué pour les devinettes et il fait souvent l’erreur de rediriger les utilisateurs vers un contenu inapproprié.

En fait, il serait plus utile de générer des pages erreurs 404 que de renvoyer automatiquement les visiteurs vers des articles qui pourraient correspondre à l’URL entrée, cela vous permettrait de corriger manuellement l’URL défectueuse ou les liens manquants.

Empêcher WordPress de deviner l’URL d’un articleEmpêcher WordPress de deviner l'URL d'un article

Afin de vous aider à corriger ce comportement, un peu étrange de WordPress, voici trois méthodes qui vous permettront de désactiver la fonction ou d’empêcher WordPress de deviner l’URL d’un article, et de générer à la place des erreurs 404 « Pages introuvables », bien plus utiles.

Arrêter les devinettes – Méthode 1

La première façon d’empêcher WordPress de deviner l’URL d’un article est d’utiliser le code ci-dessous.

Pour ce faire, ouvrez votre client FTP favori (par exemple Filezilla). Une fois que vous serez connecté à votre hébergement, accédez à votre dossier thème (wp-content/themes/votre_theme) et téléchargez le fichier functions.php sur le bureau de votre ordinateur, faites en également une copie de sauvegarde ailleurs, par mesure de sécurité.

Faites de l'éditeur HTML l'éditeur par défaut de WordPress - télécharger le fichier functions

Ouvrez ensuite le fichier functions.php avec votre éditeur de texte préféré, tel queNotepad++, et copiez /collez le code ci-dessous à la fin du fichier, puis enregistrez les modifications.

remove_filter('template_redirect', 'redirect_canonical');

Rechargez ensuite le fichier functions.php dans votre dossier theme, en écrasant le fichier présent.

A partir de maintenant WordPress ne jouera plus au grand Devinator, mais générera des pages erreurs 404, Page non trouvée.

Une chose importante qu’il vous faut garder à l’esprit, si vous utilisez le code ci-dessus, est que ce code désactive complètement la redirection canonique, qui est utile en termes de référencement.

Arrêter les devinettes – Méthode 2

Si vous recherchez quelque chose de plus « SEO friendly » pour empêcher WordPress de deviner les URL, sans désactiver complètement le filtre redirect_canonical, utilisez le code ci-dessous.

Comme dans la méthode 1, il vous suffit de copier et de coller le code ci-dessous dans le fichier functions.php de votre thème ou d’utiliser un plugin spécifique à votre site.

add_filter('redirect_canonical', 'bs_no_redirect_404');
function bs_no_redirect_404($redirect_url)
{
    if (is_404()) {
        return false;
    }
    return $redirect_url;
}

Truc de Pro: Comme les extrait de code ci-dessus ne font pas partie de votre thème, vous pouvez également les placer dans un plugin créé spécifiquement pour votre site.

Méthode 3 – Utiliser un plugin

Si vous n’êtes pas à l’aise lorsqu’il s’agit de toucher aux fichiers de WordPress, il existe une autre solution, sous la forme d’un plugin gratuit, Disable URL Autocorrect Guessing.

empêcher WordPress de deviner l'URL d'un article

Simple à installer et à activer cette extension est prête à fonctionner. Le plugin contient le même code que ci-dessus, mais livré sous forme de plugin, il vous éviter de modifier quoi que ce soit dans les paramètres de WordPress.

Ce plugin a été conçu suite à une remarque d’Andrew Nacin sur le core.trac de WordPress.

Voilà c’est tout, il n’y a rien de  plus simple pour empêcher WordPress de deviner les URL incorrectes.

J’espère que cet article vous aidera à deviner l’URL d’un article de votre blog. Faites nous part de votre expérience sur la façon d’empêcher WordPress de deviner l’URL d’un article.

séparateur de texte

Si cet article vous a été utile, Partagez le, il intéressera d’autres personnes. Merci!

Publié à l'origine le : 26 octobre 2015 @ 14 h 00 min

Pour compléter votre lecture.