Błąd 503 w WordPressie: co to jest i jak go naprawić (przewodnik 2023)
Opublikowany: 2023-07-11Próbujesz poradzić sobie z błędem 503 w WordPress?
Błąd 503, AKA 503 Service Unavailable error, 🐞 wyświetla się, gdy serwer Twojej witryny WordPress jest z jakiegoś powodu niedostępny.
Może się to wydawać przerażającym błędem, ale źródło błędu można znaleźć za pomocą metodycznego rozwiązywania problemów. Przeczytaj o tym, co powoduje błąd 503 w WordPressie i jak możesz go naprawić. 🔧
Czym jest błąd 503 w WordPressie?
Błąd 503 Usługa niedostępna pokazuje, kiedy z jakiegoś powodu serwer WWW jest niedostępny. Niestety błąd nie mówi dokładnie, co jest nie tak, co oznacza, że naprawienie błędu może zająć trochę czasu.
W zależności od konfiguracji hostingu i przeglądarki internetowej możesz zobaczyć jeden z następujących wariantów tego błędu:
- 503 Usługa niedostępna
- 503 Usługa tymczasowo niedostępna
- Błąd serwera HTTP 503
- Błąd HTTP 503
- Błąd 503 Usługa Niedostępna
- Serwer tymczasowo nie może obsłużyć Twojego żądania z powodu przerwy technicznej lub problemów z wydajnością. Spróbuj ponownie później.
Gdy wystąpi błąd 503, cała witryna będzie niedostępna, w tym administrator WordPress. 🐛
Co powoduje błąd 503 w WordPressie?
błędy 503 mogą być spowodowane konserwacją serwera, atakiem DDoS, złym kodem we fragmencie kodu, wtyczce lub motywie; lub duży ruch na serwerze, szczególnie jeśli korzystasz z hostingu współdzielonego, gdzie zasoby są ograniczone.
Jeśli błąd 503 jest spowodowany konserwacją, atakiem DDoS lub gwałtownym wzrostem ruchu, po krótkim czasie może sam się rozwiązać. Jeśli jest to spowodowane złym fragmentem kodu, może się powtarzać, dopóki nie rozwiążesz problemu.
Jak naprawić błąd 503 w WordPress
Zanim zaczniesz wdrażać poniższe kroki, warto sprawdzić kilka rzeczy.
Po pierwsze, czy przeprowadzasz aktualizacje w swojej witrynie? Możliwe, że błąd 503 pojawi się, gdy witryna jest w trybie konserwacji. Poczekaj kilka minut na zakończenie aktualizacji, a następnie odśwież przeglądarkę.
Po drugie, sprawdź u swojego hosta, czy serwer nie ma przerwy w działaniu lub czy nie trwa planowana konserwacja. Sprawdź stronę stanu usługi swojego hosta i swoją skrzynkę odbiorczą, aby zobaczyć, czy nie otrzymałeś powiadomienia o problemie.
Jeśli nie przeprowadzałeś aktualizacji, a Twój host nie zgłasza problemu z jego serwerami, możesz rozpocząć następujące kroki rozwiązywania problemów.
- Dezaktywuj wtyczki
- Przełącz na motyw domyślny
- Wyłącz sieć dostarczania treści
- Dezaktywuj interfejs API Heartbeat WordPress
- Włącz tryb wp_debug
- Zaktualizuj swój plan hostingowy
Dezaktywuj wtyczki
Źle zakodowana wtyczka może być źródłem błędu 503 w WordPressie. Aby to sprawdzić, wyłączysz wszystkie wtyczki i spróbujesz zidentyfikować nieuczciwą wtyczkę.
Ponieważ nie możesz uzyskać dostępu do wp-admin, będziesz musiał użyć klienta FTP, aby uzyskać dostęp do katalogu wtyczek (lub narzędzia takiego jak cPanel File Manager).
Połącz się z katalogiem domowym za pomocą FTP. Katalog domowy jest zwykle nazywany jednym z następujących:
- public_html
- www
- HTML
- publiczny
- nazwa Twojej witryny
Z katalogu domowego przejdź do katalogu wp-content
i znajdź katalog plugins
.
Kliknij ten katalog prawym przyciskiem myszy i użyj funkcji Zmień nazwę, aby zmienić jego nazwę na plugins_old
.
Teraz, gdy zmieniłeś nazwę katalogu, wszystkie wtyczki zostaną dezaktywowane. Sprawdź swoją witrynę, aby zobaczyć, czy błąd 503 Usługa niedostępna nadal występuje.
Jeśli błąd zniknął, prawdopodobnie przyczyną jest jedna z Twoich wtyczek.
Aby zidentyfikować problematyczną wtyczkę, wykonaj następujące kroki:
- Zmień katalog plugins_old z powrotem na plugins .
- Przejdź do folderu wtyczek .
- Zacznij od pierwszej wtyczki na liście i zmień nazwę folderu wtyczki, np. zmień antispam-bee na antispam-bee-test .
- Sprawdź swoją witrynę pod kątem błędu 503. Jeśli się pojawi, wiesz, która wtyczka powoduje błąd.
Teraz musisz wyłączyć tę wtyczkę 🔌 i poszukać alternatywy.
Przełącz na motyw domyślny
Innym możliwym źródłem błędów 503 jest Twój motyw. Aby to przetestować, możesz przełączyć witrynę na jeden z domyślnych motywów ładowanych przez WordPress, na przykład Twenty Twenty Three.
Niestety, nie możesz użyć tej samej sztuczki, co w przypadku wtyczek i zmienić nazwę folderu motywów. Jeśli to zrobisz, WordPress zgłosi błąd, mówiąc, że The theme directory "[theme-name]" does not exist
.
Zamiast tego musisz użyć phpMyAdmin , aby uzyskać dostęp do bazy danych WordPress i zmienić tam aktywny motyw.
⚠️ Uwaga – zakładamy, że nadal masz zainstalowany domyślny motyw Twenty Twenty-Three na swojej stronie. Jeśli usunąłeś domyślny motyw, być może trzeba go najpierw zainstalować za pomocą FTP – możesz ręcznie przesłać folder motywu do folderu wp-content/themes
swojej witryny .
Zaloguj się do phpMyAdmin za pośrednictwem panelu sterowania hostingu i poszukaj tabeli wp_options
. W zależności od hosta może mieć inny przedrostek niż wp_
– na przykład wpcz_options
.
Kliknij łącze wyszukiwania i wyszukaj w tabeli template
programu Word w polu nazwa_opcji.
Powinieneś mieć jeden wynik. Kliknij dwukrotnie wartość_opcji (w tym przykładzie geneza) i zmień nazwę motywu na dwadzieścia dwadzieścia trzy.
Oto jak powinien wyglądać po zakończeniu:
Powtórz ten sam krok dla arkusza stylesheet
nazwa_opcji.
Po zaktualizowaniu aktywnego motywu odwiedź interfejs swojej witryny, aby sprawdzić, czy błąd 503 Usługa niedostępna nadal występuje.
Jeśli wydaje się, że błąd zniknął, prawdopodobnie problemem był motyw.
Jeśli zmiana motywów na stałe jest dla Ciebie opcją, możesz to zrobić. W przeciwnym razie skontaktuj się z dostawcą motywu i zgłoś mu błąd 503.
Możliwe, że niedawno pojawiła się aktualizacja motywu, która spowodowała błąd, więc możesz wrócić do wcześniejszej wersji motywu. Lub może istnieć zaktualizowana wersja, którą możesz pobrać, która naprawia błąd.
Wyłącz sieć dostarczania treści (jeśli jej używasz)
Jeśli nie używasz sieci CDN, pomiń ten krok. Jeśli tak, czytaj dalej.
Czasami CDN może być źródłem błędu 503 w WordPress. Aby to sprawdzić, Twój CDN powinien mieć możliwość wstrzymania usługi. W Cloudflare możesz znaleźć tę opcję w sekcji Akcje zaawansowane w menu Szybkie akcje , która znajduje się po prawej stronie ekranu Przegląd (przewiń w dół, aby ją zobaczyć).
Jeśli wstrzymanie CDN rozwiązało problem, prawdopodobnie nie chcesz długoterminowo wyłączać CDN, więc skontaktuj się ze swoim dostawcą w celu uzyskania pomocy.
Dezaktywuj interfejs API Heartbeat WordPress
Interfejs API pulsu WordPress kontroluje kilka podstawowych funkcji WordPress. Na przykład następujące działania są kontrolowane przez tętno:
- automatyczne zapisywanie postów
- zablokowanie edytora, aby uniemożliwić dwóm użytkownikom jednoczesne edytowanie tego samego postu
- powiadomienia na desce rozdzielczej
Heartbeat API wysyła impulsy od klienta do serwera, komunikując się za pomocą AJAX. Używany plik to /wp-admin/admin-ajax.php. Powoduje to dużą liczbę żądań do serwera, co może stanowić problem, jeśli korzystasz z hostingu współdzielonego i masz ograniczone zasoby.
Aby sprawdzić, czy interfejs API pulsu WordPress powoduje błąd 503 w WordPress, możesz go tymczasowo wyłączyć, dodając kod do pliku functions.php aktywnego motywu.
Użyj edytora FTP, aby uzyskać dostęp do katalogu motywów. Kliknij prawym przyciskiem myszy swój plik functions.php , aby go edytować (możesz najpierw zrobić kopię zapasową).
Dodaj następujący kod po inicjale
add_action( 'init', 'stop_heartbeat', 1 ); function stop_heartbeat() { wp_deregister_script('heartbeat') }
Zapisz zmiany w pliku, a następnie spróbuj ponownie uzyskać dostęp do witryny, aby sprawdzić, czy błąd 503 nadal występuje. Jeśli go nie ma, wiesz, że odpowiedzialny był interfejs API pulsu.
Niestety wyłączenie interfejsu API pulsu spowoduje zatrzymanie wielu przydatnych funkcji, więc zamiast tego lepiej ograniczyć puls. Aby to zrobić, możesz użyć wtyczki Heartbeat Control . Pamiętaj tylko, aby najpierw usunąć kod wyłączający puls z Twojego functions.php.
Włącz tryb wp_debug
Tryb debugowania jest wbudowany w WordPress jako sposób rozwiązywania problemów. Nie jest domyślnie włączony, więc potrzebujesz kodu, aby go aktywować.
Użyj klienta FTP, aby uzyskać dostęp do pliku wp-config.php . Edytuj go i dodaj do niego następujące wiersze kodu:
define( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true ); define( 'WP_DEBUG_DISPLAY', false );
Zapisz i ponownie prześlij plik.
Teraz poszukaj w katalogu wp-content pliku o nazwie debug.log . Spowoduje to zarejestrowanie wszelkich błędów znalezionych w Twojej witrynie. Plik dziennika informuje, który plik był odpowiedzialny za każdy błąd, oraz wiersze odpowiedzialnego kodu. Plik debug.log nie powie ci, co powoduje błąd 503 w WordPress, ale da ci wskazówki, gdzie szukać dalej.
Możesz także przejrzeć dzienniki debugowania swojego serwera WWW, zwykle znajdujące się tutaj:
- Apache: /var/log/apache2/error.log
- Nginx: /var/log/nginx/error.log
Skontaktuj się z dostawcą usług hostingowych, aby uzyskać dodatkową pomoc w interpretacji plików dziennika, jeśli jej potrzebujesz.
Zaktualizuj swój plan hostingowy
Jeśli nie byłeś w stanie wskazać źródła błędu 503, ale podejrzewasz, że odpowiedzialny jest za to Twój hosting, możesz rozważyć uaktualnienie swojego planu hostingowego. Dotyczy to zwłaszcza kilku przypadków:
- Korzystasz z hostingu współdzielonego i przeciążasz zasoby serwera.
- Twoja witryna staje się coraz bardziej popularna, a ruch na niej wzrasta.
Jeśli korzystasz z hostingu współdzielonego, być może nadszedł czas, aby rozważyć hosting zarządzany. Porozmawiaj ze swoim dostawcą hostingu o uaktualnieniu planu. W niektórych przypadkach możesz chcieć całkowicie zmienić hosta internetowego.
👉 Zapoznaj się z naszym przewodnikiem po najlepszych hostingach internetowych, aby zobaczyć, co zalecamy dla różnych rodzajów hostingu.
Napraw błąd 503 w WordPress na dobre 🎯
Jeśli widzisz błąd 503 w WordPressie, nie panikuj. Kroki rozwiązywania problemów to:
- Dezaktywuj wtyczki
- Przełącz na motyw domyślny
- Wyłącz CDN, jeśli używasz
- Dezaktywuj interfejs API Heartbeat WordPress
- Włącz tryb wp_debug
- Zaktualizuj swój plan hostingowy
📌 Mamy nadzieję, że te kroki pozwolą ci odkryć źródło błędu 503 i zakończyć twoje nieszczęścia.