Как обновить WordPress, тему и плагины без поломки сайта

Коротко

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

Безопасная схема простая: резервная копия, проверка на тестовой копии, обновление по частям, проверка ключевых функций. Малые обновления ядра WordPress по умолчанию ставит сам, а крупные версии, тему и плагины лучше обновлять осознанно. Ниже — как обновить WordPress пошагово, что делать, если обновление не удалось, и как подготовить сайт к смене версии PHP.

Что обновляетсяКак частоРиск поломкиКак обновлять
Малые версии ядраПо мере выходаНизкийАвтоматически
Крупные версии ядраНесколько раз в годСреднийПосле проверки на копии
ПлагиныПостоянноОт низкого до высокогоПо одному или группами с проверкой
ТемаРежеВысокий, если тема доработанаЧерез дочернюю тему, после проверки
PHP на сервереРаз в год-дваВысокийТолько после проверки совместимости

Основная мысль

Обновлять WordPress нужно обязательно, но не на живом сайте вслепую: каждое обновление — это изменение кода, и безопасно оно только тогда, когда есть свежая резервная копия и понятный способ быстро откатиться.

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

Правильная середина — регламент. Обновления ставятся регулярно, по понятному порядку, с копией до и проверкой после. Для небольшого сайта это полчаса раз в пару недель. Для интернет-магазина на WooCommerce — плановая работа с тестовой копией.

Зачем нужно обновление WordPress

Безопасность

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

Совместимость

Хостинги постепенно отключают старые версии PHP, браузеры меняют поведение, платёжные системы и службы доставки обновляют свои интерфейсы. Устаревший плагин перестаёт работать не из-за собственной ошибки, а потому что изменилось окружение.

Скорость и новые возможности

Новые версии ядра, WooCommerce и популярных плагинов нередко работают быстрее: оптимизируются запросы к базе, загрузка скриптов и стилей, обработка изображений. Свежие версии PHP тоже обычно дают прирост производительности. Это помогает удерживать показатели Core Web Vitals в зелёной зоне — LCP не больше 2,5 с, INP не больше 200 мс, CLS не больше 0,1, — хотя тяжёлую тему и лишние плагины обновления не исправят. Кроме того, обновления приносят новые функции редактора и исправления ошибок, которые мешали работе.

Накопленный долг

Чем дольше сайт не обновлялся, тем сложнее обновление. Перескок через несколько крупных версий ядра, плагинов и PHP одновременно почти гарантированно приводит к конфликтам. Регулярные небольшие обновления обходятся в разы дешевле одного большого через три года.

Как обновить WordPress безопасно: пошагово

Порядок действий подходит для любого сайта. Для крупных проектов шаги 2–4 выполняются на тестовой копии, а на рабочий сайт переносится уже проверенный результат.

Пошаговый план

  1. Сделайте резервную копию файлов и базы данных. Убедитесь, что копия сохранилась полностью и хранится не только на том же сервере.
  2. Посмотрите список обновлений в разделе «Консоль → Обновления». Отметьте крупные версии и плагины, от которых зависит работа сайта: WooCommerce, конструктор страниц, формы, плагины оплаты.
  3. Прочитайте описание изменений для крупных обновлений. Разработчики обычно предупреждают о несовместимостях и требованиях к версии PHP.
  4. Обновите плагины — сначала простые, затем ключевые по одному. После каждого ключевого проверяйте сайт.
  5. Обновите ядро WordPress.
  6. Обновите тему. Если в теме правили файлы напрямую, а не через дочернюю тему, обновление сотрёт правки.
  7. Проверьте сайт: главную, типовые страницы, формы, корзину и оформление заказа, личный кабинет, админку.
  8. Очистите кеш плагина кеширования и CDN, если он используется.

Как сделать тестовую копию

Тестовая копия — это отдельная установка сайта с теми же файлами и базой, закрытая от посетителей и поисковых систем. Многие хостинги создают её в панели одной кнопкой. Если такой функции нет, копию разворачивают на поддомене: копируют файлы, импортируют базу в отдельную базу данных, заменяют адреса через WP-CLI с учётом сериализованных данных и закрывают доступ паролем на уровне сервера.

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

Обновить сайт на WordPress через WP-CLI

На сервере с SSH обновления удобно выполнять из консоли: быстрее, и видно, что именно изменилось.

wp core update
wp core update-db
wp plugin update --all
wp theme update --all

Перед этим полезно посмотреть, что вообще требует обновления:

wp plugin list --update=available

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

wp plugin update woocommerce

Обновление плагина WordPress: на что обратить внимание

Плагины — главный источник и уязвимостей, и поломок после обновлений.

Бесплатные плагины из каталога

Обновляются прямо из админки. Перед обновлением крупного плагина проверьте в описании версии требования к PHP и WordPress. Если плагин давно не обновлялся самим разработчиком, это повод искать замену: заброшенный плагин рано или поздно станет несовместим или уязвим.

Платные плагины и темы

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

Автообновления плагинов

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

Плагин обновления WordPress: нужен ли он

Отдельный плагин для управления обновлениями нужен редко: встроенных средств и WP-CLI хватает. Полезны плагины, которые позволяют откатить конкретный плагин на предыдущую версию, и плагины резервного копирования с созданием копии перед обновлением. Главное — не превращать управление обновлениями в ещё один слой кода, который тоже нужно обновлять.

WordPress: ошибка обновления и что делать

Обновление может прерваться или завершиться ошибкой. Паниковать не нужно: у большинства ситуаций есть типовое решение.

Сайт завис в режиме обслуживания

На время обновления WordPress создаёт в корне сайта файл .maintenance и показывает посетителям сообщение о временной недоступности. Если обновление прервалось, файл остаётся. Удалите его через FTP или файловый менеджер хостинга, затем проверьте, до конца ли обновился плагин или ядро, и при необходимости повторите обновление.

WordPress: обновление не удалось

Сообщение о неудачном обновлении обычно сопровождается пояснением. Частые причины:

ПричинаПризнакРешение
Нет прав на записьWordPress просит данные FTP или не может создать папкуПроверить владельца и права на файлы
Мало места на дискеОшибка распаковки или копированияОсвободить место, удалить старые копии
Другое обновление уже выполняетсяСообщение о блокировкеПодождать около 15 минут или снять блокировку в базе
Не скачивается пакетОшибка загрузкиПроверить исходящие соединения сервера, повторить позже
Нехватка памяти или времениОбрыв на серединеУвеличить лимиты PHP или обновить через WP-CLI

Блокировка обновления ядра хранится в таблице настроек в параметре core_updater.lock. Если она не снимается сама, её удаляют в базе данных, но только убедившись, что обновление действительно не идёт.

После обновления WordPress белый экран или критическая ошибка

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

Если письма нет, переименуйте через FTP папку проблемного плагина в wp-content/plugins — WordPress его отключит. Если непонятно, какой плагин виноват, переименуйте всю папку plugins, а затем включайте плагины по одному. Чтобы увидеть текст ошибки, включите журнал отладки в wp-config.php:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

Ошибки будут записываться в wp-content/debug.log. После диагностики отладку выключают, а файл журнала удаляют.

После обновления сломалась вёрстка или функция

Если сайт работает, но что-то выглядит или ведёт себя иначе, первым делом очистите все кеши. Затем проверьте, не менялась ли тема: правки в файлах родительской темы стираются обновлением. Если виноват плагин, откатите его на предыдущую версию из резервной копии и сообщите разработчику плагина о проблеме.

Обновление PHP для WordPress

Версия PHP на сервере влияет и на безопасность, и на скорость. Старые версии перестают получать исправления, а новые обычно работают быстрее.

Как узнать текущую версию

В админке WordPress откройте «Инструменты → Здоровье сайта», вкладку с информацией о сайте: в разделе о сервере указана версия PHP. Там же WordPress предупреждает, если версия устарела.

Как подготовиться к смене версии

  1. Сделайте тестовую копию сайта.
  2. Переключите на ней PHP на новую версию в панели хостинга.
  3. Включите журнал ошибок и пройдитесь по всем типам страниц и функциям.
  4. Проверьте журнал на предупреждения об устаревших функциях: сегодня это предупреждение, в следующей версии — фатальная ошибка.
  5. Обновите или замените несовместимые плагины, поправьте код темы.
  6. Только после этого переключите PHP на рабочем сайте.

Если хостинг обновил PHP сам

Если сайт сломался после того, как хостинг сменил версию PHP, временный откат на предыдущую версию в панели может вернуть сайт. Но это отсрочка: код всё равно придётся адаптировать, пока старая версия не отключена окончательно.

Обновление WooCommerce: отдельные правила

Интернет-магазин сложнее обычного сайта: кроме самого WooCommerce в нём работают плагины оплаты, доставки, обмена с учётной системой, а шаблоны магазина часто переопределены в теме.

Обновления базы данных

Крупные версии WooCommerce нередко меняют структуру данных. После обновления плагина в админке появляется уведомление о необходимости обновить базу, и этот процесс идёт в фоне. На магазине с большим количеством заказов он может занять заметное время, поэтому такие обновления планируют на период с минимальной нагрузкой.

Переопределённые шаблоны

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

Интеграции

Плагины оплаты, доставки и обмена с 1С обновляют вместе с WooCommerce и проверяют отдельно: тестовый заказ, оплата в тестовом режиме, выгрузка заказа в учётную систему. Как устроен обмен магазина с 1С и что в нём чаще всего ломается, разобрано в статье об обмене WordPress и WooCommerce с 1С.

Как организовать регулярные обновления

Разовое обновление решает проблему на месяц. Чтобы сайт оставался в порядке, нужен простой регламент.

ЗадачаПериодичность
Проверка доступных обновленийРаз в одну-две недели
Исправления безопасностиСразу после выхода
Крупные версии ядра и WooCommerceПосле проверки на тестовой копии
Проверка раздела «Здоровье сайта»Раз в месяц
Удаление неиспользуемых плагиновРаз в квартал
Проверка совместимости с новой версией PHPРаз в год или при уведомлении хостинга

Регламент стоит записать, даже если сайтом занимается один человек. В нём указывают, кто отвечает за обновления, где лежат резервные копии, как развернуть тестовую копию и какие плагины обновляются только вручную. Тогда при смене подрядчика или сотрудника процесс не начинается с нуля.

Тема и доработки: как не потерять изменения

Дочерняя тема

Все правки шаблонов и стилей делают в дочерней теме. Тогда родительская тема обновляется без потери изменений. Если правки уже внесены в родительскую тему напрямую, перед обновлением их нужно перенести в дочернюю, иначе обновление их сотрёт.

Собственный код

Доработки, не связанные с оформлением, лучше выносить в отдельный небольшой плагин, а не в functions.php темы. Так функциональность не зависит от смены темы и проще переносится.

Правки в чужих плагинах

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

Сценарии из практики

Ситуации собирательные, но типичные.

«Обновить всё» перед распродажей

Владелец магазина на WooCommerce обновил все плагины накануне акции. Новая версия плагина оплаты оказалась несовместима с устаревшей темой, и оформление заказа перестало работать. Откат плагина из резервной копии вернул оплату за полчаса, но заказы за время сбоя были потеряны. Обновления ключевых плагинов безопаснее ставить в спокойный период и после проверки на копии.

Сайт не обновлялся несколько лет

Ядро, тема и плагины отстали на несколько крупных версий, PHP — тоже. Прямое обновление на рабочем сайте привело к десяткам ошибок. Решение — поэтапное обновление на тестовой копии: сначала плагины и ядро на текущем PHP, затем замена заброшенных плагинов, затем переход на новый PHP.

Обновление затёрло доработки темы

Разработчик когда-то внёс правки прямо в файлы купленной темы. Владелец обновил тему, и половина доработок исчезла. Восстановление из резервной копии и перенос правок в дочернюю тему решили проблему навсегда.

На чём опасно экономить

Типичные ошибки

  • Обновления без резервной копии. Если что-то пойдёт не так, откатиться некуда.
  • Обновление всего сразу на рабочем магазине. При поломке непонятно, что виновато.
  • Правки в родительской теме и чужих плагинах. Исчезают при обновлении.
  • Отключённые обновления «чтобы ничего не сломалось». Сайт становится лёгкой добычей для взлома.
  • Плагины без лицензии. Нет обновлений безопасности, высокий риск вредоносного кода.
  • Игнорирование предупреждений о версии PHP. Однажды хостинг сменит версию сам.

Чек-лист обновления

  • Свежая резервная копия файлов и базы, хранящаяся отдельно.
  • Тестовая копия для крупных обновлений и сайтов с продажами.
  • Список ключевых плагинов, которые обновляются только вручную.
  • Правки темы — только в дочерней теме.
  • Проверка после обновления: формы, корзина, оплата, личный кабинет.
  • Контроль журнала ошибок после обновления.
  • Регулярная проверка раздела «Здоровье сайта».
  • Удаление неиспользуемых плагинов и тем.

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

Частые вопросы

Как обновить WordPress до последней версии?

Сделайте резервную копию, откройте «Консоль → Обновления» и нажмите кнопку обновления ядра. Перед этим обновите плагины и убедитесь, что они совместимы с новой версией.

Как часто нужно делать обновление WordPress?

Проверять обновления стоит раз в одну-две недели. Исправления безопасности лучше ставить сразу после выхода, крупные версии — после проверки на тестовой копии.

Что делать, если после обновления WordPress сайт не работает?

Воспользоваться ссылкой из письма режима восстановления или отключить плагины переименованием папки через FTP. Затем включить журнал ошибок и найти виновника.

Почему появляется ошибка обновления WordPress?

Чаще всего из-за прав на файлы, нехватки места на диске, блокировки параллельного обновления или лимитов PHP. Текст ошибки обычно подсказывает причину.

Как откатить обновление плагина WordPress?

Восстановить папку плагина из резервной копии или установить предыдущую версию вручную. Для этого есть и специальные плагины отката, но резервная копия надёжнее.

Можно ли включить автообновление всех плагинов?

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

Как сделать обновление PHP для WordPress без поломок?

Проверить сайт на новой версии PHP на тестовой копии, исправить ошибки и предупреждения в журнале и только после этого переключать версию на рабочем сайте.

Нужно ли обновлять тему, если в ней нет изменений?

Да. Обновления тем закрывают уязвимости и исправляют совместимость с новыми версиями WordPress и плагинов.

Что делать, если плагин больше не обновляется разработчиком?

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

Сколько стоит обслуживание с регулярными обновлениями?

Зависит от числа плагинов и сложности сайта. Поддержка сайта у меня стоит от 2 000 ₽ в час, а для регулярных обновлений обычно хватает небольшого ежемесячного объёма работ.

Итог

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

Отдельного внимания требуют смена версии PHP и доработки темы: первую проверяют на копии, вторые переносят в дочернюю тему или собственный плагин.

Если нужно обновить давно заброшенный сайт, разобраться с ошибкой после обновления или передать обновления на регулярное обслуживание, я как частный разработчик на WordPress и 1С-Битрикс сделаю это с тестовой копией и проверкой всех функций. Работаю напрямую, без посредников — подробности на странице доработки сайта на WordPress.

Что будем искать? Например,Продвижение