В процессе ведения сайта на WordPress часто возникает ситуация, когда в базе данных накапливаются неиспользуемые теги. Они могут значительно засорять структуру сайта, ухудшать SEO и замедлять работу, поэтому важно периодически очищать их. В этой статье мы подробно рассмотрим, как удалить неиспользуемые теги в WordPress с помощью плагинов и собственного кода.
Почему важно удалять неиспользуемые теги в WordPress
Теги — это таксономия, которая помогает структурировать контент. Но если на сайте остались теги, которые не связаны ни с одним постом, они становятся лишним мусором в базе данных. Это приводит к следующим проблемам:
- Увеличение размера базы данных и замедление запросов.
- Появление «битых» страниц с архивами тегов, которые не имеют контента, что плохо сказывается на SEO.
- Путаница в панели управления и усложнение администрирования.
Регулярная очистка тегов помогает поддерживать сайт в порядке и улучшать его производительность.
Удаление неиспользуемых тегов через плагины
Плагин Tag Cleaner
Один из удобных инструментов для очистки тегов — плагин Tag Cleaner. Он позволяет быстро найти и удалить теги, которые не привязаны ни к одному посту.
После установки и активации плагина перейдите в его настройки и нажмите кнопку сканирования. Плагин покажет список пустых тегов, которые можно массово удалить.
Плагин Term Management Tools
Еще один полезный плагин — Term Management Tools. Он расширяет стандартные возможности управления таксономиями и позволяет объединять, удалять и редактировать теги в большом объеме.
Плагин удобен, если нужно не только удалять пустые теги, но и объединять похожие для упрощения структуры.
Удаление неиспользуемых тегов вручную с помощью кода
Если по каким-то причинам вы не хотите использовать плагины, можно удалить неиспользуемые теги с помощью простого PHP-кода, который выполнит удаление всех тегов с нулевым счетчиком.
Пример кода для удаления пустых тегов
function wpstock_delete_unused_tags() {
$unused_tags = get_terms(array(
'taxonomy' => 'post_tag',
'hide_empty' => true,
'fields' => 'ids',
'count' => 0 // получить теги с нулевым счетчиком
));
if (!empty($unused_tags) && !is_wp_error($unused_tags)) {
foreach ($unused_tags as $tag_id) {
wp_delete_term($tag_id, 'post_tag');
}
echo 'Удалено ' . count($unused_tags) . ' неиспользуемых тегов.';
} else {
echo 'Неиспользуемых тегов не найдено.';
}
}
// Запуск функции
wpstock_delete_unused_tags();
Этот код можно временно добавить в файл functions.php вашей темы или выполнить через плагин для вставки произвольного PHP. Он найдет и удалит все теги, которые не привязаны ни к одному посту.
Важные нюансы при работе с кодом
- Перед выполнением любых действий с базой данных обязательно сделайте резервную копию.
- Функция удалит теги без возможности восстановления через админку, если не использовать резервную копию.
- В больших базах данных выполнение может занять некоторое время, рекомендуется запускать в безопасном режиме или через WP-CLI.
Удаление неиспользуемых тегов через WP-CLI
Для тех, кто работает с командной строкой, существует удобный способ очистить теги через WP-CLI. Команда позволяет быстро найти и удалить теги с нулевым счетчиком.
Выполните команду:
wp term list post_tag --field=term_id --format=ids --hide_empty=true
Она выведет ID всех используемых тегов. Чтобы получить неиспользуемые, нужно наоборот — вывести все теги и исключить используемые. Это можно сделать с помощью скрипта на Bash или PHP.
Пример удаления через WP-CLI с PHP-скриптом
Создайте PHP-файл delete-unused-tags.php с содержимым:
<?php
require_once 'wp-load.php';
$unused_tags = get_terms(array(
'taxonomy' => 'post_tag',
'hide_empty' => false
));
foreach ($unused_tags as $tag) {
if ($tag->count == 0) {
wp_delete_term($tag->term_id, 'post_tag');
echo 'Удален тег: ' . $tag->name . "\n";
}
}
Запустите скрипт через командную строку:
php delete-unused-tags.php
Это надежный способ очистить базу без риска случайного удаления.
Рекомендации по профилактике появления неиспользуемых тегов
Чтобы минимизировать накопление пустых тегов, соблюдайте такие рекомендации:
- Перед созданием нового тега проверяйте, нет ли уже похожего.
- Используйте плагин Clearfy Pro, который помогает оптимизировать таксономии, в том числе управлять тегами.
- Регулярно проводите аудит таксономий и удаляйте пустые теги.
- Ограничьте возможность создания тегов для авторов, если это не требуется.
Соблюдение этих правил поможет сохранить базу данных чистой и ускорить работу сайта.
Заключение
Удаление неиспользуемых тегов — важная задача для поддержания порядка и производительности сайта на WordPress. Вы можете использовать удобные плагины, писать собственные скрипты или воспользоваться WP-CLI для автоматизации процесса. Главное — делать это регулярно и с осторожностью, создавая резервные копии перед изменениями.
Если хотите попробовать мощные инструменты для управления и оптимизации WordPress, обратите внимание на Clearfy Pro на wpshop.ru — он значительно упростит работу с таксономиями и другими аспектами сайта.