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

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

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

Накопление устаревших или дублирующихся категорий ведет к следующим проблемам:

  • Сложность навигации для посетителей сайта;
  • Потеря концентрации ключевых слов, что снижает SEO-эффективность;
  • Увеличение громоздкости базы данных и админки;
  • Визуальный беспорядок в виджетах и меню.

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

Как удалить категории вручную через админку WordPress

Самый простой способ — использовать стандартный интерфейс:

  1. Перейдите в раздел Записи > Рубрики в админке.
  2. Найдите категорию, которую хотите удалить.
  3. Наведите курсор на название категории и нажмите Удалить.
  4. Подтвердите удаление.

Важно: WordPress не удаляет записи, которые были привязаны к этой категории. Все они автоматически переходят в категорию по умолчанию (обычно "Без рубрики"). Если хотите сохранить структуру, лучше заранее назначить записи другой категории.

Как программно удалять категории с помощью функции wp-shablon_delete_category()

Для автоматизации удаления категорий можно написать простую функцию на PHP. Она будет принимать ID категории и удалять её, при этом можно контролировать, что происходит с записями.

function wp_shablon_delete_category($cat_id) {
    if (!term_exists($cat_id, 'category')) {
        return new WP_Error('not_found', 'Категория не найдена');
    }

    // Переназначим записи из категории в категорию по умолчанию
    $default_cat_id = get_option('default_category');
    if (!$default_cat_id) {
        $default_cat_id = 1; // Обычно ID категории 'Без рубрики'
    }

    $posts = get_posts(array(
        'category' => $cat_id,
        'numberposts' => -1
    ));

    foreach ($posts as $post) {
        wp_set_post_categories($post->ID, array($default_cat_id), false);
    }

    // Удаляем категорию
    $result = wp_delete_term($cat_id, 'category');

    return $result;
}

Данная функция сначала проверяет, существует ли категория, затем переносит все связанные с ней записи в категорию по умолчанию, и после этого удаляет категорию. Это предотвращает потерю контента и ошибок отображения.

Пример использования функции

$delete_result = wp_shablon_delete_category(15);
if (is_wp_error($delete_result)) {
    echo 'Ошибка: ' . $delete_result->get_error_message();
} else {
    echo 'Категория успешно удалена';
}

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

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

  • Bulk Delete — позволяет массово удалять категории и другие таксономии по разным параметрам, включая количество записей, дату и статус.
  • Term Management Tools — расширяет стандартные возможности по объединению, удалению и переназначению таксономий.
  • WP Bulk Delete — похож на Bulk Delete, но с дополнительными фильтрами и интеграцией с WP-Cron для автоматизации.

Для установки плагина зайдите в админку WordPress, раздел Плагины > Добавить новый, введите название плагина и нажмите "Установить" и "Активировать".

Как избежать ошибок после удаления категории: настраиваем перенаправления и SEO

Удаление категорий может привести к 404 ошибкам, если на них были ссылки в меню или внешние ссылки. Для этого важно:

  • Проверить наличие ссылок на удалённую категорию и заменить их на актуальные;
  • Настроить 301 редиректы с URL удалённых категорий на релевантные страницы или главную;
  • Использовать плагины для SEO, например, Clearfy Pro, чтобы управлять перенаправлениями и оптимизировать структуру сайта.

Пример настройки редиректа через файл .htaccess:

Redirect 301 /category/old-category-slug/ https://yourwebsite.com/new-category/

Советы по поддержанию чистоты категорий на сайте

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

  • Создавайте категории только под значимые направления контента;
  • Периодически проводите аудит категорий, удаляя или объединяя устаревшие;
  • Используйте вложенные категории для логической группировки;
  • Автоматизируйте процесс с помощью кода и плагинов — это сэкономит время и убережет от ошибок.

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

Заключение

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

WooCommerce: как быстро использовать хуки для добавления контента в страницы товара
13.05.2026
Создание и восстановление резервной копии базы данных WordPress
20.02.2026
Как создать подключение к внешнему API в WordPress: практическое руководство
01.03.2026
Как создать адаптивный шаблон WordPress с помощью PostCSS
09.04.2026
Как использовать хуки для автоматизации изменений постов в WordPress
21.03.2026