Bez kategorii

Strona jest chwilowo niedostępna z powodu konserwacji” nie znika: ścieżka diagnostyczna

Strona jest chwilowo niedostępna z powodu konserwacji” nie znika: ścieżka diagnostyczna

Klikasz „Aktualizuj” przy wtyczkach, motywie albo samym WordPressie, coś się przycina, a po chwili zamiast strony widzisz jedno zdanie na białym tle. W polskiej wersji brzmi mniej więcej tak: „Strona jest chwilowo niedostępna z powodu zaplanowanych prac konserwacyjnych. Sprawdź ponownie za minutę.” W angielskiej: „Briefly unavailable for scheduled maintenance. Check back in a minute.”

Mija minuta, potem kwadrans, a komunikat dalej wisi. Do panelu też nie wejdziesz, bo wp-admin pokazuje to samo.

Dobra wiadomość jest taka, że to jedna z najłagodniejszych awarii WordPressa. Treści, zamówienia, klienci i ustawienia są nietknięte, a sama naprawa zwykle zajmuje dwie minuty. Gorsza wiadomość: czasem ten komunikat jest tylko objawem przerwanej aktualizacji i po jego usunięciu wychodzi na wierzch prawdziwy problem. Dlatego poniżej masz całą ścieżkę, a nie tylko „usuń plik i gotowe”.

Skąd się bierze ten komunikat

Przy każdej aktualizacji rdzenia, wtyczek lub motywów WordPress tworzy w katalogu głównym strony ukryty plik o nazwie .maintenance. W środku jest tylko znacznik czasu, czyli informacja, kiedy aktualizacja się zaczęła:

<?php $upgrading = 1790000000; ?>

Dopóki ten plik istnieje, każdy odwiedzający (łącznie z Tobą w panelu) dostaje komunikat o konserwacji, a serwer odpowiada kodem 503, czyli „usługa chwilowo niedostępna”. Chodzi o to, żeby nikt nie trafił na stronę w połowie podmieniania plików. Po zakończeniu aktualizacji WordPress sam usuwa plik i wszystko wraca do normy.

Problem pojawia się wtedy, gdy aktualizacja zostanie przerwana. Zamknięta karta przeglądarki, zerwane połączenie, serwer, który ubił proces PHP z powodu limitu czasu lub pamięci. WordPress nie dochodzi do momentu sprzątania i plik zostaje.

Jest jeszcze jeden szczegół, o którym mało kto pisze, a który bardzo pomaga w diagnozie: WordPress sam ignoruje plik .maintenance starszy niż 10 minut. Jeśli więc komunikat wisi godzinę albo cały dzień, to zwykle nie jest sam „zapomniany” plik. Coś go odtwarza albo coś serwuje starą wersję strony. Do tego wrócę w kroku 4.

Krok 1: upewnij się, że aktualizacja naprawdę się zawiesiła

Jeśli przed chwilą kliknąłeś „Aktualizuj wszystkie” przy kilkunastu wtyczkach, proces może po prostu nadal trwać. Na słabszym hostingu masowa aktualizacja potrafi zająć kilka minut.

  • Jeśli masz otwartą kartę z aktualizacją, nie zamykaj jej i nie odświeżaj.
  • Odczekaj 10 minut od rozpoczęcia aktualizacji.
  • Otwórz stronę w oknie prywatnym albo na telefonie przez dane komórkowe. To wyklucza sytuację, w której to Twoja przeglądarka pokazuje zapamiętaną wersję.

Jeśli po tym czasie komunikat nadal jest, przechodzimy do konkretów.

Krok 2: usuń plik .maintenance

Plik leży w katalogu głównym WordPressa, czyli tam, gdzie znajdziesz wp-config.php oraz foldery wp-admin, wp-content i wp-includes. Na większości hostingów jest to public_html albo podkatalog z nazwą domeny.

Nazwa zaczyna się od kropki, więc to plik ukryty. Jeśli go nie widzisz, to najpewniej dlatego, że Twój program lub panel ukrywa takie pliki, a nie dlatego, że go nie ma.

Sposób A: menedżer plików w panelu hostingu

Zaloguj się do panelu hostingu, otwórz menedżer plików i przejdź do katalogu strony. W ustawieniach menedżera włącz pokazywanie plików ukrytych (zwykle opcja „Pokaż ukryte pliki” albo „Show hidden files”). Zaznacz .maintenance i usuń.

Sposób B: FTP lub SFTP (np. FileZilla)

Połącz się z serwerem, a w FileZilli wybierz z menu Serwer › Wymuś pokazywanie ukrytych plików. Przejdź do katalogu głównego WordPressa, kliknij prawym przyciskiem na .maintenance i usuń.

Sposób C: SSH i WP-CLI

Jeśli masz dostęp do SSH, wejdź do katalogu strony i sprawdź status trybu konserwacji, a potem go wyłącz:

cd /sciezka/do/wordpressa
wp maintenance-mode status
wp maintenance-mode deactivate

Bez WP-CLI wystarczy zwykłe usunięcie pliku:

rm .maintenance

Uwaga na sąsiada. Obok .maintenance zwykle leży drugi ukryty plik: .htaccess. Jego nie ruszaj. Usunięcie .htaccess potrafi wyłączyć przyjazne adresy i przekierowania, a wtedy masz dwa problemy zamiast jednego.

Po usunięciu pliku odśwież stronę. W zdecydowanej większości przypadków komunikat znika od razu.

Krok 3: sprawdź, co zostało po przerwanej aktualizacji

Tu większość poradników się kończy, a moim zdaniem właśnie tu zaczyna się właściwa diagnoza. Plik .maintenance został, bo aktualizacja się nie dokończyła. Trzeba więc sprawdzić, na jakim etapie się zatrzymała.

Zaloguj się do panelu i zajrzyj do Kokpit › Aktualizacje oraz Wtyczki › Zainstalowane wtyczki. Możesz trafić na jeden z czterech scenariuszy.

Wszystko działa, a wtyczka dalej czeka na aktualizację

Najlepszy wariant. Aktualizacja przerwała się, zanim cokolwiek podmieniła. Zrób kopię zapasową i zaktualizuj tę wtyczkę jeszcze raz, tym razem pojedynczo.

Wtyczka zniknęła z listy albo została wyłączona

Aktualizacja zatrzymała się między usunięciem starej wersji a wgraniem nowej. Folder wtyczki w wp-content/plugins jest pusty, niekompletny albo go nie ma, a WordPress wyłączył wtyczkę z komunikatem o brakującym pliku.

Rozwiązanie: pobierz aktualną wersję wtyczki z wordpress.org (a w przypadku płatnych z konta u producenta) i wgraj ją przez Wtyczki › Dodaj nową › Wyślij wtyczkę na serwer albo przez FTP do wp-content/plugins. Ustawienia wtyczki są zapisane w bazie danych, więc po ponownej instalacji i aktywacji zwykle wszystko wraca na swoje miejsce.

Od wersji 6.3 WordPress przed aktualizacją wtyczki lub motywu robi tymczasową kopię starej wersji w katalogu wp-content/upgrade-temp-backup i przy nieudanej aktualizacji próbuje ją przywrócić. Dzięki temu ten scenariusz zdarza się rzadziej niż kiedyś, ale nadal się zdarza, szczególnie gdy serwer brutalnie przerwie proces.

Biała strona albo „Na tej stronie wystąpił błąd krytyczny”

Komunikat o konserwacji zniknął, ale w jego miejsce pojawiła się pusta strona lub błąd krytyczny. To znak, że na serwerze została niekompletna wersja wtyczki albo motywu, która wywala PHP. Tu już pomogą osobne ścieżki diagnostyczne:

Przerwana aktualizacja samego WordPressa

To najbardziej podstępny wariant. Strona może działać „prawie normalnie”, ale w panelu pojawiają się dziwne błędy, brakuje niektórych funkcji albo edytor przestaje zapisywać. Część plików rdzenia jest już w nowej wersji, a część jeszcze w starej.

Jeśli panel działa, wejdź w Kokpit › Aktualizacje i użyj przycisku ponownej instalacji bieżącej wersji WordPressa. To podmieni pliki rdzenia na komplet, bez ruszania treści, wtyczek i motywów.

Jeśli panel nie działa, można to zrobić ręcznie:

  1. Zrób kopię zapasową plików i bazy danych.
  2. Pobierz z pl.wordpress.org tę samą wersję, do której była robiona aktualizacja, i rozpakuj ją u siebie na komputerze.
  3. Wgraj na serwer foldery wp-admin i wp-includes, nadpisując istniejące.
  4. Wgraj pliki z katalogu głównego paczki, z wyjątkiem wp-config-sample.php. Nie nadpisuj swojego wp-config.php.
  5. Nie wgrywaj folderu wp-content. Tam są Twoje wtyczki, motywy i zdjęcia.
  6. Wejdź do panelu. Jeśli WordPress poprosi o aktualizację bazy danych, zatwierdź.

Przy okazji zajrzyj do katalogu wp-content/upgrade. Jeśli zalegają tam foldery po przerwanych aktualizacjach, możesz je usunąć. To pliki tymczasowe.

Krok 4: pliku .maintenance nie ma, a komunikat dalej jest

Pamiętasz o regule 10 minut? Jeśli komunikat trzyma się długo, a pliku nie widać albo wraca po usunięciu, szukaj jednej z poniższych przyczyn.

Cache pokazuje zapamiętaną wersję strony

Wtyczka cache (WP Rocket, LiteSpeed Cache, W3 Total Cache i podobne), cache po stronie serwera albo Cloudflare mogły zapamiętać stronę akurat w momencie konserwacji. Szybki test: dopisz do adresu coś w rodzaju ?test=123 i sprawdź, czy strona się pokazuje. Jeśli tak, wyczyść cache:

  • we wtyczce cache, a jeśli nie masz dostępu do panelu, usuń zawartość folderu wp-content/cache,
  • w panelu hostingu, jeśli serwer ma własny cache,
  • w Cloudflare przez opcję czyszczenia całej pamięci podręcznej (Purge Everything).

Plik wraca, bo aktualizacja automatyczna ciągle się ponawia

Automatyczne aktualizacje uruchamia WP-Cron, a ten odpala się przy wizytach na stronie. Jeśli aktualizacja za każdym razem się wysypuje, WordPress co chwilę tworzy nowy plik .maintenance ze świeżym znacznikiem czasu. Z zewnątrz wygląda to tak, jakby komunikat „wisiał” bez końca.

Najczęstsze powody, dla których aktualizacja nie może się dokończyć:

  • brak miejsca na dysku, bardzo często przez stare kopie zapasowe trzymane na tym samym koncie hostingowym,
  • za mały limit pamięci PHP, o czym więcej piszę we wpisie Allowed memory size exhausted: jak zwiększyć limit pamięci PHP,
  • zbyt krótki limit czasu wykonywania skryptu (max_execution_time),
  • błędne uprawnienia plików, przez które WordPress nie może nadpisać starej wersji.

Na czas diagnozy możesz wstrzymać automatyczne aktualizacje, dopisując do wp-config.php linijkę poniżej (nad komentarzem „To wszystko, zakończ edycję”):

define( 'AUTOMATIC_UPDATER_DISABLED', true );

Potem usuń .maintenance, sprawdź log błędów w panelu hostingu i usuń przyczynę. Gdy wszystko działa, pamiętaj, żeby tę linijkę skasować. Wyłączone na stałe aktualizacje to prosta droga do zainfekowanej strony.

To nie jest komunikat WordPressa, tylko wtyczki albo hostingu

Przyjrzyj się, jak wygląda ekran. Standardowy komunikat WordPressa to jedno zdanie na białym tle. Jeśli widzisz logo, kolory, licznik czasu albo formularz zapisu, to prawdopodobnie jedno z poniższych:

  • wtyczka trybu konserwacji lub „wkrótce otwarcie” (np. WP Maintenance Mode, SeedProd i podobne), którą ktoś włączył i zapomniał wyłączyć. Wyłącz ją w ustawieniach albo zmień nazwę jej folderu w wp-content/plugins,
  • plik wp-content/maintenance.php, który zmienia wygląd standardowego komunikatu. Sam w sobie nie włącza konserwacji, ale jeśli go widzisz, to mechanizm jest ten sam i dalej obowiązuje krok 2,
  • blokada po stronie hostingu, np. prace serwisowe na serwerze, zawieszone konto albo nieopłacona usługa. Sprawdź panel klienta i skrzynkę mailową.

Jeśli plik .maintenance pojawia się regularnie, choć nikt niczego nie aktualizuje, a automatyczne aktualizacje są wyłączone, warto sprawdzić, czy ktoś obcy nie ma dostępu do plików. W takiej sytuacji zajrzyj do wpisu Jak odwirusować stronę internetową na WordPressie.

Krok 5: aktualizacja nie chce ruszyć, bo „trwa już inna aktualizacja”

Po usunięciu pliku próbujesz ponownie zaktualizować WordPressa i dostajesz komunikat, że trwa już inna aktualizacja (Another update is currently in progress). To osobna blokada: WordPress zapisuje w bazie danych wpis core_updater.lock, żeby dwie aktualizacje rdzenia nie wystartowały jednocześnie.

Blokada sama wygasa po około 15 minutach, więc najprościej po prostu odczekać. Jeśli nie znika, możesz ją usunąć w phpMyAdmin, uruchamiając zapytanie:

DELETE FROM wp_options WHERE option_name = 'core_updater.lock';

Jeśli Twoje tabele mają inny prefiks niż wp_ (sprawdzisz go w wp-config.php w zmiennej $table_prefix), podmień go w zapytaniu. Przed jakąkolwiek zmianą w bazie zrób jej kopię.

Dlaczego aktualizacja się zawiesza

Z tego, co widzę przy naprawach, najczęściej winna jest jedna z tych rzeczy:

  • zamknięcie karty przeglądarki albo utrata połączenia w trakcie aktualizacji,
  • aktualizacja kilkunastu wtyczek naraz na hostingu z niskimi limitami,
  • limit czasu lub pamięci PHP, który przerywa proces w połowie,
  • zapchany dysk na koncie hostingowym,
  • nocne aktualizacje automatyczne na niestabilnym serwerze, o których nikt nie wie, dopóki klient nie zadzwoni rano, że strona nie działa.

Jak nie wpaść w to ponownie

  • Kopia zapasowa przed każdą większą aktualizacją. Plików i bazy danych, nie tylko jednego z nich.
  • Aktualizuj po kilka wtyczek, a nie wszystkie naraz. Wtedy wiesz też od razu, która narobiła szkód.
  • Kluczowe elementy osobno. WooCommerce, page builder i motyw aktualizuj pojedynczo, a przy większych skokach wersji najpierw na kopii testowej (stagingu).
  • Nie zamykaj karty, dopóki WordPress nie pokaże, że skończył.
  • Pilnuj miejsca na dysku i nie trzymaj archiwum kopii zapasowych na tym samym koncie co strona.
  • W sklepie aktualizuj poza godzinami największego ruchu. Każda minuta z kodem 503 to minuta, w której nikt nie złoży zamówienia.

Najczęstsze pytania

Czy stracę dane, jeśli usunę plik .maintenance?

Nie. Ten plik zawiera wyłącznie znacznik czasu. Wpisy, strony, produkty, zamówienia i ustawienia są w bazie danych, której usunięcie pliku w ogóle nie dotyka.

Czy mogę usunąć plik, gdy aktualizacja jeszcze trwa?

Lepiej nie. Odwiedzający mogą wtedy trafić na stronę w trakcie podmieniania plików i zobaczyć błędy. Odczekaj 10 minut, a jeśli proces nadal się nie kończy, dopiero wtedy działaj.

Czy komunikat o konserwacji szkodzi pozycjom w Google?

Krótko trwający kod 503 nie szkodzi, bo Google traktuje go jako sygnał chwilowej niedostępności i wraca później. Problem zaczyna się, gdy strona zwraca 503 przez wiele godzin albo dni. Wtedy roboty mogą zacząć ograniczać odwiedziny, a w skrajnym przypadku strony zaczną wypadać z indeksu.

Nie widzę pliku .maintenance na serwerze. Co teraz?

Najpierw włącz pokazywanie plików ukrytych w menedżerze plików lub kliencie FTP i upewnij się, że patrzysz w katalog, w którym leży wp-config.php. Jeśli pliku naprawdę nie ma, wróć do kroku 4: najpewniej winny jest cache, wtyczka trybu konserwacji albo blokada po stronie hostingu.

Komunikat zniknął, ale strona dalej nie działa?

Usunięcie pliku .maintenance to w większości przypadków całe rozwiązanie. Jeśli jednak po nim pojawiła się biała strona, błąd krytyczny, rozjechany sklep albo wtyczki, które nie chcą się zaktualizować, a nie masz ochoty grzebać w plikach strony, która właśnie powinna zarabiać, napisz do mnie. Zajmuję się diagnozą i naprawą awarii WordPressa i WooCommerce. Pracuję sam, więc rozmawiasz bezpośrednio z osobą, która będzie naprawiać Twoją stronę, a nie z działem obsługi klienta.

Nie chcesz robić tego samodzielnie?

Zajmę się tym za Ciebie. Napisz krótko, co się dzieje - odpowiem tego samego dnia roboczego.

Napisz do mnie
Bartosz
Bartosz Web Developer & Freelancer · Cyberiusz.pl
30 września 2026
Sklepy internetowe to moja codzienność - tworzę je, opiekuję się nimi i pomagam właścicielom przyciągać klientów. Działam w sieci od ponad 10 lat.
Sklepy internetowe Marketing online Web development