Конфликт плагинов WordPress: как найти виновника и не сломать сайт

Плагины — главная сила WordPress и одновременно главный источник поломок. Каждый из них пишут разные люди, и никто не проверяет, как ваш набор из двадцати плагинов уживается вместе. Поэтому после очередного обновления что-то вдруг перестаёт работать.
Как выглядит конфликт
- Не отправляется форма обратной связи или не появляется всплывающее окно.
- Поехала вёрстка, пропали стили или кнопки на отдельных страницах.
- Не открывается редактор страниц или админка работает очень медленно.
- Не добавляется товар в корзину — об этом отдельно в статье про проблемы с WooCommerce.
- В худшем случае — белый экран или «критическая ошибка».
Правило первое: не ищите на живом сайте
Поочерёдное отключение плагинов на рабочем сайте видят посетители: пропадают формы, ломаются страницы. Лучше сделать тестовую копию сайта — многие хостинги создают её одной кнопкой — и искать там. Если такой возможности нет, выручит режим диагностики, о нём ниже.
Режим диагностики: отключение только для вас
Плагин Health Check & Troubleshooting из официального каталога WordPress умеет включать режим диагностики. В нём все плагины отключаются и включается стандартная тема — но только для вашей сессии в браузере. Посетители в это время видят сайт как обычно, а вы можете включать плагины по одному и смотреть, после какого проблема вернётся.
Метод деления пополам
Если плагинов много, включать их по одному долго. Быстрее делить пополам: отключите половину и проверьте, осталась ли проблема. Если осталась — виновник среди включённых, если пропала — среди отключённых. Затем делите подозрительную половину ещё раз. Даже из 30 плагинов так находится нужный за пять-шесть проверок.
Подсказки, которые ускоряют поиск
- Вспомните, что обновлялось или устанавливалось перед поломкой — чаще всего виноват именно этот плагин.
- Откройте консоль браузера (F12, вкладка Console): если сломалось что-то интерактивное, там обычно видна ошибка JavaScript с названием файла плагина.
- Включите журнал ошибок WordPress — как это сделать, я описал в статье про критическую ошибку.
- Не забывайте про тему: иногда конфликтует не плагин с плагином, а плагин с темой.
Нашли виновника — что дальше
Проверьте, нет ли у плагина свежего обновления с исправлением, — разработчики часто выпускают его в течение нескольких дней. Можно временно вернуть предыдущую версию плагина, сообщить автору об ошибке на странице поддержки или заменить плагин аналогом. А если плагин закрывает одну мелкую функцию, иногда проще сделать её парой строк кода и убрать лишнюю зависимость.
Как не попадать в это снова
Держите только нужные плагины: каждый лишний — это ещё одна точка отказа. Обновляйте не всё разом, а по очереди, и перед крупными обновлениями делайте резервную копию. Для сайтов, которые приносят деньги, я настраиваю поддержку так, что обновления сначала проверяются на копии и только потом выкатываются на рабочий сайт. Если конфликт уже случился — помогу найти и исправить.


