Дубли страниц в WordPress редко выглядят как одна и та же запись с одинаковым URL. Чаще это набор похожих адресов: архивы тегов, страницы пагинации, версии с параметрами, дубли из-за фильтров темы, а иногда и одинаковые посадочные страницы, созданные вручную. Если сайт уже разросся, руками проверять всё это долго, а AI здесь полезен не как «магия», а как слой классификации: он помогает быстро разложить URL по типам и выделить то, что действительно мешает индексации.
Ниже — рабочий сценарий: как собрать список подозрительных страниц, передать его AI для группировки, затем удалить или закрыть лишнее без потери нужных URL.
Когда AI реально помогает, а когда нет
AI не заменяет краулинг и не угадывает SEO-логику сайта. Он полезен на этапе разбора большого списка URL, когда нужно быстро ответить на вопросы:
- какие страницы похожи по смыслу и содержанию;
- какие URL отличаются только параметрами, пагинацией или слешем;
- что можно закрыть от индексации, а что лучше объединить через редирект;
- где есть риск удалить нужную страницу вместо дубля.
Если у вас 20 страниц, AI не нужен. Если у вас сотни архивов, фильтров, посадочных и технических URL — он экономит время на первичной сортировке.
Диагностика: какие дубли искать в первую очередь
Перед любыми правками нужно понять источник дублей. В WordPress чаще всего встречаются такие сценарии:
Архивы и таксономии
Одинаковые фрагменты контента могут попадать в архивы категорий, тегов, авторов и дат. Если тема или плагин выводит один и тот же текст в нескольких местах, поисковик видит несколько очень похожих страниц.
Параметры в URL
Фильтры, сортировки, UTM-метки, внутренний поиск и служебные параметры создают отдельные адреса. Иногда они индексируются, если не настроены canonical и robots.
Пагинация и страницы вложений
Страницы /page/2/, медиа-вложения и архивы автора часто не несут самостоятельной ценности, но всё равно попадают в индекс.
Ручные дубли
Это уже редакционная ошибка: две почти одинаковые статьи, две посадочные под один запрос, копия страницы для другого региона без отличий в контенте.
Как собрать список подозрительных URL
Для начала выгрузите адреса из краулера, Search Console или хотя бы из XML-карты сайта. Дальше AI нужен для группировки. Ему лучше не отдавать весь сайт целиком, а передавать список URL с заголовками и короткими описаниями.
Пример формата входных данных:
https://example.com/category/seo/ - Категория SEO. Содержит 12 записей, часть дублируется в тегах.
https://example.com/tag/seo/ - Тег SEO. Почти тот же список записей.
https://example.com/page/2/ - Вторая страница архива.
https://example.com/?sort=popular - Сортировка по популярности.
https://example.com/about-us/ - Страница о компании.Если вы хотите автоматизировать разбор внутри WordPress, можно собрать список URL из записей и таксономий через стандартные функции и отправить его в свой AI-сервис. Ниже пример упрощённого кода, который формирует массив адресов для дальнейшей обработки.
<?php
$items = [];
$posts = get_posts([
'post_type' => 'post',
'post_status' => 'publish',
'posts_per_page' => 50,
]);
foreach ($posts as $post) {
$items[] = [
'url' => get_permalink($post),
'title' => get_the_title($post),
];
}
$terms = get_terms([
'taxonomy' => ['category', 'post_tag'],
'hide_empty' => false,
]);
foreach ($terms as $term) {
if (!is_wp_error($term)) {
$items[] = [
'url' => get_term_link($term),
'title' => $term->name,
];
}
}
// Дальше $items можно отправить в внешний AI-сервис для классификации.Пошаговое решение: как убрать дубли без лишнего риска
Шаг 1. Разделите URL по типам
Попросите AI не «решить проблему», а только классифицировать список. Полезный запрос выглядит так: «Разбей URL на группы: канонические, дубли, технические, кандидаты на редирект, кандидаты на noindex. Для каждого пункта укажи причину». Такой подход даёт понятный черновик, который потом проверяется вручную.
Шаг 2. Проверьте, есть ли у страницы самостоятельная ценность
Если две страницы отличаются только заголовком, но ведут на один и тот же смысл, обычно оставляют одну основную, а вторую либо удаляют с 301-редиректом, либо закрывают от индексации, если она нужна пользователям, но не поиску. Если страницы реально разные по интенту, объединять их нельзя.
Шаг 3. Настройте canonical и индексацию
Для технических дублей canonical часто достаточно. Для страниц фильтров и параметров — лучше сначала проверить, не ломает ли это навигацию. Если URL не должен индексироваться вообще, используйте noindex,follow там, где это уместно, а не полагайтесь только на robots.txt.
В WordPress можно добавить canonical для конкретного шаблона через фильтр wpseo_canonical, если у вас используется Yoast SEO, но не стоит делать это вслепую для всего сайта. Для собственных решений безопаснее работать на уровне шаблона или через SEO-плагин, который уже умеет управлять canonical.
Шаг 4. Удалите или объедините дубли
Если дубль не нужен, удаляйте его только после проверки входящих ссылок и индексации. Если на страницу уже есть внешние ссылки, лучше поставить 301-редирект на основную версию. Для этого подойдёт стандартный механизм WordPress через template_redirect, если нужен точечный код без отдельного плагина.
<?php
add_action('template_redirect', function () {
if (is_page('old-landing')) {
wp_redirect(home_url('/new-landing/'), 301);
exit;
}
});Для массовых редиректов удобнее использовать серверную конфигурацию или SEO-плагин, а не плодить десятки условий в теме.
Как проверить, что решение сработало
После изменений важно не ограничиваться визуальной проверкой. Нужны три уровня контроля:
- открывается ли нужный URL и не создаёт ли он цепочку редиректов;
- какой canonical отдает страница в исходном коде;
- исчез ли дубль из отчётов Search Console и краулера.
Проверка вручную проста: откройте страницу, посмотрите исходный код и найдите <link rel="canonical". Затем проверьте HTTP-ответ через DevTools или curl:
curl -I https://example.com/old-landing/Если редирект настроен правильно, вы увидите 301 и новый адрес в заголовке Location. Если страница должна быть закрыта от индексации, проверьте наличие noindex в мета-тегах или заголовках, если вы используете такой способ.
Сравнение подходов: плагин, код или ручная правка
| Подход | Когда подходит | Минус |
|---|---|---|
| SEO-плагин | Нужно быстро закрыть дубли, настроить canonical и редиректы без разработки | Меньше гибкости, часть логики спрятана в интерфейсе |
| Код в теме или mu-plugin | Нужны точечные правила под конкретные шаблоны и типы URL | Требует тестирования и контроля после обновлений |
| Ручная правка страниц | Дублей мало и они очевидны | Плохо масштабируется, легко пропустить скрытые дубли |
Если на сайте уже есть чистка дублей, можно посмотреть в сторону Clearfy Pro: у него есть инструменты для технической оптимизации и удаления лишнего мусора, но использовать его стоит как часть общей схемы, а не как замену диагностики. Ссылка без слеша: https://wpshop.ru/plugins/clearfy.
Частые ошибки и как их исправить
Удалили страницу, не поставив редирект
В итоге старый URL отдаёт 404, а внешние ссылки и закладки теряются. Если страница уже была в индексе, почти всегда нужен 301 на ближайший релевантный адрес.
Закрыли от индексации всё подряд
Иногда после автоматической чистки под noindex попадают полезные архивы, категории и страницы фильтров, которые реально приводят трафик. Перед массовым применением проверяйте, что именно вы закрываете.
Слепо доверились AI-классификации
AI может ошибиться в контексте: принять полезную страницу за дубль или наоборот. Его вывод — это черновик, а не финальное решение. Всегда сверяйте с поисковым интентом и внутренней перелинковкой.
Настроили canonical, но оставили дубли в карте сайта
Если в sitemap продолжают попадать технические URL, поисковик будет снова и снова их обходить. После чистки проверьте генератор карты сайта и исключите лишние типы страниц.
Практические советы по безопасности и производительности
Если вы пишете свой инструмент для анализа дублей, не отправляйте в AI лишние данные: пароли, токены, приватные URL админки и внутренние служебные параметры. Для выгрузки достаточно адреса, заголовка, типа записи и краткого описания.
Не запускайте массовые редиректы и удаление страниц без бэкапа и списка изменений. Для крупных сайтов лучше сначала прогнать список в staging-окружении, а потом переносить правила на прод.
Если задача не только в дублях, но и в общей SEO-чистке, полезно связать AI-разбор с ручной проверкой технических страниц. В этом сценарии хорошо работают инструменты, которые умеют убирать дубли метаданных, технические архивы и лишние элементы интерфейса, но финальное решение всё равно должно оставаться за редактором или разработчиком.
Мини-чек-лист перед публикацией изменений
- Список URL собран из краулера, Search Console или sitemap.
- Дубли разделены по типам: контентные, технические, параметрические.
- Для удалённых страниц настроены 301-редиректы.
- Для нужных, но неиндексируемых страниц добавлен noindex или корректный canonical.
- Карта сайта обновлена и не содержит лишних URL.
- Проверены HTTP-коды, canonical и отсутствие цепочек редиректов.
Если после этого в отчётах всё ещё остаются похожие страницы, не пытайтесь лечить их массовым удалением. Обычно проблема в генерации URL, шаблоне архива или параметрах фильтрации. Именно там и нужно искать первопричину.