Техническое SEO

Исправление SEO-структуры блога на OpenCart 1.5.6.4 (Journal2)

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

SEO для OpenCart

Сайт: bossert.tech · CMS: ocStore 1.5.6.4, тема Journal2

Задача: устранить дубли страниц, исправить ЧПУ, настроить 301-редиректы, canonical и пагинацию блога.

При техническом SEO-аудите блога обнаружились системные ошибки маршрутизации и формирования адресов. Одна и та же публикация открывалась по нескольким URL, оба варианта возвращали HTTP 200 вместо перенаправления. Такая структура создавала риск попадания дублей в поисковый индекс и неэффективного расходования краулингового бюджета.

Диагностика проблемы

Были проверены 105 URL блога. Ниже - ключевые показатели аудита.

105
URL проверено в ходе аудита
44
дублирующих адреса статей выявлено
HTTP 200
возвращали оба варианта вместо редиректа
0
canonical на страницах категорий и пагинации

Что выявил аудит

Проблема Проявление Влияние на SEO
Дубли адресов статей Одна публикация доступна как /blog/статья, так и /blog/категория/статья Дубли попадают в индекс, вес страницы размывается
Отсутствие canonical Страницы категорий и пагинации без тега rel="canonical" Поисковик сам выбирает основной вариант
Некорректная пагинация ?page=1 не редиректит на первую страницу, ?page=999 отдаёт 200 Индексация мусорных страниц
Старые маршруты Journal2 Служебные адреса темы доступны и отвечают 200 Расходование краулингового бюджета
Конфликт в .htaccess Правила Journal2 пересекаются с новой логикой редиректов Циклические редиректы или игнорирование правил
Критично: оба варианта адреса возвращали код ответа 200, а не 301. Это значит, что поисковый робот индексировал обе версии как отдельные страницы. Для 44 статей это создавало 88 страниц в индексе вместо 44.

Выполненные работы

Провёл анализ файлов сайта, 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, которые пересекались с новой логикой маршрутизации.

Сложности проекта

Основная сложность заключалась в особенностях старой версии OpenCart 1.5.6.4 и тесной интеграции Journal2 с системой ЧПУ. Адреса статей формировались несколькими компонентами одновременно, что исключало точечное исправление.

Факторы, усложнявшие работу:

  • Canonical генерировался без категории, а ссылки внутри блога могли содержать категорию - возникало противоречие.
  • На маршрутизацию одновременно влияли vQmod-модификаторы и правила .htaccess.
  • Простое добавление отдельных редиректов не решило бы проблему для новых публикаций - требовалось изменить сам механизм формирования URL.
  • Необходимо было сохранить работоспособность остальных разделов интернет-магазина и существующие SEO-адреса товаров и категорий.

Поэтому потребовалось изменить механизм формирования URL на уровне кода, используя существующие связи статей с категориями в базе данных, а не добавлять редиректы поштучно.

Результат

Что подготовлено

  • Единая схема ЧПУ для всех 44 опубликованных статей, включённых в аудит дублей
  • Контрольная карта из 44 перенаправлений для проверки после внедрения
  • Исправления маршрутизации, canonical, внутренних ссылок и пагинации
  • Реализация без необходимости редактирования записей в базе данных
  • Проверка PHP-синтаксиса изменённых файлов и локальная логика построения адресов
Итог: подготовлено системное устранение причин дублирования URL, а не временное решение отдельными правилами редиректов. Новые публикации также будут автоматически получать правильную структуру адресов.

Вывод

На старых версиях OpenCart с кастомными темами дубли страниц часто возникают не из-за одной ошибки, а из-за конфликта нескольких механизмов формирования адресов. Точечные редиректы дают временный эффект. Системное решение - изменить сам механизм генерации URL на уровне маршрутизатора, чтобы новые материалы автоматически получали правильную структуру без ручного вмешательства.

Есть похожая задача?

Пришлите ссылку на сайт и опишите желаемый результат.