Пустые категории в WordPress создают беспорядок в админке и могут негативно влиять на SEO вашего сайта. В этой статье разберем, как эффективно найти и удалить пустые категории, а также как автоматизировать этот процесс с помощью кода и плагинов.
Почему важно удалять пустые категории в WordPress
Пустые категории — это те категории, в которых нет ни одной опубликованной записи. Их наличие может привести к нескольким проблемам:
- Пользовательский опыт ухудшается из-за лишних разделов в меню и виджетах.
- Поисковые системы могут воспринимать пустые категории как дублирующий или нежелательный контент.
- Административная панель становится менее удобной для работы.
Удаление пустых категорий помогает поддерживать порядок и улучшать структуру сайта.
Как найти пустые категории вручную через админку WordPress
Для начала можно найти пустые категории через стандартный интерфейс:
- Перейдите в Консоль > Записи > Рубрики.
- В списке категорий обратите внимание на столбец Записей — там отображается количество записей в каждой категории.
- Категории с нулём записей — это пустые категории.
Минус этого метода — если категорий много, проверять вручную неудобно и долго.
Автоматическое удаление пустых категорий с помощью PHP-кода
Чтобы упростить процесс, можно использовать код, который найдет и удалит все пустые категории автоматически. Добавьте следующий код в файл functions.php вашей темы или в кастомный плагин:
function wpcompany_delete_empty_categories() {
$args = [
'taxonomy' => 'category',
'hide_empty' => true,
'fields' => 'ids'
];
$non_empty_categories = get_terms($args);
$all_categories = get_terms([
'taxonomy' => 'category',
'hide_empty' => false,
'fields' => 'ids'
]);
$empty_categories = array_diff($all_categories, $non_empty_categories);
foreach ($empty_categories as $cat_id) {
wp_delete_term($cat_id, 'category');
}
}
// Запуск функции один раз
// wpcompany_delete_empty_categories();Этот код получает все категории, разделяет их на пустые и непустые, а затем удаляет пустые. Для запуска раскомментируйте вызов функции.
Безопасность и рекомендации
Перед запуском кода обязательно сделайте резервную копию базы данных. Удаление категорий — необратимая операция.
Использование плагинов для управления категориями
Если вы не хотите работать с кодом, можно использовать готовые плагины, которые упрощают работу с категориями:
- WP-Optimize — позволяет оптимизировать базу данных, в том числе удалять пустые таксономии.
- Clearfy Pro — мощный инструмент для оптимизации WordPress, в котором есть опции по очистке и удалению пустых категорий.
Плагины удобны для регулярного обслуживания сайта без риска ошибиться в коде.
Как предотвратить появление пустых категорий
Лучше не допускать появления пустых категорий, а для этого:
- Создавайте категории только при необходимости.
- При удалении записей проверяйте, не остались ли категории пустыми.
- Используйте кастомные функции для автоматического удаления пустых категорий после удаления записей.
Например, можно добавить хуки, чтобы функция wpcompany_delete_empty_categories() запускалась после удаления записи.
Пример интеграции с хуком удаления записи
add_action('delete_post', 'wpcompany_delete_empty_categories');Так функция будет проверять и удалять пустые категории автоматически после удаления любой записи.
Итоги и практические советы
Удаление пустых категорий — важный этап в поддержании чистоты и удобства управления сайтом на WordPress. Для этого можно:
- Вручную контролировать категории через админку.
- Использовать простой и понятный PHP-код для массового удаления.
- Применять профессиональные плагины, такие как Clearfy Pro, для регулярной оптимизации.
Рекомендуется сочетать эти подходы и автоматизировать процесс с помощью хуков, чтобы не допускать накопления пустых категорий.