Błąd 405 Method Not Allowed oznacza, że serwer WWW zrozumiał Twoje żądanie, ale odrzucił użytą metodę HTTP. Żądanie GET trafiło do punktu końcowego, który akceptuje tylko POST; wtyczka zabezpieczająca zablokowała wywołania PUT z edytora bloków; reguła w pliku .htaccess usunęła DELETE. Serwer wie, czego chcesz, ale nie przetworzy tego w ten sposób.
Szybka odpowiedź: W WordPressie najczęstszą przyczyną błędu 405 jest wtyczka zabezpieczająca blokująca wywołania PUT lub DELETE z edytora Gutenberg albo dyrektywa
LimitExceptw pliku.htaccess. Najszybsza pierwsza naprawa to Ustawienia > Bezpośrednie odnośniki > Zapisz zmiany, aby ponownie wygenerować plik.htaccess. Jeśli to nie pomoże, dezaktywuj wtyczki zabezpieczające pojedynczo, aby wyizolować blokujący element. W naszych testach zresetowanie pliku.htaccessprzez Ustawienia > Bezpośrednie odnośniki > Zapisz rozwiązuje błąd w większości przypadków, gdy nie zainstalowano żadnej wtyczki zabezpieczającej.

Gdzie Pojawia się Błąd 405?
Skorzystaj z tej tabeli, aby przejść do najbardziej prawdopodobnej przyczyny, zanim przejdziesz przez każdy krok.
| Gdzie pojawia się błąd | Najbardziej prawdopodobna przyczyna |
|---|---|
| Edytor bloków nie zapisuje wpisu | Wtyczka zabezpieczająca blokująca PUT lub DELETE |
| Formularz kontaktowy lub kasy na stronie | Wtyczka formularza wysyłająca niewłaściwą metodę HTTP |
| Punkt końcowy REST API lub polecenie WP-CLI | Reguła LimitExcept w .htaccess |
| Cała witryna lub określone obszary administracyjne | Dyrektywa Nginx lub Apache na poziomie serwera |
Przed wprowadzeniem jakichkolwiek zmian wykonaj kopię zapasową witryny, aby móc szybko przywrócić poprzedni stan, jeśli coś pójdzie nie tak. WP Staging oferuje automatyczne kopie zapasowe z przywracaniem jednym kliknięciem. Instrukcje konfiguracji znajdziesz w przewodniku tworzenia i przywracania kopii zapasowych.
Błędna Konfiguracja LimitExcept w .htaccess
Dyrektywa LimitExcept w pliku .htaccess ogranicza, które metody HTTP serwer akceptuje na danej ścieżce. Typowy przykład:
<LimitExcept GET POST>
Deny from all
</LimitExcept>
Blokuje to metody PUT, DELETE i PATCH, których WordPressowe REST API oraz Gutenberg używają do aktualizacji i operacji zbiorczych. Plik .htaccess, do którego wtyczka zabezpieczająca lub ręczna edycja dodała tę dyrektywę, jest często winowajcą, gdy błąd 405 pojawia się po raz pierwszy po instalacji wtyczki lub zmianie konfiguracji w cPanel.
Diagnoza: Sprawdź log błędów serwera pod kątem wierszy zawierających 405 (Method Not Allowed) na ścieżkach REST API (/wp-json/...). Jeśli je tam zobaczysz, przyczyną niemal na pewno jest reguła LimitExcept.
Naprawa: Zresetuj plik .htaccess
Zaloguj się do cPanel swojego hostingu i otwórz Menedżer plików.

Przejdź do katalogu głównego instalacji WordPress, zwykle public_html lub www.

Znajdź plik .htaccess w katalogu głównym.

Kliknij prawym przyciskiem myszy plik .htaccess i wybierz Pobierz, aby zapisać kopię zapasową na komputerze.

Ponownie kliknij plik prawym przyciskiem myszy, wybierz Zmień nazwę i zmień nazwę na .htaccess.bak. To tymczasowo go wyłącza bez usuwania.

Po wyłączeniu starego pliku .htaccess przejdź do Ustawienia > Bezpośrednie odnośniki w panelu WordPress i kliknij Zapisz zmiany. WordPress ponownie wygeneruje czysty plik .htaccess bez żadnych problematycznych reguł.

Sprawdź witrynę. Jeśli błąd 405 zniknął, otwórz stary plik .htaccess.bak i porównaj go wiersz po wierszu z nowym plikiem, aby znaleźć dyrektywę LimitExcept. Usuń ją z kopii zapasowej i zmień nazwę z powrotem na .htaccess albo zachowaj wygenerowaną wersję.
Jeśli korzystasz z Nginx, plik .htaccess nie ma żadnego wpływu. Sprawdź plik nginx.conf pod kątem równoważnych dyrektyw limit_except lub deny w bloku server lub location dla Twojej witryny.
Wtyczka Zabezpieczająca Blokująca Metody HTTP
Na podstawie zgłoszeń do wsparcia WP STAGING najczęstszym wyzwalaczem błędu 405 w działającej instalacji WordPress jest zapora wtyczki zabezpieczającej blokująca żądania PUT lub DELETE z edytora bloków. Wtyczki takie jak Wordfence i Sucuri pozwalają ograniczyć, które metody HTTP serwer akceptuje. Gdy blokują PUT lub DELETE, żądania zapisu z edytora Gutenberg kończą się błędem 405, a edytor wyświetla ogólny komunikat o błędzie zapisu.
Diagnoza: Tymczasowo dezaktywuj wtyczkę zabezpieczającą i spróbuj ponownie zapisać wpis. Jeśli błąd 405 zniknie, przyczyną jest ta wtyczka.
Naprawa: Zidentyfikuj blokującą wtyczkę
Zaloguj się do panelu WordPress i przejdź do Wtyczki.

Zaznacz wszystkie aktywne wtyczki, otwórz menu rozwijane Akcje zbiorcze u góry, wybierz Wyłącz i kliknij Zastosuj.

Po dezaktywacji wszystkich wtyczek sprawdź, czy błąd 405 zniknął. Jeśli tak, ponownie aktywuj każdą wtyczkę pojedynczo, testując witrynę po każdej, aż błąd powróci. To właśnie ta wtyczka blokuje żądanie.
Gdy ją zidentyfikujesz, sprawdź ustawienia zapory lub metod HTTP tej wtyczki. W przypadku Wordfence poszukaj dozwolonych metod HTTP w Firewall > All Firewall Options i upewnij się, że PUT i DELETE są uwzględnione. W przypadku Sucuri poszukaj ograniczeń metod HTTP w ustawieniach Hardening.
Konfiguracja Serwera (Nginx i Apache)
Błąd 405, który utrzymuje się po zresetowaniu pliku .htaccess i dezaktywacji wtyczek, zwykle wskazuje na konfigurację serwera WWW. W Apache dyrektywy Limit i LimitExcept w pliku konfiguracyjnym wirtualnego hosta mogą blokować metody w całej witrynie. W Nginx blok limit_except GET POST {} w bloku server lub location ma ten sam efekt.
Diagnoza: Sprawdź logi serwera
Logi dostępu rejestrują każde żądanie wraz z kodem statusu HTTP. Logi błędów rejestrują, dlaczego serwer odrzucił żądanie. Poszukaj wierszy zawierających 405 lub method not allowed w pobliżu ścieżki, która zwróciła błąd.
Większość paneli sterowania hostingu współdzielonego udostępnia logi w sekcji Logi lub Metryki. Na serwerze VPS lub dedykowanym sprawdź /var/log/apache2/error.log lub /var/log/nginx/error.log.
Naprawa: Zaktualizuj konfigurację serwera
W przypadku Apache znajdź plik konfiguracyjny wirtualnego hosta dla swojej witryny (zwykle w /etc/apache2/sites-enabled/) i wyszukaj bloki <Limit> lub <LimitExcept>. Dodaj wymagane metody HTTP lub usuń ograniczenie.
W przypadku Nginx znajdź blok limit_except w bloku server dla swojej witryny i dodaj brakujące metody albo usuń ten blok, jeśli Twoja konfiguracja go nie wymaga.
Po edycji konfiguracji przeładuj serwer:
# Apache
sudo systemctl reload apache2
# Nginx
sudo systemctl reload nginx
Na hostingu współdzielonym nie możesz bezpośrednio edytować globalnej konfiguracji serwera. Skontaktuj się z pomocą techniczną swojego hostingu i opisz zablokowane metody HTTP oraz konkretną ścieżkę URL zwracającą błąd 405.
Ograniczenia Metod REST API WordPress
WordPress używa REST API do zapisów w Gutenbergu, operacji synchronizacji wtyczek oraz poleceń WP-CLI. Jeśli REST API jest wyłączone albo hak wtyczki lub motywu odrzuca określone metody HTTP, zobaczysz błędy 405 na ścieżkach zaczynających się od /wp-json/.
W naszych testach błędy metod REST API w edytorze bloków są najczęściej spowodowane połączeniem filtra uwierzytelniania REST w wtyczce lub motywie oraz listy dozwolonych metod wtyczki zabezpieczającej. Włączenie trybu debugowania pokazuje, który komponent odrzuca żądanie.
Naprawa: Włącz tryb debugowania WordPress, aby prześledzić błąd
Otwórz plik wp-config.php, zmień define('WP_DEBUG', false) na define('WP_DEBUG', true) i dodaj również define('WP_DEBUG_LOG', true), aby zapisywać błędy do wp-content/debug.log. Zapisz plik.

Odtwórz błąd 405, a następnie otwórz wp-content/debug.log i poszukaj błędów uwierzytelniania REST API lub konfliktów filtrów. Gdy znajdziesz odpowiedzialny hak lub wtyczkę, zaktualizuj jej ustawienia albo skontaktuj się z autorem wtyczki.
Po zakończeniu rozwiązywania problemu przywróć WP_DEBUG do wartości false.
Instrukcje konfiguracji znajdziesz w artykule jak aktywować dziennik debugowania WordPress.
Wtyczka Formularza Kontaktowego Wysyłająca Niewłaściwą Metodę HTTP
Niektóre wtyczki formularzy kontaktowych i kasy wysyłają dane za pomocą żądania GET do punktu końcowego, który akceptuje tylko POST, albo używają niestandardowej metody, której serwer nie akceptuje. Powoduje to błąd 405 na stronie widocznej dla użytkowników, a nie w panelu administracyjnym.
Na podstawie zgłoszeń do wsparcia WP STAGING ten wzorzec pojawia się, gdy aktualizacja wtyczki zmienia adres URL punktu końcowego wysyłania bez aktualizacji atrybutu metody formularza. Wtyczka zaczyna wysyłać żądania do nowego punktu końcowego przy użyciu starej metody, a serwer zwraca błąd 405.
Diagnoza: Otwórz DevTools przeglądarki (F12), przejdź do karty Sieć (Network) i wyślij formularz. Znajdź żądanie zwracające błąd 405. Sprawdź kolumnę Metoda: jeśli pokazuje GET dla formularza, który powinien używać POST, lub jakąkolwiek inną nieoczekiwaną metodę, wtyczka jest źle skonfigurowana.
Naprawa: Najpierw zaktualizuj wtyczkę do najnowszej wersji. Jeśli błąd nadal występuje, sprawdź w ustawieniach wtyczki opcję metody formularza lub adresu URL wysyłania i upewnij się, że odpowiada temu, co akceptuje serwer. Jeśli wtyczka nie ma takiego ustawienia, skontaktuj się z autorem wtyczki, podając metodę żądania i adres URL z karty Sieć (Network).
Ogólne Rozwiązywanie Problemów
Jeśli żadna z powyższych napraw dostosowanych do konkretnej przyczyny nie rozwiązała błędu, wykonaj kolejno poniższe kroki.
Ponownie Załaduj Stronę
Przejściowa usterka serwera lub przestarzała pamięć podręczna przeglądarki może wywołać jednorazowy błąd 405. Wykonaj twarde odświeżenie za pomocą Ctrl + Shift + R w systemie Windows lub Command + Shift + R w macOS, aby wymusić nowe żądanie.
Sprawdź Błędy w URL
Dokładnie sprawdź URL pod kątem literówek, dodatkowych ukośników lub źle umieszczonych znaków. Nieprawidłowo sformułowany URL może kierować do punktu końcowego, który nie akceptuje wysłanej przez Ciebie metody.
Cofnij Wszelkie Ostatnie Zmiany
Jeśli błąd 405 pojawił się po aktualizacji wtyczki, motywu lub rdzenia WordPress, cofnij tę zmianę. W przypadku wtyczek WP Rollback może przywrócić poprzednią wersję. Testuj witrynę po każdym przywróceniu, aby potwierdzić, która aktualizacja wprowadziła błąd.
Sprawdź Ostatnie Modyfikacje Bazy Danych
Wtyczka lub motyw zapisujący dane w bazie danych może czasami zakłócać routing żądań. Aby sprawdzić nieoczekiwane zmiany:
- Zaloguj się do cPanel i otwórz phpMyAdmin.

- Wybierz bazę danych powiązaną z Twoją instalacją WordPress z lewego paska bocznego.

Poszukaj osieroconych tabel po niedawno odinstalowanych wtyczkach w wp_options i wp_usermeta. Usuń wszelkie pozostałe wiersze i sprawdź, czy błąd 405 zniknął.
Przełącz na Motyw Domyślny
Motyw, który nieprawidłowo rejestruje trasę REST API, może wywołać błąd 405 na tych ścieżkach. Przełączenie na dołączony motyw domyślny to wyklucza.
Przejdź do Wygląd > Motywy w panelu i aktywuj domyślny motyw WordPress.

Jeśli błąd 405 zniknie po aktywowaniu motywu domyślnego, problem leży w Twoim oryginalnym motywie. Przejrzyj wszelkie niestandardowe wywołania register_rest_route w pliku functions.php motywu albo skontaktuj się z autorem motywu.
Co Zrobić, Jeśli Naprawa Nie Działa
Jeśli błąd 405 utrzymuje się po przejściu przez wszystkie powyższe sekcje, sieć CDN lub reverse proxy znajdujące się między przeglądarką odwiedzającego a Twoim serwerem może usuwać lub przepisywać metodę HTTP, zanim żądanie dotrze do WordPressa.
Sprawdź warstwę CDN lub WAF. Panel sterowania Twojego hostingu lub pulpit dostawcy DNS zwykle pokazuje, czy sieć CDN lub Web Application Firewall jest aktywny. Jeśli tak, sprawdź jego reguły zapory pod kątem list dozwolonych metod HTTP. Usługi CDN często mają reguły zezwalające tylko na GET i POST, które zwrócą błąd 405 dla PUT, DELETE lub PATCH, zanim żądanie dotrze do WordPressa.
Przejrzyj ustawienia load balancera. Jeśli Twoja witryna działa za load balancerem, sprawdź, czy konfiguracja listenera lub backendu nie odrzuca niestandardowych metod HTTP.
Tymczasowo omiń proxy, aby wyizolować źródło. Jeśli możesz skierować testowe żądanie bezpośrednio do serwera źródłowego i błąd 405 zniknie, proxy filtruje metodę. Współpracuj z dostawcą CDN lub administratorem systemu, aby dostosować listę dozwolonych metod.
Podsumowanie
Błąd 405 Method Not Allowed w WordPressie ma niewielki zestaw pierwotnych przyczyn: dyrektywę LimitExcept w pliku .htaccess, wtyczkę zabezpieczającą blokującą metody REST API, regułę konfiguracji na poziomie serwera, wtyczkę wysyłającą niewłaściwą metodę HTTP lub sieć CDN filtrującą żądania po stronie serwera. Przejście przez każdą przyczynę po kolei, zaczynając od zresetowania pliku .htaccess, rozwiązuje problem w większości przypadków.
Jeśli musisz cofnąć się po nieudanej zmianie, przewodnik tworzenia i przywracania kopii zapasowych WP Staging prowadzi przez odzyskiwanie w kilku kliknięciach.
Powiązane Artykuły
- Jak naprawić błąd 429 Too Many Requests w WordPress?
- Jak naprawić błąd HTTP podczas przesyłania obrazu w WordPress
- Jak naprawić błąd „Sorry, You Are Not Allowed to Access This Page" w WordPress?
- Jak naprawić problemy z odświeżaniem i przekierowywaniem strony logowania WordPress?
- Zmniejsz liczbę żądań HTTP dla witryny WordPress