Если на сайте есть архивы по месяцам и датам, но ими никто не пользуется, они часто только плодят дубли и создают лишние URL. Для небольшого блога это может быть просто шумом, а для сайта с большим количеством публикаций — ещё и источником технического мусора, который не нужен ни посетителям, ни поисковым системам.
Удалить такие архивы в WordPress можно несколькими способами: через настройки темы, через код, через SEO-плагин или через серверные правила. Самый надёжный вариант зависит от того, как именно у вас сейчас формируются ссылки и нужны ли эти страницы вообще. Если задача именно в том, чтобы убрать бесполезные архивы дат и месяцев, обычно достаточно отключить их генерацию и при необходимости настроить редирект на более полезные разделы.
Какие архивы обычно мешают
В WordPress архивами дат считаются страницы вида /2024/05/ или /2024/05/17/. Они появляются автоматически, если в теме или в навигации используются архивные ссылки, а сам движок умеет собирать записи по году, месяцу и дню.
Проблема не в самом существовании архивов, а в том, что на многих сайтах они не несут пользы:
- дублируют подборки записей, которые уже есть в рубриках или тегах;
- разбивают контент на слишком мелкие страницы;
- создают много URL с очень похожим содержимым;
- отвлекают посетителя от нормальной навигации по теме, а не по календарю.
Если у вас новостной сайт, журнал или блог, где дата действительно помогает ориентироваться, удалять архивы нужно осторожно. Но если это обычный корпоративный сайт, блог с редкими публикациями или контентный проект без привязки к датам, такие архивы чаще всего можно убрать без потерь.
Сначала проверьте, откуда они вообще берутся
Перед удалением стоит понять, где именно эти ссылки появились. В WordPress архивы дат могут выводиться в нескольких местах:
- в виджете «Архивы»;
- в меню, если кто-то добавил туда архивную страницу;
- в шаблоне темы, если разработчик вывел список архивов вручную;
- в хлебных крошках или блоках навигации старой темы;
- в XML-карте сайта, если плагин включает архивные страницы в карту.
Если просто скрыть блок на сайте, но оставить сами URL доступными, проблема не исчезнет. Для поисковика и для прямого перехода такие страницы всё равно будут существовать. Поэтому лучше не маскировать архивы, а отключить их на уровне логики или хотя бы закрыть от индексации и перенаправить на более полезные разделы.
Самый практичный способ: отключить архивы дат в коде
Если вам нужно именно убрать архивы дат и месяцев из WordPress, самый прямой способ — запретить их отображение через фильтр date_archive_link и, при необходимости, перенаправить уже существующие страницы архивов. Но в большинстве случаев удобнее не ломать генерацию ссылок точечно, а отключить архивные страницы через шаблонную логику темы.
Если вы работаете с дочерней темой, можно добавить в functions.php такой код. Он не удаляет записи и не трогает сами публикации, а только блокирует доступ к архивам по датам:
add_action('template_redirect', function () {
if (is_date()) {
wp_redirect(home_url('/'), 301);
exit;
}
});Что делает этот фрагмент:
is_date()проверяет, что открыта именно архивная страница по дате;wp_redirect(..., 301)отправляет постоянный редирект на главную;exitзавершает выполнение, чтобы WordPress не продолжал рендерить архив.
Такой вариант подходит, если архивы уже проиндексированы или на них есть внешние ссылки. Тогда пользователь и робот поисковой системы попадут не в тупик, а на рабочую страницу.
Перед изменением кода сделайте резервную копию файла functions.php или используйте дочернюю тему. Ошибка в PHP может временно вывести сайт из строя, особенно если код вставлен неаккуратно.
Если архивы не нужны совсем, уберите их из меню и виджетов
Даже после редиректа лучше почистить интерфейс сайта. Иначе посетитель будет видеть ссылку, которая ведёт не туда, куда ожидается.
Проверьте:
- Внешний вид → Меню — нет ли там пункта с архивом;
- Виджеты — не используется ли стандартный блок «Архивы»;
- шаблоны сайдбара и футера — иногда архивы добавлены прямо в код темы;
- блоки в редакторе сайта, если у вас тема на блоках.
Если архивы выводятся через виджет, его можно просто удалить. Если ссылка зашита в шаблон, лучше убрать её в дочерней теме, а не править файлы родительской темы напрямую: после обновления изменения пропадут.
Когда лучше не удалять, а закрыть от индексации
Иногда архивы дат нужны для навигации, но не нужны в поиске. Например, на новостном проекте посетитель может переходить по месяцам, а вот поисковику такие страницы лучше не показывать.
В этом случае не обязательно делать редирект. Можно оставить страницы доступными для пользователей и закрыть их от индексации через SEO-плагин или метатег noindex. Это мягче, чем удаление, но не убирает URL из сайта полностью. Такой вариант подходит, если архивы реально используются, но не должны конкурировать с основными страницами.
Если же архивы не нужны никому, редирект обычно полезнее: он сокращает число бесполезных страниц и не оставляет «пустых» маршрутов для перехода.
Как проверить, что лишние архивы действительно убраны
После изменений откройте несколько адресов архивов вручную. Например:
/2024//2024/05//2024/05/17/
Дальше смотрите на результат:
- если настроен редирект, страница должна перекидывать на выбранный URL с кодом ответа 301;
- если архивы отключены без редиректа, страница не должна открываться как обычный архив;
- в меню и виджетах не должно остаться старых ссылок;
- внутренние ссылки сайта должны вести только на полезные разделы.
Проверить код ответа можно через инструменты разработчика браузера, онлайн-проверку редиректов или через консоль, если она у вас есть. Главное — убедиться, что архив не отдаёт обычную страницу с контентом, который вам не нужен.
Что выбрать в реальной работе
| Ситуация | Что делать |
|---|---|
| Архивы дат не нужны вообще | Отключить их и поставить 301-редирект на главную или на релевантный раздел |
| Архивы нужны посетителям, но не нужны в поиске | Оставить страницы, но закрыть их от индексации |
| Архивы выводятся только в меню или виджете | Удалить ссылки из интерфейса, не трогая сами записи |
| Сайт на старой теме с ручной вставкой архивов | Править шаблон через дочернюю тему или вынести логику в код |
Если задача именно в сокращении бесполезных URL, чаще всего достаточно двух шагов: убрать ссылки из интерфейса и настроить редирект со старых архивов. Так сайт перестаёт плодить страницы, которые не дают ценности посетителю.
На практике это самый безопасный подход: записи остаются на месте, структура сайта не ломается, а лишние архивы дат и месяцев больше не мешают ни пользователям, ни обслуживанию сайта.