Как удалить пустые теги meta в WordPress без плагинов

В процессе разработки и оптимизации сайта на WordPress одним из важных аспектов является чистота и корректность HTML-кода. Часто можно столкнуться с проблемой, когда в <head> страницы выводятся пустые теги <meta>, например, <meta name="description" content=""> или <meta name="keywords" content="">. Такие пустые теги могут негативно повлиять на SEO и воспринимаются поисковыми системами как неаккуратность в разметке. В этой статье подробно разберем, как удалить пустые meta-теги в WordPress без использования плагинов, используя собственные функции и хуки.

Почему важно удалять пустые meta-теги в WordPress

Пустые meta-теги — это не просто лишний код, они:

  • Увеличивают объем HTML и могут негативно сказаться на скорости загрузки;
  • Мешают поисковым системам корректно индексировать страницу;
  • Могут привести к дублированию контента в метаинформации;
  • Отражают неаккуратность в работе с сайтом, что важно для SEO-специалистов и разработчиков.

Поэтому, особенно при кастомной разработке тем или интеграциях, стоит контролировать вывод meta-тегов.

Где в WordPress появляются пустые meta-теги?

По умолчанию WordPress выводит несколько стандартных meta-тегов, например, описание страницы, ключевые слова, viewport и другие. Пустые теги чаще всего появляются из-за отсутствия заполненных полей в настройках темы или SEO-плагинах. Например, пустое поле «Описание» в настройках темы или Yoast SEO может привести к выводу пустого meta description.

Также тема может самостоятельно добавлять meta-теги через функцию wp_head. Если эти функции не проверяют наличие контента перед выводом, мы и получаем пустые теги.

Удаление пустых meta-тегов с помощью кода в functions.php

Рассмотрим практическое решение. Чтобы удалить пустые meta-теги, нужно перехватить вывод функции wp_head и отфильтровать или убрать пустые meta. Сделать это можно разными способами, но оптимальным будет использование буфера вывода и регулярных выражений.

Добавьте следующий код в файл functions.php вашей темы или дочерней темы:

function wpcource_remove_empty_meta_tags() {
    ob_start('wpcource_filter_empty_meta_tags');
}
add_action('wp_head', 'wpcource_remove_empty_meta_tags', 0);

function wpcource_filter_empty_meta_tags($html) {
    // Регулярное выражение для поиска пустых meta-тегов
    $pattern = '/<meta[^>]+content=("|'')\s*("|'')[^>]*>/i';
    // Удаляем все пустые meta
    $html = preg_replace($pattern, '', $html);
    
    // Дополнительно удалим meta с пустым содержимым content=""
    $html = preg_replace('/<meta[^>]+content=("|'')\s*("|'')[^>]*>/i', '', $html);

    return $html;
}

function wpcource_end_buffer() {
    ob_end_flush();
}
add_action('wp_head', 'wpcource_end_buffer', 9999);

Этот код запускает буферизацию вывода в момент вызова wp_head и фильтрует содержимое, удаляя все meta-теги с пустым атрибутом content. В итоге пустые теги не попадут в HTML страницы.

Пояснения к коду

  • ob_start начинает буферизацию вывода.
  • Функция wpcource_filter_empty_meta_tags применяет регулярное выражение, которое находит и удаляет пустые meta-теги.
  • ob_end_flush завершает буферизацию и выводит отфильтрованный контент.

Другие способы удаления пустых meta-тегов

Удаление через SEO-плагины

Если вы используете SEO-плагины, такие как Yoast SEO, Rank Math или All in One SEO, рекомендуется проверить настройки метаописания и ключевых слов. Часто пустые теги появляются из-за незаполненных полей в настройках. В Yoast SEO, например, можно отключить вывод meta description на отдельных типах записей или задать шаблоны с проверкой на пустые поля.

Удаление через фильтры темы

В некоторых темах meta-теги формируются через фильтры и функции, например, wpseo_metadesc в Yoast или theme_slug_meta_description. В таких случаях можно переопределить функции, чтобы они не выводили пустые значения:

add_filter('wpseo_metadesc', 'wpcource_custom_meta_description');
function wpcource_custom_meta_description($desc) {
    if (empty(trim($desc))) {
        return false; // Отключаем вывод meta description
    }
    return $desc;
}

Этот пример показывает, как отключить вывод meta description, если он пустой, в SEO-плагине Yoast.

Пример использования плагина Clearfy Pro для очистки meta-тегов

Если вы предпочитаете использовать готовое решение, рекомендуем обратить внимание на плагин Clearfy Pro. Он позволяет управлять выводом meta-тегов и отключать ненужные, в том числе пустые, без необходимости писать код. Особенно полезен для пользователей, которые хотят быстро оптимизировать сайт без глубокого погружения в разработку.

Clearfy Pro имеет удобный интерфейс, где можно отключить вывод пустых meta description, keywords и других тегов, а также оптимизировать работу SEO-плагинов.

Итоги и рекомендации

Удаление пустых meta-тегов — важный шаг в оптимизации и чистоте кода WordPress-сайта. Мы рассмотрели, как сделать это без плагинов, используя буферизацию и регулярные выражения, а также через фильтры SEO-плагинов. Для удобства и быстрого решения можно использовать Clearfy Pro с официальной страницы.

Рекомендуется регулярно проверять исходный код страниц на наличие таких пустых тегов и контролировать настройки SEO-плагинов и темы. Это повысит качество сайта и улучшит его позиции в поисковой выдаче.

Автоматическое удаление спам комментариев в WordPress
20.12.2025
WordPress: отладка и оптимизация загрузки изображений
06.12.2025
Как создать свой шорткод в WordPress: практическое руководство
04.11.2025
Как удалить кэш и очистить базу данных WordPress для ускорения сайта
15.11.2025
Как автоматизировать удаление старого контента по таксономиям в WordPress
09.04.2026

Обучение разработке на WordPress, как создавать темы, плагины. Подробнее об обучении.