HeatLogic
HeatLogic Blog
WordPress27.08.20264 min czytaniaAutor: HeatLogic

503 Service Unavailable w WordPress – przeciążenie, maintenance czy brak workerów?

WordPress zwraca 503 Service Unavailable? Sprawdź maintenance, limity hostingu, PHP-FPM, obciążenie i zadania w tle zamiast odświeżać stronę bez końca.

HeatLogic

503 oznacza, że usługa jest chwilowo niedostępna. W praktyce WordPress może pokazać ten kod podczas przeciążenia, prac serwisowych, wyczerpania workerów PHP, aktywnej blokady hostingu albo problemu z warstwą proxy. Czasem objaw trwa kilkanaście sekund, czasem pojawia się codziennie o tej samej porze. Właśnie ta powtarzalność jest ważną wskazówką.

Szybka odpowiedź

Jeśli 503 pojawił się podczas aktualizacji, sprawdź plik .maintenance i stan procesu aktualizacji. Jeśli wraca przy ruchu lub o stałej godzinie, patrz na CPU, RAM, PHP-FPM, backup, WP-Cron i kolejki zadań. Na hostingu współdzielonym sprawdź również limity konta, bo serwer może celowo odrzucać nowe żądania po przekroczeniu zasobów.

Tryb maintenance po aktualizacji

Podczas aktualizacji WordPress tworzy plik .maintenance, aby użytkownicy nie trafiali na częściowo zaktualizowaną instalację. Jeśli proces zostanie przerwany, plik może pozostać i strona nie wróci normalnie. Zanim go usuniesz, upewnij się, że aktualizacja faktycznie się zakończyła albo że jesteś gotowy ręcznie zweryfikować stan plików i bazy.

Limity hostingu i PHP-FPM

503 często pojawia się, gdy serwer nie ma wolnego procesu do obsługi kolejnego żądania. Na VPS-ie sprawdzisz pulę PHP-FPM, kolejki i zasoby. Na hostingu współdzielonym operator może narzucać limity procesów, CPU lub pamięci. Wykresy z panelu hostingu są wtedy równie ważne jak logi WordPressa.

Backup, skan i cron mogą zbiegać się w czasie

Kopia zapasowa, pełne skanowanie plików, import produktów i zadania WooCommerce mogą wystartować w podobnym oknie. Każde z nich osobno działa poprawnie, ale razem wysycają zasoby. Jeśli 503 pojawia się regularnie o 03:00 albo po rozpoczęciu importu, sprawdź harmonogramy i rozłóż ciężkie operacje.

Ruch botów i brak ochrony

Nagły skok żądań do wp-login.php, XML-RPC, wyszukiwarki lub drogich endpointów może wykorzystać wszystkie workery. Nie każda fala ruchu jest atakiem, ale warto analizować adresy, ścieżki i częstotliwość. Ochrona powinna ograniczać kosztowne nadużycia przed PHP, a nie dopiero w samej aplikacji.

503 jako objaw, nie rozwiązanie

Niektórzy administratorzy ustawiają stronę maintenance ręcznie podczas problemu. To może być poprawne działanie operacyjne, ale nie usuwa przyczyny. Po przywróceniu serwisu trzeba ustalić, co doprowadziło do niedostępności i czy monitoring zauważy kolejne zdarzenie.

Jak potwierdzić, że naprawa naprawdę działa?

Po usunięciu 503 odtwórz warunki, w których błąd pojawiał się wcześniej: tę samą porę backupu, import, większy ruch albo aktualizację. Jeżeli problem był cykliczny, sprawdzenie strony pięć minut po ręcznym restarcie niczego nie dowodzi. Porównaj monitoring przed i po zmianie — liczba 503 powinna spaść do zera, a czas odpowiedzi nie powinien gwałtownie rosnąć tuż przed niedostępnością.

Co obserwować po zmianie?

Jeżeli przyczyną był limit procesów, obserwuj jednocześnie CPU, RAM i kolejkę PHP. Jeśli problemem był .maintenance, upewnij się, że proces aktualizacji jest sprawny i nie pozostawia pliku przy kolejnych wdrożeniach. Jeśli 503 generował hosting po przekroczeniu limitów, poproś o konkretne metryki i próg, zamiast opierać się na ogólnym komunikacie „za duże zużycie zasobów”.

Kiedy przekazać temat dalej?

W sklepie lub systemie rezerwacyjnym częste 503 oznaczają ryzyko utraty transakcji i wymagają pilnej analizy. Eskaluj również wtedy, gdy błąd pojawia się na wielu usługach, a nie tylko WordPressie, albo gdy procesy są ubijane przez system. Wtedy optymalizacja jednej wtyczki może nie wystarczyć.

Praktyczny scenariusz diagnostyczny

Załóżmy, że 503 pojawia się codziennie około tej samej godziny. To ważniejsza wskazówka niż sam komunikat w przeglądarce. Porównaj moment awarii z harmonogramem kopii, WP-Cron, importów, skanów bezpieczeństwa i zadań na serwerze. Jeśli w tym samym czasie rośnie CPU, I/O lub liczba procesów PHP, masz punkt zaczepienia. Przesuń jedno ciężkie zadanie, ogranicz jego częstotliwość albo uruchom je w bardziej kontrolowany sposób i sprawdź następny cykl. Gdy 503 znika, nie oznacza to jeszcze, że serwer potrzebował „więcej mocy” — często potrzebował lepszego harmonogramu. Dopiero gdy zwykły ruch bez zadań tła rzeczywiście wyczerpuje zasoby, warto rozmawiać o skalowaniu hostingu.

Bezpieczna kolejność działań

  1. Sprawdź, czy trwała aktualizacja i czy istnieje .maintenance.
  2. Porównaj godzinę 503 z logami i wykresami CPU/RAM.
  3. Sprawdź wolne workery PHP, limity hostingu i restarty usług.
  4. Przejrzyj cron, backupy, importy i skany uruchamiane w tym czasie.
  5. Jeśli winny jest ruch, ogranicz kosztowne wzorce przed PHP.
  6. Po naprawie ustaw monitoring 5xx i czasu odpowiedzi.

Czego nie robić

Nie usuwaj .maintenance bez sprawdzenia, czy aktualizacja nie została przerwana w połowie. Nie rozwiązuj przeciążenia przez bezrefleksyjne zwiększanie limitów — najpierw ustal, co zużywa zasoby.

Powiązane poradniki HeatLogic

Potrzebujesz pomocy?

Jeśli 503 wraca okresowo, możemy zestawić logi strony z obciążeniem, harmonogramami i stanem PHP-FPM, a następnie usunąć źródło problemu zamiast tylko zwiększać limity.

Najczęściej zadawane pytania

Czy 503 po aktualizacji oznacza uszkodzenie strony?

Nie zawsze. Może to być pozostałość trybu maintenance, ale trzeba sprawdzić, czy aktualizacja zakończyła się poprawnie.

Czy 503 to wina hostingu?

Czasem tak, szczególnie przy limitach zasobów. Równie często hosting tylko ujawnia problem ciężkich zadań lub nadmiernego ruchu.

Czy cache rozwiąże 503?

Może zmniejszyć liczbę żądań do PHP, ale nie pomoże, jeśli problemem jest zadanie w tle, panel administracyjny albo proces, który już wysyca serwer.

Czy warto monitorować 503?

Tak. Krótkie epizody mogą umykać użytkownikowi, a monitoring pokaże ich częstotliwość i czas występowania.

Powiązane artykuły