seomix.

Я использую этот код в каждом проекте WordPress

Сразу после установки темы я вставляю этот код в файл functions.php. Основная задача — ускорить загрузку админ-панели WordPress.

При каждом входе администраторской панели WordPress по умолчанию:

  • проверяет обновления ядра
  • проверяет обновления плагинов
  • проверяет обновления тем

И ждёт ответов от серверов обновлений. Именно это вызывает подвисания, если сайт давно не открывался через админку.

Добавленный код отключает принудительные проверки обновлений, но:

  • фоновые авто-проверки через Cron сохраняются
  • ручная проверка остаётся доступной на странице Консоль → Обновления

Также удаляется логотип WordPress из админ-бара для более аккуратного интерфейса.


Код для вставки в functions.php


<?php

/**
 * Disable forced checking for new WP, plugins, and theme versions in the admin panel,
 * so that it doesn't slow down when you haven't visited for a long time and then visit...
 * All checks will happen unnoticed through cron or when you visit the "Dashboard > Updates" page.
 *
 * @see https://wp-kama.ru/filecode/wp-includes/update.php
 * @author Kama (https://wp-kama.ru)
 * @version 1.1
 */
if( is_admin() ){
	// disable update checks when entering the admin panel...
	remove_action( 'admin_init', '_maybe_update_core' );
	remove_action( 'admin_init', '_maybe_update_plugins' );
	remove_action( 'admin_init', '_maybe_update_themes' );

	// disable update checks when entering a special page in the admin panel...
	remove_action( 'load-plugins.php', 'wp_update_plugins' );
	remove_action( 'load-themes.php', 'wp_update_themes' );

	// leave forced checking when entering the updates page...
	//remove_action( 'load-update-core.php', 'wp_update_plugins' );
	//remove_action( 'load-update-core.php', 'wp_update_themes' );

	// leave forced checking when entering the "Update/Install Plugin" or "Update/Install Theme" page - it doesn't interfere...
	//remove_action( 'load-update.php', 'wp_update_plugins' );
	//remove_action( 'load-update.php', 'wp_update_themes' );

	// don't touch the cron event, it will be used to check for updates - everything is fine here!
	//remove_action( 'wp_version_check', 'wp_version_check' );
	//remove_action( 'wp_update_plugins', 'wp_update_plugins' );
	//remove_action( 'wp_update_themes', 'wp_update_themes' );

	/**
	 * Disable the need to update the browser in the console - we always use top browsers!
	 * this check happens once a week...
	 * @see https://wp-kama.ru/function/wp_check_browser_version
	 */
	add_filter( 'pre_site_transient_browser_' . md5( $_SERVER['HTTP_USER_AGENT'] ?? '' ), '__return_empty_array' ); // phpcs:ignore WordPress.Security
}

/**
 * Remove WordPress logo from admin bar
 */
function seomix_remove_admin_bar_wp_logo() {
    global $wp_admin_bar;
    $wp_admin_bar->remove_menu('wp-logo');
}
add_action('wp_before_admin_bar_render', 'seomix_remove_admin_bar_wp_logo', 0);

Пояснение ко всем закомментированным строкам

Эти строки оставлены в коде специально — они позволяют гибко управлять обновлениями WordPress. При необходимости их можно раскомментировать и изменить поведение системы проверки обновлений.


//remove_action( 'load-update-core.php', 'wp_update_plugins' );
//remove_action( 'load-update-core.php', 'wp_update_themes' );

Если раскомментировать — отключается принудительная проверка обновлений на странице «Консоль → Обновления». Проверка будет происходить только в фоновом режиме через Cron.


//remove_action( 'load-update.php', 'wp_update_plugins' );
//remove_action( 'load-update.php', 'wp_update_themes' );

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


//remove_action( 'wp_version_check', 'wp_version_check' );
//remove_action( 'wp_update_plugins', 'wp_update_plugins' );
//remove_action( 'wp_update_themes', 'wp_update_themes' );

Если раскомментировать — полностью отключаются фоновые проверки обновлений, включая Cron. Обновления ядра, тем и плагинов перестанут поступать — это создаёт риск безопасности.

Результат применения

ПреимуществоЗначение
Более быстрый вход в админ-панельНет задержек ожидания обновлений
Снижение нагрузки на серверМеньше внешних запросов
Обновления продолжают работатьCron + ручная проверка
Аккуратный интерфейсУбран WordPress-логотип