wpshab.ru wordpress wpshab.ru

Как отключить архивы дат в WordPress без потери нужных страниц

Архивы по датам в WordPress часто остаются включенными по умолчанию, хотя на большинстве сайтов они не несут пользы: дублируют записи, создают тонкие страницы и размывают обход робота. Но отключать их «в лоб» опасно, если на них уже есть входящие ссылки, трафик из поиска или они используются в навигации темы.

Ниже — рабочий сценарий: как найти, где именно у вас живут архивы дат, что отключать на уровне темы или плагина, как не сломать старые URL и как проверить результат после правок.

Когда архивы дат действительно мешают

Проблема не в самом факте существования архивов, а в том, что они часто индексируются без пользы. Типичный набор симптомов:

  • в индексе есть страницы вида /2024/05/ или /2024/05/17/;
  • в Search Console появляются URL с низкой ценностью и почти без переходов;
  • архивы дублируют ленту записей или рубрик;
  • на сайте есть пагинация архивов, но контент на страницах почти одинаковый;
  • тема выводит ссылки на архивы дат в сайдбаре или в блоке метаданных записи.

Если архивы используются как реальная навигация для новостного проекта или журнала, отключать их полностью не стоит. В таком случае лучше оставить доступ, но убрать из индексации и сократить внутренние ссылки на них.

Диагностика: где именно включены архивы дат

Сначала проверьте, откуда они вообще появляются. В WordPress это может быть:

  • настройка постоянных ссылок;
  • шаблон темы, который выводит дату в метаданных и ссылку на архив;
  • виджет «Архивы»;
  • SEO-плагин, который уже ставит noindex или canonical;
  • старые ссылки из контента, которые уже разошлись по сайту.

Быстрый способ проверить наличие архивов — открыть несколько типовых URL вручную и посмотреть, отдают ли они контент, редирект или 404. Если есть доступ к серверу, полезно прогнать список через curl:

curl -I https://example.com/2024/05/
curl -I https://example.com/2024/05/17/

Если ответ 200 OK, страница доступна для обхода. Если 301 или 410, уже лучше, но нужно проверить, не остались ли внутренние ссылки на эти адреса.

Как отключить архивы дат: варианты и компромиссы

Есть три нормальных пути. Выбор зависит от того, нужен ли вам полный запрет или только чистка индекса.

ПодходЧто делаетКогда подходитМинус
Плагин SEO/чисткиСтавит noindex, canonical или отключает архивыЕсли нужен быстрый и безопасный вариант без кодаЗависимость от настроек плагина
Код в теме/плагинеОтключает архивы на уровне WordPressЕсли нужен точный контрольНужно аккуратно тестировать обновления темы
Редирект на релевантную страницуУводит старые URL на рубрику, блог или главнуюЕсли архивы уже в индексе и получают трафикНе всегда есть точный аналог страницы

Если у вас уже стоит SEO-плагин, сначала проверьте его настройки. Часто достаточно закрыть архивы дат от индексации, не трогая шаблоны темы. Если же нужен именно отказ от самих архивов, можно отключить их через код.

Вариант 1: отключить архивы дат кодом

Для сайтов, где архивы не нужны вообще, можно убрать их через фильтр date_rewrite_rules и дополнительно запретить вывод архивных ссылок в теме. Но на практике чаще используют более простой и понятный способ — отключение архивов через pre_get_posts с редиректом на 404 или на главную. Ниже пример для дочерней темы или небольшого mu-plugin:

<?php
add_action('template_redirect', function () {
    if (is_date()) {
        wp_safe_redirect(home_url('/'), 301);
        exit;
    }
});

Этот вариант грубый, но рабочий. Его стоит применять только если вы уверены, что архивы дат не нужны ни пользователям, ни поиску, ни внутренним ссылкам. Если у вас уже есть трафик на такие страницы, лучше сначала сделать редирект на ближайшую логичную страницу: рубрику, архив месяца или страницу блога.

Вариант 2: оставить доступ, но закрыть от индексации

Если архивы нужны для навигации, но не должны попадать в поиск, используйте noindex, follow через SEO-плагин или собственный вывод meta robots. В коде это можно сделать так:

<?php
add_filter('wp_robots', function ($robots) {
    if (is_date()) {
        $robots['noindex'] = true;
        $robots['follow'] = true;
    }
    return $robots;
});

Это не отменяет саму страницу, но снижает риск индексации мусорных архивов. Важно: если у вас уже подключен SEO-плагин, не дублируйте правила в двух местах. Иначе можно получить конфликт мета-тегов.

Вариант 3: убрать ссылки на архивы из темы

Иногда проблема не в индексации, а в том, что тема щедро раздает ссылки на архивы дат в карточках записей. Тогда даже при noindex робот продолжает регулярно ходить по этим URL. Проверьте шаблоны single.php, content.php, entry-meta и сайдбар.

Если ссылка выводится через функцию темы, ее лучше убрать в дочерней теме или через фильтр, если он предусмотрен разработчиком. Универсального хука здесь нет, поэтому сначала ищите конкретный шаблонный файл.

Пошаговая схема внедрения

  1. Соберите список URL архивов дат, которые уже доступны на сайте.
  2. Проверьте, есть ли на них трафик и внешние ссылки.
  3. Определите, нужен ли архив пользователю или только поисковику.
  4. Выберите один сценарий: редирект, noindex или полное отключение.
  5. Уберите внутренние ссылки на архивы из темы и виджетов.
  6. Проверьте canonical, robots meta и HTTP-ответ.

Если вы работаете через плагин, сначала меняйте настройки на тестовой копии сайта. Для кода — лучше вынести решение в отдельный mu-plugin, чтобы оно не исчезло после обновления темы.

Как проверить, что всё сработало

После внедрения проверьте не только визуально, но и технически:

  • открывается ли старый URL архива;
  • какой HTTP-статус он возвращает;
  • есть ли на странице meta robots noindex;
  • не остались ли внутренние ссылки на архивы в меню, сайдбаре и карточках;
  • не появился ли лишний canonical на главную вместо релевантной страницы.

Для быстрой проверки можно посмотреть HTML страницы и заголовки ответа:

curl -I https://example.com/2024/05/
curl -s https://example.com/2024/05/ | grep -i robots

Если вы поставили редирект, убедитесь, что он ведет именно туда, куда вы планировали, а не на цепочку из нескольких переходов. Для SEO это важно: длинные цепочки редиректов ухудшают обход и усложняют диагностику.

Частые ошибки и как их исправить

Отключили архивы, но забыли про старые ссылки

Если URL уже есть в контенте, поисковик и пользователи будут продолжать на них заходить. Решение — либо 301 на релевантную страницу, либо аккуратный 410 Gone, если замены нет и трафика тоже нет.

Поставили noindex, но оставили десятки внутренних ссылок

В этом случае робот все равно тратит обход на ненужные страницы. Уберите ссылки из шаблонов, виджетов и хлебных крошек, если они там есть.

Сделали редирект на главную для всех архивов

Это частая ошибка. Массовый редирект на главную выглядит как мягкая ошибка для пользователя и не всегда помогает поиску понять, куда перенести вес. Лучше редиректить на наиболее близкую страницу по смыслу.

Дублируете правила в плагине и в коде

Если SEO-плагин уже ставит noindex, а тема дополнительно выводит свои мета-теги, можно получить конфликт. Оставьте одно место управления правилом.

Безопасность и производительность

С точки зрения производительности отключение архивов дат полезно, если они часто обходятся ботами и не несут ценности. Но не стоит превращать это в набор хаотичных редиректов в .htaccess без проверки. Ошибка в регулярке может задеть другие URL и сломать сайт.

Если нужен более удобный способ чистить технические дубли и управлять индексированием, имеет смысл смотреть в сторону инструментов, которые умеют работать с архивами и мета-robots без ручного кода. Например, в Clearfy Pro есть набор настроек для чистки сайта и SEO-правил: https://wpshop.ru/plugins/clearfy.

Но даже с плагином логика остается той же: сначала понять, зачем архив существует, потом выбрать один способ обработки, а уже после этого проверять заголовки, индексацию и внутренние ссылки.

Что проверить через неделю после изменений

Не ограничивайтесь разовой проверкой. Через несколько дней откройте Search Console и посмотрите, не продолжают ли архивы попадать в отчет по страницам. Если вы сделали редирект, проверьте логи сервера: туда не должны массово сыпаться запросы на старые URL без результата.

Если архивы были частью навигации, полезно пройтись по сайту как пользователь: не исчезли ли ссылки из блока метаданных, не сломалась ли логика хлебных крошек и не стало ли сложнее добраться до записей по датам. В WordPress такие правки часто затрагивают не только SEO, но и UX, поэтому проверка должна быть ручной, а не только по статус-коду.

×
-15%
на премиум-тему
Bono

Создай магазин мечты
на WordPress!

↓ ↓ ↓ ↓ ↓
Купить со скидкой »