Дубли в WordPress чаще всего появляются не в записях, а в архивах: рубрики, метки, авторы, дата-архивы, страницы пагинации и иногда отдельные шаблоны таксономий. Снаружи это выглядит безобидно, но для поисковика это несколько URL с очень похожим или одинаковым содержимым. В результате индекс раздувается, а нужные страницы получают меньше веса.
Ниже разберём не абстрактную «SEO-оптимизацию», а конкретный сценарий: как найти дубли в архивных страницах WordPress, что именно закрывать от индексации, где править шаблон, и как проверить, что после правок сайт не потерял важные страницы.
Как понять, что дубли уже есть
Проблема обычно заметна по косвенным признакам: в поиске всплывают страницы меток вместо рубрик, в индексе оказываются страницы пагинации, а в отчётах по покрытию появляются URL с одинаковыми заголовками и сниппетами. Ещё один частый симптом — в выдаче ранжируются архивы автора или даты, хотя они не несут самостоятельной ценности.
Что проверить в первую очередь
- Есть ли у рубрик и меток одинаковые описания или пустые шаблоны.
- Индексируются ли страницы вида
/page/2/,/tag/,/author/,/date/. - Не отдают ли архивы одинаковый
<title>иmeta description. - Не создаёт ли тема отдельные архивы для одного и того же контента через кастомные таксономии.
Если у вас уже подключён SEO-плагин, сначала посмотрите, что он делает с архивами по умолчанию. Иногда дубли появляются не из-за WordPress, а из-за шаблона темы, который выводит одинаковые мета-теги на всех архивных страницах.
Диагностика: где именно возникает дублирование
Самый практичный способ — сравнить несколько архивных URL вручную и через исходный код. Откройте рубрику, метку и страницу пагинации, затем проверьте:
- заголовок страницы;
- canonical;
- robots meta;
- одинаков ли текст на странице, если контент-область пустая;
- не дублируется ли один и тот же список записей в разных архивах.
Если у вас есть доступ к базе, полезно посмотреть, сколько архивов вообще создано и какие из них реально используются. Часто проблема не в одной метке, а в десятках автоматически созданных таксономий, которые никто не наполняет.
SELECT t.name, tt.taxonomy, COUNT(tr.object_id) AS posts_count
FROM wp_terms t
JOIN wp_term_taxonomy tt ON t.term_id = tt.term_id
LEFT JOIN wp_term_relationships tr ON tt.term_taxonomy_id = tr.term_taxonomy_id
GROUP BY t.term_id, tt.taxonomy
ORDER BY posts_count ASC, t.name ASC;Этот запрос не решает проблему сам по себе, но помогает увидеть пустые или почти пустые термины. Если у вас много архивов с нулевым или минимальным количеством записей, их обычно лучше закрывать от индексации или удалять, если они не нужны для навигации.
Что закрывать, а что оставлять в индексе
Не все архивы нужно прятать. Рубрики часто полезны, если они собраны по смыслу и содержат нормальный текст. Метки — уже спорный случай: если они не дают дополнительной структуры, их лучше не индексировать. Авторские и дата-архивы почти всегда стоит оценивать отдельно, потому что в большинстве проектов они создают больше шума, чем пользы.
| Вариант | Когда подходит | Компромисс |
|---|---|---|
| Оставить в индексе | Сильные рубрики с уникальным описанием и полезной навигацией | Нужно следить за canonical и уникальными title |
| noindex, follow | Метки, авторы, дата-архивы, страницы пагинации в слабых разделах | Страница не попадёт в поиск, но ссылки на записи останутся доступны |
| Удалить или объединить | Пустые термины, дублирующие рубрики, мусорные архивы | Нужно проверить внутренние ссылки и редиректы |
Если сомневаетесь, не начинайте с массового удаления. Сначала закройте проблемные архивы от индексации и посмотрите, как это влияет на обход и выдачу. Для большинства сайтов это безопаснее, чем сразу ломать структуру.
Пошаговое решение: как убрать дубли в WordPress
1. Уберите мусорные архивы из индексации
Если вы используете SEO-плагин, настройте noindex для меток, авторов или дат через его интерфейс. Это самый простой путь, потому что он не требует правки темы. Но если нужно сделать это кодом, можно добавить фильтр в functions.php дочерней темы или в небольшой mu-plugin.
<?php
add_filter('wp_robots', function ($robots) {
if (is_tag() || is_author() || is_date()) {
$robots['noindex'] = true;
$robots['follow'] = true;
}
return $robots;
});Этот вариант добавляет noindex, follow только для архивов меток, авторов и дат. Для рубрик его обычно не применяют, если рубрики реально используются как навигационная структура.
2. Проверьте canonical на архивных страницах
Иногда дубли остаются даже при noindex, если canonical указывает не туда или вообще не выводится. В норме каждая архивная страница должна ссылаться сама на себя, а не на главную или на похожий архив. Если тема или плагин ломают canonical, это нужно исправить в шаблоне или через SEO-плагин.
Для проверки откройте исходный код страницы и найдите строку вида:
<link rel="canonical" href="https://example.com/category/news/" />Если canonical указывает на другой URL без причины, поисковик может склеить страницы не так, как вы ожидаете. Это особенно заметно на пагинации и на страницах фильтров, если они есть.
3. Уберите дубли title и description в шаблоне
Если тема выводит одинаковый title для рубрик, меток и авторов, поисковик видит это как набор почти одинаковых страниц. Исправлять лучше в шаблоне архива или через фильтры SEO-плагина, а не вручную в HTML каждого файла.
Пример для темы без SEO-плагина: задаём разные заголовки для рубрик и меток.
<?php
add_filter('document_title_parts', function ($parts) {
if (is_category()) {
$parts['title'] = single_cat_title('', false) . ' — рубрика';
} elseif (is_tag()) {
$parts['title'] = single_tag_title('', false) . ' — метка';
}
return $parts;
});Это не заменяет полноценную SEO-настройку, но помогает убрать одинаковые заголовки, если тема слишком примитивная.
4. Объедините или удалите дублирующие термины
Если у вас есть две рубрики с одинаковым смыслом, лучше оставить одну и перенести записи. Для меток логика такая же: если тег создан ради одной-двух записей и не используется как навигация, его проще удалить. После удаления проверьте, не остались ли на него внутренние ссылки.
Если удаляете термины массово, делайте это после экспорта списка URL. Иначе легко потерять страницы, которые уже были в индексе и получали трафик.
Проверка результата после внедрения
После правок не ограничивайтесь просмотром главной страницы. Нужно проверить именно архивы и их поведение в индексе.
- Откройте несколько рубрик, меток и авторских архивов в браузере.
- Посмотрите исходный код: есть ли
noindexтам, где он нужен. - Проверьте canonical на самих архивах и на страницах пагинации.
- Убедитесь, что в sitemap не попали закрытые архивы, если вы не хотите их индексировать.
- В Search Console посмотрите, не растёт ли число исключённых URL по причине
noindexили дубликатов.
Если после изменений поисковик ещё какое-то время показывает старые архивы, это нормально: переобход и переиндексация не происходят мгновенно. Важнее, чтобы новые сканирования видели уже правильные мета-теги и canonical.
Частые ошибки и как их исправить
Закрыли от индексации всё подряд
Так часто делают после первой паники: ставят noindex на рубрики, метки, авторов и ещё на страницы пагинации без разбора. В итоге сайт теряет полезную структуру. Исправление простое: оставьте в индексе только те архивы, которые реально помогают навигации и имеют уникальный контент.
Удалили термины без проверки ссылок
Если термин использовался в меню, хлебных крошках или в блоках внутри записей, после удаления появятся битые ссылки. Перед чисткой пройдитесь по шаблонам и проверьте, где этот архив выводится.
Canonical указывает на главную
Иногда тема или плагин считают архив «второстепенной» страницей и ставят canonical на главную. Для SEO это плохой сигнал: поисковик может игнорировать сам архив или склеивать его с нерелевантной страницей. Canonical должен быть логичным и стабильным.
Оставили пустые архивы с индексируемыми URL
Пустые рубрики и метки — частый источник тонких страниц. Если архив не нужен, его лучше удалить или закрыть. Если нужен, добавьте в него нормальное описание и убедитесь, что там есть хотя бы несколько релевантных записей.
Практические советы по безопасности и производительности
Перед массовыми изменениями сделайте резервную копию базы и файлов темы. Это не формальность: при чистке таксономий и правке шаблонов можно случайно сломать меню, хлебные крошки или архивные шаблоны.
Если вы планируете чистить много терминов, делайте это на staging-копии. На живом сайте массовое удаление может создать всплеск 404 и нагрузку на редиректы. Ещё один полезный шаг — отключить лишние архивы в теме, если они не используются. Чем меньше бесполезных страниц генерирует WordPress, тем проще поддерживать индекс в порядке.
Если нужен более системный контроль дублей и технической чистки, можно посмотреть в сторону инструментов вроде Clearfy Pro: он закрывает часть типовых SEO-задач, связанных с дублями и мусорными страницами. Но даже с плагином всё равно важно понимать, какие архивы вы хотите оставить, а какие нет.
Главная мысль здесь простая: дубли в WordPress почти всегда лечатся не одной кнопкой, а комбинацией из нормальной структуры таксономий, корректного canonical и точечной индексации. Если сначала диагностировать, а потом закрывать только лишнее, сайт обычно становится чище без потери полезного трафика.