В WordPress дубли чаще всего появляются не из-за «плохого SEO», а из-за штатной логики CMS: один и тот же контент доступен через архивы рубрик, тегов, авторов, пагинацию, страницы вложений и иногда через параметры URL. Если это не контролировать, поисковик тратит обход на мусорные URL, а в индексе начинают жить страницы, которые не должны конкурировать с основными материалами.
Ниже — рабочая схема: как найти источник дублей, что закрывать в noindex, что лучше отдавать с canonical, а что вообще отключать или редиректить. Без магии и без советов уровня «поставьте SEO-плагин и ждите».
Какие дубли в WordPress встречаются чаще всего
Сначала полезно понять, с чем именно вы имеете дело. В WordPress дубли бывают разного типа: одни реально индексируются, другие просто создают шум для краулера, третьи ломают структуру сайта из-за одинаковых заголовков и сниппетов.
Типовые источники дублей
- архивы тегов, если тегов много и они дублируют рубрики;
- архивы авторов на сайтах с одним автором;
- страницы вложений медиафайлов;
- страницы пагинации архивов;
- страницы поиска по сайту;
- URL с параметрами сортировки, фильтрации или UTM;
- версии с
/page/2/,?replytocom=,?ampи похожими параметрами, если они не нужны в индексе.
Не все из этого нужно закрывать одинаково. Например, архив рубрики может быть полезной посадочной страницей, а вот страница вложения почти всегда бесполезна как отдельный индексируемый URL.
Диагностика: где именно у вас появляются дубли
Перед правками проверьте, что именно уже попало в индекс и что генерирует сайт. Иначе легко закрыть не то и потерять трафик с полезных архивов.
Что смотреть в первую очередь
- отчёт «Страницы» в Google Search Console;
- поиск по оператору
site:example.comс типовыми шаблонами URL; - исходный код страниц на наличие
rel="canonical"иmeta robots; - список архивов в вашей теме и SEO-плагине;
- логи краулера, если вы используете Screaming Frog или аналог;
- наличие страниц вложений по адресу вида
/image-name/.
Если у вас на сайте один автор, архив автора почти всегда дублирует главную ленту или рубрики. Если тегов десятки и они повторяют рубрики, теговые архивы часто становятся чистым шумом. Если поиск по сайту открыт для индексации, в выдаче могут появляться сотни бесполезных страниц с пустым или случайным содержимым.
Что закрывать, а что лучше оставить
Универсального списка нет, но есть нормальная рабочая логика: индексируем то, что помогает навигации и имеет самостоятельную ценность; закрываем то, что повторяет уже существующие страницы без добавочной пользы.
| Вариант | Когда подходит | Плюс | Минус |
|---|---|---|---|
| noindex, follow | архивы, которые нужны пользователю, но не должны ранжироваться | страницы остаются доступны для обхода ссылок | не убирает URL из индекса мгновенно |
| canonical на основную страницу | параметры, сортировки, дубли контента | помогает склеить сигналы | не всегда срабатывает, если страница слишком «шумная» |
| редирект 301 | страницы вложений, устаревшие URL, ненужные дубли | жёстко убирает дубль | нужно аккуратно не сломать ссылки |
| полное отключение архива | авторы на сайте с одним автором, пустые таксономии | убирает мусор на уровне генерации | можно потерять полезную навигацию |
Пошаговое решение через SEO-плагин и настройки WordPress
Если у вас уже стоит SEO-плагин, часть задачи решается без кода. Но важно не просто поставить галочки, а проверить, что именно меняется в HTML и в ответах сервера.
1. Закройте ненужные архивы от индексации
В большинстве SEO-плагинов можно отдельно управлять индексированием рубрик, тегов, архивов авторов и дат. Для сайта с одним автором архив автора обычно лучше отключить от индексации или вовсе убрать из публичной выдачи.
Если вы используете Clearfy Pro, там есть удобная чистка дублей и служебных страниц, но принцип тот же: сначала решаете, нужен ли архив пользователю, потом выбираете noindex или отключение.
Для страниц тегов полезно задать себе простой вопрос: есть ли у тега самостоятельная ценность? Если тегов много, а контент в них пересекается с рубриками, чаще всего ответ отрицательный.
2. Уберите страницы вложений в редирект на файл или запись
Страницы вложений часто индексируются как пустые или почти пустые URL. Это один из самых частых источников мусора. Если тема и плагин не перенаправляют вложения автоматически, лучше сделать это вручную.
<?php
add_action('template_redirect', function () {
if (is_attachment()) {
$parent = wp_get_post_parent_id(get_queried_object_id());
if ($parent) {
wp_redirect(get_permalink($parent), 301);
exit;
}
wp_redirect(home_url('/'), 301);
exit;
}
});Этот вариант рабочий, но его нужно тестировать на реальном сайте: если вложения используются как отдельные страницы по смыслу, редирект может быть лишним. На большинстве контентных проектов вложения как отдельные страницы не нужны.
3. Добавьте canonical для параметров и сортировок
Если на сайте есть URL с параметрами, которые не меняют смысл страницы, canonical помогает указать основную версию. Например, для страниц с UTM-параметрами или техническими параметрами фильтрации.
<?php
add_filter('get_canonical_url', function ($canonical, $post) {
if (is_admin() || ! $canonical) {
return $canonical;
}
$canonical = remove_query_arg(array('utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content'), $canonical);
return $canonical;
}, 10, 2);Это не универсальная панацея. Если параметр реально меняет контент страницы, canonical на «чистый» URL может быть неверным. Для фильтров каталога и сложной навигации лучше отдельно проектировать логику, а не полагаться на один хук.
Когда нужен код, а когда достаточно настроек
Если задача типовая, сначала используйте настройки SEO-плагина или темы. Код нужен там, где штатных переключателей нет или они работают слишком грубо.
| Сценарий | Настройки плагина | Код | Что выбрать |
|---|---|---|---|
| архив автора на сайте с одним автором | да | да | лучше настройки, если плагин умеет |
| страницы вложений | часто да | да | если нужно быстро и без зависимости от плагина — код |
| UTM и служебные параметры | частично | да | код, если нужна точная логика canonical |
| пагинация архивов | да | обычно не нужно | лучше не ломать стандартное поведение |
Проверка результата после внедрения
После правок не ограничивайтесь визуальной проверкой. Нужно убедиться, что поисковик видит именно то, что вы задумали.
Чек-лист проверки
- откройте закрытую страницу и проверьте наличие
<meta name="robots" content="noindex,follow">или аналогичного правила; - посмотрите, что в
rel="canonical"указан правильный основной URL; - проверьте HTTP-статус: для редиректа должен быть
301, а не302; - убедитесь, что страницы вложений больше не отдаются как отдельные HTML-страницы;
- в Search Console отправьте повторную проверку после обновления шаблонов;
- через несколько дней проверьте, уменьшается ли число дублей в отчётах и в выборке
site:.
Если вы меняли canonical, откройте исходный код и убедитесь, что на странице нет второго canonical от темы и третьего от SEO-плагина. Дублирующиеся теги в head — частая причина странного поведения поисковиков.
Частые ошибки и как их исправить
Закрыли от индексации полезные рубрики
Иногда в попытке «почистить сайт» закрывают все архивы подряд. В результате рубрика, которая реально собирала трафик, исчезает из поиска. Исправление простое: верните индексирование тем архивам, которые имеют самостоятельный смысл и нормальный контент, а не только список ссылок.
Поставили noindex, но оставили мусорные ссылки внутри сайта
noindex не убирает URL из внутренней перелинковки. Если на сайт ведут десятки ссылок на бесполезные теги или страницы поиска, краулер всё равно будет тратить ресурсы. В таких случаях нужно не только закрывать, но и убрать ссылки из меню, виджетов и шаблонов.
Сделали 301 на главную для всех страниц вложений
Это грубая ошибка. Если у вложения есть родительская запись, логичнее вести на неё. Редирект всех вложений на главную выглядит как «свалка» и ухудшает пользовательский путь.
Смешали canonical и редирект без логики
Если страница должна быть основной, не нужно одновременно ставить на неё canonical в другое место и ещё редиректить часть вариантов URL. Сначала определите единственный канонический адрес, потом уже склейте остальные варианты вокруг него.
Безопасность и производительность
Чистка дублей — это не только про SEO. Меньше мусорных страниц означает меньше лишних запросов к базе, меньше обхода краулером и меньше шансов, что в индексе окажутся технические URL.
- не редактируйте шаблоны напрямую в родительской теме без бэкапа;
- если добавляете код, используйте дочернюю тему или небольшой mu-plugin;
- перед массовыми изменениями сделайте экспорт настроек SEO-плагина;
- после редиректов проверьте логи на 404 и циклы;
- не закрывайте robots.txt то, что уже должно отдавать
noindex: это разные механизмы и они решают разные задачи.
Если нужно быстро навести порядок на сайте с кучей дублей, удобно сначала пройтись по настройкам SEO, а затем точечно добить остатки кодом. В таких задачах важна не «идеальная» схема, а предсказуемая: один URL — одна роль, без лишних копий и случайных архивов.