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/pluginsi 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?