Disable Aggressive Updates — отключение агрессивных обновлений WordPress
Предлагаю вашему вниманию плагин Disable Aggressive Updates под WordPress для ускорения админки путём отключения агрессивных проверок обновлений.
Это, на мой взгляд, обязательная фитча для всех сайтов на WordPress, как принято говорить — маст хэв. Почему? Потому что проверка обновлений должна идти фоном и никак иначе, за очень редким исключением! Но давайте разберемся что к чему…
Причина тормозов в админке
Думаю, каждый, кто более-менее связан с WordPress замечал периодические тормоза при заходе на любую страницу админки: в консоль админки, на страницу плагинов или тем (здесь особенно!).
Эти тормоза встречаются периодически: то медленно, то быстро… Происходит так из-за проверок WordPress о новых версиях: ядра, плагинов, тем и переводов…
Дело в том, что для проверки новых версий при генерации страницы PHP отправляет HTTP запрос, а точнее 3 запроса: ядро, темы, плагины…
Если есть платные плагины, то на каждый плагин, обычно, еще один свой запрос…
При HTTP запросе в PHP генерация страницы зависает пока каждый запрос не получит результат, а на каждый запрос уходит в среднем 0,5 — 1 секунд. Вот и получается, что страница виснет на 3-4 секунды.
Частота этих проверок на разных страницах админки такая:
- На странице
Консоль > Обновления
— раз в минуту. - На странице
Плагины или Внешний вид > Темы
— раз в час. - На любой странице в админке — раз в 12 часов (два раза в день).
Кроме того, эти проверки срабатывают во время события admin_init
, а значит при AJAX запросах. Несмотря на то, что это происходит раз в пол дня, все же неприятно, когда кто-то будет ловить AJAX запрос с задержкой в 3 секунды…
Кроме того, такое поведение для AJAX запросов работает и во фронтэнде, а это уже прям совсем не хорошо…
Где скачать
Актуальную версию плагина Disable Aggressive Updates вы всегда можете скачать с моего GitHub репозитория.
Если плагин будет интересен — можно будет разместить его в официальном репозитории WordPress.org.
Copyright
Оригинальная идея принадлежит WordPress как на ладони.
Спасибо, за ваш плагин! Входит в мой обязательный стак при установке WP)
Надеюсь и в репе его увидеть)
Спасибо за добрые слова. Если к нему будет интерес — обязательно размещу в официальном репозитории.
admin_init не затрагивает юзеров. Это хук админ-панели.
Не понял сути вашего комментария.
Спасибо. Тоже добавил в обязательные плагины.
Пользуйтесь 🙂
Огромное спасибо!
Пожалуйста!
Здравствуйте.
1) Уточните пожалуйста чем отличается от аналогичных плагинов?
Аналоги:
Webcraftic Updates Manager
Easy Updates Manager
Disable All WordPress Updates
Данные плагины полностью отключают обновления. Правильно ли я понимаю, что ваш плагин не отключает кроновые обновления — именно в этом и разница?
2) «…для AJAX запросов работает и во фронтэнде» — можно подробнее?
3) Получается при установки плагина будут запрошены новые версии плагинов но уже по крону? Т.е. что бы увидеть обновления нужно будет подождать выполнения крона, или обновить страницу (например, плагины)?
4) Плагин чем-то отличается от кода указанного на странице «Оригинальная идея принадлежит WordPress как на ладони.» ??
5) Ваш плагин не отключает критические автообновления CMS?
6) Планируется ли сделать страницу настроек плагина?
В WordPress 4.9.12 вкладка ОБНОВЛЕНИЕ выглядит /wp-admin/update-core.php
Почему же тогда у вас load-update-core.php ?
Откуда также ссылки в коде:
load-plugins.php
load-themes.php
load-update-core.php
load-update-core.php
load-update.php
load-update.php
Подскажите пожалуйста где увидеть такие страницы в админке?
Верно ли указаны страницы, возможно они устарели в коде?
Это не ссылки на файлы, это название хуков. Смотрите, например, исходный файл
wp-includes/update.php
.