Как убрать index.php?route=common/home в OpenCart?

12.03.2020 11:23 (1151 просмотров)

Информация актуальна для OpenCart 2.x. Для тройки может быть иначе.

Хотите удалить дубль для главной старницы index.php?route=common/home в OpenCart? Что ж, давайте приступим!

Но для начала проверьте, не используете ли вы случайно сборку ocStore. Если да, то там уже по умолчанию есть все, что нам нужно. Остается только включить SeoPro.

Если же вы используете чистый OpenCart, то для начала вам придется установить модуль SeoPro. И потом его включить точно так же, как и в случае с ocStore.

 

Чего делать не стоит?

В Интернете можно найти целый ряд обсуждений и инструкций, где рекомендуется вписать ЧПУ для главной страницы SQL-запросом в phpMyAdmin или через SEO Manager — не надо этого делать! Это все не будет иметь смысла без устранения дублей, что в конечном счете обеспечивает именно SeoPro.

 

А что если SEO PRO установил, но это не помогло?

В SEO Менеджере находим все ссылки по запросу "common/home". Если вы увидите больше, чем 1 запись, то это и есть причина. Необходимо удалить любую из этих записей, оставив только одну из них. Ведь программа не такая умная как человек, она не может вот так просто понять, что эти записи по сути одинаковые и что надо использовать любую из них. Если их будет две, она не будет использовать ни одну из них, и ваша главная старница по прежнему будет иметь адрес: [ваш_сайт]/index.php?route=common/home

Откуда вообще берутся эти 2 записи для главной страницы?

Да оттуда, что многие пользователи следуют инструкциям, где рекомендовано выполнить SQL-запрос в phpMyAdmin:

INSERT INTO `oc_url_alias` SET `query` = 'common/home', `keyword` = '';

Точно такой же самый запрос выполняет модуль SEO PRO при установке. А никакой защиты от повторяющихся записей в базе с ЧПУ не используется.

Немного хуже обстоят дела, если оказалось, что в модуле SEO менеджер есть только 1 ЧПУ для пути common/home . Это может означать, что в базе данных для других страниц сайта присвоены пустые ЧПУ. Такое иногда происходит при всяких там импортах товаров. К сожалению, в модуле SEO Менеджер не возможно выполнить запрос по пустому ЧПУ. Поэтому в данном случае таки придется лезть в phpMyAdmin. Неоходимо выполнить такой запрос:

SELECT * FROM `oc_url_alias` WHERE `keyword` = ''

Если в ответ Вы увидите больше, чем одну строку, то необходимо удалить их все так, чтобы осталась лишь запись о главной странице. В общем, должно быть вот так, как на следующей картинке:

Как убрать index.php?route=common/home в OpenCart?