Opencart чпу не работает: Почему не работают ЧПУ opencart 3? — Хабр Q&A

ЧПУ и все-все-все — OpenCart-Guide.com

Содержание

Все знают, что для продвижения сайта нужны ЧПУ (ЧеловекоПонятные Урлы), которые также называются «Семантический URL«. То есть, это такой адрес страницы на сайте, который  состоит из понятных слов. Например, вместо /index.php?cat=10&subcat=2&id=41 будет /product/phone/Samsung/ (пример взят и Википедии). В OpenCart эти самые ЧПУ носят гордое имя SEO URL, подразумевая, что они предназначены для SEO.

А что же означает отдельное «слово» URL? Это адрес страницы в интернете. Просьба не путать эти два понятия!

URL не всегда бывает ЧПУшным.

Если вы не будете различать смысл слов ЧПУ и УРЛ, то у нас с вами может получиться разговор немого с глухим.

 Неверно говорить про системные URL в OpenCart (вот такие: http://opencart-2302.loc/index.php?route=product/product&product_id=40), что они являются кривыми, корявыми и тд. И тем более, некорректно говорить, что это «неправильные ЧПУ«, потому что это вовсе не ЧПУ.

Если у вас на сайте именно такие ссылки, то вам не надо особо «запариваться» о том, как теперь все исправить, потому что ничего пока что еще и не произошло.

Вам надо просто включить ЧПУ в настройках OpenCart.

Почему после установки SeoPro страницы остались с такими же системными адресами?

Когда модуль SeoPro установлен и работает, все системные урлы товаров, категорий и тд сами автоматически редиректятся на ЧПУ. Никаких других модулей для совершения этих редиректов не нужно. И, конечно же, как всегда, есть но

Важно!

Чтобы SeoPro успешно осуществлял редирект с системных ссылок на ЧПУ нужно, чтобы:

  1. ЧПУ были прописаны в админке ( как Вы это сделаете — модулю SeoPro абсолютно по барабану, главное, чтобы в админке при открытии товара Вы видели, что поле SEO URL заполнено  )
  2. У товаров выбрана Главная категория

 Внимание! Модуль SEO PRO занимается маршрутизацией. То есть, если он сопоставляет системный адрес страницы, находит в базе ЧПУ, и редиректит. А если в базе данных нет ЧПУ для конкретно взятого товара или категории, то, извините, этот модуль ничего не может поделать, ведь для его работы не хватает данных. Важно понимать, что генерация самих ЧПУ — это отдельная история.

Как и где в OpenCart прописать ЧПУ для товаров?

В админке при редактировании товара (категории, производителя) откройте вкладку «Данные». Ищите поле «SEO URL».

Чтобы не ломать голову, как транслитировать текст, есть ряд бесплатных модулей (как SEO URL Generator FREE), которые добавляют в админку товара кнопочку, которая выполняет транслит. Но это все только в том случае, если вы будете редактировать каждый товар вручную.

Если же бессмысленная ручная работа — не ваш конек, то ознакомьтесь с модулем SEO URL Generator PRO, который позволяет нажать 1 кнопку и тем самым сгенерировать ЧПУ для всех товаров (категорий, производителей), которые есть на сайте, даже если их десятки тысяч. Данный модуль занимается генерацией ЧПУ в базу.

После установки модуля, вы сможете настроить формулу, по которой будет происходить генерация ЧПУ для товаров. Потом на вкладке «Массовая генерация SEO URL» можно нажать Синюю кнопку и все товаров без ЧПУ получат ЧПУ.

  По сути ЧПУ — это всего лишь данная товара. И предполагается, что, подобно цене, она задается для каждого товара вручную. Но если есть возможность массово импортировать товар с торговыми данными, то появилась необходимость генерировать ЧПУ для сотен или тысяч тотоваров сразу. Вот эти и занимаются генераторы чпу

Как массово сгенерировать и перезаписать ЧПУ в OpenCart

В начале статьи я писла,что, если у вас системные УРЛы, то вам нечего «запариваться», потому что еще ничего не произошло. Намного хуже обстоят дела, когда в магазине были прописаны ЧПУ, но в них есть «неправильные» символы, которые хочется заменить.

Так вот в отличие от других модулей по генерации ЧПУ, в SEO URL Generator PRO есть вторая кнопка при массовой генерации SEO URL (Оранжевая), которая позволяет перезаписать старые ЧПУ на новые ЧПУ с редиректом. Но это совершенно не то же самое, что делает модуль SEO PRO, когда редиректит с системных УРЛов на ЧПУ. Это именно замена старых корявых ЧПУ с неподходящими символами на новые.

ЧПУ-ссылка для карты Branched Sitemap в OpenCart

Внимание!

Инструкция подходит под версию модуля 1.11.0 и 1.12.0 (!) . А вот с версии 1.13.0 ЧПУ адрес для карты сайта создается без затрагивания .htaccess-файла. О других изменениях в модуле вы можете прочитать на отдельной странице — https://support.sergetkach.com/knowledge/details/58/.

ЧПУ для карты сайта в OpenCart нужен по той причине, что с 2018 года в Google Search Console отображается статус «Не получено», если отправлять карту сайта без ЧПУ. Многие SEO-оптимизаторы из-за этого требуют, чтобы карты была обязательно с адресом sitemap.xml, хотя адрес branched-sitemap.xml работает на ура.

Как вписать branched-sitemap.xml через .htaccess?

Для одноязычных сайтов

Правило будет почти одинаковым как для OpenCart 2/ocStore 2, так и для OpenCart 3/ocStore 3 (!)  Понятное дело, что для 2.