wpclean.ru wordpress WPClean.ru

Удаление неиспользуемых шорткодов в WordPress для оптимизации сайта

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

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

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

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

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

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

Поиск в базе данных и контенте

Самый простой способ — выполнить поиск по базе данных или экспортированным файлам контента на наличие шорткодов в формате [shortcode]. Для этого можно использовать SQL-запросы к таблице wp_posts:

SELECT ID, post_title, post_content FROM wp_posts WHERE post_content LIKE '%[shortcode_name]%';

Замените shortcode_name на имя искомого шорткода. Если результат пуст, значит этот шорткод в контенте не используется.

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

Использование плагинов для поиска шорткодов

Плагины, такие как Shortcode Finder или Shortcodes Cleaner, позволяют автоматически сканировать весь контент сайта на наличие используемых шорткодов и выявлять неиспользуемые.

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

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

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

Ручное удаление через редактор страниц

Самый простой, но трудозатратный способ — открыть каждую запись или страницу, найти и удалить шорткод из визуального или текстового редактора.

Этот способ подходит для небольших сайтов, но неэффективен для больших проектов.

Автоматическое удаление с помощью кода

Для удаления всех вхождений определённого шорткода из контента всех записей можно написать функцию, которая будет искать и удалять шорткод из поля post_content. Ниже пример такой функции для wpclean.ru:

function wpclean_remove_unused_shortcode_from_posts($shortcode) {
    global $wpdb;
    $like = '%[' . $wpdb->esc_like($shortcode) . '%';
    $posts = $wpdb->get_results($wpdb->prepare(
        "SELECT ID, post_content FROM {$wpdb->posts} WHERE post_content LIKE %s",
        $like
    ));

    foreach ($posts as $post) {
        $new_content = preg_replace('/\[' . preg_quote($shortcode, '/') . '(\s[^\]]*)?\]/', '', $post->post_content);
        if ($new_content !== $post->post_content) {
            $wpdb->update(
                $wpdb->posts,
                array('post_content' => $new_content),
                array('ID' => $post->ID),
                array('%s'),
                array('%d')
            );
        }
    }
}

Вызовите функцию с именем шорткода, например:

wpclean_remove_unused_shortcode_from_posts('oldshortcode');

Это удалит все вхождения [oldshortcode] из всех записей и страниц.

Удаление зарегистрированного шорткода, чтобы предотвратить ошибки

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

Для этого добавьте в functions.php или в собственный плагин следующий код:

remove_shortcode('oldshortcode');

Это полностью отключит обработку данного шорткода.

Плагины для очистки шорткодов и автоматизации процесса

Существует несколько плагинов, которые помогут эффективно управлять шорткодами:

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

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

Практические рекомендации и важные нюансы

Перед удалением шорткодов всегда делайте резервную копию базы данных. Ошибки в регулярных выражениях или SQL-запросах могут повредить содержимое сайта.

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

/\[' . preg_quote($shortcode, '/') . '(\s[^\]]*)?\]/

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

Для комплексной очистки рекомендуется комбинировать автоматические инструменты и ручной контроль.

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

×
Оптимизируй свой сайт!

Скидка -15% на премиум плагин Clearfy Pro

Купить плагин сейчас ⋙