Strona rozsypała się po aktualizacji wtyczki lub motywu – jak wrócić do działającej wersji.
Klikasz „Aktualizuj”, pasek postępu dochodzi do końca, pojawia się zielony komunikat. Otwierasz stronę i coś jest nie tak: menu wisi w dziwnym miejscu, zdjęcia produktów się rozjechały, przycisk „Dodaj do koszyka” zniknął albo zamiast strony widzisz komunikat o błędzie.
Spokojnie. To jedna z najczęstszych sytuacji, z jakimi zgłaszają się do mnie właściciele stron i sklepów na WordPressie. W zdecydowanej większości przypadków da się wrócić do działającej wersji w kilkanaście minut, bez utraty danych. Poniżej opisuję ścieżkę, którą sam przechodzę, krok po kroku: od najprostszych rzeczy do tych bardziej technicznych.
Zanim cokolwiek zrobisz: trzy rzeczy, których lepiej unikać
- Nie aktualizuj od razu kolejnych wtyczek „na wszelki wypadek”. Każda następna zmiana utrudnia ustalenie, co naprawdę zepsuło stronę.
- Nie usuwaj wtyczki, tylko ją wyłącz. Niektóre wtyczki przy usuwaniu kasują też swoje ustawienia z bazy danych, a wtedy problem robi się większy.
- Nie przywracaj od razu pełnej kopii zapasowej, jeśli masz sklep. Kopia z wczoraj oznacza, że znikną dzisiejsze zamówienia, konta klientów i zmiany stanów magazynowych. Do kopii jeszcze wrócę, bo czasem to dobre wyjście, ale trzeba to zrobić z głową.
Krok 1. Ustal, co się zepsuło i co zostało zaktualizowane
Od tego zależy cała dalsza droga. Objawy po nieudanej aktualizacji zwykle układają się w jedną z trzech grup:
- Rozjechany wygląd, ale strona działa. Najczęściej winny jest cache albo zmiany w stylach motywu lub page buildera.
- Strona w ogóle się nie ładuje. Widzisz biały ekran albo komunikat „Na stronie wystąpił błąd krytyczny”. To błąd w kodzie PHP i tym scenariuszom poświęciłem osobne wpisy: o białym ekranie (WSOD) i o błędzie krytycznym w WordPressie.
- Wszystko wygląda dobrze, ale jedna rzecz nie działa. Koszyk, formularz kontaktowy, płatności albo wyszukiwarka. Tu zwykle chodzi o konflikt dwóch wtyczek albo o zmianę w działaniu jednej z nich.
Potem sprawdź, co dokładnie się zmieniło. Jeśli aktualizowałeś ręcznie, pewnie pamiętasz. Jeśli działają automatyczne aktualizacje, zajrzyj do skrzynki mailowej administratora strony: WordPress wysyła wiadomość z listą wtyczek i motywów, które zaktualizował. Pomocna bywa też kolumna z wersjami na liście wtyczek oraz historia zmian w panelu hostingu.
Zapisz sobie nazwę wtyczki i numer wersji, na którą się zaktualizowała. Przyda się za chwilę.
Krok 2. Wyczyść cache, zanim zaczniesz szukać winnych
Brzmi banalnie, ale sporo „rozsypanych” stron po aktualizacji wcale nie jest zepsutych. Przeglądarka albo serwer pokazują po prostu nowy kod strony ze starymi plikami stylów, albo odwrotnie. Dlatego zanim zaczniesz cokolwiek wyłączać, wyczyść cache na wszystkich poziomach:
- w przeglądarce: otwórz stronę w oknie prywatnym albo odśwież ją z pominięciem pamięci podręcznej (Ctrl + F5, na Macu Cmd + Shift + R),
- we wtyczce do cache, jeśli jej używasz (LiteSpeed Cache, WP Rocket, W3 Total Cache i podobne),
- na serwerze, jeśli hosting ma własny mechanizm cache w panelu,
- w CDN, jeśli strona stoi za Cloudflare lub podobną usługą.
Jeśli strona jest zbudowana na Elementorze, dodatkowo wejdź w Elementor → Narzędzia i kliknij Regeneruj pliki i dane. Po aktualizacjach to bardzo często załatwia sprawę rozjechanego układu.
Odśwież stronę. Jeśli wygląda normalnie, gotowe. Jeśli nie, idziemy dalej.
Krok 3. Znajdź winowajcę
Gdy masz dostęp do kokpitu
Wejdź w Wtyczki i wyłącz tę, która była aktualizowana jako ostatnia. Sprawdź stronę w oknie prywatnym. Jeśli problem zniknął, masz winowajcę. Jeśli aktualizowałeś kilka wtyczek naraz, wyłączaj je po kolei i za każdym razem sprawdzaj stronę.
W sklepie, który przyjmuje zamówienia, wyłączanie wtyczek „na żywo” bywa ryzykowne, bo klienci od razu widzą efekty. Wtedy przydaje się darmowa wtyczka Health Check & Troubleshooting. Jej tryb rozwiązywania problemów wyłącza wtyczki i zmienia motyw tylko dla Ciebie, zalogowanego administratora. Klienci w tym czasie widzą stronę normalnie.
Gdy nie możesz wejść do kokpitu
Jeśli po aktualizacji panel też przestał działać, sprawdź najpierw skrzynkę administratora. Przy błędzie krytycznym WordPress wysyła maila z linkiem do trybu odzyskiwania. Po kliknięciu możesz się zalogować, a wtyczka powodująca błąd zostaje wstrzymana na czas Twojej sesji. W tym trybie wyłączysz ją zwykłym przyciskiem.
Jeśli maila nie ma (a zdarza się to, gdy strona ma kłopot z wysyłką wiadomości), zostaje FTP albo menedżer plików w panelu hostingu:
- Przejdź do katalogu
wp-content/plugins. - Znajdź folder wtyczki, którą podejrzewasz, i zmień jego nazwę, na przykład z
nazwa-wtyczkinanazwa-wtyczki-off. - Odśwież stronę. WordPress nie znajdzie wtyczki pod starą nazwą i po prostu ją wyłączy.
Z motywem jest podobnie. Zmiana nazwy jego folderu w wp-content/themes sprawi, że WordPress przełączy się na domyślny motyw, na przykład Twenty Twenty-Five, o ile jest zainstalowany. Strona będzie wyglądać inaczej, ale odzyskasz dostęp i potwierdzisz, gdzie leży problem.
Jeśli trafiasz na pętlę przy logowaniu albo inne kłopoty z wejściem do panelu, zajrzyj do wpisu o błędach logowania do wp-admin.
Warto też wiedzieć, że nowsze wersje WordPressa potrafią same wycofać automatyczną aktualizację wtyczki, jeśli ta od razu wywołała błąd krytyczny. To przydatne zabezpieczenie, ale nie wyłapie rozjechanego wyglądu ani niedziałającego koszyka. W takich sytuacjach wciąż musisz zadziałać sam.
Krok 4. Wróć do poprzedniej wersji
Wiesz już, która wtyczka lub motyw sprawia kłopot. Samo wyłączenie często nie wystarcza, bo ta wtyczka jest Ci po prostu potrzebna. Rozwiązaniem jest powrót do wersji, która działała, i spokojne poczekanie na poprawkę od autora. Masz na to kilka sposobów, od najprostszego.
Sposób 1: wtyczka WP Rollback
Dla wtyczek i motywów z oficjalnego katalogu WordPress.org najwygodniejsza jest darmowa wtyczka WP Rollback. Po instalacji przy każdej wtyczce pojawia się link „Rollback”. Wybierasz z listy wersję, na której wszystko działało, zatwierdzasz i gotowe.
Sposób 2: wbudowana kontrola wersji
Niektóre duże wtyczki mają przywracanie wersji wbudowane w swoje ustawienia. Dobrym przykładem jest Elementor: w Elementor → Narzędzia → Kontrola wersji wrócisz do wcześniejszego wydania jednym kliknięciem. Warto sprawdzić, czy Twoja wtyczka ma podobną opcję.
Sposób 3: ręczne wgranie starszej wersji
Ten sposób działa zawsze, także dla wtyczek premium.
- Pobierz starszą wersję. Dla wtyczek z WordPress.org wejdź na stronę wtyczki, otwórz zakładkę Zaawansowane (Advanced) i na samym dole wybierz wersję z listy. Wtyczki płatne pobierzesz ze swojego konta u producenta, zwykle w sekcji z plikami do pobrania.
- W kokpicie przejdź do Wtyczki → Dodaj nową → Wyślij wtyczkę i wskaż pobrany plik ZIP.
- WordPress wykryje, że taka wtyczka jest już zainstalowana, i zapyta, czy zastąpić bieżącą wersję przesłaną. Potwierdź.
Jeśli nie masz dostępu do kokpitu, rozpakuj ZIP na komputerze i przez FTP podmień cały folder wtyczki w wp-content/plugins.
Jedna ważna uwaga: pobieraj starsze wersje wyłącznie z oficjalnych źródeł. Pliki z przypadkowych stron z „darmowymi wersjami premium” to jedna z najczęstszych dróg, którymi na strony trafia złośliwy kod. Więcej o tym piszę w poradniku o tym, jak odwirusować stronę WordPress.
Uważaj na zmiany w bazie danych
Większość aktualizacji zmienia tylko pliki, więc cofnięcie wersji jest bezpieczne. Część większych wtyczek, zwłaszcza WooCommerce, przy aktualizacji przebudowuje też swoje dane w bazie. Poznasz to po komunikacie w stylu „Wymagana aktualizacja bazy danych”.
Jeśli taka aktualizacja bazy już się wykonała, cofnięcie samych plików może narobić więcej szkody niż pożytku, bo stara wersja wtyczki nie zawsze rozumie nowy układ danych. Wtedy lepiej naprawić problem „do przodu”, na przykład poprawiając motyw lub drugą wtyczkę, albo przywrócić kopię zapasową w przemyślany sposób. O tym za chwilę.
Krok 5. Kiedy sięgnąć po kopię zapasową
Przywrócenie kopii to najpewniejszy sposób powrotu do stanu sprzed aktualizacji, ale nie zawsze najlepszy. Na zwykłej stronie firmowej, na której przez ostatnie godziny nic się nie zmieniło, śmiało. W sklepie trzeba pamiętać, że pełna kopia z wczoraj cofnie też bazę danych, a razem z nią dzisiejsze zamówienia, rejestracje klientów i stany magazynowe.
Dlatego w sklepie zwykle robię to tak:
- jeśli aktualizacja nie zmieniała bazy danych, przywracam tylko pliki konkretnej wtyczki lub motywu,
- jeśli trzeba cofnąć także bazę, najpierw odtwarzam kopię na osobnej, testowej wersji strony (tak zwanym stagingu), sprawdzam, czy działa, i dopiero potem planuję przeniesienie tak, żeby nie zgubić nowych zamówień.
Wiele firm hostingowych pozwala w panelu przywrócić osobno pliki i osobno bazę, a nawet pojedynczy katalog. Zajrzyj, co oferuje Twój hosting, zanim klikniesz „Przywróć wszystko”.
Szczególny przypadek: aktualizacja motywu skasowała moje zmiany
Jeśli po aktualizacji motywu zniknęły Twoje poprawki w wyglądzie albo kod dopisany do pliku functions.php, powód jest prawie zawsze ten sam: zmiany były wprowadzone bezpośrednio w plikach motywu. Aktualizacja nadpisuje wszystkie jego pliki nowymi, więc Twoje poprawki przepadają.
Rozwiązaniem na przyszłość jest motyw potomny (child theme). To osobny, mały motyw, który korzysta z głównego, ale trzyma Twoje zmiany u siebie. Aktualizacje motywu głównego go nie ruszają. Utracone poprawki odzyskasz z kopii zapasowej plików, a potem przeniesiesz je do motywu potomnego.
Szczególny przypadek: po aktualizacji WooCommerce sklep działa dziwnie
Motywy dla sklepów często mają własne wersje szablonów WooCommerce, na przykład strony produktu czy koszyka. Gdy WooCommerce zmienia swoje szablony, a motyw ma ich stare kopie, pojawiają się dziwne objawy: brakujące elementy, rozjechany koszyk, niedziałające przyciski.
Sprawdzisz to w WooCommerce → Status → Status systemu. Na dole strony, w sekcji o szablonach, WooCommerce pokazuje, które pliki motywu są przestarzałe. Jeśli coś jest tam oznaczone na czerwono, pierwszym krokiem jest aktualizacja motywu. Jeśli autor motywu nie wydał jeszcze poprawki, zgłoś mu problem, a na razie rozważ powrót do poprzedniej wersji WooCommerce, pamiętając o uwadze dotyczącej bazy danych.
Krok 6. Zabezpiecz się, zanim przyjdzie poprawka
Po powrocie do działającej wersji zadbaj o to, żeby ta sama aktualizacja nie zainstalowała się ponownie w nocy:
- na liście wtyczek kliknij Wyłącz automatyczne aktualizacje przy tej konkretnej wtyczce,
- zajrzyj na forum wsparcia wtyczki lub do listy zmian (changelog), bo często ktoś już zgłosił ten sam problem, a autor zapowiedział poprawkę,
- jeśli nikt nie zgłosił błędu, zrób to sam i krótko opisz objawy, wersję WordPressa, wersję PHP oraz listę wtyczek,
- gdy pojawi się nowa wersja z poprawką, zaktualizuj wtyczkę, najlepiej najpierw na kopii testowej.
Jak uniknąć takiej sytuacji następnym razem
Aktualizacji nie da się i nie warto unikać, bo to one łatają luki bezpieczeństwa. Da się za to sprawić, że przestaną być loterią. Oto zasady, których sam się trzymam przy stronach, którymi się opiekuję:
- Kopia zapasowa przed każdą większą aktualizacją. Najlepiej świeża, zrobiona tuż przed kliknięciem „Aktualizuj”, a nie ta sprzed tygodnia.
- Aktualizuj po jednej wtyczce, nie wszystkie naraz. Gdy coś się zepsuje, od razu wiesz, co.
- Czytaj listę zmian przy dużych wersjach. Skok z wersji 4.x na 5.0 częściej przynosi poważne zmiany niż przejście z 4.2.1 na 4.2.2.
- Większe aktualizacje testuj na stagingu. Wiele hostingów tworzy testową kopię strony jednym kliknięciem.
- Wybieraj dobry moment. Nie aktualizuj sklepu w piątek wieczorem, w trakcie kampanii ani tuż przed świętami. Rób to wtedy, gdy masz czas zareagować.
- Po aktualizacji sprawdź najważniejsze ścieżki. Strona główna, karta produktu, dodanie do koszyka, zamówienie testowe, formularz kontaktowy. To pięć minut, które potrafią oszczędzić kilka godzin nerwów.
Najczęstsze pytania
Czy mogę po prostu nie aktualizować wtyczek?
Można, ale to zły pomysł. Przestarzałe wtyczki to jedna z głównych przyczyn włamań na strony WordPress. Lepiej aktualizować regularnie i z zabezpieczeniem niż rzadko i z ryzykiem. Jeśli chcesz zobaczyć, co jeszcze najczęściej kładzie strony, przeczytaj wpis o przyczynach awarii strony internetowej.
Jak długo mogę zostać na starszej wersji wtyczki?
Tak krótko, jak się da. Starsza wersja to rozwiązanie tymczasowe, na czas oczekiwania na poprawkę. Jeśli poprawka nie pojawia się przez kilka tygodni, warto rozważyć zamiennik wtyczki.
Czy włączenie automatycznych aktualizacji to dobry pomysł?
Dla drobnych wtyczek z dobrą historią zwykle tak. Kluczowe elementy sklepu, takie jak WooCommerce, bramki płatności czy page builder, wolę aktualizować ręcznie, po sprawdzeniu, co się zmieniło.
Potrzebujesz pomocy?
Jeśli strona albo sklep przestały działać po aktualizacji i nie chcesz ryzykować samodzielnych prób, odezwij się do mnie. Sprawdzę, co się stało, przywrócę działającą wersję i podpowiem, jak ułożyć aktualizacje tak, żeby następnym razem obyło się bez stresu.
Nie chcesz robić tego samodzielnie?
Zajmę się tym za Ciebie. Napisz krótko, co się dzieje - odpowiem tego samego dnia roboczego.