Bahnhofstraße 22, 52134 Herzogenrath Poniedziałek - piątek: 8:00 - 16:30 kontakt@milnersoftware.de 0176 66798849

Aktualności · WordPress · · 5 min czytania

WordPress zawieszony w trybie konserwacji – jak to naprawić

Po aktualizacji strona pokazuje tylko komunikat o planowanych pracach konserwacyjnych? Wyjaśniam, jak usunąć plik .maintenance i sprawdzić, co zostawiła przerwana aktualizacja.

Arbeitsplatz eines Entwicklers mit Quellcode auf mehreren Bildschirmen

W skrócie: komunikat o planowanych pracach konserwacyjnych („Briefly unavailable for scheduled maintenance”, po niemiecku „Wegen planmäßiger Wartungsarbeiten kurzzeitig nicht verfügbar”) pochodzi z pliku .maintenance, który WordPress tworzy w katalogu głównym na czas aktualizacji. Jeśli aktualizacja zostanie przerwana, plik zostaje na serwerze. Wystarczy usunąć go przez FTP. Potem trzeba jeszcze sprawdzić, czy przerwana aktualizacja nie zostawiła wtyczki albo samego WordPressa zainstalowanych tylko w połowie. O tym kroku wiele osób zapomina.

Przed chwilą kliknęli Państwo „Aktualizuj”, a teraz strona pokazuje tylko jedno zdanie: strona jest chwilowo niedostępna z powodu prac konserwacyjnych, proszę sprawdzić ponownie za minutę. Minuta dawno minęła, a komunikat wciąż wisi. Spokojnie: treści strony nie zniknęły. Ten komunikat to tylko kartka na drzwiach.

Skąd bierze się komunikat

Podczas aktualizacji WordPress tworzy w katalogu głównym, czyli tam, gdzie leży wp-config.php, mały plik o nazwie .maintenance. Jest w nim tylko znacznik czasu:

<?php $upgrading = 1762768800; ?>

Dopóki plik istnieje, każdy odwiedzający zamiast strony widzi komunikat o konserwacji. To celowe działanie: w trakcie podmiany plików strona byłaby inaczej dostępna w stanie „w połowie”. Gdy aktualizacja przejdzie poprawnie, WordPress sam usuwa plik na końcu.

Jeśli aktualizacja zostanie przerwana, plik zostaje. Dzieje się tak na przykład, gdy zamkną Państwo kartę przeglądarki w trakcie aktualizacji, zerwie się połączenie z internetem albo serwer zatrzyma skrypt PHP z powodu limitu czasu lub pamięci. Szczególnie ryzykowna jest aktualizacja dwudziestu wtyczek naraz.

Krok 1: usunąć plik .maintenance

  1. Proszę połączyć się przez FTP, np. programem FileZilla, albo otworzyć menedżer plików w panelu hostingu.
  2. Proszę przejść do katalogu głównego WordPressa. Rozpoznają go Państwo po folderach wp-admin, wp-content i wp-includes.
  3. Proszę usunąć plik .maintenance.
  4. Proszę odświeżyć stronę, najlepiej w oknie prywatnym przeglądarki.

Jeśli pliku nie widać, prawie zawsze chodzi o ustawienia widoku: pliki zaczynające się od kropki są w wielu systemach ukryte. W FileZilli służy do tego opcja wymuszenia pokazywania ukrytych plików w menu „Serwer”, w większości menedżerów plików jest opcja „Pokaż ukryte pliki”.

Warto wiedzieć: sam WordPress po dziesięciu minutach uznaje konserwację za zakończoną, nawet jeśli plik nadal istnieje. Jeżeli komunikat wisi dłużej, to albo widzą Państwo wersję z pamięci podręcznej (cache, patrz niżej), albo komunikat generuje coś innego niż plik .maintenance.

Krok 2: sprawdzić, co zostawiła aktualizacja

Komunikat zniknął, ale to jeszcze nie koniec. Przerwana aktualizacja mogła nie podmienić wszystkich plików. Typowe skutki:

  • Zamiast komunikatu o konserwacji pojawia się teraz błąd krytyczny.
  • Wtyczka zniknęła z listy wtyczek, bo jej folder skopiował się tylko częściowo.
  • W panelu przy wtyczce widnieje stary numer wersji, choć rzekomo została zaktualizowana.
  • Pojedyncze funkcje, np. formularz albo koszyk, działają dziwnie.

Proszę przejrzeć listy w „Kokpit → Aktualizacje” i „Wtyczki”. Aktualizację dotkniętych wtyczek warto uruchomić ponownie, pojedynczo. Jeśli aktualizowany był sam WordPress, w „Kokpit → Aktualizacje” można ponownie zainstalować bieżącą wersję. Podmieniane są wtedy tylko pliki systemowe, treści i wtyczki zostają nietknięte.

Od WordPressa 6.3 stara wersja wtyczki trafia na czas aktualizacji do folderu wp-content/upgrade-temp-backup i jest przywracana, gdy aktualizacja się nie powiedzie. To pomaga, ale nie zastępuje prawdziwej kopii zapasowej. Jeśli w tym folderze i w wp-content/upgrade zostały stare resztki, a strona znów działa, można je usunąć.

Gdy komunikat nie znika

Cache

Wtyczka cache, CDN taki jak Cloudflare albo cache serwera u hostingodawcy mogły zapamiętać stronę konserwacji. Proszę wyczyścić cache we wtyczce i, jeśli jest, w CDN. Test w oknie prywatnym albo na telefonie w sieci komórkowej pokaże, czy problem dotyczy tylko Państwa przeglądarki.

Aktywna wtyczka trybu konserwacji

Jeśli komunikat wygląda inaczej niż opisany wyżej, np. ma logo, odliczanie albo napis „Coming soon”, zwykle pochodzi z wtyczki trybu konserwacji. Proszę zalogować się pod adresem /wp-admin. Zalogowani administratorzy przy takich wtyczkach zazwyczaj widzą normalną stronę i mogą tam wyłączyć tryb konserwacji.

Własna strona konserwacji

Jeśli w wp-content leży plik maintenance.php, WordPress używa go jako własnej strony konserwacji. Zmienia on wygląd komunikatu, ale nie przyczynę. Decydujący pozostaje plik .maintenance w katalogu głównym.

Jak uniknąć tego przy następnej aktualizacji

  • Nie wszystko naraz. Wtyczki warto aktualizować pojedynczo albo w małych grupach. To oszczędza limity czasu i pamięci, a od razu wiadomo, która aktualizacja sprawiła problem.
  • Najpierw kopia zapasowa. Plików i bazy danych. Kopia, której nigdy nie sprawdzono, to nadzieja, a nie zabezpieczenie.
  • Nie zamykać karty. Proszę poczekać, aż WordPress pokaże informację o zakończeniu aktualizacji.
  • Większe aktualizacje testować na kopii. Wielu hostingodawców oferuje środowisko testowe (staging). Szczególnie opłaca się to przy sklepach i page builderach.
  • Sprawdzić limity PHP. Jeśli każda większa aktualizacja się przerywa, max_execution_time albo memory_limit na hostingu są prawdopodobnie za niskie.

Kiedy warto poprosić o pomoc

Gdy po usunięciu pliku pojawia się błąd krytyczny, którego nie da się przypisać do konkretnej wtyczki, gdy chodzi o sklep albo gdy strona nie była aktualizowana od lat i aktualizacja zacina się w wielu miejscach. Wtedy zwykle szybciej jest, gdy ktoś przeczyta logi błędów, zamiast po kolei wyłączać wtyczki.

Profesjonalna pomoc

Przestarzałe strony na WordPressie aktualizuję w kontrolowany sposób: najpierw kopia zapasowa, w miarę możliwości test na kopii strony, aktualizacja wtyczka po wtyczce, a na końcu sprawdzenie formularzy, sklepu i panelu. Aktualizacja WordPress zaczyna się od przeglądu za 150 € netto, typowa aktualizacja kosztuje od 290 € netto. Jeśli coś już jest zepsute, pomoże naprawa WordPress.

Autor: Przemysław Milner

Pozostałe wpisy