Услуги Создание магазина Доработка Интеграция 1С О компании FAQ Блог Кейсы Отзывы Контакты
А
Автор статьи

Как настроить ЧПУ в OpenCart без дублей страниц

Краткое описание задачи

ЧПУ (человеко-понятные URL) — обязательное условие для SEO интернет-магазина. Вместо /index.php?route=product/product&product_id=123 должно быть /krasnye-krossovki. Но при включении ЧПУ в OpenCart важно избежать дублей: старые URL с параметрами и новые ЧПУ-адреса не должны конкурировать в поиске.

Включение ЧПУ в OpenCart

  1. Переименуйте htaccess.txt в .htaccess в корне сайта. Без этого ЧПУ не будут работать.
  2. Админка → Система → Настройки → вкладка Сервер — включите «SEO URL».
  3. Заполните SEO URL для категорий и товаров — OpenCart позволяет задать произвольный alias для каждой страницы. Если не заполнять, slug будет сгенерирован из названия.

Проблема: старые URL продолжают работать

После включения ЧПУ старый URL /index.php?route=product/product&product_id=123 никуда не исчезает. Он продолжает открываться. Получается два URL на один товар: /krasnye-krossovki и /index.php?route=product/product&product_id=123 — классический дубль.

Решение

OpenCart 3 по умолчанию ставит canonical на ЧПУ-версию. Проверьте это: откройте старый URL, посмотрите rel=canonical в head — он должен указывать на /krasnye-krossovki. Если canonical не стоит — добавьте через OCMOD.

Что входит в технический аудит OpenCart?
Подробный разбор — в этом разделе.

Настройка единого зеркала

Дополнительная проблема: сайт может быть доступен по четырём адресам одновременно (http/https, с www/без www). Всё это — дубли.

# В .htaccess: редирект на https и без www
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^www.(.+)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]

Рекомендации из практики

Как лучше: Включайте ЧПУ строго в порядке: сначала настройка .htaccess, потом включение в админке, потом генерация всех URL. Нарушение порядка ведёт к дублям.

Как не делать: Не меняйте структуру URL после индексации страниц поисковиками. Если нужно изменить — настройте 301 редирект со старого URL на новый.

Кейс из практики: Магазин включил ЧПУ через модуль, не отключив старые URL вида ?route=product/category. В индексе оказалось 3 000 дублей. Решение: отключили старые URL через .htaccess, настроили canonical. Через месяц Google снял дубли.

По практике, ЧПУ работают корректно только при правильной последовательности настройки. Закажите технический аудит: проверим SEO-структуру

Что входит в технический аудит OpenCart?
Подробный разбор — в этом разделе.

Проверка после настройки

  • Откройте товар по ЧПУ — должен открываться без переадресации.
  • Откройте товар по старому URL с параметрами — должен редиректить или иметь canonical на ЧПУ.
  • Проверьте http:// и https:// — должен быть редирект на HTTPS.
  • Проверьте www и без www — должен быть редирект на выбранное зеркало.

Частые вопросы

Можно ли изменить slug товара после того, как он проиндексирован?

Можно, но обязательно настройте 301-редирект со старого slug на новый. Иначе поисковик увидит 404, и товар выпадет из индекса.

ЧПУ на русском — это нормально?

Да, поисковики нормально обрабатывают русские символы в URL. Но на практике их часто транслитерируют — /krasnye-krossovki вместо /красные-кроссовки. Это проще для копирования и вставки.

Я занимаюсь разработкой на OpenCart с 2009 года, запустил больше 150 проектов. Через мои руки прошли магазины от маленьких витрин до каталогов на 50 000 товаров. Знаю CMS вдоль и поперёк: slow-логи MySQL, конфликты OCMOD-модификаторов, грабли с SEO URL. Если у вас есть вопрос — пишите, подскажу.

Итог

ЧПУ + единое зеркало + canonical = чистые URL без дублей. После включения проверьте, что старые URL не конкурируют с новыми.

Из практики. При настройке ЧПУ в OpenCart типичная ошибка — забывают включить mod_rewrite в настройках OpenCart и прописать правила в .htaccess. На одном проекте клиент настроил SEO URL, но страницы товаров открывались с 404 — оказалось, опция «Use SEO URLs» в админке не была включена. После включения и создания .htaccess с RewriteRule всё заработало.

Как не надо. Не копируйте готовые решения из интернета без проверки совместимости с вашей версией OpenCart и установленными модулями. То, что сработало у другого владельца магазина, может сломать ваш сайт — особенно если у вас нестандартная сборка. Всегда делайте бэкап перед любыми изменениями.

Антон Баринов — разработчик интернет-магазинов на OpenCart с 2009 года, основатель opencart-cms.ru.

← Предыдущая Удержание клиентов: программа лояльности, ретеншн-маркетинг, reactivation Следующая → Анализ конкурентов для интернет-магазина на OpenCart: пошаговое руководство 2026

Комментарии (0)

Пока нет комментариев. Будьте первым!

Оставить комментарий

Ваш комментарий появится после проверки модератором.