После установки 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