Если в WordPress есть рубрики, которые пустуют, дублируют основной контент или просто не должны открываться посетителям, их архивы лучше отключить точечно, а не прятать весь механизм категорий целиком. Это решает сразу две задачи: лишние страницы не мешают структуре сайта, а полезные разделы остаются доступными для пользователей и поисковых систем.
Под «отключить архив категории» обычно имеют в виду один из трёх сценариев: закрыть конкретную рубрику от просмотра, убрать её из индексации или сделать так, чтобы при открытии адреса архив не показывался вовсе. Выбор зависит от того, что именно вы хотите получить на выходе.
Что именно нужно отключать: показ, индексацию или сам архив
Перед правкой важно не смешивать эти вещи. В WordPress архив категории — это страница вида /category/news/ или похожий URL, где выводятся записи из рубрики. Если архив пустой, он всё равно может открываться. Если рубрика дублирует другой раздел, архив может создавать лишний дубль. Если раздел не нужен посетителям, одной только настройки SEO может быть мало.
Практически всегда есть три рабочих варианта:
- Оставить архив, но закрыть от индексации — подходит, если рубрика нужна для навигации, но не должна попадать в поиск.
- Скрыть рубрику из меню и виджетов — полезно, если раздел не должен быть заметен пользователю, но сам архив технически остаётся.
- Полностью отключить открытие архива для конкретной категории — вариант для ненужных или служебных рубрик, когда страница не должна работать как публичный раздел.
Если задача именно в ненужных разделах, обычно нужен третий вариант. Но перед этим стоит проверить, нет ли на рубрике важных записей, которые потом останутся без удобного пути доступа.
Самый надёжный способ: перенаправить или отдать 404 для конкретной рубрики
WordPress не имеет штатной кнопки «отключить архив этой категории». Для точечного отключения обычно используют код в теме или в небольшом плагине. Это безопаснее, чем править ядро, и проще контролировать.
Если рубрика больше не нужна, логика обычно такая: при открытии её архива пользователь должен либо попасть на другую страницу через редирект, либо получить 404. Какой вариант выбрать, зависит от ситуации.
Когда лучше редирект
Редирект уместен, если у рубрики есть очевидная замена: похожий раздел, родительская категория или общая страница со всеми материалами. Тогда старый адрес не пропадает бесследно, а посетитель попадает в полезное место.
Например, если у вас была рубрика «Новости компании», а теперь все материалы лежат в «Блоге», можно отправлять старый архив на новый раздел. Для этого в functions.php дочерней темы или в собственном мини-плагине добавляют проверку конкретной категории:
add_action('template_redirect', function () {
if (is_category('news-company')) {
wp_redirect(home_url('/blog/'), 301);
exit;
}
});Здесь news-company — это ярлык категории, а /blog/ — адрес страницы, куда нужно отправить посетителя. Код срабатывает только на архиве этой рубрики. Если нужен другой раздел, меняете ярлык и URL.
Редирект лучше использовать осознанно: если рубрика просто пустая и не имеет замены, отправлять всех на главную не стоит. Такой редирект часто выглядит как техническая заглушка и ухудшает навигацию.
Когда лучше 404
Если рубрика была служебной, тестовой или больше не должна существовать как раздел сайта, корректнее отдавать 404. Тогда поисковик и пользователь понимают, что страницы нет. Это лучше, чем оставлять пустой архив или вести на нерелевантную страницу.
Для этого можно использовать фильтр template_include и подменять шаблон на 404.php для конкретной категории. Но на практике проще и чище сделать это через template_redirect и вызвать wp_die() с кодом 404 либо перенаправить на стандартную 404-страницу темы. Ниже пример, который переводит архив категории в 404:
add_action('template_redirect', function () {
if (is_category('old-section')) {
global $wp_query;
$wp_query->set_404();
status_header(404);
nocache_headers();
include get_query_template('404');
exit;
}
});Такой вариант подходит, если архив реально не нужен и не должен открываться вообще. Но перед применением убедитесь, что на него нет внутренних ссылок из меню, хлебных крошек или старых материалов.
Как отключить только часть рубрик, не трогая остальные
Частая задача — убрать не все архивы категорий, а только отдельные. Например, служебные рубрики для редакции, категории с дублирующимся контентом или разделы, которые создавались под временную кампанию. В этом случае не стоит отключать архивы глобально.
Удобнее собрать список ярлыков и проверять его в одном месте. Такой подход проще поддерживать: добавили новую ненужную рубрику — вписали её в массив, и логика сразу начала работать.
add_action('template_redirect', function () {
$disabled_categories = array('old-section', 'test', 'internal');
if (is_category($disabled_categories)) {
wp_redirect(home_url('/'), 301);
exit;
}
});В этом примере все перечисленные категории будут перенаправляться на главную. Но на практике главная — не всегда лучший адрес. Если есть тематическая страница-замена, лучше отправлять туда. Если замены нет, можно отдавать 404, как в предыдущем примере.
Если вам нужно отключить архивы не по ярлыку, а по ID категории, это тоже возможно, но для поддержки ярлык обычно удобнее: его проще увидеть в админке и легче сопровождать без поиска числовых идентификаторов.
Если архив нужен, но не должен участвовать в поиске
Иногда рубрика нужна для структуры сайта, но её архив не должен конкурировать в выдаче. В таком случае отключать сам архив не нужно. Достаточно закрыть его от индексации и оставить доступным для навигации.
Это уже не про удаление страницы, а про управление поисковым поведением. Для этого используют SEO-плагин или настройку мета-тега robots, если она доступна в теме или через плагин. Такой вариант подходит, когда архив полезен посетителям, но не несёт самостоятельной ценности для поиска.
Здесь важно не путать «не индексировать» и «не открывать». Если архив должен быть доступен по ссылке из меню или из хлебных крошек, но не нужен в поиске, не надо ставить редирект или 404. Иначе вы сломаете путь пользователя.
Что проверить после отключения
После правки стоит пройтись по нескольким точкам, чтобы не оставить сайт в полурабочем состоянии.
- Откройте адрес отключённой категории в браузере и проверьте, что срабатывает нужное поведение: редирект, 404 или другая логика.
- Проверьте, не осталось ли ссылки на этот архив в меню, сайдбаре, хлебных крошках и блоках записей.
- Если был редирект, убедитесь, что он ведёт на релевантную страницу, а не на случайную заглушку.
- Если архив оставлен, но закрыт от индексации, проверьте исходный код страницы и настройки SEO-плагина.
Отдельно посмотрите, не используется ли эта рубрика в старых публикациях как единственный способ навигации. Если да, лучше сначала перестроить внутренние ссылки, а уже потом отключать архив.
Что чаще всего ломают при такой настройке
Самая типичная ошибка — отключить архив категории, не проверив, что в ней есть записи и входящие ссылки. В результате пользователь попадает на 404, хотя ожидал увидеть материалы. Если раздел ещё нужен как источник трафика или навигации, лучше не отключать его полностью.
Вторая ошибка — ставить редирект всех ненужных рубрик на главную. Для поисковика это часто выглядит как слабый сигнал, а для пользователя — как потеря контекста. Если есть тематическая замена, редирект должен вести именно туда.
Третья ошибка — править код в основной теме. После обновления изменения пропадут. Для точечных правок используйте дочернюю тему или отдельный мини-плагин. Это особенно важно, если вы отключаете не одну рубрику, а несколько и планируете поддерживать список дальше.
Если задача сводится не к отключению архивов, а к чистке дублей и лишних страниц в целом, для WordPress удобно использовать Clearfy Pro: он помогает управлять техническими дублями и SEO-настройками без ручной правки каждого шаблона. Но для точечного отключения конкретной рубрики код всё равно остаётся самым прямым способом.
Какой вариант выбрать на практике
| Ситуация | Что делать | Когда подходит |
|---|---|---|
| Рубрика нужна, но не должна быть в поиске | Закрыть архив от индексации | Раздел полезен для навигации |
| У рубрики есть замена | Сделать 301-редирект на нужную страницу | Старый архив больше не нужен, но есть релевантный новый адрес |
| Рубрика служебная или устаревшая | Отдать 404 | Архив не должен открываться вообще |
| Нужно отключить несколько разделов | Проверять список ярлыков в одном коде | Удобно сопровождать и расширять |
Если коротко: не отключайте архивы категорий «на всякий случай». Сначала решите, что должно происходить при открытии адреса рубрики — редирект, 404 или просто запрет индексации. Для ненужных разделов это обычно самый аккуратный путь: вы убираете лишнее, но не ломаете полезную структуру сайта.