Настройка ЧПУ в CMS Opencart 3
После установки CMS Opencart наши url адреса товаров и категорий выглядят не правильно с точки зрения SEO. В данной статье мы изменим их на правильные варианты.
Для начала устанавливаем модуль SEO PRO для Opencart 3 (инструкция по установке есть на указанном сайте).
Переходим в корень сайта и переименовываем файл .htaccess.txt в .htaccess (без этого у вас ничего не запустится) Если ваш сайт находится на сервере хостинга, вам понадобится доступ FTP или воспользуйтесь диспетчером файлов в cPanel.
Открываем нашу админ часть и переходим в настройки магазина. Выставляем настройки как указано на картинке.

Далее настраиваем правильный адрес главной страницы. Для этого существует много решений в виде модулей, но к сожалению все они для меня оказались не рабочими, если включен модуль SEO PRO для Opencart 3. Проблему удалось решить редактированием файла seo_pro.php (Находится по адресу: catalog / controller / startup). Необходимо добавить следующий код:
$seo=str_replace('index.php?route=common/home', '', $seo);
Вот как выглядет фрагмент куда надо вставить (у меня это 328 строка)
if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) < $config_ssl = substr($this->config->get('config_ssl'), 0, $this->strpos_offset('/', $this->config->get('config_ssl'), 3) + 1); $url = str_replace('&', '&', $config_ssl . ltrim($this->request->server['REQUEST_URI'], '/')); $seo = str_replace('&', '&', $this->url->link($this->request->get['route'], $this->getQueryString(array('route')), true)); > else < $config_url = substr($this->config->get('config_url'), 0, $this->strpos_offset('/', $this->config->get('config_url'), 3) + 1); $url = str_replace('&', '&', $config_url . ltrim($this->request->server['REQUEST_URI'], '/')); $seo = str_replace('&', '&', $this->url->link($this->request->get['route'], $this->getQueryString(array('route')), false)); $seo=str_replace('index.php?route=common/home', '', $seo); >
На этом все. Теперь при переходе на главную страницу наш адрес без данной конструкции — index.php?route=common/home
Теги
Fix ЧПУ для сервисных страниц сайта Opencart 3
В Opencart 3 появился менеджер для редактирования адресов страниц.
При этом он корректно работает только с товарами, категориями и производителями, а вот с остальными страницами как-то не сложилось. Данное дополнение позволит указывать ЧПУ для таких страниц.
Убирает index.php?route=common/home у главной страницы.
Как пользоваться:
Откройте раздел меню Дизайн — SEO URL и нажмите кнопку добавления запроса. В открывшемся окне укажите алиасы
Например, для страницы входа на сайт в поле Запрос укажите account/login , в поле ключ login
Для страницы регистрации account/register — register
Без этого модификатора адреса страниц останутся с index.php?route=
| Характеристики дополнения | |
| Совместимость | 3.0.0.0, 3.0.1.1, 3.0.1.2, 3.0.2.0, 3.0.3.0, 3.0.3.1, 3.0.3.2, 3.0.3.3, 3.0.3.5, 3.0.3.6, 3.0.3.7, 3.0.3.8 |
| Локализация | русский, украинский, английский |
| Ocmod | да |
| Характеристики дополнения | |
| Совместимость | 3.0.0.0, 3.0.1.1, 3.0.1.2, 3.0.2.0, 3.0.3.0, 3.0.3.1, 3.0.3.2, 3.0.3.3, 3.0.3.5, 3.0.3.6, 3.0.3.7, 3.0.3.8 |
| Локализация | русский, украинский, английский |
| Ocmod | да |
Включение ЧПУ в OpenCart 3

Жмем по кнопке «Добавить». И попадаем на страницу добавления ссылки.

В поле «Запрос» указываем для какого запроса будет использоваться наш SEO URL.
В поле «Ключ» указываем сам URL.
В поле «Магазин» указываем для какого магазина используется ЧПУ.
В поле «Язык» для какого языка.
После ввода всех данных жмем «Сохранить».
Как включить ЧПУ в OpenCart?
2. Далее на странице со списком магазинов (во многих случаях это будет один магазин), выберите тот, который имеет примечание «По умолчанию«.
3. Вкладка «Сервер». Проверьте опцию «Включить ЧПУ».
4. Проверьте, есть ли ниже пункт «Тип ЧПУ«. Если его нет, то вам также стоит установить бесплатный модуль SeoPro для устранения дублей страниц.
5. Сохраните настройки.



В тройке чуточку иначе
В тройке внешний вид админки немного отличается, но пункты меню не особо поменялись. Также в ocStore 3, модуль SeoPro теперь вынесен в отдельную вкладку правее вкладки «Сервер». В OpenCart 3 нужно покупать модуль Sla Seo Pro, который затем находится вообще в стандартном списке с остальными модулями.

Что делать, если я включил ЧПУ в настройках магазина, но при открытии страниц товаров мне выдает ошибку 404?
Ошибка 404 при попытке открыть ЧПУ-шные ссылки свидетельсвуте о том, что у вас не настроен файл .htaccess, который находится в папке с вашим сайтом на сервере. В ocStore вы найдете файл .htaccess.txt, который нужно просто переименовать в .htaccess, подключившись по ФТП или используя Файл-менеджер на хостинге.

Кстати
Стоит отметить, что когда Вы будете заполнять ЧПУ в админке товара, то там вы найдете название SEO URL. В данной системе это синонимичные понятия.