Opencart 3 чпу: Как настроить ЧПУ в OpenCart 3.x

Недоработки Opencart, которые нужно решать с самого начала

Ни одна CMS не готова с самого начала к полноценному использованию.

Многое решается установкой необходимых дополнений.

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

Попробую перечислить основные, встречаемые на каждом шагу.

ЧПУ-контроллер

Стандартный механизм seo_url имеет большой ряд недостатков, главный среди которых это дублирование адресации страниц. Формирователь строит адрес исходя из «пути по сайту».

Что создает еще одну проблему, связанную с юзабилити — хлебные крошки маршрутного типа, которые не отображают иерархию страницы, тем самым не выполняют функцию навигационной цепочки, как это реализовано везде: от сайтов до оболочек операционных систем.

Решение — seo_pro.

КРАЙНЕ ВАЖНО: Если у вас OCStore 3.0.2.0, для корректной работы нужно скачать и установить патч

Метки (Теги)

Метки в Opencart не реализованы полноценно. Страницы представляют из себя простой поиск. Главная проблема при таком раскладе в том, что на страницах товара создается группа ссылок на мертвые страницы. Тем самым сам товар теряет часть статического веса, а страницы тегов просто бесполезны. При большом кол-ве могут привести к полному убийству сайта.

Кроме того, большинство не понимает для чего вообще теги — бездумно создают копии категорий, брендов и т.д. Теги это механизм объединения/перелинковки в основном для блоговых сайтов. Тег не должен повторять название/модель/категорию/… а создавать уникальную страницу под запрос, на которой множество записей/товаров. В Интернет-магазинах вместо тегов применяются посадочные фильтров.

Решения:

  • Удалить теги
  • Использовать посадочные фильтра, ссылки в фильтре должны быть только на посадочные.
  • При условии что теги необходимы для построения структуры сайта — Модуль SEO Метки/Теги.
  • Так же очень простое решение создано в Full IndeX с версии 5. 0: мусорные ссылки убираются (только ссылки с tag=, ЧПУ-ссылки остаются), переход осуществляется с использованием js, ссылки на мусор в коде отсутствуют.

Недомультиязычность

Не актуально для большинства. Но тем не менее, огромное кол-во сайтов делается мультиязычными, и частенько можно встретить сайты, на которых разные языки не имеют отдельных страниц. Проблема начала решаться в Opencart 3.0, и возможно в 3.1 дойдет до того состояния когда можно будет пользоваться.

До сего момента можно использовать специализированные модули.

Недоработка https

В стандартных контроллерах при формировании адресов не задан третий параметр, отвечающий за протокол. Это не было бы проблемой если бы в system/library/url.php не существовала необходимость выполнения сразу двух условий для формирования https (и включенность SSL в админке и заданность 3-го параметра при вызове $this->url->link(), что не особо логично)

как выход из ситуации, можно убрать обязательность второго условия, превратив

public function link($route, $args = '', $secure = false) {
    if ($this->ssl && $secure) {
        $url = $this->ssl .  'index.php?route=' . $route;
    } else {
        $url = $this->url . 'index.php?route=' . $route;
    }
...

в

public function link($route, $args = '', $secure = false) {
    if ($this->ssl) {
        $url = $this->ssl . 'index.php?route=' . $route;
    } else {
        $url = $this->url . 'index.php?route=' . $route;
    }
...

«Тысяча» мелочей

Есть куча мелких моментов, которые можно перечислять очень долго. Многие по части SEO, решаются модулем Full IndeX, это собственно и цель его создания.

Помимо недоработок CMS

Кроме исправления изначальных недоработок, важно самому не создавать проблемы. Избежать многого поможет статья — Список типичных ошибок при создании интернет-магазинов и не только.

To be continue

OC 2.x — Автоматическая генерация SEO URL (ЧПУ) для OpenCart

JavaScript отключён. Чтобы полноценно использовать наш сайт, включите JavaScript в своём браузере.