Niedawno zauważyłem, że Wordpress próbuje automatycznie uzupełnić adres URL, gdy nie zostanie przesłany w całości. Na przykład mam adres URL posta, który wygląda następująco:
http://www.mysite.com/some-post-title
Jeśli przejdę do następującego adresu URL:
http://www.mysite.com/some-post-ti
Widzę, że adres URL jest przesyłany do Wordpress, ale Wordpress dokonuje przekierowania 301 http://www.mysite.com/some-post-title
.
Jak mogę wyłączyć to zachowanie?
Odpowiedzi:
Uważam, że jest to
redirect_canonical
funkcja uzależnionatemplate_redirect
. Powinieneś być w stanie to wyłączyć za pomocą:Ale naprawdę powinieneś pomyśleć, czy chcesz to zrobić, ponieważ jest to dość skomplikowane i wykonuje kilka ważnych funkcji SEO:
Następujące działania mogą zabić autouzupełnianie bez bałaganu w komponencie SEO, ale nie mogę tego obiecać. Kod jest ledwo testowany, ponieważ nigdy nie chciałem tego wyłączać. Naprawdę musiałbym się uczyć,
redirect_canonical
aby być pewnym.źródło
Wydaje się to wyjątkowo nieodpowiedzialne, ponieważ „zgadywanie” następuje automatycznie. Byłbym o wiele bardziej otwarty na to, gdyby istniały sposoby na określenie, która strona jest właściwa.
Mam wiele stron, które są zbudowane jako sekwencja, a to automatyczne zgadywanie niewłaściwie wybiera odpowiedź na strony, które są (losowo?) Gdzieś w sekwencji, w przeciwieństwie do strony początkowej.
AKTUALIZACJA: Jest to znane zachowanie i jest rozważane tutaj: https://core.trac.wordpress.org/ticket/16557
źródło
W odpowiedzi na odpowiedź FitPM - została utworzona wtyczka, która wyłącza zachowanie automatycznego zgadywania.
Działa dobrze dla mnie na Wordpress 4.8 od 2 sierpnia 2017 r. Wtyczka jest tutaj: https://wordpress.org/plugins/disable-url-autocorrect-guessing/
źródło