WordPress не обновляется: как найти причину и безопасно обновить сайт

Что делать, если WordPress не обновляется: проверяем ошибку обновления, права на файлы, настройки wp-config.php, зависший режим обслуживания и безопасное ручное обновление.

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

Проблемы выглядят по-разному:

  • новая версия WordPress не появляется в панели;
  • после нажатия «Обновить» загрузка завершается ошибкой;
  • WordPress просит FTP-доступ;
  • появляется Installation Failed;
  • сайт остаётся в режиме технического обслуживания;
  • обновление вроде прошло, но WordPress сообщает, что оно не завершено.

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

Перед началом сделайте резервную копию

Перед обновлением ядра сохраните как минимум:

  • базу данных;
  • файлы сайта;
  • wp-config.php;
  • каталог wp-content;
  • .htaccess, если он используется.

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

↑ К оглавлению

Сначала посмотрите, какая именно ошибка появляется

Откройте в административной панели:

Консоль → Обновления

и повторите обновление.

Важно не просто увидеть сообщение «обновление не удалось», а сохранить полный текст ошибки.

Например:

  • Download failed;
  • ошибка соединения;
  • запрос FTP-данных;
  • ошибка записи файла;
  • Installation Failed;
  • сообщение о незавершённом автоматическом обновлении.

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

↑ К оглавлению

WordPress не может записать новые файлы

Для обновления ядра WordPress должен иметь возможность заменить собственные файлы.

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

Это не означает, что нужно ставить права 777.

На сервере необходимо проверить:

  • кому принадлежат файлы сайта;
  • от какого пользователя работает PHP;
  • может ли этот пользователь изменять необходимые файлы;
  • не изменился ли владелец файлов после переноса сайта или ручной загрузки.

WordPress отдельно предупреждает, что схема прав зависит от конфигурации сервера. Для типовой установки часто встречаются 755 для каталогов и 644 для файлов, но без понимания владельцев файлов слепо применять эти значения ко всему сайту не стоит.

↑ К оглавлению

Проверьте wp-config.php

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

В wp-config.php стоит проверить, нет ли, например:

define( 'AUTOMATIC_UPDATER_DISABLED', true );

Эта настройка отключает автоматический механизм обновлений.

Также на поведение обновления ядра влияет:

define( 'WP_AUTO_UPDATE_CORE', false );

Она может отключить автоматические обновления ядра.

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

↑ К оглавлению

Проверьте доступ WordPress к внешним серверам

WordPress должен получить пакет обновления с внешнего сервера.

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

  • проблемы DNS;
  • исходящие соединения ограничены;
  • сервер временно не имеет доступа в интернет;
  • firewall блокирует соединение;
  • в wp-config.php ограничены внешние HTTP-запросы.

Например, настройка:

define( 'WP_HTTP_BLOCK_EXTERNAL', true );

ограничивает внешние запросы WordPress. При её использовании разрешённые адреса должны быть явно указаны через WP_ACCESSIBLE_HOSTS.

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

↑ К оглавлению

Проверьте свободное место на сервере

Для обновления недостаточно места только под новый архив.

WordPress нужно:

  1. скачать пакет;
  2. распаковать его;
  3. создать и заменить файлы.

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

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

Если диск заполнен, сначала освободите место и только затем запускайте обновление снова.

↑ К оглавлению

Сайт завис на «Выполняется техническое обслуживание»

Во время обновления WordPress создаёт в корне сайта файл:

.maintenance

После нормального завершения обновления он удаляется автоматически.

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

В таком случае:

  1. подключитесь к файлам сайта через панель хостинга, FTP или SSH;
  2. найдите .maintenance в корневой папке WordPress;
  3. удалите его;
  4. откройте сайт;
  5. проверьте состояние обновления ещё раз.

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

↑ К оглавлению

WordPress просит FTP-данные

Если при обновлении появляется окно Connection Information, WordPress не смог безопасно использовать прямой доступ к файловой системе.

Частая ошибка в такой ситуации — сразу добавлять:

define( 'FS_METHOD', 'direct' );

Это не универсальное решение.

Официальная документация WordPress рекомендует менять FS_METHOD только при реальных проблемах с обновлением и только если понятно, какой способ доступа требуется конкретному серверу. Если изменение не помогает, его следует убрать.

Сначала правильнее разобраться с владельцем файлов и конфигурацией PHP.

↑ К оглавлению

Если автоматическое обновление всё равно не работает

WordPress поддерживает ручное обновление.

Перед ним обязательно сделайте резервную копию.

Общий порядок такой:

  1. скачайте актуальный пакет WordPress;
  2. распакуйте его;
  3. отключите плагины;
  4. замените каталоги wp-admin и wp-includes файлами из нового пакета;
  5. загрузите новые файлы ядра в корень сайта;
  6. не удаляйте собственный wp-config.php;
  7. не удаляйте каталог wp-content с темами, плагинами и загрузками;
  8. откройте /wp-admin/;
  9. если WordPress предложит обновить базу данных — выполните обновление;
  10. включите плагины обратно;
  11. очистите кеш.

Это штатный способ восстановления после неудачного автоматического обновления, описанный в документации WordPress.

↑ К оглавлению

Чего не стоит делать

Если WordPress не обновляется, не начинайте с радикальных действий.

Не стоит:

  • устанавливать 777 на файлы и папки;
  • удалять wp-content;
  • заменять свой wp-config.php файлом из нового дистрибутива;
  • менять FS_METHOD наугад;
  • отключать защиту сервера без понимания причины;
  • повторять обновление много раз подряд, не посмотрев ошибку;
  • восстанавливать весь сайт из резервной копии, если проблема только в незавершённом обновлении.

Сначала нужно определить причину, затем исправить именно её.

↑ К оглавлению

Короткий порядок диагностики

Если WordPress не обновляется, я проверяю проблему в таком порядке:

  1. фиксирую точный текст ошибки;
  2. проверяю свободное место;
  3. проверяю владельца и права файлов;
  4. смотрю настройки обновлений в wp-config.php;
  5. проверяю доступ сервера к внешним ресурсам;
  6. проверяю, не остался ли .maintenance;
  7. повторяю обновление;
  8. если автоматический способ не работает — выполняю безопасное ручное обновление;
  9. после обновления проверяю сайт, административную панель и основные функции.

Так намного безопаснее, чем менять сразу несколько настроек и потом пытаться понять, какое изменение помогло.

↑ К оглавлению

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

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

Причиной могут быть отключённые автоматические обновления, проблемы с доступом к файлам, ограничение внешних соединений или настройки сервера. Сначала нужно проверить точное сообщение об ошибке и wp-config.php.

Почему WordPress при обновлении просит FTP?

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

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

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

Можно ли обновить WordPress вручную?

Да. WordPress официально поддерживает ручное обновление. Перед этим нужно сделать резервную копию и правильно заменить только файлы ядра, сохранив wp-config.php, пользовательский контент, темы, плагины и загрузки.

↑ К оглавлению

Нужна помощь с WordPress?

Мы можем провести диагностику и исправление WordPress: найти причину, восстановить обновление и проверить, что именно вызвало сбой.

↑ К оглавлению