Как удалить категории в WordPress правильно с помощью кода и плагинов

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

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

Простое удаление категории через админку может привести к неожиданным последствиям. Например, записи, которые были в удаленной категории, могут автоматически перейти в категорию по умолчанию (обычно «Без рубрики»), что не всегда желательно. Кроме того, удаление категорий связано с обновлением ссылок и индексации поисковиками.

Правильное удаление категорий включает в себя:

  • Переназначение или удаление записей из категории;
  • Обновление постоянных ссылок, если категория используется в URL;
  • Очистку связанных метаданных;
  • Проверку влияния на SEO;
  • Резервное копирование данных перед удалением.

Рассмотрим, как безопасно и эффективно выполнить удаление категорий.

Удаление категории WordPress через админку: что нужно знать

Самый простой способ удалить категорию — через меню «Записи» → «Рубрики». Там можно выбрать категорию и нажать «Удалить». Однако при этом все записи из категории перейдут в категорию по умолчанию.

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

Удаление категорий программно: примеры кода для wpnews.ru

Через код можно удалить категории и управлять связями с записями. Для этого используем функцию wp_delete_term, которая удаляет термин таксономии.

Пример функции для удаления категории по ID с проверкой удаления:

function wpnews_delete_category_by_id($cat_id) {
    if (!term_exists($cat_id, 'category')) {
        return 'Категория не найдена';
    }
    $result = wp_delete_term($cat_id, 'category');
    if (is_wp_error($result)) {
        return 'Ошибка удаления: ' . $result->get_error_message();
    }
    return 'Категория успешно удалена';
}

Вызвать функцию можно так:

echo wpnews_delete_category_by_id(12); // где 12 - ID категории

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

Переназначение записей перед удалением категории

Чтобы переназначить записи из удаляемой категории в другую, используйте следующий код:

function wpnews_reassign_posts_from_category($old_cat_id, $new_cat_id) {
    $args = [
        'category__in' => [$old_cat_id],
        'posts_per_page' => -1,
        'post_type' => 'post',
        'fields' => 'ids',
    ];
    $posts = get_posts($args);
    foreach ($posts as $post_id) {
        wp_set_post_categories($post_id, [$new_cat_id], false);
    }
}

Вызов:

wpnews_reassign_posts_from_category(12, 5); // Переназначить записи с категории 12 в категорию 5

После переназначения категорий можно безопасно удалить старую категорию.

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

Если не хочется писать код, воспользуйтесь плагинами, которые упрощают управление категориями:

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

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

Настройка Term Management Tools для удаления категорий

После установки и активации перейдите в «Инструменты» → «Term Management Tools». Там можно выбрать категории для удаления и задать правила переназначения записей.

Плагин автоматически выполнит перенос записей и удалит выбранные категории.

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

Удаление категорий может повлиять на SEO, особенно если URL категорий используется в постоянных ссылках. Чтобы избежать проблем:

  • Настройте 301 редиректы с удаленных URL категорий на релевантные страницы сайта.
  • Обновите sitemap, чтобы убрать удаленные категории.
  • Используйте плагины SEO, например SEO by WPNews, которые помогут управлять редиректами и индексированием.

Резервное копирование перед удалением категорий

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

Для резервного копирования можно использовать плагин Backup by WPNews или популярные решения, такие как UpdraftPlus.

Итоги и рекомендации

Удаление категорий в WordPress — задача, требующая внимания к деталям. Не стоит просто удалять категории, не продумав, что будет с записями и URL. Используйте программные методы с проверкой, переназначайте записи, пользуйтесь проверенными плагинами и всегда делайте резервные копии.

Такой подход позволит сохранить структуру сайта, не потерять контент и минимизировать влияние на SEO.

Как создать автоматические отчёты в WordPress с помощью WPRemark
14.02.2026
Как создать подробный лог для отладки в WordPress
21.11.2025
Как запретить регистрацию пользователей в WordPress с помощью кода и плагинов
10.12.2025
Как проверить и исправить проблемы с постоянными ссылками (permalinks) в WordPress
26.01.2026
Как использовать REST API в WordPress для создания настраиваемых приложений
08.11.2025