wpmeta.ru wordpress WPMeta.ru

Как закрыть дубли страниц от индексации в WordPress без поломки SEO

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

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

Как понять, что у вас именно проблема с дублями

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

  • в поиске есть страницы тегов, авторов и дат, хотя они не несут самостоятельной ценности;
  • одна и та же запись открывается с разными параметрами URL;
  • в индексе есть пагинация архивов, которая повторяет заголовки и фрагменты контента;
  • поиск по сайту и служебные страницы доступны роботам;
  • страницы с ?replytocom=, UTM и другими параметрами создают лишние адреса.

Быстрая диагностика в Google Search Console выглядит так: откройте отчет по страницам и посмотрите, какие типы URL индексируются чаще всего. Если видите много архивов тегов, авторов или параметрических адресов, это уже повод для настройки. Дополнительно проверьте сайт командой site:example.com и сравните заголовки страниц в выдаче.

Что проверять в первую очередь

  • архивы /tag/, /author/, /date/;
  • страницы пагинации /page/2/, /page/3/;
  • поиск ?s=;
  • страницы вложений медиафайлов;
  • URL с параметрами сортировки, фильтрации, трекинга;
  • дубли главной страницы с разными вариантами слеша, http/https и www/non-www.

Что закрывать от индексации, а что оставлять

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

Тип страницыЧто делатьКомментарий
Архивы теговЧасто noindex, follow или отключение, если теговые страницы не нужныЕсли теговые страницы дают трафик и уникальный текст, их можно оставить
Архивы авторовОбычно noindex или редирект на страницу автора/о насПолезны только при сильной редакционной структуре
Архивы датЧаще отключаютРедко несут самостоятельную ценность
Поиск по сайтуnoindexЭто служебная страница, не контентная
Пагинация архивовОбычно оставляют доступной, но следят за canonical и качеством архивовНе нужно массово закрывать все страницы пагинации без анализа
Страницы вложенийРедирект на файл или родительскую записьИначе в индексе появляются пустые страницы

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

Пошаговое решение: закрываем дубли без лишнего риска

Шаг 1. Настройте базовую канонизацию

Проверьте, что сайт доступен в одной версии: только HTTPS, только один вариант домена, без лишних редирект-цепочек. Это не закрывает дубли полностью, но убирает техническую путаницу.

curl -I http://example.com/post-name/

В ответе должен быть один понятный 301-редирект на канонический URL. Если цепочка длиннее одного шага, ее стоит сократить на уровне сервера или плагина редиректов.

Шаг 2. Отключите индексацию служебных архивов

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

Проверка в браузере или через curl:

curl -s https://example.com/tag/news/ | grep -i robots

В выводе должен быть мета-тег вида <meta name="robots" content="noindex,follow"> или аналогичная директива, если вы выбрали именно такой вариант.

Шаг 3. Уберите страницы вложений

Страницы медиафайлов часто создаются автоматически и почти никогда не нужны в индексе. Правильнее либо редиректить их на родительскую запись, либо на сам файл, если это осознанный сценарий. В WordPress это можно сделать через код в теме или через плагин, который умеет отключать attachment pages.

add_action('template_redirect', function () {
    if (is_attachment()) {
        $parent = wp_get_post_parent_id(get_the_ID());
        if ($parent) {
            wp_redirect(get_permalink($parent), 301);
            exit;
        }
    }
});

Этот вариант безопаснее, чем оставлять пустые attachment-страницы в индексе. Но если у вас медиафайлы используются как отдельные посадочные страницы, редирект нужно тестировать отдельно.

Шаг 4. Закройте поиск и параметры URL

Страницы поиска ?s= почти всегда должны быть noindex. Параметры сортировки, фильтрации и трекинга лучше не пускать в индекс вообще. Если параметры создают дубли контента, настройте canonical на основную версию страницы.

Для точечных случаев можно добавить canonical вручную:

add_action('wp_head', function () {
    if (is_search()) {
        echo '<meta name="robots" content="noindex,follow">' . "\n";
    }
});

Но если у вас уже стоит SEO-плагин, не дублируйте его логику вручную без необходимости. Два источника мета-тегов часто создают конфликт.

Когда лучше править кодом, а когда плагином

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

Коротко по выбору:

  • Плагин — когда нужно быстро закрыть стандартные дубли и не лезть в шаблоны;
  • Код — когда нужно точечно управлять логикой для конкретного проекта;
  • Комбинация — когда плагин закрывает базу, а код решает редкие исключения.

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

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

  1. Откройте несколько закрытых страниц и проверьте исходный код на наличие noindex.
  2. Проверьте canonical на основных страницах и архивных URL.
  3. Прогоните пару адресов через curl -I, чтобы увидеть редиректы и статус-коды.
  4. В Search Console отправьте на повторную проверку страницы, где меняли индексацию.
  5. Через несколько дней сравните список проиндексированных URL и посмотрите, уменьшилось ли количество служебных адресов.

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

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

Закрыли URL в robots.txt и забыли про canonical

Если страница уже в индексе, один только Disallow не всегда убирает ее оттуда быстро. Поисковик может видеть URL, но не иметь доступа к содержимому. Для уже индексируемых дублей обычно полезнее noindex или редирект, а robots.txt использовать для обхода, а не как единственный инструмент.

Поставили noindex на полезные архивы

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

Сломали пагинацию

Иногда после настройки SEO-плагина страницы /page/2/ начинают отдавать неправильный canonical на первую страницу. Это плохо для больших архивов. Проверьте, что пагинация не ведет на нерелевантный URL и не превращается в цепочку редиректов.

Оставили дубли от медиафайлов

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

Практические советы по безопасности и производительности

Чем меньше мусорных URL генерирует сайт, тем меньше лишней работы у сервера и краулера. Это не «ускорение в разы», а нормальная техническая гигиена. Уберите из карты сайта служебные страницы, проверьте, что в ней нет архивов, которые вы закрыли от индексации, и не плодите лишние шаблоны под один и тот же контент.

Если вы правите кодом, не вносите изменения прямо в родительскую тему. Используйте дочернюю тему или небольшой mu-plugin, чтобы настройка не слетела после обновления. И обязательно сохраняйте список того, что закрыли: через полгода это сильно упрощает аудит.

// Пример: точечное отключение индексации поиска и архивов дат
add_action('wp_head', function () {
    if (is_search() || is_date()) {
        echo '<meta name="robots" content="noindex,follow">' . "\n";
    }
});

Такой код стоит использовать только если вы понимаете, как он сочетается с SEO-плагином. Если плагин уже управляет robots-метатегами, лучше оставить один источник правды, иначе в HTML можно получить конфликтующие директивы.

×

AI-плагин от WPShop.ru

анализирует конкурентов

пишет статьи

готовит SEO

генерирует изображения

и еще кое-что...
WPGPT
Плагин, который наполняет ваш сайт WordPress
Узнать больше