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

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

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

Пустые теги, такие как <p></p>, <div></div>, <span></span> и другие, не несут смысловой нагрузки и создают "мусор" в HTML. Это ухудшает восприятие кода браузером и поисковыми системами, может привести к неправильному отображению на мобильных устройствах и усложняет дальнейшую работу с CSS.

Удаление таких тегов помогает сделать код чище и облегчить отладку. Особенно это актуально для сайтов с большим объёмом динамического контента или если вы используете кастомные шаблоны и плагины.

Типичные причины появления пустых тегов

Основные источники пустых тегов:

  • Визуальный редактор WordPress (Gutenberg или классический), который при форматировании вставляет лишние абзацы.
  • Копирование текста с внешних сайтов и вставка в редактор без очистки форматирования.
  • Некорректная работа плагинов, которые модифицируют содержимое постов или страниц.
  • Ошибки в пользовательских шаблонах и функциях, которые формируют HTML.

Как удалить пустые теги в WordPress с помощью PHP — пример функции

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

function wplock_remove_empty_tags($content) {
    // Регулярное выражение для пустых тегов p, div, span
    $pattern = '#<(p|div|span)[^>]*>\s*</\1>#i';
    
    // Цикл для удаления повторяющихся пустых тегов
    while (preg_match($pattern, $content)) {
        $content = preg_replace($pattern, '', $content);
    }
    return $content;
}
add_filter('the_content', 'wplock_remove_empty_tags');

Эта функция ищет теги p, div, span без содержимого (пробелы и переносы строк игнорируются) и удаляет их. Цикл позволяет удалить вложенные пустые теги, которые могут появиться после первой замены.

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

Иногда теги содержат атрибуты, например <div class="test"></div>, и их тоже нужно удалять. Для этого регулярное выражение можно сделать более гибким:

function wplock_remove_all_empty_tags($content) {
    // Паттерн для тегов с атрибутами
    $pattern = '#<(p|div|span)(\s+[^>]*)?>\s*</\1>#i';
    while (preg_match($pattern, $content)) {
        $content = preg_replace($pattern, '', $content);
    }
    return $content;
}
add_filter('the_content', 'wplock_remove_all_empty_tags');

Таким образом мы учитываем любые атрибуты и удаляем пустые теги с ними.

Пример использования плагина Clearfy для оптимизации HTML

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

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

Дополнительные советы по работе с пустыми тегами

Используйте валидатор HTML

Регулярно проверяйте ваш сайт через валидаторы, например W3C Validator. Это позволит выявить не только пустые теги, но и другие ошибки в верстке.

Очищайте контент перед вставкой

При копировании текста из Word или других источников используйте функцию "Вставить как текст" в редакторе или специальные плагины, которые очищают форматирование.

Проверяйте работу плагинов и тем

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

Заключение

Удаление пустых тегов в WordPress — важный шаг для улучшения качества кода и SEO. С помощью простых функций на PHP и фильтров вы можете автоматизировать этот процесс и поддерживать чистоту HTML. Если же хотите более универсальное и удобное решение — обратите внимание на плагин Clearfy, который поможет оптимизировать сайт без глубоких знаний программирования.

Как удалить или отключить плагин WordPress: практическое руководство
09.04.2026
Как отключить emoji в WordPress: практическое руководство
15.04.2026
Как автоматизировать обновление контента в WordPress с помощью WPRemark
25.01.2026
Как изменить вывод сообщений об ошибках в WordPress
21.02.2026
Как избежать проблемы открытых директорий в WordPress: практические решения и примеры кода
14.01.2026