Logujesz się do swojego panelu administratora WordPress i widzisz migające czerwone kółeczko w panelu aktualizacji. To znak, że pora zaktualizować niektóre z wtyczek. Przechodzisz więc do odpowiedniej zakładki, wciskasz aktualizuj i z herbatką w ręce spokojnie czekasz aż pokaże się komunikat, że proces przebiegł pomyślnie.
Ale co to? Zamiast twojej strony widzisz komunikat 503 Service Unavailable. W panice odświeżasz kokpit, ale on też nie odpowiada. Herbata prawie wypada Ci z rąk, a masa myśli kotłuje Ci się w głowie. Plujesz sobie w brodę, że przecież znowu nie zrobiłaś backup’u. Na myśl o odtwarzaniu od początku wszystkiego robi Ci się słabo.
Czy Ty też tak miałaś?
Mi zdarzyło się to ostatnio dwa razy.
Za pierwszym razem spanikowałam. Jak to? Co się stało? Dlaczego strona padła? Może rano wróci do normy. Rano niestety nie wróciła, więc trzeba było zająć się problemem.
Za drugim razem znając już rozwiązanie, które powiem Ci, jest naprawdę banalne i proste szybko odtworzyłam kroki potrzebne by przywrócić WordPressa do żywych jednocześnie ratując swój świat przed zagładą. Tym samym pomyślałam, że całość to dobry materiał na kolejny wpis blogowy.
Nic nie dzieje się samo
Na wstępie ustalmy jedno: strona nie psuje się sama i nie przestaje działać sama z siebie. Przypomnijmy sobie jakie czynności wykonywaliśmy ostatnio w naszym serwisie. Czy instalowaliśmy lub aktualizowaliśmy jakieś wtyczki? Czy wykonywaliśmy jakieś zmiany w plikach motywu? Czy zmienialiśmy konfigurację serwera? A może zrobiła to nasza firma hostingowa (a e-mail z informacją gdzieś nam się zapodział)? Wszystkie, nawet z pozoru nieistotne, działania mogą być potencjalnie związane z awarią.
Tryb debug
Na samym wstępie powinniśmy włączyć w WordPressie tryb debug. W tym trybie WordPress wyświetla wszystkie komunikaty o błędach, ostrzeżenia i informacje (domyślnie są one ukryte przez wzgląd na bezpieczeństwo). Aby to zrobić musimy zalogować się do naszego serwera przez FTP i odszukać plik wp-config.php
. Otwórzmy go, znajdźmy następującą linię:
define(’WP_DEBUG’, false);
i zamienmy ją na:
define(’WP_DEBUG’,true);
Jeśli w naszym pliku nie ma tej linii, po prostu dodajmy ją. Po zapisaniu zmian w pliku wp-config.php
i ponownym wgraniu go na serwer możemy spróbować otworzyć naszą stronę. W większości przypadków zobaczymy jakiś komunikat o błędzie.
Najczęstsze przyczyny problemów, czyli dlaczego wordpress przestał działać
Błąd we wtyczce
Niestety, ponieważ aktualizacje wtyczek nie przechodzą żadnej weryfikacji, zdarza się, że wkradnie się do nich jakiś błąd. Czasem, tak jak w moim przypadku potrafi on unieruchomić całą stronę.
Jeśli błąd we wtyczce wystąpi na etapie jej aktywacji, WordPress automatycznie dezaktywuje problematyczne rozszerzenie. Tak się jednak nie stanie gdy problem wystąpi później.
Felerną wtyczkę bardzo łatwo zidentyfikować na podstawie komunikatów o błędach. Jeśli problemem jest jedno z rozszerzeń, komunikat będzie wyglądał na przykład tak:
Parse error: syntax error, unexpected T_STRING in /home/domena/wp-content/plugins/nazwa-wtyczki/wtyczka.php
Nas interesuje fragment zaznaczony na czerwono. Mówi on nam o którą wtyczkę chodzi – w tym wypadku jest to rozszerzenie znajdujące się w katalogu plugins/nazwa-wtyczki
. Jeśli nie wiemy jak naprawić błąd, najprościej po prostu dezaktywować wtyczkę. W tym celu należy połączyć się z serwerem za pomocą FTP, przejść do katalogu wp-content/plugins
i zmienić nazwę katalogu nazwa-wtyczki
na jakąkolwiek inną, co spowoduje dezaktywację rozszerzenia.
Błąd w motywie
Jeśli błąd występuje w motywie, to komunikat będzie wyglądał na przykład tak:
Parse error: syntax error, unexpected T_STRING in /home/domena/wp-content/themes/nazwa-motywu/index.php
Jeśli chcemy dezaktywować problematyczny motyw, schemat działania wygląda dokładnie tak samo jak w przypadku wtyczek: należy zmienić nazwę katalogu wp-content/themes/nazwa-motywu
na inną.
Nic nie pomogło – co dalej?
Jeśli nasze działania nie przyniosły oczekiwanego skutku, to zawsze zostaje najbardziej radykalne rozwiązanie – przywrócenie plików i bazy danych naszej strony z kopii bezpieczeństwa.
Masz taką kopię, prawda?
Bardzo cenne informacje! Dziękuję 🙂
I Twój blog to świetne miejsce dla każdej osoby działającej w social mediach imo.
Dziękuję bardzo. Cieszę się, gdy to co piszę również innym się przydaje.