Jeżeli kiedykolwiek zdarzyło Ci się zaktualizować WordPressa i zamiast działającej strony zobaczyłeś biały ekran z jednym zdaniem „Briefly unavailable for scheduled maintenance. Check back in a minute”, to wiesz jak wygląda pułapka trybu serwisowego. Komunikat obiecuje, że wystarczy poczekać minutę — a mija godzina, dwie, cały dzień, i nic się nie zmienia.
Dobra wiadomość: to jeden z najprostszych błędów WordPressa do naprawienia. Cała operacja zajmuje mniej niż minutę i sprowadza się do usunięcia jednego pliku. Zła wiadomość: jeśli nie wiesz, gdzie tego pliku szukać, możesz zmarnować godzinę na czytanie forów i klikanie w panelu, którego i tak nie otworzysz. Ten poradnik rozwiązuje problem w pięciu krokach.
Spis treści
ToggleCo oznacza komunikat „Maintenance mode”?
Kiedy WordPress aktualizuje siebie, wtyczkę lub motyw, przez kilka sekund musi mieć pewność, że nikt inny nie korzysta ze strony. W przeciwnym razie odwiedzający mógłby zobaczyć stronę w nienaturalnym stanie (pół starego, pół nowego kodu). Żeby temu zapobiec, WordPress tworzy w katalogu głównym plik o nazwie .maintenance — i tak długo, jak ten plik istnieje, każde żądanie do strony jest przechwytywane i zwraca komunikat o trybie serwisowym.
W normalnym scenariuszu wygląda to tak: WordPress tworzy plik .maintenance, pobiera nową wersję, rozpakowuje, podmienia pliki, usuwa plik .maintenance. Wszystko w ciągu 10–30 sekund. Problem zaczyna się wtedy, gdy aktualizacja zostaje przerwana — bo wygasła sesja PHP, bo hosting przerwał długi proces, bo internet się rozłączył w trakcie pobierania, albo bo wtyczka była niekompatybilna z nowszym core’em i spowodowała fatal error. Wtedy WordPress nigdy nie dochodzi do punktu, w którym usuwa plik .maintenance, i strona utknąć w nieskończonym trybie serwisowym.
Jak to naprawić — szybka wersja
Cała operacja to trzy kroki:
- Zaloguj się przez FTP lub menedżer plików w panelu hostingu.
- Wejdź do katalogu głównego WordPressa (tam, gdzie jest
wp-config.php). - Usuń plik
.maintenance(kropka na początku jest ważna).
Odśwież stronę — komunikat powinien zniknąć natychmiast. Jeżeli masz przed sobą działającą stronę, skończone.
Krok po kroku — dla mniej doświadczonych
Krok 1. Zaloguj się przez FTP lub panel hostingu
Najprostsza droga to menedżer plików w panelu hostingu (DirectAdmin, cPanel, Plesk). Po zalogowaniu do panelu znajdź sekcję „File Manager” lub „Menedżer plików” i przejdź do katalogu, w którym stoi Twoja strona — zazwyczaj jest to public_html, www, domains/twojadomena.pl/public_html.
Jeżeli wolisz FTP, zaloguj się programem typu FileZilla lub WinSCP, używając danych z panelu hostingu. Potrzebujesz host, login i hasło FTP.
Krok 2. Włącz widoczność plików ukrytych
Plik .maintenance zaczyna się od kropki, co w systemie Linux oznacza „plik ukryty”. Większość menedżerów plików domyślnie ich nie pokazuje. W FileZilli wybierz menu „Serwer → Wymuś wyświetlanie ukrytych plików”. W menedżerach webowych znajdziesz zwykle opcję „Pokaż pliki ukryte” albo „Show hidden files” w ustawieniach widoku.
Krok 3. Znajdź plik .maintenance w katalogu głównym
Po włączeniu ukrytych plików zobaczysz pliki i katalogi zaczynające się od kropki: .htaccess, .user.ini — i interesujący nas .maintenance. Plik jest bardzo mały (zwykle kilkanaście bajtów) i zawiera po prostu timestamp rozpoczęcia aktualizacji.
Krok 4. Usuń plik
Kliknij prawym przyciskiem myszy na .maintenance i wybierz „Usuń” / „Delete”. Bez żadnego zmieniania nazwy, bez przenoszenia, bez edycji — po prostu usuń.
Krok 5. Odśwież stronę
Otwórz stronę w przeglądarce i wykonaj twarde odświeżenie (Ctrl+F5 na Windows, Cmd+Shift+R na Mac). Komunikat powinien natychmiast zniknąć. Sprawdź także twojadomena.pl/wp-admin — panel administracyjny powinien działać normalnie.
Co zrobić, jeśli błąd wraca?
Usunięcie pliku .maintenance rozwiązuje objaw, ale nie zawsze przyczynę. Jeżeli aktualizacja została przerwana w połowie, Twój WordPress może mieć niespójne pliki: część z nowej wersji, część ze starej. To prowadzi do kolejnych problemów: fatal errors, WSOD, brak ładowania panelu, błędy wtyczek.
Dokończ aktualizację ręcznie
Jeżeli po usunięciu .maintenance strona pokazuje inne błędy, najbezpieczniej jest dokończyć aktualizację ręcznie:
- Pobierz świeżą wersję WordPressa z
wordpress.org/download. - Rozpakuj archiwum lokalnie.
- Przez FTP usuń ze swojego serwera katalogi
wp-adminiwp-includes(nie ruszajwp-content— tam masz wtyczki i obrazki). - Wgraj na serwer nowe wersje tych katalogów z pobranego archiwum.
- Skopiuj też pliki z głównego katalogu (wszystko poza
wp-config.phpi.htaccess). - Wejdź na
twojadomena.pl/wp-admin— WordPress poprosi Cię o uruchomienie aktualizacji bazy danych. Kliknij i gotowe.
Sprawdź logi błędów
Jeżeli po ręcznej reinstalacji wciąż są problemy, włącz tryb debugowania. W wp-config.php dodaj:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
Od tej chwili wszystkie błędy trafiają do pliku wp-content/debug.log. Otwórz go i szukaj komunikatów „Fatal error” oraz informacji o wtyczkach, które je wywołują.
Wyłącz wszystkie wtyczki
Jeżeli nie możesz dostać się do panelu, wyłącz wtyczki przez FTP. Zmień nazwę folderu wp-content/plugins na plugins-off. Od tej chwili WordPress nie widzi żadnej wtyczki i ładuje się na gołym core. Jeżeli teraz strona działa — problem jest po stronie jednej z wtyczek. Przywróć nazwę folderu do plugins, a następnie zmieniaj nazwy poszczególnych podfolderów (np. akismet → akismet-off) pojedynczo, aż znajdziesz winowajcę.
Dlaczego aktualizacje WordPressa się przerywają?
Znając przyczynę, można problemowi zapobiec w przyszłości. Najczęstsze powody:
- Timeout PHP — serwer ma ustawiony limit czasu wykonywania skryptu (zwykle 30–60 sekund), a aktualizacja większej wtyczki może trwać dłużej. Rozwiązanie: zwiększ
max_execution_timedo 300 wphp.inilub.user.ini. - Mało pamięci PHP —
memory_limitustawiony na 64 MB może być za mały. Podnieś go do 256 MB wwp-config.php:define('WP_MEMORY_LIMIT', '256M'); - Słabe łącze — jeżeli masz wolny internet, duże aktualizacje (np. WooCommerce) mogą nie zdążyć się pobrać. Lepsze rozwiązanie: aktualizuj z WP-CLI przez SSH, które pobiera bezpośrednio na serwer.
- Niekompatybilne wtyczki — aktualizacja core może wykryć fatal error w którejś wtyczce i przerwać proces.
- Hosting zabija długie procesy — niektóre shared hostingi mają mechanizm zabijania skryptów trwających dłużej niż 120 sekund. W takim przypadku jedyną opcją jest aktualizacja ręczna przez FTP.
Jak zapobiec Maintenance mode w przyszłości?
Kilka zasad, które zmniejszą ryzyko utknięcia w trybie serwisowym:
- Zawsze rób backup przed aktualizacją — mały blog: pełny backup co tydzień. Sklep: backup codziennie.
- Aktualizuj wtyczki pojedynczo, nie wszystkie naraz — jeżeli któraś wywali błąd, od razu wiesz, która.
- Testuj aktualizacje na kopii staging — każdy porządny hosting daje możliwość utworzenia klonu strony jednym kliknięciem. Tam aktualizujesz, sprawdzasz, a dopiero potem produkcję.
- Aktualizuj w godzinach najmniejszego ruchu — 3:00 w nocy jest lepsze niż 12:00 w południe z setką użytkowników na stronie.
- Używaj WP-CLI przez SSH, jeśli masz taką możliwość — wiersz poleceń omija większość limitów przeglądarki i jest znacznie pewniejszy przy dużych aktualizacjach.
Najczęściej zadawane pytania
Dlaczego mój Maintenance mode trwa już kilka godzin?
Bo WordPress nie ma mechanizmu automatycznego wygaszania trybu serwisowego. Plik .maintenance leży tam, gdzie go zostawiła przerwana aktualizacja, i żadna inna funkcja go nie usunie. Musisz zrobić to ręcznie — jak opisałem wyżej.
Czy mogę zrobić reset przez panel hostingu?
Niektóre panele (np. cPanel w cyber_Folks, panel home.pl) mają opcję „Restart WordPress” lub „Wyczyść tryb serwisowy”, która robi dokładnie to samo co ręczne usuwanie pliku — po prostu klikasz jeden przycisk. Jeżeli Twój hosting taką opcję ma, używaj jej śmiało.
Czy Maintenance mode wpływa na SEO?
Krótkotrwały tryb serwisowy (do kilku minut) nie ma znaczenia. Ale jeżeli Twoja strona pokazuje ten komunikat przez wiele godzin i Googlebot wielokrotnie trafia na nią podczas prób indeksacji, Google potraktuje to jak błąd serwera 503 — co przy długotrwałej awarii może prowadzić do wypadania stron z indeksu. Dlatego rozwiązuj ten problem jak najszybciej.
Dlaczego WordPress nie ma zabezpieczenia przed takim scenariuszem?
Od wersji 5.8 wprowadzono mechanizm „fatal error protection” — jeżeli podczas aktualizacji wtyczki pojawi się fatal error, WordPress próbuje automatycznie ją dezaktywować i wysłać alert na email administratora. W praktyce ten mechanizm działa dla części scenariuszy, ale nie zawsze ratuje przed utknięciem w Maintenance mode. Dlatego reguły higieny (backupy, staging, aktualizacje pojedynczo) wciąż są podstawą.
Podsumowanie
„Briefly unavailable for scheduled maintenance” to jeden z tych błędów, które na pierwszy rzut oka wyglądają groźnie, a naprawienie zajmuje mniej czasu niż przeczytanie tego poradnika. Wystarczy wejść przez FTP do katalogu głównego WordPressa, usunąć plik .maintenance i odświeżyć stronę.
Jeżeli po usunięciu pliku pojawiają się kolejne błędy (fatal error, WSOD), znak, że aktualizacja została przerwana w niebezpiecznym momencie — wtedy dokończ ją ręcznie przez wgranie świeżych plików WordPressa z wordpress.org/download. A na przyszłość — backupy, staging i aktualizacje w godzinach małego ruchu to trzy nawyki, które oszczędzą Ci wielu nieprzyjemnych niespodzianek.

