Настройка 9 мин чтения

Как обновить WordPress: автоматически и вручную

Пошаговая инструкция: как обновить WordPress из консоли, вручную через FTP и через WP-CLI, как отключить автоматические обновления и что делать, если сайт завис на «Сайт временно закрыт на обслуживание».

Обновления WordPress закрывают уязвимости, исправляют ошибки и сохраняют совместимость с новыми версиями PHP. Обновить вордпресс можно тремя способами: из админки в один клик, вручную через FTP и командой WP-CLI. Ниже разобраны все три, а также управление автообновлениями и типичные проблемы.

Что обновляется в WordPress

На сайте есть три независимых типа обновлений:

  • Ядро — сам WordPress (файлы wp-admin, wp-includes и корневые файлы).
  • Плагины — каждый обновляется отдельно.
  • Темы — активная и неактивные.

Мелкие (минорные, безопасные) релизы ядра WordPress ставит сам. Крупные версии по умолчанию устанавливаются только после вашего подтверждения.

Подготовка: бэкап и порядок обновления

Любое обновление может конфликтовать с темой или плагином, поэтому сначала страховка.

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

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

Способ 1. Обновление из консоли

  1. Войдите в админку и откройте Консоль → Обновления.
  2. Если вышла новая версия, вверху будет кнопка Обновить до версии…. Нажмите её и дождитесь окончания. Не закрывайте вкладку.
  3. Ниже на той же странице отметьте нужные плагины и темы и нажмите Обновить плагины или Обновить темы.
  4. Если WordPress предложит обновить базу данных, нажмите кнопку подтверждения и дождитесь завершения.

Обновить отдельный плагин можно и в разделе Плагины → Установленные: рядом с плагином появится ссылка «обновить версию».

Если вместо обновления запрашиваются данные FTP, значит, у веб-сервера нет прав на запись в каталог сайта. Это нужно решать на уровне хостинга (владелец файлов и права доступа), либо обновлять вручную.

Способ 2. Ручное обновление через FTP

Ручной способ нужен, когда автоматическое обновление не проходит или нет доступа к админке.

  1. Скачайте свежий архив WordPress с официального сайта ru.wordpress.org и распакуйте его на компьютере.
  2. Сделайте бэкап файлов и базы.
  3. Подключитесь к сайту по FTP или SFTP или откройте файловый менеджер хостинга.
  4. Удалите на сервере папки wp-admin и wp-includes и загрузите на их место такие же папки из нового архива.
  5. Загрузите файлы из корня архива поверх старых (index.php, wp-login.php, wp-settings.php и остальные wp-*.php) с заменой.
  6. Откройте ваш-сайт/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 и показывает посетителям сообщение «Сайт временно закрыт на обслуживание». Если процесс прервался (закрыли вкладку, оборвалось соединение, закончилось время выполнения скрипта), файл остаётся и сайт «зависает» в этом режиме.

Что делать:

  1. Подключитесь по FTP или через файловый менеджер хостинга.
  2. В корневой папке сайта найдите файл .maintenance. Он начинается с точки и может быть скрыт, включите показ скрытых файлов.
  3. Удалите его.
  4. Обновите страницу сайта и вернитесь в Консоль → Обновления, чтобы повторить прерванное обновление.

Если обновление сломало сайт

  1. Белый экран или критическая ошибка. Включите отладку в wp-config.php: define( 'WP_DEBUG', true ); и define( 'WP_DEBUG_LOG', true );. Причина будет записана в wp-content/debug.log.
  2. Не открывается админка. Переименуйте папку wp-content/plugins в plugins-off, чтобы отключить все плагины, затем верните имя и включайте плагины по одному. Если виновата тема, переименуйте папку активной темы: WordPress переключится на стандартную.
  3. Плагин или тема несовместимы с новой версией. Откатите именно его: скачайте предыдущую версию, распакуйте поверх через FTP либо восстановите из бэкапа.
  4. Ничего не помогает. Восстановите сайт из резервной копии, сделанной перед обновлением, и обновляйтесь по одному компоненту на тестовой копии.

Также проверьте версию PHP: новые версии WordPress и плагинов могут требовать более свежего PHP, а старые плагины — наоборот, не работать на новом.

Если не получилось

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

Оставить заявку

Опишите, что нужно сделать, — ответим в течение рабочего дня и назовём сроки и стоимость.