Konflikt wtyczek WordPress – jak zdiagnozować i naprawić?
Zainstalowałeś nową wtyczkę i coś przestało działać, ale nie wiesz co. Albo masz 40 wtyczek i strona się sypie. Pokażemy metodę bisekcji do szybkiej diagnozy konfliktu bez zgadywania.
Czym jest konflikt wtyczek i jak powstaje?
WordPress ładuje każdą aktywną wtyczkę przy każdym żądaniu do strony. Wtyczki mogą wchodzić w konflikt na kilka sposobów:
- Konflikty JavaScript — dwie wtyczki ładują różne wersje tej samej biblioteki (np. jQuery), która się nawzajem nadpisuje
- Konflikty CSS — style jednej wtyczki nadpisują style drugiej, psując wygląd elementów
- Konflikty funkcji PHP — dwie wtyczki definiują funkcję o tej samej nazwie, co generuje fatal error
- Konflikty bazy danych — wtyczki zapisują dane w tych samych opcjach lub tabelach
- Konflikty kolejności ładowania (hooks) — wtyczka A nadpisuje wynik wtyczki B przez system hooków WordPress
Metoda bisekcji — szybka diagnostyka w 5 krokach
Metoda bisekcji (binary search) pozwala znaleźć problematyczną wtyczkę spośród dziesiątek aktywnych w logarytmicznym czasie — zamiast sprawdzać każdą z osobna.
- Krok 1: Zrób listę wszystkich aktywnych wtyczek (np. screenshot)
- Krok 2: Dezaktywuj połowę wtyczek. Sprawdź czy problem nadal występuje.
- Krok 3 (jeśli problem znikł): Problem jest w dezaktywowanej połowie. Aktywuj połowę z tej grupy. Sprawdź.
- Krok 3 (jeśli problem trwa): Problem jest w aktywnej połowie. Dezaktywuj połowę z tej grupy. Sprawdź.
- Krok 4: Powtarzaj aż zostanie jedna wtyczka — to winowajca.
Przykład: masz 20 wtyczek → dezaktyrujesz 10 → problem znikł → aktywujesz 5 z dezaktywowanych → problem wrócił → dezaktyrujesz 2–3 z tych 5 → znajdziesz winowajcę maksymalnie w 4–5 krokach zamiast 20.
Diagnoza przez Query Monitor
Wtyczka Query Monitor (darmowa) to developer toolbar dla WordPress. Pokazuje:
- Wszystkie błędy PHP (E_NOTICE, E_WARNING, E_ERROR) z nazwą pliku i linią
- Konflikty skryptów i styli JavaScript/CSS
- Zapytania do bazy danych — ile ich jest i które są wolne
- Hooki i filtry WordPress — jakie wartości przekazują
Po aktywacji Query Monitor pojawi się pasek narzędzi administratora na górze strony. Zakładka „PHP Errors" często od razu wskazuje winowajcę konfliktu.
Najczęstsze typy konfliktów i jak je rozwiązać
Konflikt z page builderem
Elementor, Beaver Builder, Divi i WPBakery mają własne systemy zarządzania JavaScriptem i CSS. Wtyczki słabo zintegrowane z page builderami często powodują konflikty wizualne lub błędy JavaScript.
Rozwiązanie: sprawdź w ustawieniach problematycznej wtyczki czy ma opcję „Wyłącz w edytorze" lub „Kompatybilność z page builderem". Alternatywnie poszukaj oficjalnych addonów do używanego page buildera.
Konflikt z wtyczką cache
Wtyczki cache (WP Rocket, W3 Total Cache, LiteSpeed Cache) agresywnie optymalizują JavaScript i CSS, co może psuć działanie innych wtyczek. Objawy: slider nie działa, formularze nie działają, galeria się sypie — ale tylko na froncie, nie w panelu admina.
Rozwiązanie: w ustawieniach wtyczki cache wyklucz JavaScript konkretnej wtyczki z minifikacji/łączenia. W WP Rocket zrób to w zakładce „Plik" → pole wykluczeń JS.
Konflikt z wtyczką bezpieczeństwa
Wordfence, iThemes Security i Sucuri mogą blokować żądania AJAX, które są potrzebne do działania innych wtyczek (szczególnie formularzy, koszyków WooCommerce, live search).
Rozwiązanie: sprawdź logi wtyczki bezpieczeństwa — czy nie blokuje żądań z konkretnych wtyczek. Dodaj wyjątek dla blokowanych URL.
Kiedy konflikt jest nie do rozwiązania?
Niekiedy dwie wtyczki są fundamentalnie niekompatybilne i żadna konfiguracja tego nie zmieni. W takiej sytuacji masz trzy wyjścia:
- Zamień jedną z wtyczek na alternatywę
- Zamów customowe rozwiązanie u dewelopera WordPress który połączy funkcjonalności
- Rezygnuj z funkcjonalności mniej ważnej z dwóch kolidujących
Regularny przegląd listy wtyczek i usuwanie nieużywanych to najlepsza profilaktyka. Reguła: jeśli wtyczka nie była używana od miesiąca — usuń ją, nie tylko dezaktywuj (dezaktywowane wtyczki nadal zajmują miejsce na serwerze i mogą zawierać luki bezpieczeństwa).
Konflikty wtyczek często objawiają się podobnie jak inne problemy WordPress. Sprawdź też: jeśli widzisz biały ekran lub błąd 500 — wtyczka to pierwsza rzecz do sprawdzenia. Konflikt może też pojawić się po aktualizacji WordPressa lub wtyczek. W najgorszym scenariuszu — backdoor w nullowanej wtyczce może prowadzić do zawirusowania strony.
Potrzebujesz pomocy z wizytówką Google?
Bezpłatna konsultacja — sprawdzę Twój profil i powiem co poprawić.