Если на сайте не ведётся публикация по датам как отдельная логика навигации, архивы за месяц и год обычно только создают лишние страницы. Они дублируют ленту записей, размывают структуру сайта и могут попадать в поиск без пользы для посетителя. В WordPress такие архивы есть по умолчанию, но их можно отключить или хотя бы закрыть от индексации так, чтобы не поломать остальной сайт.
Задача здесь не просто спрятать страницы от поисковиков. Нужно понять, используются ли они где-то в теме, меню, хлебных крошках или виджетах, а потом выбрать безопасный способ: убрать ссылки, настроить редирект или закрыть архивы от индексации. Для разных сайтов правильное решение будет разным.
Когда архивы дат действительно стоит отключать
Архивы по датам полезны только в тех проектах, где пользователь реально ищет материалы по периоду публикации: новостные сайты, журналы, блоги с регулярной хронологией. Во всех остальных случаях они чаще всего не нужны.
Отключение уместно, если:
- сайт не использует навигацию по месяцам и годам;
- архивные страницы не дают дополнительной ценности по сравнению со страницами рубрик и тегов;
- в поиске уже есть отдельные записи, а архивы только создают дубли;
- в теме или плагинах есть ссылки на архивы, но они не нужны пользователю.
Если архивы уже проиндексированы, простое удаление ссылок из шаблона не решает задачу полностью. Поисковик может ещё какое-то время держать их в индексе, пока не увидит редирект, запрет на индексацию или отсутствие страницы.
Сначала проверьте, где именно используются архивы
Перед отключением посмотрите, не завязаны ли на них элементы темы. Это важно, потому что в некоторых шаблонах архивы дат используются в сайдбаре, в хлебных крошках или в блоках «Архивы».
Проверьте четыре места:
- меню сайта — нет ли пункта с архивом по году или месяцу;
- виджеты — особенно стандартный виджет «Архивы»;
- шаблон темы — не выводятся ли ссылки на архивы в footer, sidebar или header;
- внутренние ссылки в старых записях — иногда авторы вручную вставляют ссылки на архивные страницы.
Если архивы используются только как декоративный блок в сайдбаре, его можно убрать без последствий. Если же на них завязана навигация, лучше сначала заменить её на рубрики, теги или поиск по сайту.
Как отключить архивы дат в WordPress через код
Самый надёжный способ — не давать WordPress генерировать и отдавать такие страницы. Для этого обычно используют редирект с архивов по дате на главную или на подходящую страницу раздела. Этот вариант особенно удобен, если архивы уже существуют и на них есть внешние или внутренние ссылки.
Добавьте код в файл functions.php дочерней темы или в собственный мини-плагин. Если правите тему, делайте это аккуратно: ошибка в PHP может положить сайт, поэтому перед изменениями нужен бэкап.
add_action('template_redirect', function () {
if (is_date()) {
wp_safe_redirect(home_url('/'), 301);
exit;
}
});Этот код проверяет, является ли текущая страница архивом по дате, и отправляет посетителя на главную с постоянным редиректом 301. Для поисковых систем это сигнал, что старый адрес больше не нужен и его стоит заменить в индексе.
Если вам удобнее отправлять пользователей не на главную, а, например, в блог или на страницу со всеми записями, замените home_url('/') на нужный адрес.
Когда редирект лучше, чем просто закрытие от индексации
Редирект полезен, если архивы уже доступны по старым ссылкам или успели попасть в поиск. В этом случае поисковик и пользователь сразу попадают на рабочую страницу, а не на пустой или бесполезный архив.
Если же архивы никогда не использовались и ссылок на них мало, можно ограничиться удалением ссылок из шаблона и закрытием от индексации. Но на практике редирект обычно надёжнее, потому что он решает и проблему поиска, и проблему старых ссылок.
Как закрыть архивы дат от индексации без редиректа
Иногда редирект не подходит. Например, если вы хотите сохранить доступ к архивам для людей, но не показывать их в поиске. Тогда нужно добавить запрет на индексацию.
В WordPress это можно сделать через robots.txt или через мета-тег noindex. Для архивов по датам предпочтительнее noindex, follow, чтобы поисковик не индексировал саму страницу, но мог проходить по ссылкам дальше.
Если тема поддерживает вывод мета-тегов через настройки SEO-плагина, проще всего использовать именно его. Вручную это тоже возможно, но тогда нужно убедиться, что на архивных страницах действительно выводится noindex.
Важно понимать: запрет в robots.txt сам по себе не убирает уже проиндексированные страницы из поиска. Он только ограничивает обход. Если архив уже в индексе, лучше сначала поставить noindex или редирект, а не просто закрывать его в robots.txt.
Уберите ссылки на архивы из темы и виджетов
Даже если архивы закрыты от индексации, ссылки на них могут продолжать мешать внутренней структуре сайта. Поэтому после настройки редиректа или noindex проверьте, не осталось ли на них явных ссылок.
Чаще всего нужно сделать следующее:
- удалить виджет «Архивы»;
- убрать пункт меню, если он добавлен вручную;
- отключить вывод архива дат в сайдбаре или футере через настройки темы;
- заменить ссылки на архивы более полезными блоками: рубриками, популярными записями, поиском по сайту.
Если архивы выводятся кодом в шаблоне, ищите в файлах темы функции вроде wp_get_archives(). Именно она обычно отвечает за список архивов по месяцам или годам. Удаление или замена этого вызова убирает блок из интерфейса.
Что делать, если архивы уже в поиске
Если страницы по датам уже попали в индекс, после отключения они не исчезнут мгновенно. Поисковику нужно время, чтобы переобойти сайт и увидеть новый статус страницы.
Рабочая последовательность обычно такая:
- Поставить 301-редирект с архивов дат на нужную страницу, если архивы больше не нужны совсем.
- Или добавить
noindex, follow, если архивы должны остаться доступными людям. - Убрать внутренние ссылки на эти страницы.
- Проверить в панели вебмастера, как поисковик видит старые адреса.
Если вы используете Google Search Console или Яндекс Вебмастер, можно ускорить переобход через проверку URL. Но даже без этого страницы постепенно выпадут из поиска, если они стабильно отдают редирект или noindex.
Как проверить, что всё работает правильно
После настройки откройте несколько адресов архивов вручную, например страницу месяца или года. Результат должен быть предсказуемым:
- при редиректе архив должен сразу отправлять на выбранную страницу с кодом ответа 301;
- при
noindexстраница должна открываться для пользователя, но в HTML должен быть мета-тег, запрещающий индексацию; - в меню и виджетах не должно остаться ссылок на архивы дат;
- внутренние переходы по сайту не должны вести на пустые или бесполезные архивные страницы.
Проверить код ответа можно через инструменты разработчика в браузере, расширения для просмотра заголовков или любой онлайн-проверкой HTTP-статуса. Если видите 200 там, где ожидали 301, значит редирект не сработал и код нужно перепроверить.
Что выбрать: редирект или noindex
| Сценарий | Что лучше сделать |
|---|---|
| Архивы дат не нужны вообще | Поставить 301-редирект на главную или на страницу блога |
| Архивы нужны посетителям, но не поиску | Оставить доступ и добавить noindex, follow |
| На архивы почти нет ссылок, и они не индексировались | Можно убрать ссылки из темы и виджетов, но лучше всё равно закрыть от индексации |
Если сомневаетесь, выбирайте редирект. Для сайта это обычно чище: меньше мусора в индексе, меньше лишних страниц и меньше шансов, что поисковик продолжит держать старые архивы в выдаче.
Когда архивы по датам не несут пользы, их лучше не оставлять «на всякий случай». Достаточно один раз убрать ссылки, настроить редирект или noindex и проверить результат на нескольких URL. После этого структура сайта становится проще, а поиску не приходится обходить бесполезные страницы.