Обслуживание WordPress

Почему сайты на WordPress ломаются после обновлений — и как обновляться безопасно

Обновили WordPress, плагин или тему — и сайт вдруг поехал. Белый экран, корзина в магазине не работает, форма не отправляется, половина текста исчезла. Знакомо? Самое обидное тут в том, что обновление само по себе — правильная вещь. Не обновлять еще опаснее. Но если делать это без головы, можно легко уронить сайт своими же руками.

Смотрите, проблема обычно не в том, что WordPress «плохой». Чаще ломается связка: старая тема, 27 плагинов, древний PHP у хостинга, кастомные доработки без документации, и все это держится на честном слове. Потом выходит апдейт — и вся эта конструкция говорит: ну все, пока.

В этой статье разберем, почему так происходит и как обновляться спокойно, без седых волос и ночных переписок с хостингом.


Почему после обновлений вообще что-то ломается

Самая частая причина — несовместимость. Один плагин ждет PHP 8.1, а у вас 7.4. Тема написана под старую версию WooCommerce, а магазин уже обновился. Или наоборот — тема новая, а какой-то плагин брошен разработчиком еще в 2021 году. В итоге сайт начинает сыпаться в самых странных местах.

И да, не все поломки видно сразу. Иногда главная страница открывается, и кажется, что все норм. А потом клиент пишет, что заказ не оформляется уже третий день. Вот это особенно противно.

Еще одна частая история — «самописные» правки. То есть кто-то когда-то полез прямо в файлы темы или плагина и что-то там подкрутил. После обновления эти правки просто затираются. Все. Функция исчезла. Блок пропал. Телефон в шапке уехал в подвал. Видел такое сотни раз, честно.

Ну и хостинг. Про него часто забывают. А зря. Если сервер старый, памяти мало, база данных тормозит, а версия PHP не подходит — любое обновление может стать последней каплей. Особенно на интернет-магазинах, где и без того нагрузка повыше.


Какие обновления самые рискованные

Не все апдейты одинаково опасны. Есть почти безболезненные, а есть те, после которых лучше не уходить пить кофе.

  • Крупные обновления WordPress — например, с 6.4 на 6.5. Тут могут меняться внутренние штуки, на которые завязаны плагины и темы.
  • Обновления WooCommerce — особенно если у вас магазин, кастомная корзина, оплата, доставка и куча интеграций.
  • Апдейты темы — если тема сильно дорабатывалась вручную, риск высокий.
  • Плагины-конструкторы — Elementor, WPBakery и похожие. Они часто цепляют полсайта сразу.
  • Плагины безопасности, кэша, SEO — потому что они вмешиваются глубоко в работу сайта.

А вот мелкие патчи безопасности обычно безопаснее. Но «обычно» — не значит «всегда».


Главная ошибка — обновлять все разом

Вот это классика. Зашли в админку, увидели 19 доступных обновлений, нажали «обновить все» — и пошли по делам. Плохая идея.

Если после этого сайт сломался, вы даже не поймете из-за чего именно. Из-за темы? Из-за WooCommerce? Из-за одного странного плагина с отзывами, который никто не трогал 2 года? Неясно.

Нормальный подход другой — по одному, с проверкой. Да, дольше. Зато потом не надо вслепую откатывать полсайта.

Если сайт важный — магазин, сайт с заявками, бронирование, личный кабинет — лучше вообще держать это как процесс, а не как случайное действие по настроению. Для этого и существует регулярное обслуживание WordPress, когда обновления ставят не абы как, а с проверкой, бэкапом и контролем после.


Как обновляться безопасно — нормальная схема без магии

На самом деле все довольно приземленно. Не нужны дорогие «корпоративные решения» для маленького сайта. Нужен порядок.

  1. Сначала сделайте бэкап. Полный — файлы + база данных. И проверьте, что его реально можно скачать и развернуть.
  2. Если сайт важный — тестируйте на копии. Хотя бы на staging-версии. Это занимает от 15 минут до часа, в зависимости от хостинга.
  3. Обновляйте по одному. Сначала плагины поменьше, потом тему, потом крупные вещи.
  4. После каждого шага проверяйте ключевые страницы. Главная, контакты, корзина, оформление заказа, формы, кабинет.
  5. Смотрите ошибки. Не только глазами. Иногда в логах PHP уже все кричит, а на сайте пока «вроде работает».
  6. Не обновляйте в час пик. Для магазина — точно не днем в будни.

Короче, смысл простой: вы должны в любой момент понимать, что поменялось и как откатиться назад, если все пошло криво.

Кстати, если у вас до сих пор нет нормального плана отката, советую почитать вот это: Бэкап — это еще не план восстановления. В чем разница. Там как раз про ту ошибку, когда копия есть, а восстановиться быстро все равно не выходит.


Что проверить до обновления

Вот тут многие ленятся. А потом удивляются.

Перед апдейтом быстро пробегитесь по базовым вещам:

  • какая версия PHP на хостинге;
  • когда последний раз обновлялась тема;
  • не заброшены ли ключевые плагины;
  • есть ли кастомные правки в теме или плагинах;
  • сколько вообще у вас активных плагинов — 12 или, скажем, 47;
  • не ругается ли хостинг на память, базу или ошибки.

Особенно смотрите на заброшенные плагины. Это тихая мина. Они могут месяцами «работать», а потом один апдейт WordPress их добивает окончательно. Если тема знакомая, загляните сюда: Заброшенные плагины — тихая дыра в безопасности вашего сайта. Очень жизненная история, без страшилок.


А если сайт уже сломался?

Сперва — без паники. Серьезно. Самая вредная реакция — начать хаотично тыкать все подряд: отключать плагины, менять тему, чистить кэш, обновлять еще что-то «вдруг поможет». Иногда помогает. Чаще добивает остатки.

Что делать по уму:

— зафиксировать, после какого именно обновления началась поломка
— проверить логи ошибок на хостинге
— откатить последний измененный плагин, тему или весь сайт из бэкапа
— проверить, не сломались ли форма, корзина, письма, поиск
— если есть магазин — сделать тестовый заказ

Если сайт уже совсем лег, в админку не зайти, а в код лезть не хочется — лучше сразу звать помощь. Особенно если сайт приносит деньги каждый день. В таких случаях разумнее обратиться на страницу помощи после взлома или серьезной поломки сайта — там как раз история про очистку, восстановление и приведение сайта в чувство. Да, технически поломка после обновления не всегда взлом, но по симптомам все часто выглядит одинаково.


Автообновления — включать или нет?

Вот тут нет одного ответа для всех. Для маленького сайта-визитки на 5 страниц без сложных функций — автообновления могут быть ок. Особенно для мелких патчей безопасности. Для магазина на WooCommerce с оплатой, CRM и кастомной доставкой? Я бы не рисковал.

Лучше так:

— ядро WordPress — можно авто для минорных апдейтов
— плагины безопасности — осторожно, смотря какие
— WooCommerce, тема, конструкторы, платежные модули — лучше вручную
— все, что влияет на продажи или заявки — только с проверкой

И да, если включаете автообновления, то хотя бы поставьте мониторинг сайта и уведомления. Иначе сайт может лежать полдня, а вы узнаете об этом от клиента. Не супер.


Сколько времени и денег это реально занимает

Если у вас аккуратный сайт на 8-10 плагинов без экзотики, безопасное обновление занимает примерно 20-40 минут. Магазин на WooCommerce, интеграции, фильтры, оплата, доставка — уже 1-2 часа, иногда больше.

По деньгам тоже все приземленно. Для малого бизнеса ежемесячное обслуживание обычно дешевле, чем один нормальный аврал после поломки. Потому что авария — это не только работа спеца. Это потерянные заказы, реклама в пустоту, злые клиенты и ваш вечер, который улетел в мусорку. Аа, и нервы.

Честно говоря, большинство владельцев сайтов не обязаны разбираться в логах PHP и конфликтах хуков WooCommerce. У вас бизнес, а не кружок админов. Но базовый порядок вокруг обновлений — это уже не роскошь, а просто гигиена.


Коротко — как не убить сайт обновлением

Если совсем сжать, то вот суть:

— не обновляйте все скопом
— всегда делайте бэкап до апдейта
— проверяйте совместимость PHP, темы и плагинов
— тестируйте важные сайты на копии
— обновляйте в спокойное время
— после каждого шага проверяйте формы, заказы и ключевые страницы

И все. Ну ладно, не «все», но уже этого хватает чтобы избежать большей части типичных провалов.

WordPress сам по себе не хрупкий. Хрупким сайт обычно делают годы мелких компромиссов: старый хостинг, забытые плагины, ручные правки без учета будущих апдейтов, отсутствие проверки после обновления. Исправляется это не героизмом, а рутиной. Спокойной, скучной, зато рабочей.

А скучная рутина в безопасности сайта — это, если честно, лучший расклад.