Как удалить пустые теги meta в WordPress с помощью PHP

В WordPress иногда возникают ситуации, когда в секции <head> сайта появляются пустые теги meta. Такие теги не только засоряют HTML-код, но и могут негативно влиять на SEO и производительность. В этой статье мы подробно разберём, как программно обнаружить и удалить пустые мета-теги с помощью PHP, а также приведём несколько практических примеров.

Почему появляются пустые теги meta в WordPress

Пустые мета-теги могут появляться по нескольким причинам:

  • Плагины или темы добавляют мета-теги, но не заполняют их содержимым.
  • Некорректные настройки SEO-плагинов, которые генерируют теги без значений.
  • Остатки кода после удаления или отключения функций.

Такие теги выглядят, например, так: <meta name="description" content="" />. Их стоит удалять, чтобы очистить код и избежать дублирования.

Где находятся мета-теги в WordPress и как они генерируются

В WordPress мета-теги обычно добавляются в <head> через хуки, такие как wp_head. Темы и плагины используют функции add_action('wp_head', 'some_function'), чтобы подключить свои мета-теги.

Чтобы удалить пустые мета-теги, нужно вмешаться в этот процесс, либо при помощи фильтров, либо перехватить вывод и очистить его.

Как найти и удалить пустые мета-теги с помощью PHP

Самый универсальный способ — это буферизация вывода и фильтрация содержимого перед выводом в браузер. Ниже пример функции, которая удаляет пустые мета-теги из <head>:

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

function wpcource_start_buffer() {
    ob_start('wpcource_remove_empty_meta_tags');
}

function wpcource_end_buffer() {
    ob_end_flush();
}

add_action('wp_head', 'wpcource_start_buffer', 0);
add_action('wp_footer', 'wpcource_end_buffer', 9999);

Объяснение:

  • wpcource_start_buffer запускает буферизацию вывода сразу перед wp_head.
  • wpcource_remove_empty_meta_tags фильтрует содержимое, убирая пустые мета-теги.
  • wpcource_end_buffer завершает буферизацию в конце страницы.

Этот метод эффективно очищает весь HTML-код страницы, удаляя пустые теги, не трогая остальные элементы.

Удаление пустых мета-тегов, добавленных SEO-плагинами

Многие SEO-плагины (например, Yoast SEO, All in One SEO) автоматически добавляют мета-теги. Если там появляются пустые теги, лучше в первую очередь проверить настройки самого плагина.

Однако если плагин не даёт гибких настроек, можно отключить его вывод мета-тегов и реализовать собственный механизм. Например, для Yoast SEO можно отключить генерацию мета и прописать свои функции:

add_filter('wpseo_metadesc', function($desc) {
    // Возвращаем null, чтобы Yoast не выводил description
    return null;
});

add_action('wp_head', function() {
    $description = get_bloginfo('description');
    if (!empty($description)) {
        echo '<meta name="description" content="' . esc_attr($description) . '">';
    }
});

Так вы полностью контролируете содержимое и предотвращаете появление пустых тегов.

Проверка и отладка: как убедиться, что пустые мета-теги исчезли

После внедрения кода очистки важно проверить результат. Для этого откройте исходный код страницы (Ctrl+U) и найдите все теги meta. Убедитесь, что нет тегов с пустым атрибутом content.

Также можно использовать инструменты разработчика браузера, вкладку Network и SEO-аудитеры, чтобы проверить корректность мета-тегов и отсутствие ошибок.

Дополнительные советы для работы с мета-тегами в WordPress

Чтобы избежать подобных проблем в будущем, рекомендуем придерживаться следующих правил:

  • Используйте проверенные SEO-плагины, такие как Clearfy Pro, которые грамотно управляют мета-тегами.
  • Проверяйте настройки тем и плагинов на предмет добавления мета-тегов.
  • Регулярно проверяйте исходный код сайта после обновлений.

Если вам нужна автоматизация управления мета-тегами и другие полезные функции для SEO и оптимизации, рекомендую ознакомиться с плагином WPRemark для отзывов и SEO.

Как удалить кэш и очистить базу данных WordPress для ускорения сайта
15.11.2025
WooCommerce: как автоматически удалять отменённые заказы с помощью кода
04.06.2026
Оценка и оптимизация загрузки скриптов в WordPress
06.04.2026
Автоматическое удаление спам комментариев в WordPress
20.12.2025
WooCommerce: как автоматически удалять отменённые заказы и товары из них
07.05.2026

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