TL;DR
Дубли страниц — одна из главных причин потери позиций. Бывают полные (один контент на разных URL) и частичные (большая часть совпадает). Устраняются 301-редиректами, canonical, noindex или удалением. Регулярная проверка — обязательный элемент SEO-гигиены.
Виды дублей
Полные дубли
100% одинаковый контент на разных URL:
https://example.com/pageиhttps://example.com/page/http://...иhttps://...- С
www.и без. ?utm_source=...и без.- Технические URL:
index.php,default.aspx.
Частичные дубли
Контент совпадает на 50-90%:
- Версии для печати.
- Страницы с разной сортировкой.
- Страницы фильтров с одним товаром.
- Карточки товаров с похожим описанием.
- Региональные поддомены с одинаковым контентом.
Причины появления
- CMS из коробки (товары попадают в несколько категорий).
- UTM-метки.
- Sessions ID, gclid, yclid.
- Пагинация.
- Фильтры и сортировки.
- Версии для печати.
- AMP-страницы.
- Параметры из рекламных кабинетов.
- Тестовые поддомены, индексируемые случайно.
Как найти дубли
Через Яндекс.Вебмастер
Раздел «Индексирование → Страницы в поиске → Исключённые». Фильтр «Дубль» покажет все исключённые из-за дублирования.
Через Google Search Console
«Pages → Not indexed → Duplicate without user-selected canonical / Duplicate, Google chose different canonical».
Через парсеры
- Screaming Frog — мощный инструмент.
- Netpeak Spider — отечественный аналог.
- Sitebulb — премиум.
Парсер сканирует сайт и группирует страницы с одинаковыми title, description, h1, content hash.
Через site:
Запрос site:example.com "уникальный фрагмент" показывает, на каких страницах он встречается.
Через duplicate content checkers
- Siteliner.com — поиск дублей внутри сайта.
- Copyscape — внешние дубли.
Методы устранения
1. 301-редирект
Лучший вариант, когда страница больше не нужна:
# .htaccess
RewriteRule ^old-page/?$ /new-page/ [R=301,L]
Применяется при:
- Удалении страницы.
- Объединении нескольких страниц в одну.
- Изменении URL.
2. Canonical
Когда страница нужна, но не должна индексироваться:
<link rel="canonical" href="https://example.com/main-page/" />
Применяется при:
- Параметрах URL.
- Сортировках/фильтрах.
- Версиях для печати.
3. Noindex
Когда страница нужна для пользователя, но не для поиска:
<meta name="robots" content="noindex,follow" />
Применяется при:
- Внутреннем поиске.
- Личном кабинете.
- Корзине.
- Технических разделах.
4. Disallow в robots.txt
Когда не нужно тратить crawl budget:
Disallow: /search/
Disallow: /print/
Disallow: /*?sort=
⚠️ Disallow не убирает страницу из индекса — только запрещает обход. Если страница уже в индексе, нужен noindex.
5. Clean-param (Яндекс)
Для UTM и других параметров:
Clean-param: utm_source&utm_medium&utm_campaign
6. Объединение
Если есть две похожие страницы низкого качества — объединяем в одну сильную с 301-редиректом.
Сценарии для разных CMS
WordPress
- UTM убираются canonical (стандартно через Yoast/Rank Math).
- Категории с одинаковым контентом — оставляем основную, остальные удаляем или объединяем.
- /tag/ часто дают тонкий контент — лучше noindex.
Bitrix
- Параметры BITRIX_*= закрываются в robots.
- Дубли по параметрам сортировки — canonical.
- В разделах с фильтрами — настройка SEF-фильтров (умные фильтры).
OpenCart
- Параметры sort, order, limit — canonical на основную.
- Товары в нескольких категориях — canonical на главную.
Тильда / Конструкторы
- Меньше контроля, но дублей обычно мало (структура простая).
Crawl budget и дубли
Дубли «съедают» crawl budget — бот тратит время на обход не нужных страниц вместо новых полезных. Особенно критично для крупных сайтов (от 10 000 страниц).
Закрытие дублей в robots.txt + sitemap только с canonical-версиями = экономия бюджета.
Регулярный мониторинг
Раз в месяц:
- Скан Screaming Frog → проверка дублей title/description/content.
- Яндекс.Вебмастер → исключённые страницы.
- Search Console → Coverage report.
- site:example.com — выборочная проверка.
Типичные ошибки
- Параллельное использование Disallow + Noindex. Если страница закрыта в robots, бот не увидит noindex.
- Canonical на саму себя для разных версий. Каждая страница ссылается на себя — поисковик не понимает, какая главная.
- Игнорирование пагинации. Страницы 2, 3 могут быть истолкованы как дубли.
- Тестовый домен в индексе. Закройте dev/staging через Basic Auth и noindex.
Заказать поиск и устранение дублей
В рамках технического аудита (25 000 ₽) найду все дубли и подготовлю чёткий план устранения. Дам готовые правила .htaccess или конкретные настройки для CMS.