В WordPress дубли чаще всего появляются не из-за «плохого SEO», а из-за штатной логики: архивы тегов, авторов, дат, пагинация, страницы с параметрами, версии для печати, сортировки и фильтры. Если их не контролировать, поисковик тратит обход на одно и то же содержимое, а в индексе остаются не те URL, которые вы хотели бы продвигать.
Ниже — рабочая схема: как найти источник дублей, что закрывать от индексации, что оставлять, и как проверить, что после правок сайт не потерял нужные страницы.
Когда проблема действительно в дублях, а не в «плохом SEO»
Сначала стоит убедиться, что речь именно о дублях, а не о слабом контенте или технической ошибке шаблона. Типичный признак — в Search Console растёт число страниц, а в отчёте по индексированию появляются URL с параметрами, архивы или страницы, которые вы не добавляли в меню и не считали посадочными.
Что обычно создаёт дубли в WordPress
- архивы тегов и рубрик, которые повторяют один и тот же набор записей;
- страницы автора и даты, если сайт не редакционный;
- пагинация архивов, где первая страница дублирует основную;
- URL с параметрами
?replytocom=,?utm_, сортировками и фильтрами; - страницы поиска по сайту;
- медиа-страницы вложений, если они доступны отдельно;
- версии одного материала в разных таксономиях.
Как быстро диагностировать источник
Откройте несколько подозрительных URL и сравните:
<title>и<meta name="robots">;- наличие канонического URL в
<link rel="canonical">; - одинаковый ли контент у страниц архива и основной записи;
- есть ли в индексе URL с параметрами, которые не должны ранжироваться.
Если у вас установлен SEO-плагин, сначала проверьте его настройки. Во многих случаях проблема решается не кодом, а отключением индексации ненужных архивов.
Что закрывать от индексации, а что оставлять
Не стоит механически ставить noindex на всё подряд. В WordPress есть архивы, которые полезны для навигации и внутренней перелинковки. Есть и те, что почти всегда создают мусор в индексе.
| Тип страницы | Обычно индексировать? | Комментарий |
|---|---|---|
| Рубрики | Да, если это посадочные разделы | Имеет смысл, если у рубрики есть уникальный текст и стабильный спрос |
| Теги | Чаще нет | Если теговые архивы пустые или дублируют рубрики, их лучше закрыть |
| Архивы автора | Зависит от сайта | На блоге с несколькими авторами могут быть полезны, на корпоративном сайте — обычно нет |
| Архивы дат | Обычно нет | Часто не несут самостоятельной ценности |
| Поиск по сайту | Нет | Результаты поиска создают бесконечное число слабых URL |
| Страницы вложений | Нет | Часто дублируют медиафайл или запись |
Пошаговое решение: как убрать дубли в WordPress
Шаг 1. Настройте индексацию в SEO-плагине
Если вы используете SEO-плагин, начните с архивов. В большинстве случаев достаточно отключить индексацию тегов, дат и, при необходимости, авторов. Это безопаснее, чем массово править шаблоны.
Если плагин позволяет задавать robots meta для архивов, используйте noindex,follow для страниц, которые нужны пользователю, но не должны попадать в поиск. Не путайте это с disallow в robots.txt: запрет в robots не убирает URL из индекса, если он уже известен поисковику.
Шаг 2. Закройте архивы и служебные страницы кодом, если плагина недостаточно
Иногда удобнее задать правила на уровне темы или небольшого mu-plugin. Ниже пример, который ставит noindex,follow для тегов, архивов дат и страниц поиска. Это не универсальная панацея, но рабочая база для сайта, где такие страницы не нужны в выдаче.
<?php
add_filter('wp_robots', function( array $robots ) {
if ( is_tag() || is_date() || is_search() ) {
$robots['noindex'] = true;
$robots['follow'] = true;
}
return $robots;
});
Если у вас уже подключён SEO-плагин, проверьте, не конфликтует ли он с этим фильтром. Два источника robots meta на одной странице — частая причина некорректной разметки.
Шаг 3. Уберите страницы вложений и пустые архивы
Страницы вложений лучше редиректить на сам файл или на родительскую запись. Если медиа-страницы уже в индексе, не ограничивайтесь noindex: добавьте 301-редирект на релевантную страницу. Это уменьшает количество слабых URL и ускоряет очистку индекса.
Для пустых тегов и рубрик проверьте, не создаются ли они автоматически импортом или редакторами. Часто проблема не в SEO, а в контент-процессе: кто-то массово проставляет теги, которые потом не используются.
Шаг 4. Нормализуйте канонические URL
Если одна и та же запись доступна по нескольким адресам, каноникал должен указывать на основной URL. Это особенно важно для страниц с параметрами, UTM-метками и сортировками.
<?php
add_filter('wp_get_canonical_url', function( $canonical, $post ) {
if ( is_singular() && $post instanceof WP_Post ) {
return get_permalink( $post );
}
return $canonical;
}, 10, 2);
Этот фильтр не нужен на каждом сайте, но полезен, если тема или плагин генерируют нестабильный canonical. Перед внедрением обязательно проверьте исходный HTML нескольких страниц.
Шаг 5. Настройте редиректы для мусорных URL
Если в индексе уже есть старые адреса, одних мета-тегов мало. Нужны 301-редиректы для URL, которые больше не должны существовать. Это касается, например, старых архивов, вложений и устаревших параметров.
Для редиректов лучше использовать серверный уровень или проверенный плагин, а не писать сложную логику в template_redirect, если у вас нет опыта. Ошибка в редиректах легко превращается в цепочки и петли.
Как проверить, что решение сработало
После изменений не ориентируйтесь только на визуальный осмотр. Нужна проверка на уровне HTML и индексации.
- Откройте страницу в браузере и проверьте
meta robotsи canonical. - Посмотрите исходный код через «Просмотр кода страницы».
- В Search Console отправьте важные URL на переобход.
- Проверьте отчёт по страницам с исключением из индексации.
- Убедитесь, что нужные рубрики и записи не получили случайный
noindex.
Если вы закрывали теги и даты, проверьте, что они исчезли из карты сайта, если ваш SEO-плагин умеет исключать их автоматически. Карта сайта не должна содержать URL, которые вы сами считаете мусорными.
Частые ошибки и как их исправить
Ставят noindex и одновременно закрывают URL в robots.txt
Так делать неудобно для диагностики. Если URL закрыт в robots, поисковик может не увидеть мета-robots и canonical. Сначала решите, нужен ли URL в индексе, затем либо ставьте noindex, либо делайте редирект.
Закрывают рубрики, которые реально приводят трафик
Это типичная ошибка после «генеральной уборки». Если рубрика ранжируется и даёт переходы, не убирайте её только потому, что она похожа на архив. Сначала посмотрите запросы и страницы входа в аналитике.
Оставляют теги без контента
Пустые или почти пустые теги создают множество слабых страниц. Если тег нужен только как внутренний маркер, лучше закрыть его от индексации или удалить из процесса публикации.
Не проверяют медиа-страницы
Вложенные изображения часто живут отдельно и создают дубли. Если на сайте много картинок, это одна из первых зон для проверки.
Безопасность и производительность: что учесть перед правками
Любые изменения в robots, canonical и редиректах лучше вносить через staging-копию. На боевом сайте легко сломать индексацию одной строкой кода. Перед публикацией изменений сделайте резервную копию и проверьте, как сайт отдаёт заголовки и HTML.
Если вы хотите уменьшить ручную настройку, имеет смысл использовать один инструмент для технической чистки сайта. Например, Clearfy Pro закрывает часть типовых задач по дублям и служебным страницам без разрозненных правок в нескольких плагинах: https://wpshop.ru/plugins/clearfy. Но даже с плагином всё равно нужно проверять, какие архивы и страницы реально должны остаться доступными для поиска.
Мини-чек-лист перед публикацией правок
- Проверены теги, даты, авторы и поиск по сайту.
- Для ненужных архивов задан
noindex,follow. - Страницы вложений редиректятся или отключены.
- Canonical указывает на основной URL.
- Мусорные параметры не попадают в индекс.
- В sitemap нет URL, которые вы закрыли от индексации.
- После правок проверены исходный код и Search Console.
Если пройтись по этим пунктам без спешки, дубли в WordPress обычно удаётся сократить без потери полезных страниц. Главное — не лечить всё одним запретом и не путать техническую чистку с удалением контента, который реально нужен пользователям и поиску.