Skip to content

Wszystko o WordPressie, tworzeniu stron — i nie tylko

🔧 Jak naprawić błąd 502 bad gateway w WordPress

🔧 Jak naprawić błąd 502 bad gateway w WordPress

Wchodzą Państwo na swoją stronę, a tam biały ekran i trzy słowa: „502 Bad Gateway". Ruch jest, ale odwiedzający widzą błąd zamiast treści. Sprzedaż stoi, pozycje SEO spadają, a Państwo tracą czas na domysły.

Błąd 502 wygląda groźnie, ale pod maską to po prostu awaria komunikacji między serwerami. Państwa strona nie jest uszkodzona, dane nie zniknęły, a rozwiązanie w większości przypadków zajmuje od pięciu do piętnastu minut. Poniżej znajduje się instrukcja krok po kroku, która przeprowadzi Państwa od najprostszych czynności do głębszej diagnostyki.

💡 Szybki przegląd:

  • Proszę odświeżyć stronę i sprawdzić, czy serwer hostingu nie padł
  • Proszę wyczyścić pamięć podręczną przeglądarki i tymczasowo wyłączyć CDN
  • Jeśli błąd się utrzymuje, proszę wyłączyć wtyczki przez FTP i sprawdzić motyw
  • Proszę zresetować.htaccess i skontaktować się z dostawcą hostingu, gdy wszystko inne zawiedzie

Czym jest błąd 502 Bad Gateway

Gdy otwierają Państwo stronę, przeglądarka wysyła żądanie HTTP. Po stronie serwera wita je odwrotne proxy (Nginx, Apache), które rozdziela żądania między serwer aplikacji (PHP), bazę danych, serwer WWW treści statycznych i CDN. Każdy węzeł przetwarza swoją część i zwraca wynik do serwera proxy. Ten zbiera odpowiedź i przekazuje ją przeglądarce, strona się ładuje.

Błąd 502 pojawia się, gdy jeden z serwerów w tym łańcuchu zwraca serwerowi proxy nieprawidłową odpowiedź. Proxy nie może złożyć strony i pokazuje „Bad Gateway". Przeglądarka uczciwie informuje: brama między serwerami otrzymała nie to, czego oczekiwała.

Z zewnątrz błąd przybiera różne formy: „502 Bad Gateway", „502 Service Temporarily Overloaded", „HTTP 502", „Nginx 502 Bad Gateway", „Błąd proxy". Istota jest jedna: gdzieś w łańcuchu nastąpiło przerwanie.

Dlaczego pojawia się błąd 502

Przyczyny są prawie zawsze serwerowe, ale czasem wyzwalaczem stają się Państwa własne działania na stronie:

  • Przeciążenie serwera. Gwałtowny skok ruchu wyczerpuje zasoby hostingu, procesy PHP nie radzą sobie z kolejką żądań.
  • Wadliwa wtyczka lub motyw. Kod, który wywołuje krytyczny błąd PHP, przerywa odpowiedź serwera aplikacji, proxy otrzymuje pustkę.
  • Problemy z CDN. Cloudflare, KeyCDN lub inna usługa dostarczania treści nie może połączyć się z serwerem źródłowym i zwraca 502.
  • Nieprawidłowe wpisy DNS. Po zmianie hostingu lub aktualizacji serwerów DNS wpisy jeszcze się nie rozpropagowały, strona jest tymczasowo niedostępna.
  • Uszkodzony.htaccess. Uszkodzona składnia lub konflikt reguł przepisywania psuje przetwarzanie żądań.
  • Wyczerpany limit pamięci PHP. Ciężka wtyczka lub skrypt zużywa całą dostępną pamięć, proces pada.

Teraz krok po kroku przeanalizujemy każdy sposób naprawy, od najszybszego do bardziej złożonych.

Krok 1. Proszę odświeżyć stronę

Pierwsza i najprostsza rzecz: proszę nacisnąć F5 lub Ctrl+R. Jeśli błąd został spowodowany krótkotrwałą awarią serwera, ponowne żądanie przejdzie pomyślnie. Proszę spróbować otworzyć stronę w innej przeglądarce lub z internetu mobilnego, to eliminuje problem po Państwa stronie.

Proszę sprawdzić, czy strona działa dla reszty świata, za pomocą serwisu isup.me lub Down For Everyone Or Just Me. Jeśli serwis pokazuje, że strona leży tylko u Państwa, problem jest lokalny, idziemy dalej. Jeśli strona jest niedostępna dla wszystkich, najprawdopodobniej padł serwer hostingu lub włączyła się blokada na poziomie dostawcy.

Krok 2. Proszę wyczyścić pamięć podręczną przeglądarki

Przeglądarka buforuje nie tylko obrazy i style, ale także błędne odpowiedzi serwera. Twarde przeładowanie (Ctrl+F5 w Windows, Cmd+Shift+R w macOS) zmusza przeglądarkę do ponownego zażądania strony, z pominięciem lokalnej pamięci podręcznej.

Jeśli twarde przeładowanie nie pomogło, proszę całkowicie wyczyścić pamięć podręczną. W Chrome: Ustawienia → Prywatność i bezpieczeństwo → Wyczyść historię → „Obrazy i pliki zapisane w pamięci podręcznej". Szczegółową instrukcję dla różnych przeglądarek i czyszczenia pamięci podręcznej po stronie WordPress omówiliśmy w osobnym poradniku.

Krok 3. Proszę tymczasowo wyłączyć CDN

Sieci dostarczania treści, takie jak Cloudflare czy KeyCDN, przepuszczają ruch przez swoje serwery. Jeśli po stronie CDN wystąpiła awaria lub skonfigurowano nieprawidłową regułę firewalla, odwiedzający zobaczą 502 nawet przy w pełni działającym serwerze źródłowym.

Aby sprawdzić tę hipotezę, proszę wstrzymać CDN w panelu zarządzania usługą. Cloudflare: proszę przejść do sekcji Overview → Pause Cloudflare. KeyCDN i analogi: proszę znaleźć przycisk Disable lub Pause w panelu. Po wyłączeniu proszę odświeżyć stronę. Błąd zniknął, problem leży po stronie CDN, proszę skontaktować się z ich wsparciem.

Gdy CDN jest wyłączony, strona działa bezpośrednio z Państwa hostingu, szybkość może nieco spaść, ale dostępność zostanie przywrócona. Porównanie popularnych usług CDN i ich konfigurację podaliśmy w artykule o darmowych CDN dla WordPress.

Krok 4. Proszę sprawdzić ustawienia DNS

Po zmianie hostingu lub aktualizacji wpisów NS informacje DNS rozchodzą się po sieci od kilku godzin do 48 godzin. W tym okresie część odwiedzających może trafiać na stary serwer, który nie odpowiada lub odpowiada nieprawidłowo.

Jeśli niedawno przenosili Państwo stronę, proszę odczekać dobę, w większości przypadków to wystarczy. Dodatkowo proszę zresetować lokalną pamięć podręczną DNS: w Windows proszę otworzyć wiersz poleceń i wykonać ipconfig /flushdns, w macOS sudo dscacheutil -flushcache i sudo killall -HUP mDNSResponder. Następnie proszę przeładować stronę.

Krok 5. Proszę wyłączyć wtyczki przez FTP

Najczęstsza przyczyna 502 na WordPressie: konflikt wtyczek. Jedna problematyczna wtyczka może wywołać krytyczny błąd PHP, który kładzie całą stronę. Ponieważ panel administracyjny WordPress przy 502 jest niedostępny, wyłączanie wtyczek trzeba przeprowadzić przez system plików.

Proszę połączyć się z serwerem przez FTP (przez FileZilla, WinSCP) lub otworzyć Menedżera plików w cPanel. Proszę przejść do folderu głównego strony (zazwyczaj public_html):

Menedżer plików cPanel z folderem głównym WordPress

Proszę wejść do wp-content i znaleźć folder plugins. Proszę zmienić jego nazwę, na przykład na plugins.old. To natychmiast wyłączy wszystkie wtyczki razem. Dane wtyczek przy zmianie nazwy folderu nie są usuwane, ustawienia są przechowywane w bazie danych:

Zmiana nazwy folderu plugins w celu masowego wyłączenia

Proszę odświeżyć stronę. Jeśli zadziałała, problem leży w jednej z wtyczek. Proszę przywrócić folderowi nazwę plugins, wejść do panelu administracyjnego i włączać wtyczki pojedynczo, sprawdzając stronę po każdej aktywacji. Gdy znajdą Państwo winną wtyczkę, proszę ją usunąć przez FTP lub zastąpić alternatywą.

Krok 6. Proszę sprawdzić aktywny motyw

Jeśli wyłączenie wtyczek nie dało rezultatu, następnym podejrzanym jest motyw graficzny. Nieprawidłowy kod w functions.php lub konflikt z wersją PHP również wywołuje krytyczny błąd i 502.

Proszę ponownie wejść do folderu głównego strony → wp-contentthemes. Proszę znaleźć folder z aktywnym motywem i zmienić jego nazwę (na przykład dodać .old na końcu):

Zmiana nazwy folderu aktywnego motywu w celu przywrócenia domyślnego

WordPress automatycznie przełączy się na motyw domyślny (Twenty Twenty-Four, Twenty Twenty-Five lub analogiczny). Proszę odświeżyć stronę, jeśli błąd zniknął, problem leży w motywie. Proszę skontaktować się z twórcą motywu lub przywrócić kopię zapasową. Po diagnostyce proszę przywrócić folderowi oryginalną nazwę.

Szczegółowy algorytm sprawdzania motywu i szukania konfliktowego kodu opisano w poradniku rozwiązywania problemów z motywem WordPress.

Krok 7. Proszę zresetować plik.htaccess

Uszkodzony .htaccess to częsta, ale mniej oczywista przyczyna 502. Reguły przepisywania dodane przez wtyczkę buforującą lub bezpieczeństwa mogą ze sobą konfliktować. Jeden błąd składniowy w tym pliku i serwer zwraca 502 na wszystkie żądania.

Proszę połączyć się przez FTP i znaleźć plik .htaccess w folderze głównym strony. Proszę pobrać kopię zapasową na komputer, a następnie usunąć plik z serwera. Proszę wejść do panelu administracyjnego WordPress, przejść do Ustawienia → Bezpośrednie odnośniki i kliknąć „Zapisz zmiany" (nic nie zmieniając). WordPress utworzy nowy .htaccess z czystym zestawem reguł.

Jeśli błąd pojawił się natychmiast po zainstalowaniu wtyczki buforującej (WP Rocket, W3 Total Cache, LiteSpeed Cache), proszę sprawdzić sekcję z regułami tej wtyczki w .htaccess, zazwyczaj jest ona opakowana w komentarze # BEGIN W3TC / # END W3TC. Proszę usunąć ten blok, zapisać plik i odświeżyć stronę.

Krok 8. Proszę skontaktować się z dostawcą hostingu

Żaden z poprzednich kroków nie pomógł, problem najprawdopodobniej leży po stronie serwera. Proszę skontaktować się z pomocą techniczną hostingu i podać: domenę, czas wystąpienia błędu, jakie działania już Państwo wykonali. Im dokładniej opiszą Państwo kontekst, tym szybciej inżynierowie znajdą przyczynę.

Proszę poprosić o sprawdzenie logów błędów PHP i serwera WWW za czas, gdy pojawił się błąd 502. W logach prawie zawsze widać, który konkretnie skrypt lub moduł powoduje awarię. Na niedrogich pakietach hostingu współdzielonego przyczyną może być banalny brak zasobów: jedna strona na serwerze zużywa całą pamięć, pozostałe dostają 502. W takim przypadku warto rozważyć przejście na VPS lub hosting w chmurze z gwarantowanymi zasobami.

Instrukcja wideo

Poglądowy proces diagnostyki i naprawy błędu 502 od pierwszego do ostatniego kroku mogą Państwo zobaczyć w tym filmie:

⁉️🤔 Często zadawane pytania

Czy błąd 502 może minąć sam?

Tak, jeśli przyczyną jest krótkotrwałe przeciążenie serwera hostingu. Dostawcy monitorują obciążenie i automatycznie restartują problematyczne procesy w ciągu jednej do pięciu minut. Proszę odświeżyć stronę po kilku minutach, w połowie przypadków błąd znika bez żadnych działań z Państwa strony.

Jak odróżnić 502 od innych błędów serwera?

502 Bad Gateway to błąd na poziomie serwera proxy (Nginx/Apache), a nie samej aplikacji. Błąd 500 Internal Server Error oznacza problem bezpośrednio w kodzie PHP lub konfiguracji. Błąd 503 Service Unavailable oznacza, że serwer tymczasowo nie przyjmuje żądań, zazwyczaj podczas planowanej konserwacji. Błąd 504 Gateway Timeout oznacza, że serwer nie doczekał się odpowiedzi od serwera upstream w wyznaczonym czasie. Dla użytkownika różnica sprowadza się do diagnostyki: 500 najczęściej naprawia się poprawką kodu, 502 przywróceniem komunikacji między serwerami.

Czy trzeba przywracać stronę z kopii zapasowej przy 502?

Kopia zapasowa to środek ostateczny, a nie pierwszy krok. Zanim wdrożą Państwo kopię zapasową, proszę wykonać kroki 5, 6 i 7 z tego poradnika: wyłączyć wtyczki, sprawdzić motyw, zresetować .htaccess. W przeważającej większości przypadków 502 usuwa się bez przywracania kopii zapasowej. Proszę wdrażać kopię tylko wtedy, gdy błąd pojawił się natychmiast po aktualizacji WordPressa, wtyczek lub motywu i wycofanie zmian przez FTP jest niemożliwe.

Czy można zapobiec pojawianiu się błędu 502 w przyszłości?

Częściowo tak. Proszę korzystać z dobrej jakości hostingu z wystarczającą ilością pamięci PHP (zalecane minimum to 256 MB). Proszę skonfigurować monitorowanie dostępności strony przez UptimeRobot lub analogiczną usługę, dowiedzą się Państwo o problemie, zanim zgłoszą go odwiedzający. Przed instalacją i aktualizacją wtyczek proszę robić szybką kopię zapasową. I proszę mieć pod ręką dostęp FTP: gdy panel administracyjny leży, to jedyny sposób, by szybko wyłączyć problematyczny kod.

Co robić, jeśli nic nie pomogło?

Osiem powyższych kroków pokrywa prawie wszystkie scenariusze wystąpienia 502 Bad Gateway na WordPressie. Jeśli sprawdzili Państwo wtyczki, motyw, DNS i CDN, zresetowali .htaccess, a błąd pozostał, problem jest głębszy i nie obejdzie się bez inżynierów hostingu.

Właściwa kolejność oszczędza godziny: najpierw proszę wykluczyć przyczyny lokalne (pamięć podręczna, przeglądarka, CDN), potem serwerowe (wtyczki, motyw, .htaccess) i dopiero wtedy eskalować do dostawcy. Proszę zapisać ten poradnik w zakładkach, 502 ma to do siebie, że wraca w najmniej odpowiednim momencie, a szybki dostęp do listy kontrolnej zaoszczędzi Państwu mnóstwo nerwów.