Awarie

Konflikt wtyczek na WordPressie — jak znaleźć winowajcę

Coś przestało działać, a nikt niczego „nie ruszał”? Dwie wtyczki weszły sobie w drogę. Metoda połówkowa znajdzie winną parę w kilkanaście minut.

Lista wtyczek w panelu WordPressa

Konflikt wtyczek rzadko wygląda jak katastrofa. Częściej wygląda tak: galeria przestała się przesuwać. Formularz nie wysyła. Koszyk nie przelicza. Edytor nie zapisuje. Strona niby działa, ale jeden element zachowuje się dziwnie — i „nikt nic nie zmieniał”.

Prawie zawsze ktoś zmieniał: aktualizacja wtyczki, motywu albo automatyczna aktualizacja w nocy. Dwa kawałki kodu, które latami się tolerowały, w nowych wersjach weszły sobie w drogę.

Zbierz poszlaki, zanim zaczniesz wyłączać

Od kiedy nie działa? Zestaw datę awarii z historią aktualizacji: Kokpit → Aktualizacje, a przy wtyczkach data „ostatnio zaktualizowano”. Jeśli coś aktualizowało się tuż przed awarią — zacznij od cofnięcia tej aktualizacji, to krótsza droga niż szukanie konfliktu.

Otwórz konsolę przeglądarki (F12 → Konsola) na zepsutej podstronie. Czerwone błędy JavaScript z nazwą katalogu wtyczki w ścieżce pliku to niemal gotowa odpowiedź — konflikt wtyczek bardzo często objawia się właśnie tym, że skrypt jednej wywala skrypty pozostałych.

Włącz log błędów PHP, jeśli objawem jest błąd krytyczny albo biały ekran — w logu będzie ścieżka pliku, w którym kod się wysypuje.

Metoda połówkowa — znajdowanie winowajcy bez zgadywania

Klasyczna procedura, która działa zawsze, niezależnie od objawu:

  1. Wyłącz wszystkie wtyczki. Sprawdź, czy problem zniknął. Zniknął — winna jest któraś wtyczka. Nie zniknął — przełącz motyw na domyślny (Twenty Twenty-Five); jeśli teraz działa, konflikt jest między motywem a którąś wtyczką.
  2. Włączaj wtyczki połowami. Włącz pierwszą połowę — jeśli problem wrócił, winowajca jest w niej; jeśli nie, w drugiej. Powtarzaj na coraz mniejszych grupach.
  3. Przy kilkunastu wtyczkach znajdziesz winną w 4–5 krokach zamiast testować każdą osobno.
  4. Konflikt to para: znaleziona wtyczka psuje się zwykle w towarzystwie konkretnej drugiej. Włącz na koniec tylko te dwie, żeby potwierdzić.

Jak to zrobić, nie psując strony klientom

Wyłączanie wtyczek na żywym sklepie to proszenie się o kłopoty. Są dwa cywilizowane sposoby:

Wtyczka Health Check & Troubleshooting (oficjalna, od zespołu WordPressa) ma tryb rozwiązywania problemów: wtyczki są wyłączone tylko dla Ciebie, zalogowanego administratora — odwiedzający cały czas widzą normalną stronę. W tym trybie włączasz wtyczki po kolei z górnego paska. To najbezpieczniejsza droga na produkcji.

Kopia strony (staging) — część hostingów tworzy ją jednym przyciskiem w panelu. Na kopii możesz wyłączać do woli.

Jeśli nie masz dostępu do panelu, wtyczki wyłącza się przez FTP zmianą nazwy katalogu w wp-content/plugins/ — dopisz -off do nazwy.

Co zrobić ze znalezioną parą

  • Sprawdź, czy obie wtyczki są aktualne — konflikt mógł już zostać naprawiony po jednej ze stron,
  • zgłoś konflikt na forach wsparcia obu wtyczek na wordpress.org, z nazwami i wersjami obu — autorzy naprawiają takie rzeczy częściej, niż się ludziom wydaje, ale muszą wiedzieć,
  • poszukaj zamiennika dla mniej ważnej z pary. Dobre kandydatury znajdziesz w naszym przeglądzie wtyczek,
  • nie zostawiaj „rozwiązania” polegającego na trzymaniu starej wersji jednej z wtyczek — po kilku miesiącach stanie się dziurą w zabezpieczeniach i wrócisz do tego tematu w gorszych okolicznościach.

Osobna uwaga o nadmiarze: im więcej wtyczek robi to samo — dwa cache, dwa SEO, trzy „optymalizatory” — tym więcej okazji do konfliktów. Przy okazji diagnozy warto przejrzeć listę i wyrzucić duplikaty.

Ile to zajmuje

Metoda połówkowa przy kilkunastu wtyczkach — 15–40 minut. Diagnoza z konsoli albo logu, gdy błąd wskazuje winowajcę wprost — kwadrans. Warto zlecić, gdy konflikt występuje losowo (najtrudniejszy wariant — trzeba go najpierw wiarygodnie wywołać), gdy dotyczy sklepu na żywo albo gdy po znalezieniu pary żadnej z wtyczek nie da się wymienić i trzeba pogodzić je kodem.


Coś przestało działać i nie wiadomo po czym? Znajdziemy winowajcę — bezpłatna diagnoza, reakcja w ciągu dwóch godzin, od 120 zł netto za godzinę, płatność po wykonaniu.

  • wtyczki
  • konflikt
  • diagnostyka
  • tryb rozwiązywania problemów

Masz taką sytuację u siebie?

Diagnoza i wstępna wycena bezpłatne. Płacisz dopiero po wykonaniu — napisz albo zadzwoń, odpowiadamy do 2 godzin.