На живом сайте проблема обычно не в одной «лишней» странице, а в пачке архивов: термины кастомной таксономии, пустые страницы, дубли из фильтров и URL, которые уже не несут пользы ни пользователю, ни поиску. Если таксономия нужна только как внутренний способ группировки контента, её архивы часто лучше отключить или перевести в режим без публичной страницы.
Ниже разберу, как понять, что именно мешает, какие есть рабочие варианты и как не сломать связанные записи, хлебные крошки и фильтрацию.
Когда архив таксономии лучше отключить
Речь не про все таксономии подряд. Отключать имеет смысл те архивы, которые:
- показывают почти пустой список записей;
- дублируют другие страницы по смыслу;
- создаются для внутренней классификации, а не для посадочных страниц;
- попадают в индекс, но не дают трафика и не нужны в навигации;
- мешают из-за множества URL в фильтрах, сортировках или служебных терминах.
Типичный пример — кастомная таксономия для меток проекта, типов документов, внутренних статусов или регионов, где архив нужен только в админке, а на фронтенде его лучше не показывать.
Диагностика: что именно создаёт проблему
Сначала проверьте, что у вас за таксономия и как она зарегистрирована. Частая ошибка — пытаться закрыть URL на уровне robots.txt, когда проблема вообще в публичности самой таксономии.
Что посмотреть в коде регистрации
Ищите вызов register_taxonomy(). Важны параметры public, publicly_queryable, rewrite и show_ui. Если таксономия должна жить только в админке, а архивы не нужны, её лучше настраивать сразу правильно.
register_taxonomy( 'project_tag', array( 'project' ), array(
'label' => 'Теги проектов',
'public' => false,
'publicly_queryable'=> false,
'show_ui' => true,
'show_in_nav_menus' => false,
'rewrite' => false,
'hierarchical' => false,
) );Если таксономия уже используется на продакшене, менять параметры нужно аккуратно: сначала понять, есть ли на неё входящий трафик, ссылки из меню, хлебных крошек или внутренних фильтров.
Как быстро найти лишние архивы
Проверьте:
- есть ли у термина записи вообще;
- не дублирует ли архив страницу рубрики, категории или отдельный фильтр;
- не создаёт ли плагин SEO-страницы на базе таксономии;
- не попадает ли URL в sitemap;
- не используется ли он в меню, виджетах и хлебных крошках.
Если архив пустой или почти пустой, а в навигации он не нужен, его можно отключать без сожаления. Если же термин — это реальная посадочная страница, лучше не удалять архив, а доработать его контентом и метаданными.
Пошаговое решение: три рабочих варианта
Выбор зависит от того, как именно таксономия используется в проекте.
| Вариант | Когда подходит | Компромисс |
|---|---|---|
Отключить публичность в register_taxonomy() | Таксономия нужна только в админке | Старые URL перестанут открываться, нужно проверить ссылки |
| Оставить таксономию, но закрыть архив через шаблон/редирект | Нельзя менять регистрацию, но архив не нужен | Нужно поддерживать редиректы и исключения |
| Оставить архив, но убрать из индекса и навигации | Страница полезна пользователю, но не нужна в SEO | URL остаётся доступным, требуется контроль мета-тегов |
Вариант 1. Отключить публичный архив на уровне регистрации
Это самый чистый способ, если таксономия не должна быть доступна на фронтенде. Для уже существующей таксономии проверьте, не завязаны ли на неё внешние ссылки и не нужны ли старые URL с редиректом.
add_action( 'init', function() {
register_taxonomy( 'project_tag', array( 'project' ), array(
'label' => 'Теги проектов',
'public' => false,
'publicly_queryable' => false,
'show_ui' => true,
'show_in_nav_menus' => false,
'rewrite' => false,
'hierarchical' => false,
) );
}, 20 );Если таксономия уже зарегистрирована плагином или темой, не дублируйте её без понимания последствий. В таких случаях лучше менять исходную регистрацию или использовать фильтры самого плагина, если они предусмотрены.
Вариант 2. Оставить архив, но отдавать 404 или 301
Подходит, когда нужно сохранить совместимость со старыми ссылками, но сам архив больше не нужен. Если у термина есть замена, делайте 301 на ближайшую релевантную страницу. Если замены нет и архив точно не должен существовать, отдавайте 404 или 410.
add_action( 'template_redirect', function() {
if ( is_tax( 'project_tag' ) ) {
$term = get_queried_object();
if ( $term && ! is_wp_error( $term ) ) {
$target = home_url( '/projects/' );
wp_redirect( $target, 301 );
exit;
}
}
} );Этот вариант удобен, когда вы переносите структуру сайта и не хотите оставлять старые архивы висеть в поиске. Но если архивов много, редиректы лучше хранить централизованно, а не размазывать по шаблонам.
Вариант 3. Оставить страницу, но убрать её из индекса
Если архив нужен пользователю как фильтр или точка входа, но не должен конкурировать с основными страницами, оставьте его доступным и настройте noindex. Это уже не про отключение архива, а про его ограничение.
Для этого обычно достаточно:
- убрать термин из XML sitemap, если он там есть;
- добавить
noindex, followна архив; - не выводить его в меню, если он не нужен в навигации;
- проверить canonical.
Если используете SEO-плагин, настройка делается там. Если нет — придётся править шаблон архива или подключать фильтры темы.
Проверка результата после внедрения
После изменений не ограничивайтесь открытием страницы в браузере. Проверьте несколько уровней сразу.
- Откройте URL архива в режиме инкогнито и убедитесь, что он ведёт себя так, как задумано: 404, 301 или обычная страница с noindex.
- Проверьте HTTP-ответ через DevTools или
curl -I. - Посмотрите исходный код страницы: нет ли лишнего canonical, indexable meta robots или ссылки в sitemap.
- Проверьте хлебные крошки и меню: не осталась ли ссылка на отключённый архив.
- Если был редирект, убедитесь, что он не создаёт цепочку из двух и более переходов.
curl -I https://example.com/project-tag/internal-status/Если видите 200 OK там, где ожидали 301 или 404, значит правило не сработало или его перехватывает другой плагин/шаблон.
Частые ошибки и как их исправить
Отключили архив, но ссылки остались в меню
Это самая частая история. Таксономия уже не открывается, а пункт меню продолжает вести на мёртвый URL. Решение простое: после изменения регистрации проверьте меню, виджеты, блоки навигации и хлебные крошки.
Поставили редирект, но забыли про старые URL терминов
Если у таксономии было несколько терминов, редирект на одну общую страницу может быть слишком грубым. Для части терминов лучше подобрать релевантные посадочные страницы, иначе пользователь теряет контекст.
Сломались фильтры в теме
Иногда тема использует архив таксономии как основу для фильтрации записей. После отключения архива фильтр продолжает строить URL, но страница уже не существует. В этом случае нужно либо оставить публичный архив, либо переписать логику фильтра.
Появились дубли из-за разных способов доступа
Например, архив доступен и по старому адресу, и по новому редиректу, а canonical указывает не туда. Проверяйте, чтобы у страницы был один основной URL, а не несколько вариантов с одинаковым контентом.
Безопасность и производительность: что не стоит делать
Не закрывайте такие URL только через robots.txt. Это не удаляет страницу из индекса, а лишь ограничивает обход. Если архив уже проиндексирован, проблема останется.
Не лепите универсальные редиректы на все таксономии без списка исключений. На больших сайтах это легко ломает рабочие разделы, особенно если часть архивов нужна для фильтров, а часть — нет.
Если вы правите код темы, держите изменения в дочерней теме или в небольшом mu-plugin. Так проще контролировать поведение после обновлений и не потерять логику при деплое.
Когда лучше не отключать архив, а доработать его
Если термин уже получает трафик, имеет внешние ссылки или используется как полноценная посадочная страница, отключение архива может навредить. В таком случае лучше:
- добавить уникальный текст на страницу термина;
- настроить мета-теги и canonical;
- убрать лишние термины из индекса, но оставить полезные;
- почистить пустые и технические страницы через SEO-настройки.
Если нужна именно системная чистка дублей и технических страниц, удобнее сначала собрать список проблемных URL, а уже потом решать, что закрывать, что редиректить, а что оставлять. В проектах с большим количеством служебных архивов для этого часто используют наборы инструментов вроде Clearfy Pro, но решение всё равно должно опираться на структуру конкретного сайта, а не на шаблонную настройку.