Дубли страниц в OpenCart: откуда берутся и как их убрать
Краткое описание задачи
Дубли страниц — системная проблема OpenCart. Один и тот же товар может быть доступен по 5–10 разным URL. Поисковик видит несколько одинаковых страниц, «размазывает» вес между ними — в результате ни одна не ранжируется хорошо. Разберём все источники дублей и способы их устранения.
Откуда берутся дубли в OpenCart
Из практики. Клиент жаловался, что сайт не растёт в выдаче, хотя товаров и ссылок много. Проверили через Search Console — 3 400 дублей на 2 000 товаров. Оказалось, OpenCart генерировал страницы: /category/product, /category/product?page=1 (дубль главной страницы категории), /category/product&sort=p.price&order=ASC (каждый вариант сортировки — новый URL), /index.php?route=product/product&product_id=123 (старый URL без ЧПУ). После установки модуля канонических URL (rel=canonical) и настройки robots.txt (Disallow: /*?page=, Disallow: /*?sort=, Disallow: /*?order=) количество дублей в Search Console сократилось до 120. Также добавили 301-редирект с index.php?route=… на ЧПУ-версии. Через месяц индексация улучшилась, трафик вырос на 15%.
Как не надо. Не пытайтесь убрать дубли через запрет в robots.txt для всех страниц с параметрами — можно случайно запретить важные страницы. Правильный порядок: 1) установите модуль canonical URL (генерирует rel=canonical для каждой страницы); 2) в robots.txt запретите только служебные параметры: Disallow: /*?page= (пагинация), Disallow: /*?sort= (сортировка), Disallow: /*?order= (направление), Disallow: /*?limit= (лимит); 3) добавьте 301-редирект с index.php?route=… на ЧПУ (через.htaccess); 4) для страниц с фильтрами используйте rel=»nofollow» для ссылок фильтрации; 5) проверьте через Google Search Console, уменьшилось ли количество дублей через месяц. И главное: не отключайте SEO-URL (ЧПУ) в настройках OpenCart — без них каждый товар будет доступен по двум URL.
Антон Баринов — разработчик интернет-магазинов на OpenCart с 2009 года, основатель opencart-cms.ru.
| Источник | Пример URL | Что делать |
|---|---|---|
| Пагинация | /category?page=2, /category?page=3 | canonical на себя |
| Сортировка | /category?sort=price&order=ASC | canonical на URL без сортировки |
| Фильтры | /category?filter=red | canonical на родительскую категорию |
| UTM-метки | /product?utm_source=google | canonical на чистый URL |
| HTTP/HTTPS | http://site.com и https://site.com | 301 редирект на единое зеркало |
| www/без www | www.site.com и site.com | 301 редирект на единое зеркало |
| Товары в нескольких категориях | /cat1/product и /cat2/product | canonical на основную категорию |
Как найти дубли на сайте
Способ 1. Яндекс.Вебмастер
Раздел «Индексирование» → «Страницы в поиске». Посмотрите, какие страницы помечены как дубли. Яндекс показывает, какие URL конфликтуют между собой.
Способ 2. Screaming Frog SEO Spider
Бесплатная программа (до 500 URL). Сканирует сайт, показывает все страницы с одинаковым контентом и проблемы с canonical.
Способ 3. Google Search Console
Раздел «Страницы» → «Исключено» → «Продублированные без канонической». Там Google показывает страницы, которые считает дублями без указания canonical.
Рекомендации из практики
Как лучше: Настройте canonical на основные URL. Пошаговая настройка тега — в статье «Canonical в OpenCart: как настроить правильно» и закройте дублирующиеся страницы через robots.txt или мета-тег noindex.
Как не делать: Не надейтесь, что Google сам разберётся с дублями. Каждый дубль размывает вес между страницами.
Кейс из практики: У магазина 2 000 товаров. Без canonical Google проиндексировал 8 000 страниц (товары с опциями, страницы сортировки). После настройки canonical и noindex осталось 2 500. Трафик вырос на 30% за счёт консолидации.
По практике, canonical + noindex — основное оружие против дублей страниц. Закажите технический аудит
Пошаговое устранение дублей
- Выберите единое зеркало сайта: https://site.com (с www или без — неважно, главное — одно).
- Настройте 301-редирект со второго зеркала на основное.
- Настройте редирект с HTTP на HTTPS, если его нет.
- Проверьте canonical на каждой странице через Screaming Frog.
- Добавьте правильный canonical для товаров в нескольких категориях.
- В Яндекс.Вебмастере → Инструменты → Управление параметрами URL — отметьте utm_source, utm_medium, utm_campaign как не влияющие на контент.
- Проверьте robots.txt — он не должен блокировать товары.
Вопросы и ответы
Сколько дублей считается нормой?
Норма — ноль. На практике у большинства OpenCart-магазинов 5–15% страниц имеют дубли. Если больше 20% — это уже проблема, которую нужно решать.
Дубли в фильтрах — это нормально?
Если фильтры не создают уникальный контент (заголовки, тексты, H1) — да, это дубли. Ставьте canonical на родительскую категорию. Или делайте страницы фильтров уникальными.
Я занимаюсь разработкой на OpenCart с 2009 года, запустил больше 150 проектов. Через мои руки прошли магазины от маленьких витрин до каталогов на 50 000 товаров. Знаю CMS вдоль и поперёк: slow-логи MySQL, конфликты OCMOD-модификаторов, грабли с SEO URL. Если у вас есть вопрос — пишите, подскажу.
Итог
Canonical + 301-редиректы + Яндекс.Вебмастер = минимум дублей. Проверяйте через Screaming Frog раз в квартал. Дубли — главная причина, почему товары не в топе, даже если с контентом всё хорошо.
Комментарии (0)
Пока нет комментариев. Будьте первым!
Оставить комментарий