Пошаговое руководство для новичков по оптимизации сайта: Ускорение админки wordpress для снижения нагрузки на сервер и быстрой работы вашего проекта.
Оптимизация WordPress считается необходимой для каждого серьезного интернет-проекта. Всё дело в том, что из коробки CMS имеет огромный потенциал для расширения и подключения всевозможного функционала, однако, в 90% случаев абсолютное большинство функций для стандартного сайта не нужны, они просто создают дополнительную нагрузку на процессор и оперативную память сервера или VPS.
Статья целиком и полностью посвящена оптимизации работы сайта на CMS WordPress и разбита на 4 логических части.
- Первая часть — общие советы по оптимизация WordPress с помощью плагинов.
- Вторая часть — редактирование файлов темы и CMS с целью отключения ненужных функций.
- Третья — обзор самых популярных плагинов оптимизации.
- Четвертая — Какие функции можно отключить для снижения нагрузки на сервер.
Общие правила оптимизации и плагины
- Обновляйте WordPress и плагины: Убедитесь, что WordPress и все установленные на нем плагины обновлены до последней версии. Это поможет улучшить производительность и безопасность сайта.
- Отключайте ненужные плагины: Если у вас установлено много плагинов, которые вы не используете, отключите их. Каждый плагин может добавлять нагрузку на сервер, даже если вы не используете его.
- Используйте кэш: Установите кэширование, чтобы уменьшить количество запросов к базе данных и ускорить загрузку страниц админки. Вы можете использовать встроенный кэш WordPress или установить плагин кэширования, например, WP Super Cache
- Объектное кэширование в Redis. Redis — компонент сервера, который загружает некоторые кэшированные данные непосредственно в оперативную память для молниеносной отдачи. Подробнее о настройке Redis.
- Оптимизируйте базу данных: Регулярно оптимизируйте базу данных WordPress. Вы можете использовать плагин, например, WP-Optimize для удаления ненужных записей и оптимизации таблиц базы данных.
- Уменьшайте размер изображений: Изображения могут замедлять загрузку страниц админки. Используйте оптимизаторы изображений, например, TinyPNG или WP Smush, чтобы уменьшить их размер без потери качества. Для WP существует хороший плагин оптимизации изображений — Robin image optimizer.
- Ограничьте количество ревизий: WordPress сохраняет множество ревизий записей и страниц, что может замедлять загрузку админки. Ограничьте количество ревизий, установив в файл wp-config.php следующую строку:
define('WP_POST_REVISIONS', 3);
- Используйте CDN: Использование CDN (сети доставки контента) может ускорить загрузку админки и снизить нагрузку на сервер. Вы можете использовать бесплатные CDN, такие как Cloudflare или Jetpack.
- Отключайте Heartbeat API: Heartbeat API — это функция WordPress, которая позволяет серверу общаться с браузером и контролировать изменения. Она может добавлять нагрузку на сервер, особенно если вы открыли несколько страниц админки. Чтобы отключить Heartbeat API, установите плагин Heartbeat Control.
Редактирование файлов WordPress

Для уменьшения нагрузки на сервер можно отключить ненужные функции в файле functions.php темы WordPress. Вот несколько советов по редактированию файлов темы для оптимизации работы WordPress:
- Удалите ненужные стили и скрипты: Многие темы WordPress загружают ненужные стили и скрипты, которые могут замедлять загрузку страниц. Отключите их, удалив соответствующий код из файла functions.php.
- Используйте ленивую загрузку: Ленивая загрузка позволяет загружать изображения только тогда, когда пользователь пролистал до них. Это уменьшает количество запросов к серверу и ускоряет загрузку страниц. Вы можете использовать плагины для ленивой загрузки, например, Lazy Load или WP Deferred JavaScripts.
- Отключите Emoji: WordPress по умолчанию загружает скрипты и стили для Emoji, что может замедлять загрузку страниц. Вы можете отключить Emoji, добавив в файл functions.php следующий код:
remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
remove_action( 'wp_print_styles', 'print_emoji_styles' );
- Отключите Embeds: Embeds — это функция WordPress, которая позволяет вставлять контент из других сайтов. Она может добавлять нагрузку на сервер. Вы можете отключить Embeds, добавив в файл functions.php вашей темы следующий код:
function disable_embeds_init() {
/* @var WP $wp */
global $wp;
// Remove the REST API endpoint.
remove_action( 'rest_api_init', 'wp_oembed_register_route' );
// Turn off oEmbed auto discovery.
add_filter( 'embed_oembed_discover', '__return_false' );
// Don't filter oEmbed results.
remove_filter( 'oembed_dataparse', 'wp_filter_oembed_result', 10 );
// Remove oEmbed discovery links.
remove_action( 'wp_head', 'wp_oembed_add_discovery_links' );
// Remove oEmbed-specific JavaScript from the front-end and back-end.
remove_action( 'wp_head', 'wp_oembed_add_host_js' );
add_filter( 'tiny_mce_plugins', 'disable_embeds_tiny_mce_plugin' );
// Remove query arguments from oEmbed URLs.
add_filter( 'rewrite_rules_array', 'disable_embeds_rewrites' );
}
add_action( 'init', 'disable_embeds_init', 9999 );
- Отключите REST API: REST API — это функция WordPress, которая позволяет обращаться к содержимому сайта через API. Она может добавлять нагрузку на сервер. Вы можете отключить REST API, добавив в файл functions.php следующий код:
// Disable REST API
add_filter( 'rest_enabled', '__return_false' );
add_filter( 'rest_jsonp_enabled', '__return_false' );
// Remove REST API links from header
remove_action( 'wp_head', '
Выбирайте оптимизированные темы
Выбор темы для максимально быстрой работы сайта зависит от многих факторов, в том числе от того, какие функции и дизайн нужны для вашего сайта. Рекомендуем посмотреть профессионально оптимизированные темы и плагины на сайте wp-shop.ru Однако, в целом, есть несколько критериев при выборе тем, которые могут помочь ускорить работу вашего сайта:
- Простые и легкие темы: Простые темы с минимальным количеством функций и дизайна обычно работают быстрее, чем более сложные темы. Такие темы, как Twenty Twenty-One, GeneratePress, Astra или Neve, могут быть хорошим выбором для тех, кто ищет быструю тему.
- Оптимизированные темы: Некоторые темы специально разработаны для оптимизации работы сайта. Например, тема Schema от MyThemeShop, которая оптимизирована для SEO и скорости загрузки.
- AMP темы: Темы, поддерживающие технологию AMP (Accelerated Mobile Pages), могут значительно ускорить загрузку страниц на мобильных устройствах. Такие темы, как AMP for WP или Publisher, могут быть хорошим выбором для блогов и новостных сайтов.
- Темы, использующие кэширование: Темы, которые используют кэширование, могут помочь ускорить загрузку страниц. Например, тема WP Fastest Cache может кэшировать содержимое сайта, чтобы ускорить загрузку.
- Темы, оптимизированные для конкретных CMS: Некоторые темы разработаны специально для определенных CMS, таких как WordPress, Joomla или Drupal. Такие темы могут быть более оптимизированы для работы с конкретной CMS и работать быстрее.
Кроме выбора быстрой темы, важно также следить за оптимизацией изображений, минимизацией CSS и JavaScript файлов, использованием кэширования и другими методами оптимизации для максимально быстрой работы сайта.
Популярные плагины оптимизации

Про полезные и необходимые плагины для WordPress я писал отдельную статью. А сейчас рассмотрим основные плагины с целью оптимизации работы WordPress и снижения нагрузки сайта на сервер.
- WP Rocket – это один из самых популярных и полезных плагинов кэширования для WordPress. Он ускоряет время загрузки страниц сайта, используя кэширование, сжатие файлов и другие методы оптимизации.
- Autoptimize – это бесплатный плагин, который помогает оптимизировать CSS, JavaScript и HTML файлы вашего сайта. Он может сжимать и минимизировать файлы, объединять их в один файл и устанавливать кэширование.
- Smush – это плагин оптимизации изображений для WordPress. Он автоматически оптимизирует изображения на вашем сайте, уменьшая размер файлов и ускоряя загрузку страниц.
- WP-Optimize – это плагин для оптимизации базы данных WordPress. Он удаляет ненужные данные, которые могут замедлять работу вашего сайта, такие как старые ревизии, неиспользуемые таблицы и т.д.
- Lazy Load – это бесплатный плагин, который позволяет загружать изображения только тогда, когда они становятся видимыми на странице. Это помогает сократить время загрузки страниц и уменьшить нагрузку на сервер.
- WP Super Minify – это плагин, который объединяет, сжимает и минимизирует CSS, JavaScript и HTML файлы вашего сайта, чтобы ускорить его загрузку.
- Cloudflare – это бесплатный CDN (сеть доставки контента), который ускоряет загрузку вашего сайта за счет кэширования содержимого и распределения его по всему миру. Cloudflare также предоставляет защиту от DDoS-атак и других угроз.
Каждый из этих плагинов имеет свои преимущества и может помочь ускорить загрузку вашего сайта. Однако, перед установкой плагина, всегда проверяйте его рейтинг и отзывы других пользователей, чтобы убедиться в его надежности и безопасности.
Что можно отключить в functions.php

Еще несколько примеров функций, которые можно отключить в functions.php с целью ускорения админки WordPress, однако перед этим обязательно выполните резервное копирование сайта на случай возникновения ошибок. Проверяйте работоспособность сайта после каждого внесенного изменения в funstions.php.
- Emoji:
remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
remove_action( 'wp_print_styles', 'print_emoji_styles' );
remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );
remove_action( 'admin_print_styles', 'print_emoji_styles' );
- Embeds:
function disable_embeds_code_init() {
// Remove the REST API endpoint.
remove_action('rest_api_init', 'wp_oembed_register_route');
// Turn off oEmbed auto discovery.
// Don't filter oEmbed results.
remove_filter('oembed_dataparse', 'wp_filter_oembed_result', 10);
// Remove oEmbed discovery links.
remove_action('wp_head', 'wp_oembed_add_discovery_links');
// Remove oEmbed-specific JavaScript from the front-end and back-end.
remove_action('wp_head', 'wp_oembed_add_host_js');
}
add_action('init', 'disable_embeds_code_init', 9999);
- RSD:
remove_action('wp_head', 'rsd_link');
- WLW:
remove_action('wp_head', 'wlwmanifest_link');
- Shortlink:
remove_action('wp_head', 'wp_shortlink_wp_head');
- RSS feed:
function remove_feed() {
remove_action( 'wp_head', 'feed_links', 2 ); // Display the links to the general feeds: Post and Comment Feed
remove_action( 'wp_head', 'feed_links_extra', 3 ); // Display the links to the extra feeds such as category feeds
remove_action( 'wp_head', 'rsd_link' ); // Display the link to the Really Simple Discovery service endpoint, EditURI link
remove_action( 'wp_head', 'wlwmanifest_link' ); // Display the link to the Windows Live Writer manifest file.
remove_action( 'wp_head', 'index_rel_link' ); // Index link
remove_action( 'wp_head', 'parent_post_rel_link', 10, 0 ); // Prev link
remove_action( 'wp_head', 'start_post_rel_link', 10, 0 ); // Start link
remove_action( 'wp_head', 'adjacent_posts_rel_link', 10, 0 ); // Display relational links for the posts adjacent to the current post.
remove_action( 'wp_head', 'wp_generator' ); // Display the XHTML generator that is generated on the wp_head hook, WP version
}
add_action('wp_head', 'remove_feed');
- jQuery Migrate:
function dequeue_jquery_migrate( &$scripts ) {
if(!is_admin()) {
$scripts->remove( 'jquery');
$scripts->add( 'jquery', false, array( 'jquery-core' ), '1.12.4' );
}
}
add_filter( 'wp_default_scripts', 'dequeue_jquery_migrate' );
- Dashicons:
function wpdocs_dequeue_dashicon() {
if (current_user_can( 'update_core' )) {
return;
}
wp_deregister_style('dashicons');
}
add_action( 'wp_enqueue_scripts', 'wpdocs_dequeue_dashicon' );
Отключение ненужных функций может значительно сократить время загрузки сайта и уменьшить нагрузку на сервер. Однако перед отключением не забудьте сделать бэкап.
Ускорение админки WordPress — что еще можно отключить

Если вы не используете функцию «Post Revisions», то ее можно отключить, добавив следующий код в файл functions.php:
// Отключение Post Revisions
define( 'WP_POST_REVISIONS', false );
Также можно отключить функцию «Heartbeat», которая используется WordPress для обновления информации на странице в реальном времени. Она может потреблять много ресурсов, особенно на сайтах с большим количеством пользователей. Чтобы отключить ее, добавьте следующий код в файл functions.php:
// Отключение Heartbeat API
add_action( 'init', 'stop_heartbeat', 1 );
function stop_heartbeat() {
wp_deregister_script( 'heartbeat' );
}
Наконец, можно отключить автоматическое генерирование миниатюр изображений. Эта функция может быть полезна для некоторых сайтов, но если у вас нет необходимости в миниатюрах, то ее можно отключить. Для этого добавьте следующий код в файл functions.php:
// Отключение автоматической генерации миниатюр
add_filter( 'intermediate_image_sizes_advanced', 'disable_image_sizes' );
function disable_image_sizes( $sizes ) {
unset( $sizes['thumbnail'] );
unset( $sizes['medium'] );
unset( $sizes['large'] );
return $sizes;
}
Несмотря на то, что отключение этих функций может снизить нагрузку на сервер и ускорить работу сайта, не стоит забывать о том, что некоторые из них могут быть полезны для других сайтов. Поэтому перед тем, как отключать какую-то функцию, убедитесь, что она действительно не нужна на вашем сайте.