Как удалить пустые теги в WordPress: эффективные методы

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

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

Пустые теги не несут смысловой нагрузки, но увеличивают объем HTML-кода, что замедляет загрузку страницы и усложняет её восприятие поисковыми системами. Кроме того, они могут вызывать визуальные артефакты в дизайне, особенно если стили завязаны на вложенность или специфические блоки.

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

Методы удаления пустых тегов в WordPress

1. Очистка контента при сохранении с помощью фильтра wpacademy_filter_empty_tags

Один из надежных способов — фильтровать содержимое поста на этапе сохранения. Мы создадим функцию, которая удалит пустые теги <p> и <div> без содержимого, но сохранит структурно важные элементы.

function wpacademy_filter_empty_tags($content) {
    // Удаляем пустые абзацы (теги p)
    $content = preg_replace('/<p>\s*(&nbsp;)?\s*<\/p>/i', '', $content);

    // Удаляем пустые div
    $content = preg_replace('/<div>\s*<\/div>/i', '', $content);

    // Можно добавить другие теги по необходимости
    return $content;
}
add_filter('content_save_pre', 'wpacademy_filter_empty_tags');

Этот код нужно добавить в файл functions.php вашей темы или в плагин-сниппет. Он сработает при сохранении записи и очистит пустые теги.

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

Если вы хотите очищать контент только при отображении на сайте, можно применить фильтр the_content. Это удобно, если контент нужно хранить без изменений, но выводить уже очищенным.

function wpacademy_clean_empty_tags_output($content) {
    $content = preg_replace('/<p>\s*(&nbsp;)?\s*<\/p>/i', '', $content);
    $content = preg_replace('/<div>\s*<\/div>/i', '', $content);
    return $content;
}
add_filter('the_content', 'wpacademy_clean_empty_tags_output');

Этот способ не изменяет данные в базе, а только чистит HTML перед показом пользователю.

Плагины для автоматической очистки HTML от пустых тегов

Для тех, кто не хочет писать код, есть несколько плагинов, которые помогают оптимизировать HTML-код и удалять пустые элементы:

  • Clearfy Pro — содержит опции для очистки кода и удаления лишних тегов. Это удобный инструмент для комплексной оптимизации сайта. Подробнее: Clearfy Pro на WPShop
  • Autoptimize — плагин для оптимизации кода, который имеет настройки для удаления пустых строк и комментариев, что косвенно уменьшает пустые теги.
  • WP-Optimize — плагин для оптимизации базы данных и кэша, который иногда помогает очистить контент при обновлениях.

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

Удаление пустых тегов из виджетов и пользовательского HTML

Пустые теги часто появляются не только в основном контенте, но и в виджетах или пользовательском HTML в сайдбаре. Для их очистки можно использовать фильтр widget_text:

function wpacademy_filter_empty_tags_widget($text) {
    $text = preg_replace('/<p>\s*(&nbsp;)?\s*<\/p>/i', '', $text);
    $text = preg_replace('/<div>\s*<\/div>/i', '', $text);
    return $text;
}
add_filter('widget_text', 'wpacademy_filter_empty_tags_widget');

Такой подход поможет поддерживать чистоту HTML в любом месте сайта.

Практические советы и особенности

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

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

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

Заключение

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

Отзывы с экспертной оценкой в WordPress: настройка и примеры кода
26.12.2025
Как добавить поддержку виджетов Gutenberg в собственную тему WordPress
08.01.2026
Автоматическое удаление незаконченых заказов WooCommerce
29.05.2026
Как создать собственный виджет в WordPress: подробное руководство
30.11.2025
Как добавить поддержку JSON-LD в WordPress для SEO
19.12.2025