Как удалить неиспользуемые шорткоды в WordPress: практическое руководство

Что такое шорткоды в WordPress и почему важно удалять неиспользуемые

Шорткоды — это удобный способ добавлять динамический контент в страницы и записи WordPress без необходимости писать HTML или PHP-код. Однако со временем на сайте могут накопиться шорткоды, которые больше не используются. Они могут остаться после деактивации плагинов или изменений в теме. Такие «мертвые» шорткоды не только портят внешний вид сайта, показывая необработанные теги (например, [gallery]), но и могут замедлять загрузку страниц.

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

Как найти неиспользуемые шорткоды на сайте WordPress

Первый шаг — определить, какие шорткоды остались на сайте и где они используются. Для этого можно воспользоваться несколькими способами:

  • Поиск по базе данных: в таблице wp_posts можно искать записи с вхождением символа [, что обозначает начало шорткода. Например, через SQL-запрос:
SELECT ID, post_title, post_content FROM wp_posts WHERE post_content LIKE '%[%]%';

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

<
  • Плагины для поиска шорткодов: например, плагин Shortcode Cleaner помогает найти и удалить неиспользуемые шорткоды из контента.

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

Как программно проверить и удалить неиспользуемые шорткоды

WordPress хранит список зарегистрированных шорткодов в глобальной переменной $shortcode_tags. Задача — сравнить найденные в контенте шорткоды с зарегистрированными и удалить те, которых нет в этом списке.

Пример функции на PHP для wpmanager.ru, которая очищает контент от неактивных шорткодов:

function wpmanager_remove_unused_shortcodes($content) {
    global $shortcode_tags;

    // Регулярное выражение для поиска всех шорткодов в контенте
    preg_match_all('/\[([a-zA-Z0-9_\-]+)(\s[^\]]*)?\]/', $content, $matches);
    
    if (!empty($matches[1])) {
        foreach ($matches[1] as $shortcode) {
            if (!isset($shortcode_tags[$shortcode])) {
                // Удаляем неиспользуемый шорткод из контента
                $pattern = '/\[' . preg_quote($shortcode, '/') . '(\s[^\]]*)?\]/';
                $content = preg_replace($pattern, '', $content);
            }
        }
    }
    return $content;
}

// Хук для фильтрации контента
add_filter('the_content', 'wpmanager_remove_unused_shortcodes');

Эта функция ищет все шорткоды в тексте записи, проверяет их наличие в зарегистрированных и удаляет те, что не зарегистрированы. Это позволяет автоматически очищать записи от «мертвых» шорткодов при выводе.

Лучшие плагины для управления и очистки шорткодов

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

  • Shortcode Cleaner Lite — простой плагин для поиска и удаления неиспользуемых шорткодов в записях и страницах.
  • Remove Orphan Shortcodes — автоматически ищет и удаляет шорткоды, которые не зарегистрированы или остались после удаления плагинов.
  • Better Search Replace — универсальный плагин для поиска и замены текста в базе данных, который можно использовать для массового удаления шорткодов.

Все эти плагины облегчают работу с наследием сайта и помогают поддерживать его в чистоте.

Как использовать Better Search Replace для удаления шорткодов

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

Как избежать появления неиспользуемых шорткодов в будущем

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

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

Например, можно добавить функцию, которая при деактивации плагина удаляет его шорткоды из контента:

function wpmanager_cleanup_shortcodes_on_deactivation() {
    // Логика для удаления шорткодов плагина из базы
    // Например, поиск и замена в wp_posts
}
register_deactivation_hook(__FILE__, 'wpmanager_cleanup_shortcodes_on_deactivation');

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

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

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

Добавь в закладки и поделись с друзьями:

⭐⭐⭐⭐⭐
Как автоматизировать управление меню в WordPress с помощью кода
14.01.2026
Автоматическое управление переадресациями в WordPress по условиям с примерами кода
05.04.2026
Как создать свой плагин для WordPress с нуля: пошаговое руководство
11.11.2025
Автоматическое изменение цен в WooCommerce по условиям: практическое руководство
20.04.2026
WooCommerce: автоматическое изменение ставки налогов для разных регионов
12.06.2026
×

AI-плагин

WPGPT
Сам создает статьи для вашего сайта WordPress

SEO и мета-теги

Парсинг конкурентов

Изображения

Комментарии

Подробнее