Как удалить все пустые теги в WordPress

Почему появляются пустые теги в WordPress и как они влияют на сайт

Пустые HTML-теги, такие как <p></p>, <div></div> или <span></span>, часто появляются в содержимом страниц и записей WordPress. Основные причины их появления — это особенности визуального редактора Gutenberg, использование плагинов, или импорт контента из других систем. Такие теги не несут никакой смысловой нагрузки и могут негативно влиять на SEO, увеличивать размер страницы и ухудшать производительность.

Удаление пустых тегов позволяет сделать HTML-код чище, улучшить скорость загрузки и обеспечить более качественный вывод контента. В этой статье разберём, как эффективно найти и удалить пустые теги на сайте WordPress с помощью плагинов и пользовательских функций.

Удаление пустых тегов через плагины WordPress

Плагин Remove Empty Tags

Один из простых способов — использовать плагин Remove Empty Tags. Он автоматически сканирует контент перед выводом и очищает пустые теги. Плагин имеет минималистичный интерфейс и подходит для большинства сайтов.

Преимущества:

  • Автоматическое удаление пустых тегов без вмешательства пользователя;
  • Поддержка основных тегов: <p>, <div>, <span>, <section> и др.;
  • Настраиваемые фильтры для добавления исключений.

Недостаток — ограниченная кастомизация. Если нужны более гибкие решения, лучше использовать код.

Плагин WP Optimize

Хотя WP Optimize известен в основном как инструмент для оптимизации базы данных, он также включает функцию очистки HTML-кода, в том числе удаление пустых тегов. Это удобно, если вы хотите комплексное решение по оптимизации сайта.

Использование плагина позволит вам проводить очистку контента вместе с другими оптимизациями, что улучшит общую производительность сайта.

Удаление пустых тегов с помощью пользовательской функции

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

function wpbit_remove_empty_tags($content) {
    // Регулярное выражение для поиска пустых тегов
    $pattern = '/<([a-z]+)(\s[^>]*)?>\s*<\/\1>/i';
    
    // Пока находятся пустые теги — удаляем
    while (preg_match($pattern, $content)) {
        $content = preg_replace($pattern, '', $content);
    }
    return $content;
}
add_filter('the_content', 'wpbit_remove_empty_tags');

Объяснение:

  • Регулярное выражение ищет теги вида <tag></tag> без содержимого, включая пробелы и переносы;
  • Цикл while повторяет удаление, пока в тексте есть пустые теги;
  • Хук the_content применяет функцию ко всему выводу контента записей.

Расширение функции для удаления пустых тегов с атрибутами

Иногда пустые теги содержат атрибуты, например <div class="empty"></div>. Чтобы удалить и такие, используйте следующую функцию:

function wpbit_remove_empty_tags_with_attrs($content) {
    $pattern = '/<([a-z]+)(\s[^>]*)?>\s*<\/\1>/i';
    while (preg_match($pattern, $content)) {
        $content = preg_replace($pattern, '', $content);
    }
    return $content;
}
add_filter('the_content', 'wpbit_remove_empty_tags_with_attrs');
<

Такой подход более универсален и корректно удаляет пустые блоки в содержимом.

Обработка пустых тегов в виджетах и других местах

Если пустые теги появляются не только в статьях, но и в виджетах или других частях сайта, можно дополнительно применить фильтры widget_text и the_excerpt:

add_filter('widget_text', 'wpbit_remove_empty_tags_with_attrs');
add_filter('the_excerpt', 'wpbit_remove_empty_tags_with_attrs');

Это позволит очистить HTML и в виджетах с текстовым содержимым, и в анонсах записей, где пустые теги тоже портят внешний вид.

Советы для предотвращения появления пустых тегов

Удаление пустых тегов — это решение последней инстанции. Лучше постараться избежать их появления изначально. Вот несколько рекомендаций:

  • Используйте современные редакторы контента, такие как Gutenberg, и проверяйте вставляемый HTML;
  • Избегайте копирования контента из Word или других WYSIWYG-редакторов, которые могут добавлять лишний HTML;
  • Регулярно проверяйте код страницы через инструменты разработчика браузера;
  • Настраивайте шаблоны темы так, чтобы не рендерить пустые блоки.

Следуя этим советам, вы значительно уменьшите количество пустых тегов на сайте и упростите поддержку кода.

Выводы и рекомендации

Удаление пустых HTML-тегов важно для оптимизации WordPress-сайта. Используйте плагины для быстрого решения или внедряйте собственные функции для гибкого контроля. Регулярно анализируйте и оптимизируйте контент, чтобы избежать появления лишних пустых блоков. Это улучшит SEO, ускорит загрузку и сделает код сайта более аккуратным.

Как использовать WP-Cron для решения проблем с отправкой писем в WordPress
25.04.2026
Как удалить или заблокировать регистрацию пользователей в WordPress
09.01.2026
Как использовать хук WPBit для автоматического изменения содержимого записей в WordPress
22.02.2026
WooCommerce: как автоматически изменять статус заказа при создании
18.05.2026
Как создать автоматический отчет по активности пользователей в WordPress
22.12.2025