4.12.2.SP2 // SEO редиректы при импорте


#1

У магазина 1 язык, добавления языка в URI отключено:

Есть товар:

SEO имя: /kolca/kolco-tigre-iz-serebra-925-proby-s-belym-rodiem-i-pokrytiem-zheltym-zolotom/

Меняю через импорт SEO имя на /kolca/kolco-tigre-shirokoe-iz-serebra-925-proby-s-pokrytiem-belym-rodiem-i-zheltym-zolotom/

Ожидаю: что будет 301 редирект
https://stile.me/kolca/kolco-tigre-iz-serebra-925-proby-s-belym-rodiem-i-pokrytiem-zheltym-zolotom/
–> 301
https://stile.me/kolca/kolco-tigre-shirokoe-iz-serebra-925-proby-s-pokrytiem-belym-rodiem-i-zheltym-zolotom/

Но этого не происходит, лезу в SEO редиректы:

Нахожу запись:
/ru/kolca/kolco-tigre-iz-serebra-925-proby-s-belym-rodiem-i-pokrytiem-zheltym-zolotom
–> 301
https://stile.me/kolca/kolco-tigre-shirokoe-iz-serebra-925-proby-s-pokrytiem-belym-rodiem-i-zheltym-zolotom/

Вопрос зачем добавилось /ru/ в таблице соответствия редиректов?


#2

@pavel.sh а как с этим?


#3

В CS-Cart сейчас нет такого функционала, чтобы при импорте, когда меняется SEO имя, создавался новый редирект. Сейчас происходит просто замена данного имени.
Возможно данное правило в вашем магазине было создано раньше.

На сколько частый кейс, замена SEO имени через импорт? Разве замена данного имени - не частный случай для каждого товара?


#4

тоже интересует данная функция.
или в крайнем случае добавить импорт редиректов.


#5

А попробуйте в файле app/addons/seo/schemas/exim/seo.functions.php

строку

$result[$name_lang_code] = (string) fn_create_seo_name($object_id, $object_type, $seo_name, $index, $dispatch, $company_id, $name_lang_code);

поменять на

$result[$name_lang_code] = (string) fn_create_seo_name($object_id, $object_type, $seo_name, $index, $dispatch, $company_id, $name_lang_code, true);

Как-будто бы должно заработать


#6

Импорт редиректов есть модулем, вроде у @ecomlabs


#7

Отлично. Работает. Огромное спасибо


#8

Спасибо за отзывчивость, обязательно попробую ти напишу!


#9

– да, это суперчастный случай я думаю