Если в Search Console растут «Дубли, Google выбрал другой канонический URL» или в индексе появляются страницы тегов, архивов и служебные URL, проблема обычно не в одном плагине, а в наборе мелких настроек. В WordPress дубли часто создаются автоматически: архивы авторов, даты, страницы вложений, пагинация, параметры сортировки и поиска. Нормально, когда часть из них нужна пользователю. Ненормально, когда они конкурируют с основными страницами и размывают сигналы.
Ниже — рабочая схема: как диагностировать источник дублей, что закрывать через настройки, что лучше править кодом и как проверить, что после изменений индекс действительно стал чище.
Что именно считать дублем в WordPress
Дубль — это не только одинаковый контент на двух URL. Для SEO в WordPress проблемой становятся и страницы, которые почти не несут самостоятельной ценности, но доступны для обхода и индексации. Типичные примеры:
- архивы тегов, если они дублируют рубрики или выдачу поиска;
- страницы автора на сайте с одним автором;
- архивы по датам, если они не используются как навигация;
- страницы вложений с пустым или слабым содержимым;
- пагинация архивов, если на ней повторяется почти тот же набор карточек;
- URL с параметрами
?replytocom=,?utm_, фильтрами или сортировкой; - страницы внутреннего поиска, если они попадают в индекс.
Важно не путать «дубль» и «полезную альтернативную страницу». Например, пагинация категории может быть нужна пользователю и поисковику, а вот отдельная страница вложения без контента — чаще всего лишняя.
Диагностика: где WordPress плодит лишние URL
Начинать лучше не с правок, а с проверки факта. Иначе легко закрыть от индексации то, что приносит трафик. Самый быстрый путь — сравнить данные из Search Console, карту сайта и фактические URL на сайте.
Что смотреть в первую очередь
- отчёт «Страницы» в Google Search Console: исключённые URL, дубли, просканировано, но не проиндексировано;
- список URL в XML-карте сайта: нет ли там архивов, тегов, вложений и служебных страниц;
- robots.txt: не закрывает ли он нужные разделы и не оставляет ли открытыми лишние;
- мета-теги
noindexи канонические URL на проблемных шаблонах; - логика темы и плагинов: не создают ли они отдельные архивы, фильтры и параметры.
Если сайт небольшой, можно пройтись вручную. Для более крупного проекта удобнее выгрузить список URL краулером и сгруппировать по шаблонам. Тогда сразу видно, какие типы страниц повторяются и какие из них не должны индексироваться.
Проверка конкретного URL
Откройте проблемную страницу и посмотрите исходный код. Ищите три вещи: meta name="robots", rel="canonical" и наличие лишних параметров в адресе. Если canonical указывает на другую страницу, а сама страница доступна без noindex, поисковик всё равно может тратить на неё обход.
<meta name="robots" content="noindex,follow">
<link rel="canonical" href="https://example.com/category/news/">Если canonical отсутствует или ведёт на неочевидный адрес, сначала исправляйте шаблон, а уже потом думайте о закрытии от индексации.
Пошаговое решение: что закрывать, а что оставить
Универсального набора нет, но для большинства сайтов работает такой порядок: сначала убираем мусорные URL, потом настраиваем каноникал, затем ограничиваем индексацию там, где она не нужна.
1. Отключите индексацию служебных страниц
Страницы поиска, авторов на однопользовательском сайте, вложений без содержимого и технических архивов обычно не должны конкурировать с основными материалами. Если у вас SEO-плагин умеет ставить noindex для таких шаблонов, используйте его. Если нет — правьте шаблонно через код.
add_action('wp_head', function () {
if (is_search() || is_attachment()) {
echo '<meta name="robots" content="noindex,follow">' . "\n";
}
});Этот пример не заменяет полноценную SEO-настройку, но показывает принцип: служебные страницы остаются доступны для обхода, но не претендуют на индекс.
2. Закройте архивы, которые не несут ценности
Если на сайте один автор, архив автора почти всегда дублирует ленту публикаций. То же касается архивов по датам, если вы не ведёте новостной журнал. В таких случаях лучше ставить noindex и оставить follow, чтобы поисковик мог ходить по ссылкам внутри архива, но не индексировал сам архив как отдельную страницу.
add_action('wp_head', function () {
if (is_author() || is_date()) {
echo '<meta name="robots" content="noindex,follow">' . "\n";
}
});Если у вас несколько авторов и архивы реально используются как навигация, не закрывайте их автоматически. Сначала проверьте, есть ли у них самостоятельный трафик и уникальные описания.
3. Настройте канонические URL для пагинации и параметров
Пагинация сама по себе не всегда проблема. Проблема начинается, когда страницы 2, 3, 4 повторяют почти тот же набор карточек, а canonical указывает на главную страницу архива без логики. Для архивов лучше оставить самоканоникал на каждой странице пагинации, если это стандартная навигация по списку. А вот параметры сортировки и фильтров часто нужно сводить к базовому URL.
Если параметр не должен создавать отдельную страницу, нормальный вариант — не индексировать его и не включать в карту сайта. Для сложных фильтров лучше использовать отдельную логику на уровне темы или плагина, а не надеяться на robots.txt.
4. Уберите страницы вложений из индекса
Страницы вложений — частый источник мусора. Если медиафайл не должен жить как отдельная посадочная страница, перенаправляйте attachment URL на сам файл или на родительскую запись. Это безопаснее, чем оставлять пустую страницу с картинкой и минимальным текстом.
В WordPress это можно сделать через шаблонную логику или плагин SEO. Если нужен код, проверьте, что редирект не ломает галереи и прямые ссылки на файлы.
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;
}
}
});Сравнение подходов: плагин, код или ручная настройка
| Подход | Когда подходит | Плюс | Минус |
|---|---|---|---|
| SEO-плагин | Нужно быстро закрыть типовые архивы и задать canonical | Меньше ручной работы, проще поддержка | Не всегда удобно для нестандартных шаблонов |
| Код в теме/плагине | Есть точечные правила для конкретных URL и шаблонов | Гибкость и контроль | Нужно тестировать после обновлений темы |
| robots.txt | Нужно ограничить обход, но не решать индексацию полностью | Быстро и просто | Не заменяет noindex и canonical |
На практике лучше комбинировать: типовые вещи закрыть в SEO-плагине, нестандартные — кодом, а robots.txt использовать только как вспомогательный инструмент.
Проверка результата после внедрения
После правок не ограничивайтесь визуальным просмотром страницы. Проверьте, как сайт выглядит для поискового робота и что реально попало в индекс.
- откройте проблемный URL и убедитесь, что на нём есть нужный
noindexили canonical; - проверьте исходный код страницы, а не только вкладку браузера;
- в Search Console отправьте на переобход несколько изменённых URL;
- посмотрите, исчезли ли лишние страницы из отчёта «Страницы»;
- сравните карту сайта до и после: в ней не должно быть закрытых архивов и мусорных шаблонов;
- проверьте, не сломались ли внутренние ссылки и хлебные крошки.
Если после изменений URL всё ещё индексируется, проверьте два момента: не осталось ли на странице ссылки на саму себя с параметрами и не переопределяет ли другой плагин ваши мета-теги.
Частые ошибки и как их исправить
Закрыли всё через robots.txt
Это частая ошибка. Robots.txt может ограничить обход, но не гарантирует удаление из индекса, если URL уже известен поисковику. Для дублей обычно нужен noindex или корректный canonical, а не только запрет на сканирование.
Поставили noindex на важные категории
Иногда под раздачу попадают рубрики, которые реально собирают трафик и помогают навигации. Перед закрытием проверьте статистику и структуру сайта. Если категория полезна пользователю, лучше доработать её описание и контент, чем прятать от индекса.
Оставили в sitemap всё подряд
Если в карту сайта попадают теги, авторы, вложения и служебные страницы, вы сами подсказываете поисковику, что это важные URL. Карта сайта должна содержать только те страницы, которые вы действительно хотите видеть в индексе.
Сломали canonical на пагинации
Иногда шаблон или плагин ставит canonical всех страниц архива на первую страницу. В результате страницы 2 и дальше теряют смысл для обхода, а поисковик получает противоречивые сигналы. Проверьте шаблоны пагинации отдельно.
Практические советы по безопасности и производительности
Любая правка SEO-логики в WordPress должна быть обратимой. Не вносите изменения прямо в родительскую тему, если она обновляется. Лучше использовать дочернюю тему или небольшой mu-plugin, чтобы правила не исчезли после апдейта.
Если у вас много исключений по URL, не плодите десятки разрозненных условий в functions.php. Сведите правила в одно место и документируйте, зачем каждое из них нужно. Это экономит время при отладке и снижает риск случайно закрыть нужную страницу.
Для сайтов, где дубли появляются из-за лишних архивов, часто помогает не только ручная настройка, но и чистка лишних сущностей: тегов без контента, пустых архивов, ненужных форматов записей. В таких случаях удобно использовать инструменты вроде Clearfy Pro, если вам нужен набор готовых SEO-настроек и чистка типовых дублей без постоянного ручного кода: https://wpshop.ru/plugins/clearfy.
Главное правило простое: сначала определите, зачем URL существует, потом решайте, должен ли он индексироваться. В WordPress это почти всегда важнее, чем «закрыть всё лишнее» одним универсальным способом.