Skip to content

Wszystko o WordPressie, tworzeniu stron — i nie tylko

🚫 Nie możesz zalogować się do panelu administracyjnego WordPress? 6 sposobów na odzyskanie dostępu

🚫 Nie możesz zalogować się do panelu administracyjnego WordPress? 6 sposobów na odzyskanie dostępu

Wczoraj strona działała. Dziś, biały ekran po wpisaniu loginu i hasła. Albo strona logowania po prostu się odświeża, nie wpuszczając dalej. Znajoma sytuacja dla każdego, kto zarządza stroną na WordPress.

Przyczyn blokady panelu administracyjnego są dziesiątki: konflikt wtyczek po aktualizacji, uszkodzony plik .htaccess, zepsuty wp-login.php, nieprawidłowe hasło lub pętla cache przeglądarki. Dobra wiadomość: w większości przypadków dostęp wraca w 5-10 minut bez programisty.

Poniżej sześć sposobów, od najprostszego do bardziej technicznego. Wystarczy przejść je po kolei.

💡 Szybki przegląd:

  • Wyczyść cache i cookies przeglądarki, w jednej trzeciej przypadków problem leży tylko po tej stronie
  • Zmień hasło administratora przez phpMyAdmin w panelu hostingu
  • Wyłącz wtyczki przez FTP, zmieniając nazwę folderu plugins
  • Wyłącz motyw przez FTP, aby WordPress aktywował domyślny
  • Wgraj ponownie świeży plik wp-login.php z oficjalnego archiwum WordPress
  • Usuń i utwórz ponownie .htaccess przez ustawienia bezpośrednich odnośników

Dlaczego strona logowania przestaje działać

Panel administracyjny WordPress nie psuje się sam z siebie. Niemal zawsze przyczyną jest niedawna zmiana. Zaktualizowali Państwo wtyczkę, a ona przestała współpracować z wersją PHP na serwerze. Zmienili motyw na taki, który koliduje z zainstalowaną wtyczką cache. Przenieśli stronę i nie poprawili URL w bazie danych. Albo plik .htaccess okazał się uszkodzony po edycji reguł przekierowań.

Rzadziej problem leży w przeglądarce: nieaktualny cache lub cookies uniemożliwiają WordPressowi weryfikację sesji użytkownika. A czasem hosting włącza moduł bezpieczeństwa, taki jak ModSecurity, który blokuje żądanie POST do wp-login.php.

Sześć poniższych kroków pokrywa wszystkie wymienione scenariusze. Proszę postępować sekwencyjnie: każdy kolejny krok jest nieco trudniejszy od poprzedniego, ale żaden nie wymaga edycji kodu.

1. Wyczyść cache i cookies przeglądarki

Najczęstszym winowajcą jest przeglądarka. Podczas logowania do panelu WordPress tworzy sesyjne cookie i jeśli jest ono uszkodzone lub nieaktualne, strona logowania wpada w pętlę: wpisali Państwo hasło, strona się odświeżyła, znowu formularz logowania.

Rozwiązanie: usunąć cache i cookies za cały okres i ponownie uruchomić przeglądarkę. W Chrome robi się to tak:

  • Proszę kliknąć trzy kropki w prawym górnym rogu okna.
Menu Chrome z trzema kropkami w prawym górnym rogu
  • Wybrać „Historia", a następnie ponownie „Historia".
Opcja Historia w rozwijanym menu przeglądarki Chrome
  • W oknie kliknąć „Wyczyść dane przeglądania".
Okno czyszczenia danych przeglądania w przeglądarce Chrome
  • Zaznaczyć zarówno „Pliki cookie", jak i „Obrazy i pliki zapisane w pamięci podręcznej".
  • Dla zakresu czasu wybrać „Od początku".
  • Kliknąć „Wyczyść dane", następnie zamknąć i ponownie otworzyć przeglądarkę.

Po tym proszę spróbować zalogować się do panelu. Jeśli nie pomogło, idziemy dalej.

2. Zmień hasło administratora przez phpMyAdmin

Jeśli hasło zostało zapomniane, a link „Nie pamiętam hasła" na stronie logowania nie pomaga (adres e-mail administratora jest niedostępny lub SMTP nie jest skonfigurowane), pozostaje bezpośrednia ścieżka: zmiana hasła przez bazę danych.

W tym celu proszę zalogować się do panelu sterowania hostingiem (cPanel, ISPmanager lub podobny) i znaleźć phpMyAdmin w sekcji baz danych. Dalej, instrukcja krok po kroku dotycząca zmiany hasła przez phpMyAdmin. W skrócie:

  • Proszę otworzyć phpMyAdmin i na karcie „Bazy danych" wybrać bazę swojej strony.
Lista baz danych w phpMyAdmin z zaznaczoną bazą WordPress
  • Znaleźć tabelę wp_users (prefiks może się różnić, jeśli był zmieniany podczas instalacji).
  • Kliknąć „Edytuj" przy wierszu z Państwa administratorem.
Edycja pola user_pass w tabeli wp_users w phpMyAdmin
  • W polu user_pass wpisać nowe hasło.
  • Dla kolumny „Funkcja" wybrać MD5.
  • Kliknąć „Wykonaj", aby zapisać.

Proszę zwrócić uwagę: WordPress używa własnego systemu haszowania haseł. MD5 przez phpMyAdmin to rozwiązanie tymczasowe. Przy pierwszym udanym logowaniu WordPress automatycznie przekonwertuje hasło na nowoczesny hasz. Wystarczy zalogować się nowym hasłem, a system sam wszystko zaktualizuje.

3. Wyłącz wtyczki przez FTP

Czasami konflikt wtyczek blokuje nie tylko panel administracyjny, ale i całą stronę. A skoro panel jest niedostępny, nie można wyłączyć wtyczek standardową metodą. Rozwiązanie: zalogować się na serwer przez FTP i zmienić nazwę folderu z wtyczkami.

Proszę połączyć się z hostingiem przez dowolnego klienta FTP (FileZilla, WinSCP) lub menedżera plików w panelu hostingu. Znaleźć folder główny strony i przejść do wp-content.

Folder plugins w katalogu wp-content przy połączeniu FTP z serwerem

Proszę zmienić nazwę folderu plugins na plugins_old. WordPress natychmiast wyłączy wszystkie wtyczki, ponieważ przestanie je znajdować w oczekiwanej ścieżce.

Teraz proszę spróbować zalogować się do panelu. Udało się? Świetnie, oznacza to, że jedna z wtyczek była przyczyną. Proszę przywracać je pojedynczo: zmienić nazwę folderu z powrotem na plugins, zalogować się do panelu (wtyczki są na razie dezaktywowane) i włączać je po kolei, sprawdzając po każdej logowanie z nowego prywatnego okna przeglądarki. Winowajca szybko się ujawni.

4. Wyłącz motyw przez FTP

Ta sama logika, co przy wtyczkach, ale dla motywu. Niekompatybilność motywu z bieżącą wersją WordPress lub PHP to nierzadka sytuacja po automatycznej aktualizacji.

Proszę ponownie zalogować się przez FTP do folderu wp-content/themes. Znaleźć folder aktywnego motywu i zmienić jego nazwę, dodając sufiks _off.

Folder themes w katalogu wp-content z aktywnym motywem WordPress

WordPress wykryje, że aktywny motyw zniknął, i automatycznie przełączy się na domyślny (Twenty Twenty-Five lub analogiczny, w zależności od wersji). Po tym panel administracyjny powinien się otworzyć.

Jeśli panel zadziałał, problem leży w motywie. Proszę wejść w sekcję „Wygląd → Motywy", zaktualizować problematyczny motyw do najnowszej wersji i dopiero wtedy aktywować go ponownie. Jeśli motyw od dawna nie był aktualizowany przez twórcę, być może nadszedł czas, aby go wymienić.

5. Proszę ponownie wgrać plik wp-login.php

Plik wp-login.php to punkt wejścia do panelu administracyjnego. Jeśli został uszkodzony, usunięty lub zmodyfikowany przez złośliwy kod, strona logowania po prostu się nie otworzy.

Oficjalna strona pobierania WordPress z plikiem wp-login.php

Właściwym sposobem na przywrócenie go nie jest ręczna edycja pliku, lecz pobranie świeżej kopii z oficjalnego archiwum WordPress:

  • Proszę pobrać najnowszą wersję WordPress z wordpress.org/download.
  • Rozpakować archiwum i znaleźć w nim plik wp-login.php.
  • Połączyć się z hostingiem przez FTP i wgrać świeży plik wp-login.php do głównego katalogu witryny, zastępując istniejący.

Przed zastąpieniem proszę zachować stary plik lokalnie na wszelki wypadek, wystarczy zmienić jego nazwę na serwerze na wp-login.php.bak i wgrać nowy. Po podmianie proszę spróbować się zalogować. Świeży plik gwarantuje brak błędów i jest kompatybilny z zainstalowaną wersją WordPress, pod warunkiem że pobrano archiwum tej samej wersji głównej.

6. Proszę ponownie utworzyć plik.htaccess

Jeden niepoprawny wiersz w .htaccess może położyć cały panel administracyjny. Zdarza się to szczególnie często po eksperymentach z przekierowaniami lub instalacji wtyczek bezpieczeństwa, które zapisują swoje reguły w tym pliku.

Dokumentacja WordPress dotycząca konfiguracji pliku htaccess i bezpośrednich odnośników

Rozwiązaniem jest usunięcie .htaccess i pozwolenie WordPressowi na utworzenie go od nowa:

  • Proszę połączyć się z hostingiem przez FTP i znaleźć .htaccess w katalogu głównym witryny.
  • Pobrać go lokalnie (kopia zapasowa!) i usunąć z serwera.
  • Spróbować zalogować się do panelu administracyjnego. Jeśli logowanie działa, problem leżał właśnie w .htaccess.
  • W panelu administracyjnym proszę przejść do **Ustawienia → **Bezpośrednie odnośniki i po prostu kliknąć „Zapisz zmiany", nie zmieniając struktury odnośników.

WordPress wygeneruje nowy, czysty .htaccess z podstawowymi regułami dla wybranej struktury bezpośrednich odnośników. Wszystkie zbędne linie, które mogły blokować logowanie, znikną.

⁉️🤔 Najczęściej zadawane pytania

Po zmianie hasła przez phpMyAdmin nadal nie mogę się zalogować. O co chodzi?

Najprawdopodobniej nie wybrali Państwo funkcji MD5 dla pola user_pass przed zapisaniem. Bez tego phpMyAdmin zapisuje hasło jawnym tekstem i WordPress nie może go zweryfikować. Proszę powtórzyć krok: otworzyć ten sam wiersz w wp_users, wpisać hasło ponownie i koniecznie wybrać MD5 z rozwijanej listy „Funkcja". Proszę również sprawdzić, czy edytują Państwo dokładnie ten wiersz, który odpowiada Państwa użytkownikowi. W tabeli wp_users bywa kilka rekordów, proszę szukać swojego po polu user_login lub user_email.

Co zrobić, jeśli żaden z sześciu sposobów nie zadziałał?

Proszę włączyć tryb debugowania WordPressa. Proszę dodać w wp-config.php linie:

1define('WP_DEBUG', true);
2define('WP_DEBUG_LOG', true);
3define('WP_DEBUG_DISPLAY', false);

Następnie proszę spróbować wejść do panelu administracyjnego i sprawdzić plik wp-content/debug.log. Nawet jeśli strona logowania się nie otwiera, WordPress zapisze przyczynę błędu w logu. Najczęściej na tym etapie wychodzi albo błąd krytyczny w motywie/wtyczce, albo problem z wersją PHP na hostingu.

Czy można odzyskać dostęp do panelu administracyjnego bez FTP i phpMyAdmin?

Tak, przez WP-CLI, konsolowe narzędzie do zarządzania WordPressem. Polecenie wp user update USERNAME --user_pass=NEWPASS zmienia hasło bezpośrednio. Ale WP-CLI musi być zainstalowane na hostingu, co nie u wszystkich dostawców ma miejsce. Alternatywa, awaryjne wstawienie kodu resetującego hasło do functions.php aktywnego motywu:

1wp_set_password('новый_пароль', 1);

Ten kod ustawia hasło dla użytkownika z ID=1 (zazwyczaj jest to administrator). Po wstawieniu proszę otworzyć dowolną stronę witryny, hasło się zmieni, a kod należy natychmiast usunąć z functions.php.

Dlaczego po wyłączeniu wtyczek witryna wygląda na uszkodzoną?

To normalne. Część wtyczek odpowiada za układ stron i wygląd (konstruktory takie jak Elementor, wtyczki cache). Po zmianie nazwy katalogu plugins z powrotem i aktywacji wtyczek pojedynczo, wygląd powróci.

Proszę nie mylić uszkodzonego wyglądu frontendu z problemem logowania do panelu administracyjnego. Na tym etapie najważniejsze jest odzyskanie dostępu do kokpitu. Frontend naprawią Państwo później.

Czy muszę wzywać programistę, jeśli boję się coś zepsuć?

Wszystkie sześć kroków jest odwracalnych. Zmieniony katalog można przywrócić do pierwotnej nazwy, usunięty .htaccess odtworzyć z kopii, a świeży wp-login.php nie narusza treści ani ustawień witryny. Proszę trzymać się zasady: przed każdą czynnością robić kopię tego, co Państwo zmieniają. Z kopią zapasową przywrócenie poprzedniego stanu zajmuje sekundy.

Który sposób wypróbować jako pierwszy?

Jeśli właśnie napotkali Państwo blokadę panelu administracyjnego, proszę zacząć od wyczyszczenia pamięci podręcznej i plików cookies, w dobrej jednej trzeciej przypadków to wystarcza. Jeśli nie pomogło w ciągu dwóch minut, proszę postępować krok po kroku, od prostego do trudniejszego.

W sytuacjach, gdy hasło na pewno zostało utracone, a e-mail administratora jest niedostępny, proszę od razu przejść do kroku 2, phpMyAdmin daje dostęp do bazy bezpośrednio, niezależnie od stanu samego WordPressa. A jeśli panel administracyjny przestał działać zaraz po aktualizacji wtyczki lub motywu, kroki 3 i 4 rozwiążą problem najszybciej.

Najważniejsze to nie panikować. WordPress rzadko psuje się nieodwracalnie. Prawie zawsze jest to konflikt wersji, uszkodzony plik lub sesyjne cookie, coś, co naprawia się bez programisty.