Исправление SEO-структуры блога на OpenCart 1.5.6.4 (Journal2)
Кейс по исправлению технической структуры блога на OpenCart 1.5.6.4 с темой Journal2: устранение дублей адресов, настройка единой схемы ЧПУ, 301-редиректов, canonical и корректной обработки пагинации.

Сайт: bossert.tech · CMS: ocStore 1.5.6.4, тема Journal2
Задача: устранить дубли страниц, исправить ЧПУ, настроить 301-редиректы, canonical и пагинацию блога.
При техническом SEO-аудите блога обнаружились системные ошибки маршрутизации и формирования адресов. Одна и та же публикация открывалась по нескольким URL, оба варианта возвращали HTTP 200 вместо перенаправления. Такая структура создавала риск попадания дублей в поисковый индекс и неэффективного расходования краулингового бюджета.
Диагностика проблемы
Были проверены 105 URL блога. Ниже - ключевые показатели аудита.
Что выявил аудит
| Проблема | Проявление | Влияние на SEO |
|---|---|---|
| Дубли адресов статей | Одна публикация доступна как /blog/статья, так и /blog/категория/статья |
Дубли попадают в индекс, вес страницы размывается |
| Отсутствие canonical | Страницы категорий и пагинации без тега rel="canonical" |
Поисковик сам выбирает основной вариант |
| Некорректная пагинация | ?page=1 не редиректит на первую страницу, ?page=999 отдаёт 200 |
Индексация мусорных страниц |
| Старые маршруты Journal2 | Служебные адреса темы доступны и отвечают 200 | Расходование краулингового бюджета |
| Конфликт в .htaccess | Правила Journal2 пересекаются с новой логикой редиректов | Циклические редиректы или игнорирование правил |
Выполненные работы
Провёл анализ файлов сайта, SQL-базы, SEO-маршрутизатора и механизма формирования ссылок Journal2. Подготовил комплексные исправления:
1Единая схема ЧПУ для статей
Основными адресами статей выбраны ЧПУ с категорией: /blog/категория/статья. Короткие адреса /blog/статья перенаправляются на основные через 301.
2Настройка 301-редиректов
Настроена логика перенаправлений с коротких адресов на основные. Сформирована контрольная карта из 44 перенаправлений для проверки после внедрения.
3Исправление canonical
Изменено формирование тега rel="canonical" для статей, категорий и страниц пагинации. Теперь канонический адрес всегда указывает на основной вариант с категорией.
4Внутренние ссылки и хлебные крошки
Исправлена генерация внутренних ссылок и хлебных крошек в шаблоне блога. Ссылки внутри статей и списков теперь ведут на основной адрес с категорией.
5Нормализация пагинации
Добавлена нормализация адресов /blog/ и /blog?page=1 - первый вариант признаётся основным, второй перенаправляет на него. Несуществующие страницы пагинации (?page=999) отдают 404 вместо 200.
6Устранение конфликтов в .htaccess
Устранены конфликтующие правила старых редиректов Journal2 в файле .htaccess, которые пересекались с новой логикой маршрутизации.
Сложности проекта
Факторы, усложнявшие работу:
- Canonical генерировался без категории, а ссылки внутри блога могли содержать категорию - возникало противоречие.
- На маршрутизацию одновременно влияли vQmod-модификаторы и правила
.htaccess. - Простое добавление отдельных редиректов не решило бы проблему для новых публикаций - требовалось изменить сам механизм формирования URL.
- Необходимо было сохранить работоспособность остальных разделов интернет-магазина и существующие SEO-адреса товаров и категорий.
Поэтому потребовалось изменить механизм формирования URL на уровне кода, используя существующие связи статей с категориями в базе данных, а не добавлять редиректы поштучно.
Результат
Что подготовлено
- Единая схема ЧПУ для всех 44 опубликованных статей, включённых в аудит дублей
- Контрольная карта из 44 перенаправлений для проверки после внедрения
- Исправления маршрутизации, canonical, внутренних ссылок и пагинации
- Реализация без необходимости редактирования записей в базе данных
- Проверка PHP-синтаксиса изменённых файлов и локальная логика построения адресов
Вывод
На старых версиях OpenCart с кастомными темами дубли страниц часто возникают не из-за одной ошибки, а из-за конфликта нескольких механизмов формирования адресов. Точечные редиректы дают временный эффект. Системное решение - изменить сам механизм генерации URL на уровне маршрутизатора, чтобы новые материалы автоматически получали правильную структуру без ручного вмешательства.
Есть похожая задача?
Пришлите ссылку на сайт и опишите желаемый результат.