Неиспользуемые теги в WordPress — это теги, которые созданы, но не назначены ни к одному посту. Они со временем могут накапливаться и засорять базу данных, ухудшая производительность сайта и мешая SEO. В этой статье мы рассмотрим, как быстро и безопасно удалить такие теги с помощью плагинов и кастомных решений.
Почему важно удалять неиспользуемые теги в WordPress
Теги в WordPress служат для улучшения навигации и SEO, помогая группировать похожие записи. Однако когда теги не используются, они:
- Засоряют базу данных, увеличивая размер таблиц и замедляя запросы.
- Могут создавать дублированный контент и ухудшать SEO, если на сайте много пустых страниц архивов тегов.
- Усложняют администрирование и поиск нужных тегов.
Регулярная очистка неиспользуемых тегов поможет держать сайт в порядке и повысить его производительность.
Как найти неиспользуемые теги в WordPress: ручной и автоматический методы
Ручной способ через админку WordPress
В админке WordPress перейдите в «Записи» → «Метки». Здесь вы увидите все теги и количество записей, к которым они применены. Теги с нулевым значением — это неиспользуемые.
Минус этого метода в том, что при большом количестве тегов удалять их по одному неудобно.
Использование SQL-запроса для поиска неиспользуемых тегов
Для продвинутых пользователей можно выполнить такой запрос в phpMyAdmin или через WP-CLI, чтобы вывести список неиспользуемых тегов:
SELECT term_id, name FROM wp_terms WHERE term_id NOT IN (SELECT term_id FROM wp_term_taxonomy WHERE count > 0 AND taxonomy = 'post_tag');Этот запрос покажет теги, у которых нет связанных записей.
Удаление неиспользуемых тегов с помощью плагинов
Плагин Term Management Tools
Этот плагин позволяет объединять и удалять теги, а также фильтровать их по количеству использований. Чтобы удалить неиспользуемые теги:
- Установите и активируйте Term Management Tools.
- Перейдите в «Записи» → «Метки».
- Отфильтруйте теги с нулевым количеством записей и массово удалите их.
Плагин WP Bulk Delete
WP Bulk Delete — мощный инструмент для массового удаления терминов таксономий. Он позволяет удалять теги по разным условиям, включая количество использований.
Для удаления неиспользуемых тегов:
- Установите и активируйте WP Bulk Delete.
- В меню плагина выберите «Bulk Delete Terms» → «Delete Tags by Usage Count».
- Укажите параметр «Usage Count = 0» и выполните удаление.
Кастомное удаление неиспользуемых тегов через код
Если вы предпочитаете решать задачу программно, можно написать функцию, которая удалит все теги без записей. Добавьте следующий код в файл functions.php вашей темы или в отдельный плагин:
function wprus_delete_unused_tags() {
$args = array(
'taxonomy' => 'post_tag',
'hide_empty' => true,
'fields' => 'ids',
);
$used_tags = get_terms( $args );
$all_tags = get_terms( array(
'taxonomy' => 'post_tag',
'hide_empty' => false,
'fields' => 'ids',
) );
$unused_tags = array_diff( $all_tags, $used_tags );
foreach ( $unused_tags as $tag_id ) {
wp_delete_term( $tag_id, 'post_tag' );
}
}
// Запуск функции однократно, например, через хук 'init'
add_action( 'init', 'wprus_delete_unused_tags' );Этот скрипт собирает все теги, определяет неиспользуемые и удаляет их. Важно запускать функцию однократно, иначе она будет срабатывать при каждом запросе.
Автоматизация удаления неиспользуемых тегов с WP-Cron
Чтобы не делать очистку вручную, можно настроить регулярное удаление через планировщик WordPress — WP-Cron.
Добавьте в functions.php следующий код:
function wprus_schedule_tag_cleanup() {
if ( ! wp_next_scheduled( 'wprus_cleanup_unused_tags_hook' ) ) {
wp_schedule_event( time(), 'weekly', 'wprus_cleanup_unused_tags_hook' );
}
}
add_action( 'wp', 'wprus_schedule_tag_cleanup' );
function wprus_cleanup_unused_tags() {
// Код удаления неиспользуемых тегов из предыдущего примера
$args = array(
'taxonomy' => 'post_tag',
'hide_empty' => true,
'fields' => 'ids',
);
$used_tags = get_terms( $args );
$all_tags = get_terms( array(
'taxonomy' => 'post_tag',
'hide_empty' => false,
'fields' => 'ids',
) );
$unused_tags = array_diff( $all_tags, $used_tags );
foreach ( $unused_tags as $tag_id ) {
wp_delete_term( $tag_id, 'post_tag' );
}
}
add_action( 'wprus_cleanup_unused_tags_hook', 'wprus_cleanup_unused_tags' );Этот код настроит еженедельную очистку неиспользуемых тегов в автоматическом режиме.
Влияние очистки тегов на SEO и производительность
Удаление пустых тегов помогает не только снизить нагрузку на базу данных, но и предотвратить индексацию поисковиками бесполезных страниц архивов. Это положительно сказывается на SEO сайта, так как:
- Улучшается внутренний перелинк;
- Устраняется дублированный контент;
- Сокращается количество ошибок 404 и пустых страниц.
После удаления тегов рекомендуем проверить файл robots.txt и карту сайта, чтобы исключить из индексации пустые архивы.
Заключение и рекомендации
Регулярная очистка неиспользуемых тегов — важный аспект поддержки WordPress-сайта. Для большинства пользователей удобнее всего использовать проверенные плагины, такие как WP Bulk Delete. Для разработчиков и продвинутых пользователей подойдет кастомный код с автоматизацией через WP-Cron.
Если вы хотите комплексно оптимизировать свой WordPress-сайт, обратите внимание на Clearfy Pro — плагин для оптимизации и очистки базы данных, включая управление таксономиями.