Désactivez SEULEMENT la complétion automatique d'URL, pas tout le système d'URL canonique
-
-
cettefonctionnalité debase de devinettes d'URLperturbe également les outils de référencementet de référencement!this core URL guessing feature also messes with SEO and SEO tools !!
- 0
- 2018-08-28
- Mau
-
2 réponses
- votes
-
- 2014-05-20
D'accord,après avoir cherché unpeuplus,j'aifinalementtrouvé une réponse àmapropre question cachée dans un commentaire de ceticket de demande defonctionnalité: https://core.trac.wordpress.org/ticket/16557 L'utilisateurnacin a suggéré d'utiliser ce code:
function remove_redirect_guess_404_permalink( $redirect_url ) { if ( is_404() ) return false; return $redirect_url; } add_filter( 'redirect_canonical', 'remove_redirect_guess_404_permalink' );
Si vous ajoutez ceci à unnouveaufichierphp deplugin (parexemple dans wp-content/plugins/disable-url-autocorrect-guessing.php),vous aurez unjoliplugin que vouspouvez activerpour désactiver la correction automatique de Wordpress. "deviner".
Afin de vous éviter lesennuis,j'aifait celaet j'ai remismonplugin sur Wordpress.org. Unefois qu'il y seraexaminé,vous devriezpouvoir letéléchargerici: https://wordpress.org/plugins/disable-url-autocorrect-guessing/
Bien que ce soit une solution detravail,le code suggéréesten quelque sorte un hack. Unefois la demande defonctionnalité dans https://core.trac.wordpress.org/ticket/16557est réellementimplémenté,il y aura des solutionsbien meilleurespour cela ainsi qu'unbien meilleur contrôle sur lafaçon dont les devinettes doivent être réellementeffectuées.
Okay, after searching a bit more I finally found an answer to my own question hidden in a comment of this feature request ticket: https://core.trac.wordpress.org/ticket/16557 The user nacin suggested to use this code:
function remove_redirect_guess_404_permalink( $redirect_url ) { if ( is_404() ) return false; return $redirect_url; } add_filter( 'redirect_canonical', 'remove_redirect_guess_404_permalink' );
If you add this to a new plugin php file (for example in wp-content/plugins/disable-url-autocorrect-guessing.php) you'll have a nice plugin that you can activate to disable Wordpress' autocorrect "guessing" feature.
In order to save you the trouble I actually did this and handed in my plugin at Wordpress.org. Once it gets reviewed there, you should be able to download it here: https://wordpress.org/plugins/disable-url-autocorrect-guessing/
While this is a working solution, the suggested code is somewhat of a hack. Once the feature request in https://core.trac.wordpress.org/ticket/16557 is actually implemented, there will be way better solutions for this as well as much better control over how the guessing should actually be performed.
-
J'aimeraispouvoir votertroisfois ...Wish I could upvote this thrice...
- 0
- 2015-08-07
- KalenGi
-
M'ainspiré carj'avais unproblème de redirectionpaginée.J'avais l'intention de `remove_filter ()`.Maismaintenanten contournant uniquement les cas spécifiques oùj'ai desproblèmes.Juste au cas où quelqu'un seraitintéresséparmonproblème: https://wordpress.stackexchange.com/questions/307670/custom-pagination-structureInspired me as I was having issue in paged redirection. I was planning to `remove_filter()`. But now bypassing only specific case where I am having trouble. Just in-case anyone interested about my issue: https://wordpress.stackexchange.com/questions/307670/custom-pagination-structure
- 0
- 2018-07-04
- Parixit
-
nefonctionneplusen v5 +no longer works in v5+
- 0
- 2019-06-25
- nodws
-
@nodws: De quoiparlez-vous?J'utilisemonplugin avec l'extrait de code sur 5.2.2et celafonctionnetoujoursbien.@nodws: What are you referring to? I'm using my plugin with the code snippet on 5.2.2 and it still works fine.
- 0
- 2019-06-26
- Hauke P.
-
Oh,c'était un conflit avec les redirections de YOASTOh it was a conflict with YOAST's redirects
- 0
- 2019-06-27
- nodws
-
- 2014-05-20
Malheureusement,
redirect_canonical()
compteplus de 400 lignes de code (etcontinue de croître d'unepublication à l'autre),quin'estpasparticulièrement structuréepour être contrôléepar lebut.C'est un accordtout ou rien quine peutpas être configuré demanièreflexible.D'unpoint de vuepratique,vosmeilleures options sont:
- Gestionmanuelle de la redirection,à
template_redirect
. - Iln'estpas souhaitable d'empêcher la redirectionen tant que hook
redirect_canonical
si la cible qu'elle atrouvée.
Dans les deux cas,vous devrez développer la logique de ce quifaitexactement une redirectionindésirable.
Unfortunately
redirect_canonical()
is 400+ lines of code (and keeps growing from release to release), which is not particularly structured to be controlled by purpose. It's all or nothing deal that cannot be flexibly configured.From practical point of view your best options are:
- Handling redirect manually, at
template_redirect
. - Preventing redirect as
redirect_canonical
hook if target it came up with is not desirable.
In either case you'll have to develop out the logic of what exactly makes undesirable redirect.
-
Euh,c'esttrèsmalheureux demanièreinattendue.:-( Ma définition d'une redirectionindésirableest assez simple: chaque URL quine peutpas être résolueen exactement ** une ** cible (maismultiple ou aucune)estindésirableet devrait aboutir à un 404.Huh, that is unexpectedly very unfortunate. :-( My definition of a undesirable redirect is pretty simple: Every URL that cannot be resolved to exactly **one** target (but multiple or none) is undesirable and should result in a 404.
- 0
- 2014-05-20
- Hauke P.
-
@HaukeP.la logique responsable de celafaitpartie de [`redirect_guess_404_permalink ()`] (http://queryposts.com/function/redirect_guess_404_permalink/)et ellene faitpas unetelle distinction,prendjuste lapremière correspondance que SQLproduit :(@HaukeP. logic responsible for that is part of [`redirect_guess_404_permalink()`](http://queryposts.com/function/redirect_guess_404_permalink/) and it doesn't make such distinction, just takes the first match SQL produces :(
- 0
- 2014-05-20
- Rarst
-
Enfait,j'aitrouvé une solutionparmoi-même: http://wordpress.stackexchange.com/a/144970/51898Actually I did find a solution on my own: http://wordpress.stackexchange.com/a/144970/51898
- 0
- 2014-05-20
- Hauke P.
-
@HaukeP.Je vous aimal compris "exactement une cible",car certains cas de correspondancefloue se résoudronttechniquement à une seule correspondance,mais cen'estpas lamême chose que de se débarrasser des élémentsflousen général :)@HaukeP. I misunderstood you a bit about "exactly one target", because some cases of fuzzy matching will technically resolve to only one match, but it's not the same as getting rid of fuzzy stuff in general :)
- 0
- 2014-05-20
- Rarst
-
Ouais,en fait,en écrivantmon dernier commentaire,je me suis arrêté une secondepour réfléchir ànouveau dans lapeur d'êtremal compris.:) Donc,il semble quej'aurais dû écriremon commentaire (etma question)plusprécisément aprèstout.Yeah, actually while writing my last comment I stopped for a second to think about again in the fear of being misunderstood. :) So it looks like I should have written my comment (and question) more precise after all.
- 0
- 2014-05-20
- Hauke P.
J'ai unblog avecplusieurspages dans une catégorie "projets" qui sont structurés/nommés comme ceci:
Lorsqu'un utilisateur saisit des URLtelles que http://myblog.com/project oumême http://myblog.com/proje il/elleest redirigé vers lepage /projects/project-2012 . (Avec un 301 déplacé defaçonpermanente!)
Alors queje souhaite que wordpresstransforme les URLpour créer unepage clairement définie (parexemple, http://myblog.com/?p=123 ) sous laforme canonique,je souhaite désactiver uniquement la saisie semi-automatique des URLpour les URL "peu claires" quipourraientpointer versplusieurspages.
Ma questionest la suivante: commentpuis-je yparvenir?
J'ai aussifait quelques recherches ...
La réponse acceptée à la question Désactiver la saisie semi-automatique des URL Wordpress désactivetout le système d'URL canonique. Cecin'estpas acceptablepour moi.
Il y aenviron quatre ans,quelque chose comme celui-ciest apparu sur l'outil de suivi desbogues de Wordpress: https://core.trac.wordpress.org/ticket/8948 Alors que certainesbonnes solutions (comme offrir unepage "Nousn'avonspastrouvé votre URL. Mais cherchiez-vouspeut-être l'une despages suivantes?") ont été discutées là-bas,leticket afinalement étéfermé.
MODIFIER: Ilexisteen fait unticketplus récent sur https ://core.trac.wordpress.org/ticket/16557 qui couvreexactement ce dontj'aibesoin. Il semble être ciblépour la version 4.0. Et les commentaires duticket contiennent également une solution (voir ci-dessous).