Если рубрики на сайте не несут самостоятельной ценности, их архивы часто превращаются в лишние страницы: в выдаче появляются дубли, а структура сайта разрастается без пользы для посетителя. В WordPress отключить архивы рубрик можно по-разному — от мягкого скрытия для поисковиков до полного отключения самих архивных страниц. Выбор зависит от того, нужно ли сохранить рубрики как навигацию внутри сайта или вы хотите убрать их совсем.
Сразу уточню важный момент: у WordPress рубрика — это не только название в меню. У каждой рубрики есть собственный архивный URL вида /category/slug/ или другой, если вы меняли базу рубрик. Именно эти страницы и создают проблему, когда контент на них повторяется почти без изменений.
Что именно вы хотите отключить
Перед настройкой стоит понять, какой результат нужен. В практике встречаются три сценария.
- Рубрики нужны для структуры сайта, но их архивы не должны индексироваться. Это самый частый вариант. Страницы остаются доступными для пользователей, но поисковикам вы даёте понять, что они не приоритетны.
- Рубрики нужны только как внутренний механизм, а архивы вообще не должны открываться. Тогда URL рубрик нужно либо перенаправлять, либо отдавать ошибку 404/410.
- Рубрики больше не нужны как сущность. В этом случае одного отключения архивов мало: придётся пересмотреть структуру записей и таксономий.
Для большинства сайтов, где рубрики просто дублируют ленту записей, достаточно убрать архивы из индекса и не показывать их в карте сайта. Полное отключение имеет смысл только тогда, когда вы точно не используете эти страницы ни для навигации, ни для SEO.
Самый безопасный вариант: оставить рубрики, но закрыть их от поисковиков
Если задача — сократить количество бесполезных страниц в поиске, не ломая сайт, лучше не удалять архивы рубрик физически. Вместо этого настройте для них noindex и уберите их из XML-карты сайта, если она содержит таксономии.
В WordPress это можно сделать плагином SEO-направления или вручную, если у вас уже есть технический контроль над сайтом. Суть одна: поисковик должен видеть, что архив рубрики не является целевой страницей.
Плюс этого подхода в том, что внутренние ссылки и навигация остаются рабочими. Минус — страницы продолжают открываться для пользователей, но это обычно и не мешает, если рубрики нужны для удобства.
После настройки проверьте исходный код страницы рубрики: в ней должен появиться мета-тег вида <meta name="robots" content="noindex,follow"> или эквивалентная директива. Конкретная реализация зависит от плагина или темы.
Как полностью отключить архив рубрики кодом
Если архивы рубрик не должны открываться вообще, можно перехватить запрос и отдать 404. Это уже более жёсткое решение, и перед ним лучше сделать резервную копию или хотя бы проверить, не ведут ли на рубрики внутренние ссылки, меню, хлебные крошки и старые внешние ссылки.
Надёжнее всего сделать это через дочернюю тему или небольшой mu-plugin, а не править файлы основной темы. Тогда изменение не слетит после обновления.
Добавьте в functions.php дочерней темы или в собственный плагин такой код:
add_action('template_redirect', function () {
if (is_category()) {
global $wp_query;
$wp_query->set_404();
status_header(404);
nocache_headers();
include get_query_template('404');
exit;
}
});Этот вариант делает архивы рубрик недоступными и возвращает страницу 404. Для поисковиков это сигнал, что страница не существует. Если рубрика была в индексе, она со временем выпадет, но скорость зависит от частоты обхода сайта.
Есть и более мягкая альтернатива — редирект на главную, на страницу блога или на ближайшую тематическую запись. Но с точки зрения чистки структуры сайта редирект не всегда хорош: он может маскировать проблему и создавать цепочки перенаправлений, если рубрик много.
Когда 404 лучше, а когда нет
404 подходит, если рубрика действительно не нужна и у неё нет ценного трафика. Если же на архивы рубрик уже есть внешние ссылки или они используются в навигации, резкое отключение может ухудшить пользовательский путь. В таком случае сначала замените ссылки в шаблоне, а уже потом закрывайте архив.
Как убрать рубрики из шаблона, чтобы на них не вели ссылки
Даже если вы отключили архивы, на них могут продолжать вести ссылки из темы. Чаще всего это:
- список рубрик в сайдбаре;
- ссылки на рубрику в карточках записей;
- хлебные крошки;
- виджеты и блоки с категориями;
- автоматические ссылки в шаблоне записи.
Если архивы рубрик больше не нужны, проверьте тему и уберите вывод ссылок на рубрики там, где они не приносят пользы. Иначе вы получите странную ситуацию: страницы закрыты, но сайт продолжает активно на них ссылаться.
Для владельца сайта это обычно заметно по двум признакам: пользователь кликает по рубрике и попадает на 404, либо в отчётах поисковой консоли остаются URL рубрик, хотя вы уже всё отключили. Это не ошибка WordPress, а следствие того, что ссылки остались в шаблоне или контенте.
Как проверить, что архивы рубрик действительно отключены
После настройки не ограничивайтесь визуальной проверкой. Откройте несколько URL рубрик вручную и посмотрите, что именно возвращает сайт.
- Если вы ставили
noindex, проверьте исходный код страницы и заголовки ответа. - Если вы отдавали 404, убедитесь, что страница действительно возвращает код ответа 404, а не просто выглядит как ошибка.
- Если вы делали редирект, проверьте, куда именно он ведёт и нет ли лишней цепочки перенаправлений.
Для быстрой проверки можно использовать браузерные инструменты разработчика или любой HTTP-проверщик. Важно смотреть не только на внешний вид страницы, но и на код ответа сервера. Именно он показывает, как URL воспринимают поисковики и технические сервисы.
Если у вас установлен кэш-плагин или серверный кэш, очистите кэш после изменений. Иначе вы можете увидеть старую версию страницы и решить, что настройка не сработала.
Что выбрать в типичном случае
Если рубрики просто дублируют список записей и не нужны как отдельные посадочные страницы, обычно разумнее не ломать сайт полностью, а убрать их из индекса и из карты сайта. Это даёт нужный эффект без лишнего риска.
Полное отключение архивов рубрик имеет смысл, когда:
- рубрики не используются в навигации;
- на них нет полезного трафика;
- вы готовы заменить все внутренние ссылки;
- вам не нужен архив как отдельная страница.
Если хотя бы один из этих пунктов не выполняется, сначала лучше ограничиться мягким вариантом. На практике это чаще всего экономит время и не создаёт побочных проблем с внутренней перелинковкой.
Когда задача именно в чистке сайта от дублей, а не в полном удалении таксономии, удобнее работать через настройки SEO-плагина или через аккуратное отключение индексации. Полное удаление архивов — это уже более жёсткая мера, и применять её стоит только после проверки структуры сайта.