загрузка..

Убрать лишние редиректы в модуле SEO URL Generator PRO 0 0

Последнее обновление: 08/08/2022 04:05 in SEO URL Generator
Сообщение отСерж Ткач

В OpenCart 3 / ocStore 3 с версии модуля 3.2.x до версии 3.3.5 была ошибка с появлением редиректов для товаров после Массовой генерации SEO URL.

Это происходило после того, как добавили украинский язык и начали генерить SEO URL предполагая, что заполнятся только там, где пусто (то есть для украинского). А оно генерило и там, где не пусто (для русского языка), создавая при этом редиректы со старых ЧПУ на новые (опять же для проявления ошибки нужно было, чтобы "новые" ЧПУ отличались от старых. А этом происходило после смены названия товаров или формулы генерации ЧПУ. То есть, не так уж и часто).

Примечательно, что ошибка не проявлялась, если 2 языка были включен с самого начала "жизни" сайта (точнее, когда в базе данных либо не было ЧПУ для всех языков, либо были для всех языков).


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


Вернуть старые ЧПУ на место из таблицы редиректов модуля

UPDATE `oc_seo_url` AS `s`

INNER JOIN `oc_seo_url_generator_redirects` AS `r`

ON `s`.`query` = `r`.`query`
  AND `s`.`store_id` = `r`.`store_id`
  AND `s`.`language_id` = `r`.`language_id`

SET
    `s`.`keyword` = `r`.`seo_url_old`
        
WHERE
    `r`.`store_id` = '0'
    AND `r`.`language_id` = '1'


Удалить все редиректы (в том случае, если Вы знаете, что Вы их там не вписывали и в Массовой генерации оранжевую кнопку не нажимали):

TRUNCATE oc_seo_url_generator_redirects
** Время зависит от часового пояса America/New_York