Обновления WordPress закрывают уязвимости, исправляют ошибки и сохраняют совместимость с новыми версиями PHP. Обновить вордпресс можно тремя способами: из админки в один клик, вручную через FTP и командой WP-CLI. Ниже разобраны все три, а также управление автообновлениями и типичные проблемы.
Что обновляется в WordPress
На сайте есть три независимых типа обновлений:
- Ядро — сам WordPress (файлы
wp-admin,wp-includesи корневые файлы). - Плагины — каждый обновляется отдельно.
- Темы — активная и неактивные.
Мелкие (минорные, безопасные) релизы ядра WordPress ставит сам. Крупные версии по умолчанию устанавливаются только после вашего подтверждения.
Подготовка: бэкап и порядок обновления
Любое обновление может конфликтовать с темой или плагином, поэтому сначала страховка.
- Сделайте резервную копию файлов и базы данных. Это можно сделать через панель хостинга или плагином, подходящие варианты собраны в каталоге: плагины для бэкапа и переноса.
- Проверьте, что копия скачивается и содержит и файлы, и дамп базы.
- Обновляйте в таком порядке: плагины → темы → ядро. Так вы быстрее поймёте, что именно вызвало проблему, если она возникнет.
- После каждого шага открывайте главную страницу и пару внутренних страниц сайта.
Если сайт интернет-магазин, обновляйте в период минимальных заказов и по возможности сначала проверьте обновление на тестовой копии.
Способ 1. Обновление из консоли
- Войдите в админку и откройте Консоль → Обновления.
- Если вышла новая версия, вверху будет кнопка Обновить до версии…. Нажмите её и дождитесь окончания. Не закрывайте вкладку.
- Ниже на той же странице отметьте нужные плагины и темы и нажмите Обновить плагины или Обновить темы.
- Если WordPress предложит обновить базу данных, нажмите кнопку подтверждения и дождитесь завершения.
Обновить отдельный плагин можно и в разделе Плагины → Установленные: рядом с плагином появится ссылка «обновить версию».
Если вместо обновления запрашиваются данные FTP, значит, у веб-сервера нет прав на запись в каталог сайта. Это нужно решать на уровне хостинга (владелец файлов и права доступа), либо обновлять вручную.
Способ 2. Ручное обновление через FTP
Ручной способ нужен, когда автоматическое обновление не проходит или нет доступа к админке.
- Скачайте свежий архив WordPress с официального сайта ru.wordpress.org и распакуйте его на компьютере.
- Сделайте бэкап файлов и базы.
- Подключитесь к сайту по FTP или SFTP или откройте файловый менеджер хостинга.
- Удалите на сервере папки
wp-adminиwp-includesи загрузите на их место такие же папки из нового архива. - Загрузите файлы из корня архива поверх старых (
index.php,wp-login.php,wp-settings.phpи остальныеwp-*.php) с заменой. - Откройте
ваш-сайт/wp-admin/. Если нужно обновить базу, WordPress предложит это сам.
Что не нужно трогать:
- папку
wp-contentцеликом (в ней ваши темы, плагины и загруженные файлы). Если хотите обновить встроенные темы, заменяйте только их подпапки, а не всю папку; - файл
wp-config.php— в нём настройки подключения к базе. В архиве его нет, есть толькоwp-config-sample.php; - файлы
.htaccessиrobots.txt, если вы их правили.
Не заливайте новую версию «поверх» без удаления wp-admin и wp-includes: старые файлы, которых нет в новой версии, останутся на сервере и могут вызывать ошибки.
Способ 3. WP-CLI
Если у вас есть SSH-доступ и установлен WP-CLI, обновление занимает пару команд. Выполняйте их из корневой папки сайта.
# Дамп базы перед обновлением
wp db export backup-before-update.sql
# Текущая версия и доступные обновления
wp core version
wp core check-update
# Обновление плагинов и тем
wp plugin update --all
wp theme update --all
# Обновление ядра и базы данных
wp core update
wp core update-db
Чтобы обновить только один плагин, укажите его имя: wp plugin update имя-плагина.
Управление автообновлениями
Автообновление ядра
По умолчанию WordPress сам ставит минорные версии. Поведение задаётся константой WP_AUTO_UPDATE_CORE в wp-config.php (добавляйте её выше строки «That’s all, stop editing!»):
// Только минорные обновления (поведение по умолчанию)
define( 'WP_AUTO_UPDATE_CORE', 'minor' );
// Все обновления, включая крупные версии
define( 'WP_AUTO_UPDATE_CORE', true );
// Полностью отключить автообновление ядра
define( 'WP_AUTO_UPDATE_CORE', false );
Чтобы отключить автоматическое обновление WordPress целиком, включая плагины и темы, можно использовать константу:
define( 'AUTOMATIC_UPDATER_DISABLED', true );
Отключать обновления на постоянной основе небезопасно: без них сайт остаётся с известными уязвимостями. Разумнее отключить автообновление и обновляться вручную раз в одну-две недели после бэкапа.
Автообновление плагинов и тем
В списке Плагины → Установленные у каждого плагина есть ссылки Включить автообновления и Отключить автообновления. Аналогично для тем: Внешний вид → Темы, карточка темы. Массово это делается через выпадающий список «Действия».
Через код (например, в functions.php дочерней темы или в небольшом плагине):
// Включить автообновление всех плагинов
add_filter( 'auto_update_plugin', '__return_true' );
// Выключить автообновление всех плагинов
add_filter( 'auto_update_plugin', '__return_false' );
// То же для тем
add_filter( 'auto_update_theme', '__return_false' );
«Сайт временно закрыт на обслуживание»
Во время обновления WordPress создаёт в корне сайта файл .maintenance и показывает посетителям сообщение «Сайт временно закрыт на обслуживание». Если процесс прервался (закрыли вкладку, оборвалось соединение, закончилось время выполнения скрипта), файл остаётся и сайт «зависает» в этом режиме.
Что делать:
- Подключитесь по FTP или через файловый менеджер хостинга.
- В корневой папке сайта найдите файл
.maintenance. Он начинается с точки и может быть скрыт, включите показ скрытых файлов. - Удалите его.
- Обновите страницу сайта и вернитесь в Консоль → Обновления, чтобы повторить прерванное обновление.
Если обновление сломало сайт
- Белый экран или критическая ошибка. Включите отладку в
wp-config.php:define( 'WP_DEBUG', true );иdefine( 'WP_DEBUG_LOG', true );. Причина будет записана вwp-content/debug.log. - Не открывается админка. Переименуйте папку
wp-content/pluginsвplugins-off, чтобы отключить все плагины, затем верните имя и включайте плагины по одному. Если виновата тема, переименуйте папку активной темы: WordPress переключится на стандартную. - Плагин или тема несовместимы с новой версией. Откатите именно его: скачайте предыдущую версию, распакуйте поверх через FTP либо восстановите из бэкапа.
- Ничего не помогает. Восстановите сайт из резервной копии, сделанной перед обновлением, и обновляйтесь по одному компоненту на тестовой копии.
Также проверьте версию PHP: новые версии WordPress и плагинов могут требовать более свежего PHP, а старые плагины — наоборот, не работать на новом.
Если не получилось
Если после обновления сайт не открывается, пропали данные или обновления постоянно падают с ошибками, напишите нам: поможем разобраться и вернуть сайт в рабочее состояние. Подробнее об услуге: техническая поддержка WordPress.