Отключение лишнего в WordPress: emoji, embeds, ускорение фронта
Оптимизация functions.php: отключение emoji, embeds и других ненужных фич для ускорения загрузки.
Как использовать
- Скопируйте нужный фрагмент кода.
- Вставьте в свой проект и при необходимости измените под задачу.
- Проверьте зависимости и окружение (версии, переменные).
Отключает emoji, embeds, лишние скрипты и стили для ускорения фронтенда. Добавьте в functions.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 (oEmbed)
remove_action('wp_head', 'wp_oembed_add_discovery_links');
remove_action('wp_head', 'wp_oembed_add_host_js');
remove_action('rest_api_init', 'wp_oembed_register_route');
remove_filter('oembed_dataparse', 'wp_filter_oembed_result', 10);
// Отключение лишних скриптов и стилей
remove_action('wp_head', 'wp_generator'); // Версия WordPress
remove_action('wp_head', 'wlwmanifest_link'); // Windows Live Writer
remove_action('wp_head', 'rsd_link'); // Really Simple Discovery
remove_action('wp_head', 'wp_shortlink_wp_head'); // Shortlink
// Отключение REST API для неавторизованных (опционально, может сломать некоторые плагины)
add_filter('rest_authentication_errors', function($result) {
if (!empty($result)) {
return $result;
}
if (!is_user_logged_in()) {
return new WP_Error('rest_not_logged_in', 'REST API доступен только авторизованным', ['status' => 401]);
}
return $result;
});
// Отключение лишних стилей блока Gutenberg на фронте (если не используете)
function disable_gutenberg_styles() {
wp_dequeue_style('wp-block-library');
wp_dequeue_style('wp-block-library-theme');
wp_dequeue_style('wc-block-style');
}
add_action('wp_enqueue_scripts', 'disable_gutenberg_styles', 100);
// Удаление query string из статических ресурсов (для кеширования)
function remove_query_strings($src) {
if (strpos($src, '?ver=')) {
$src = remove_query_arg('ver', $src);
}
return $src;
}
add_filter('script_loader_src', 'remove_query_strings', 15);
add_filter('style_loader_src', 'remove_query_strings', 15);
Usage:
Добавьте код в wp-content/themes/your-theme/functions.php. Проверьте сайт после добавления — некоторые плагины могут зависеть от отключённых фич.
Notes:
⚠️ Отключение REST API может сломать некоторые плагины (например, Contact Form 7, WooCommerce). Тестируйте на staging. Отключение Gutenberg стилей — только если не используете блоки на фронте.