Как отключить автообновления ядра WordPress и не остаться без патчей

Как отключить автообновления ядра WordPress и не остаться без патчей

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

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

Фоновые автообновления появились ещё в WordPress 3.7. Ядро обновляется трёх видов: версии для разработки, минорные выпуски с исправлениями и безопасностью, например 7.1.2 на 7.1.3, и мажорные, например 7.0 на 7.1. До WordPress 5.6 сайты по умолчанию получали только минорные обновления и переводы. С 5.6 новые установки получают и минорные, и мажорные, а старые сайты сохранили прежнее поведение, пока администратор не включит мажорные сам.

Посмотреть и переключить режим можно в админке на странице «Консоль», раздел «Обновления»: там видно, обновляется ли сайт автоматически только до исправлений или до всех новых версий. Но если в wp-config.php задана константа, она перекрывает эту настройку.

Через wp-config.php

Самый прямой способ это константа WP_AUTO_UPDATE_CORE. Её пишут в wp-config.php в корне сайта, выше строки /* That’s all, stop editing! */:

define( 'WP_AUTO_UPDATE_CORE', false );
  • false выключает все автообновления ядра, включая исправления безопасности.
  • ‘minor’ оставляет только минорные выпуски с исправлениями, а мажорные отключает. Для большинства сайтов это лучший компромисс.
  • true включает все автообновления ядра, мажорные тоже.

Есть и более жёсткий вариант, define( ‘AUTOMATIC_UPDATER_DISABLED’, true ). Он выключает вообще все фоновые обновления: ядро, плагины, темы и переводы. В документации прямо написано, что делать так настоятельно не рекомендуется.

Файл правят по SSH, SFTP или через файловый менеджер хостинга. Перезапускать PHP не нужно, новые правила работают со следующего запроса.

Через фильтры в mu-плагине

Если нужен тонкий контроль, например запретить только мажорные обновления, используют фильтры. Документация советует класть их в must-use плагин, файл в wp-content/mu-plugins/, а не в wp-config.php, где WordPress ещё не загружен и могут быть конфликты, например с WP-CLI:

<?php
// wp-content/mu-plugins/core-updates.php
add_filter( 'allow_major_auto_core_updates', '__return_false' );
add_filter( 'allow_minor_auto_core_updates', '__return_true' );

Через плагин Easy Updates Manager

Если в код лезть не хочется, подойдёт Easy Updates Manager от команды UpdraftPlus. У плагина больше 300 000 установок, он совместим с WordPress 7.1.3 и регулярно обновляется. В его настройках автообновления ядра, плагинов, тем и переводов включаются и выключаются отдельно.

Плагин удобен, но это ещё одна зависимость на сайте. На рабочем сайте константа в wp-config.php обычно проще и понятнее.

Как обновлять вручную после отключения

  • Регулярно заходите в «Консоль», раздел «Обновления», или проверяйте из консоли: wp core check-update.
  • Перед мажорным обновлением делайте бэкап файлов и базы и проверяйте, совместимы ли тема и плагины.
  • По возможности сначала обновляйте тестовую копию, потом рабочий сайт.
  • Через WP-CLI удобно ставить только исправления: wp core update --minor.
wp core check-update
wp core update --minor
wp core update-db

Чем рискуете

Выключенные автообновления без привычки обновляться руками означают, что публичный сайт месяцами живёт с известными уязвимостями. Если совсем без контроля нельзя, оставьте хотя бы ‘minor’: исправления безопасности приходят сами, а мажорные версии вы ставите после проверки.

Если следить за обновлениями некому, могу взять это на себя. По прайс-листу «Техническая поддержка» WordPress стоит от 20 000 ₽ в месяц: обновления, бэкапы, безопасность, мелкие правки и контроль ошибок.

В итоге автообновления ядра выключаются одной строкой define( ‘WP_AUTO_UPDATE_CORE’, false ) в wp-config.php, а лучший вариант для большинства сайтов это ‘minor’. Фильтры дают тонкую настройку, Easy Updates Manager делает то же из админки. Но выключать стоит только тогда, когда есть понятный ручной процесс обновлений.

Источники и ссылки


Комментарии загружаются…