Как отключить архивы отдельных рубрик в WordPress

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

Сразу уточню важный момент: рубрика как таксономия и архив рубрики — это не одно и то же. Можно оставить рубрику в админке для удобства организации записей, но отключить её публичную страницу вида /category/slug/. Именно это обычно и требуется, когда нужно почистить индекс и убрать лишние посадочные страницы.

Что именно отключать: архив, индексацию или саму рубрику

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

  • Если рубрика полезна внутри сайта, но не нужна в поиске — обычно достаточно закрыть её от индексации или поставить редирект.
  • Если архив рубрики дублирует другую страницу — лучше перенаправить его на более подходящий раздел или запись.
  • Если рубрика вообще не нужна как публичная страница — можно отключить её архив на уровне шаблона или вернуть 404/410, но это уже более жёсткий вариант.

Для большинства сайтов самый безопасный путь — не удалять рубрику из WordPress, а убрать именно её архив из публичной выдачи. Так вы не ломаете структуру записей и не теряете возможность использовать рубрику в админке.

Самый простой способ: закрыть архив рубрики от индексации

Если задача именно в чистке поиска, а не в полном отключении страницы, обычно достаточно добавить для конкретной рубрики мета-тег noindex. Это не удаляет архив из сайта, но даёт поисковым системам сигнал не показывать его в выдаче.

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

Плюс этого подхода в том, что он не требует правки кода и не создаёт лишних редиректов. Минус — страница остаётся доступной по прямой ссылке, а значит, если вам нужно именно убрать её из навигации и из пользовательского доступа, одного noindex недостаточно.

Как полностью отключить архив конкретной рубрики через код

Если нужно, чтобы архив определённой рубрики не открывался вообще, проще всего перехватить запрос и отдать 404. Такой способ подходит, когда рубрика нужна только как служебная метка для записей, а её архив не должен существовать для посетителей.

Ниже пример для файла functions.php дочерней темы или для собственного мини-плагина. Перед изменением сделайте резервную копию: ошибка в коде может временно сломать сайт.

add_action('template_redirect', function () {
    if (is_category('news') ) {
        global $wp_query;
        $wp_query->set_404();
        status_header(404);
        nocache_headers();
        include get_query_template('404');
        exit;
    }
});

Здесь news — это slug рубрики. Вместо него укажите нужную рубрику. Можно использовать не только slug, но и ID, если так удобнее, например is_category(12).

Что делает этот код:

  • проверяет, открыт ли архив нужной рубрики;
  • переводит запрос в состояние 404;
  • подключает шаблон ошибки 404 вашей темы;
  • останавливает дальнейшую обработку страницы.

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

Когда лучше поставить редирект, а не 404

Если у рубрики уже есть трафик, ссылки из поиска или внешние упоминания, резкое удаление архива не всегда лучший вариант. В таком случае логичнее перенаправить её на более релевантную страницу: на основную рубрику, на родительский раздел, на страницу-обзор или даже на главную, если другого подходящего адреса нет.

Для постоянного перенаправления используйте 301. Это подсказывает поисковым системам, что адрес заменён другим. Пример для functions.php:

add_action('template_redirect', function () {
    if (is_category('news')) {
        wp_redirect(home_url('/blog/'), 301);
        exit;
    }
});

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

Как отключить архивы нескольких рубрик сразу

Если лишних рубрик несколько, не стоит плодить отдельные блоки кода для каждой. Проще задать список slug'ов и проверять его в одном месте. Это удобнее поддерживать и меньше риск ошибиться.

Пример для нескольких рубрик:

add_action('template_redirect', function () {
    if (!is_category()) {
        return;
    }

    $disabled_categories = array('news', 'press', 'archive');

    $term = get_queried_object();
    if (!empty($term->slug) && in_array($term->slug, $disabled_categories, true)) {
        wp_redirect(home_url('/blog/'), 301);
        exit;
    }
});

Здесь сначала проверяется, что открыт именно архив рубрики, а затем сравнивается её slug со списком отключаемых рубрик. Такой вариант удобен, если вы чистите структуру сайта постепенно и хотите управлять несколькими архивами из одного фрагмента кода.

Что делать, если рубрика используется в меню или хлебных крошках

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

Если архив закрыт через 404 или редирект, такие ссылки лучше заменить на рабочие страницы. Иначе пользователь будет попадать на несуществующий адрес или лишний промежуточный редирект. Это не критично для работы сайта, но ухудшает навигацию и может создавать путаницу.

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

Как проверить, что всё работает

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

  • Если вы ставили 404 — страница должна открывать шаблон ошибки и возвращать код ответа 404.
  • Если вы ставили редирект — адрес должен сразу вести на целевую страницу с кодом 301.
  • Если вы использовали noindex — страница должна открываться, но в исходном коде должен быть мета-тег, запрещающий индексацию.

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

Какой способ выбрать на практике

СценарийЧто делатьКомментарий
Рубрика нужна в админке, но не нужна в поискеnoindexСамый мягкий вариант
Архив дублирует другой раздел301 на релевантную страницуПодходит, если есть замена
Архив не должен открываться вообще404Жёсткое отключение без замены

Если сомневаетесь, начинайте с редиректа или noindex. Полное отключение через 404 имеет смысл только тогда, когда вы уверены, что архив рубрики не нужен ни пользователям, ни поисковым системам, ни внутренней структуре сайта.

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

Главная идея простая: рубрику можно оставить в системе, но убрать её архив из публичной части сайта. Для чистки структуры это обычно безопаснее, чем удалять рубрику целиком, и удобнее, чем держать бесполезные страницы в индексе.

Как отключить архивы отдельных рубрик в WordPress
13.10.2026
Как удалить неактивных пользователей WordPress с помощью скрипта
03.10.2026
Как ограничить регистрацию пользователей в WordPress
30.10.2026
Как отключить комментарии в WordPress на всём сайте или для отдельных записей
24.10.2026
Как удалить пустые архивы таксономий в WordPress
17.10.2026