Désactiver la saisie automatique des URL dans Wordpress

12

J'ai récemment remarqué que Wordpress essaye de compléter automatiquement une URL lorsqu'elle n'est pas soumise dans son intégralité. Par exemple. J'ai une URL de publication qui ressemble à ceci:

http://www.mysite.com/some-post-title

Si je navigue vers l'URL suivante:

http://www.mysite.com/some-post-ti

Je peux voir que l'URL est soumise à Wordpress mais que Wordpress effectue une redirection 301 vers http://www.mysite.com/some-post-title .

Comment désactiver ce comportement?

    
posée Luke 24.03.2013 - 03:59

3 réponses

15

Je crois que c'est la fonction redirect_canonical reliée à template_redirect . Vous devriez pouvoir le désactiver avec:

remove_filter('template_redirect', 'redirect_canonical'); 

Mais vous devriez vraiment vous demander si vous voulez le faire, car il est assez compliqué et exécute certaines fonctions importantes du référencement:

  

Redirige les liens entrants vers l'URL appropriée en fonction de l'URL du site.

     

Les moteurs de recherche considèrent www.somedomain.com et somedomain.com comme   deux URL différentes quand elles vont toutes deux au même endroit. Ce référencement   l'amélioration empêche les pénalités pour le contenu en double en redirigeant tous   liens entrants vers l'un ou l'autre.

     

Empêche la redirection pour les flux, les rétroliens, les recherches, les commentaires, etc.   et les URL d'administration. Ne redirige pas sur le support non-joli-permalien   IIS 7, aperçus de page / publication, admin WP, rétroliens, robots.txt, recherches,   ou sur demandes POST.

     

tentera également de trouver le lien correct lorsqu'un utilisateur entre une URL   cela n'existe pas basé sur une requête WordPress exacte. Va plutôt essayer   pour analyser l'URL ou la requête dans le but de comprendre la page correcte   aller à.

     

enlace

Le suivant pourrait tuer l'auto-complétion sans toucher au composant SEO, mais je ne peux pas vous le promettre. Le code est à peine testé car je n'ai jamais souhaité le désactiver. Il faudrait vraiment que j'étudie redirect_canonical pour être sûr de quoi que ce soit.

function kill_404_redirect_wpse_92103() {
  if (is_404()) {
   add_action('redirect_canonical','__return_false');
  }
}
add_action('template_redirect','kill_404_redirect_wpse_92103',1);
    
réponse donnée s_ha_dum 24.03.2013 - 04:49
2

Cela semble terriblement irresponsable, d’avoir cette "devinette" automatique. Je serais beaucoup plus ouvert à ce sujet s’il existait un moyen de définir la page à utiliser.

J'ai de nombreuses pages qui sont construites comme une séquence, et cette auto-estimation consiste à choisir à tort de répondre avec des pages qui sont (aléatoirement?) quelque part dans la séquence, par opposition à la page de départ.

UPDATE: il s'agit d'un comportement connu, à prendre en compte ici: enlace

    
réponse donnée FitPM 28.07.2014 - 15:51
1

Pour faire suite à la réponse de FitPM, un plug-in a été créé qui désactive le comportement d'auto-estimation.

Cela fonctionne très bien pour moi sur Wordpress 4.8 à compter du 2 août 2017. Le plug-in est ici: enlace

    
réponse donnée wrydere 02.08.2017 - 20:03

Lire d'autres questions sur les étiquettes