Каждый разработчик, работающий с WordPress, сталкивается с ситуацией, когда в <head> страницы выводится множество мета-тегов, скриптов и стилей, которые не всегда нужны и могут замедлять загрузку сайта или мешать SEO. В этой статье мы разберём, как эффективно удалить ненужные meta-теги и другие элементы из шапки WordPress без использования сторонних плагинов. Такой подход помогает держать код сайта чистым и облегчает контроль над выводом содержимого.
Почему стоит удалять лишние meta-теги и скрипты
По умолчанию WordPress добавляет в <head> страницы множество элементов: ссылки на RSS-ленты, мета-теги для браузеров, версии WordPress, ссылки на emoji-скрипты и многое другое. Некоторые из них могут быть не нужны на вашем сайте, например, если вы не используете RSS, или не хотите показывать версию WordPress по соображениям безопасности.
Удаление лишних элементов снижает размер HTML-кода, уменьшает количество запросов к серверу, повышает скорость загрузки страницы и улучшает безопасность сайта. Это особенно важно для проектов с высокой посещаемостью и для оптимизации под поисковые системы.
Кроме того, если вы используете кастомные темы или создаёте сайт под конкретные задачи, важно контролировать, что именно выводится в <head>, чтобы избежать конфликтов и избыточности.
Основные элементы, которые можно удалить из <head>
Вот список самых распространённых элементов, которые WordPress добавляет автоматически и которые часто удаляют:
wp_generator— мета-тег с версией WordPress;rsd_link— ссылка на XML-RPC для удалённого редактирования;wlwmanifest_link— поддержка Windows Live Writer;feed_links— ссылки на RSS-ленты;emoji scripts— скрипты и стили для emoji;wp_shortlink_wp_head— короткая ссылка на текущую запись;adjacent_posts_rel_link_wp_head— ссылки на соседние записи;- и другие менее распространённые элементы.
Удаление этих элементов не повлияет на работу сайта, если вы не используете соответствующий функционал.
Как удалить meta-теги и скрипты через functions.php
Для удаления элементов из <head> нужно использовать функцию remove_action(). Вставьте следующий код в файл functions.php вашей активной темы или в файл вашего функционального плагина.
function wpconsult_remove_head_links() {
// Удаляем мета-тег версии WordPress
remove_action('wp_head', 'wp_generator');
// Удаляем ссылку RSD
remove_action('wp_head', 'rsd_link');
// Удаляем ссылку Windows Live Writer
remove_action('wp_head', 'wlwmanifest_link');
// Удаляем ссылки RSS-лент
remove_action('wp_head', 'feed_links', 2);
remove_action('wp_head', 'feed_links_extra', 3);
// Удаляем emoji скрипты и стили
remove_action('wp_head', 'print_emoji_detection_script', 7);
remove_action('wp_print_styles', 'print_emoji_styles');
// Удаляем короткую ссылку
remove_action('wp_head', 'wp_shortlink_wp_head', 10);
// Удаляем ссылки на соседние записи
remove_action('wp_head', 'adjacent_posts_rel_link_wp_head', 10);
}
add_action('init', 'wpconsult_remove_head_links');Этот код полностью очистит шапку от вышеуказанных элементов. Функция wpconsult_remove_head_links вызывается на хуке init, что гарантирует корректное удаление всех лишних ссылок и скриптов.
Пояснение к коду
Каждый вызов remove_action отменяет регистрацию соответствующего вывода в wp_head или других хуках. Обратите внимание, что для удаления emoji-стилей нужно отключать не только скрипты в wp_head, но и стили, которые подключаются через wp_print_styles.
Удаление meta-тега viewport: примеры и советы
Иногда возникает задача управлять meta-тегом viewport, который отвечает за адаптивность сайта. WordPress сам по себе не добавляет viewport, это обычно делают темы. Если ваша тема выводит viewport и вы хотите его заменить или удалить, то нужно искать код в файлах темы.
Например, чтобы убрать viewport, можно использовать такой подход:
function wpconsult_remove_viewport_meta() {
remove_action('wp_head', 'wp_viewport_meta_tag_function'); // пример
}
add_action('init', 'wpconsult_remove_viewport_meta');Но поскольку у каждой темы своё имя функции, нужно найти, какой хук и функция выводят viewport. Обычно viewport добавляют в header.php или через хуки темы.
Если вы используете тему из WPSHOP, например Reboot или Root, проверьте документацию и поддержку, там часто есть фильтры для управления head.
Как проверить, что именно выводится в <head>
Для анализа содержимого <head> удобно использовать браузерные инструменты разработчика. Откройте сайт, нажмите F12 и перейдите во вкладку Elements (Элементы). Там можно увидеть все мета-теги, скрипты и стили в <head>.
Если хотите автоматизировать процесс и найти все хуки и фильтры, можно использовать плагин Debug Bar или Query Monitor, которые показывают подключённые скрипты и стили.
Подключение и управление своими meta-тегами
После удаления ненужных элементов часто возникает задача добавить свои мета-теги или скрипты. Для этого используйте хук wp_head и функцию echo в callback:
function wpconsult_add_custom_meta() {
echo '<meta name="author" content="WPConsult">';
echo '<meta name="viewport" content="width=device-width, initial-scale=1">';
}
add_action('wp_head', 'wpconsult_add_custom_meta');Такой подход помогает поддерживать контроль над содержимым <head> и создавать уникальную разметку для вашего проекта.