Deaktivieren Sie NUR die automatische Vervollständigung von URLs, nicht das gesamte kanonische URL-System
-
-
Diese zentrale Funktion zum Erraten von URLsbringt auch SEO und SEO-Tools durcheinander !!this core URL guessing feature also messes with SEO and SEO tools !!
- 0
- 2018-08-28
- Mau
-
2 Antworten
- Stimmen
-
- 2014-05-20
Okay,nachdemichein bisschenmehrgesucht hatte,fandichendlicheine Antwort aufmeine eigene Frage,diein einem Kommentar dieses Feature-Request-Tickets versteckt war: https://core.trac.wordpress.org/ticket/16557 Der Benutzernacin schlug vor,diesen Code zu verwenden:
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' );
Wenn Sie dies zueinerneuen Plugin-PHP-Datei hinzufügen (zum Beispielin wp-content/plugins/disable-url-autocorrect-erraten.php),haben Sieein nettes Plugin,das Sie aktivieren können,um die automatische Korrektur von Wordpress zu deaktivieren. "erraten "Funktion.
Um Ihnen die Mühe zuersparen,habeich diestatsächlichgetan undmein Pluginbei Wordpress.orgeingereicht. Sobaldes dort überprüft wurde,sollten Siees hier herunterladen können: https://wordpress.org/plugins/disable-url-autocorrect-guessing/
Obwohl dieseine funktionierende Lösungist,ist der vorgeschlagene Codeein Hack. Einmal die Feature-Anfragein https://core.trac.wordpress.org/ticket/16557tatsächlichimplementiertist,wirdes vielbessere Lösungen dafürgeben sowieeine vielbessere Kontrolle darüber,wie das Ratentatsächlich durchgeführt werden sollte.
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.
-
Ich wünschte,ich könnte dies dreimal verbessern ...Wish I could upvote this thrice...
- 0
- 2015-08-07
- KalenGi
-
Inspiriertemich,alsich Problememit der Seitenumleitung hatte.Ich hatte vor,"remove_filter ()" zuentfernen.Aberjetztnureinen bestimmten Fall umgehen,in demich Probleme habe.Nurfür den Fall,dass sichjemandfürmein Probleminteressiert: 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
-
funktioniertnichtmehrin v5 +no longer works in v5+
- 0
- 2019-06-25
- nodws
-
@nodws: Woraufbeziehen Sie sich?Ichbenutzemein Pluginmit dem Code-Snippet auf 5.2.2 undesfunktioniertimmernochgut.@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,es warein Konfliktmit den Weiterleitungen von YOASTOh it was a conflict with YOAST's redirects
- 0
- 2019-06-27
- nodws
-
- 2014-05-20
redirect_canonical()
enthält leidermehr als 400 Codezeilen (undwächst von Release zu Release weiter),wasnichtbesonders strukturiertist,umnach Zweckgesteuert zu werden.Esist alles odernichts,wasnichtflexibel konfiguriert werden kann.Auspraktischer Sicht sind Ihrebesten Optionen:
- Manuelle Behandlung der Umleitung unter
template_redirect
. - Das Verhindern der Umleitung als
redirect_canonical
-Hook,wenn das Zielerreicht wurde,istnicht wünschenswert.
Inbeiden Fällenmüssen Sie die Logik von entwickeln,wasgenau eine unerwünschte Weiterleitungbewirkt.
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.
-
Huh,dasist unerwartet sehr unglücklich.:-( Meine Definitioneiner unerwünschten Weiterleitungist ziemlicheinfach: Jede URL,dienichtin genauein Ziel aufgelöst werden kann (abermehrere oder keine),ist unerwünscht und sollte zueinem 404führen.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.Die dafür verantwortliche Logikist Teil von [`redirect_guess_404_permalink ()`] (http://queryposts.com/function/redirect_guess_404_permalink/) undmacht keine solche Unterscheidung,sondernnimmt nur dieerste Übereinstimmung,die SQLerzeugt :(@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
-
Eigentlich habeich selbsteine Lösunggefunden: 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.Ich habe Sieein bisschen über "genauein Ziel"missverstanden,weileinige Fälle von Fuzzy-Matchingtechnischnur zueinem Matchführen,aberesistnicht dasselbe wie Fuzzy-Zeugim Allgemeinen loszuwerden :)@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
-
Ja,währendichmeinen letzten Kommentar schrieb,hieltichfüreine Sekundeinne,umnocheinmal darübernachzudenken,aus Angst,missverstanden zu werden.:) Es sieht also so aus,als hätteichmeinen Kommentar (undmeine Frage) dochpräziser schreiben sollen.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.
Ich habeein Blogmit mehreren Seitenin einer Kategorie "Projekte",die wiefolgt strukturiert/benannt sind:
Wennein Benutzer URLs wie http://myblog.com/project eingibt oder sogar http://myblog.com/proje wirder an die weitergeleitet Seite /projects/project-2012 . (Miteinem 301 dauerhaftbewegt!)
Ichmöchte,dass WordPress URLs umdreht,was zueiner klar definierten Seiteführt (z. B. http://)myblog.com/?p=123 )in der kanonischen Formmöchteichnur die automatische Vervollständigung der URLfür "unklare" URLs deaktivieren,diemöglicherweise aufmehrere Seiten verweisen.
Meine Frage lautet: Wie kannich daserreichen?
Ich habe auch recherchiert ...
Die akzeptierte Antwort auf die Frage Deaktivieren Sie die automatische Vervollständigung der Wordpress-URL Deaktiviert dasgesamte kanonische URL-System. Diesistnicht akzeptabelfür ich.
Vor ungefähr vier Jahrentauchte soetwasim Wordpress-Bug-Tracker auf: https://core.trac.wordpress.org/ticket/8948 Währendeinige gute Lösungen (wie das Anbieteneiner Seite "Wir haben Ihre URLnichtgefunden. Aber haben Sie vielleichtnacheiner derfolgenden Seitengesucht?")besprochen wurden dort wurde das Ticket am Endegeschlossen.
BEARBEITEN: Unter httpsgibt estatsächlichein neueres Ticket ://core.trac.wordpress.org/ticket/16557 ,diegenau das abdeckt,wasichbrauche. Es scheintfür die Version 4.0 vorgesehen zu sein. Die Ticketkommentareenthalten aucheine Lösung (siehe unten).