В канонической ссылке на главной ?sl=ru и ?sl=en

Каноническая ссылка главной страницы, на языках которые НЕ являются языком по умолчанию, имеет вид site.com/ru?sl=ru и site.com/en?sl=en вместо site.com/ru и site.com/en.

В файле который отображает каноникалы на странице - design/themes/responsive/templates/addons/seo/hooks/index/meta.post.tpl

перед строкой
<link rel="canonical" href="{$seo_canonical.current}" />

добавил

{$seo_canonical.current = fn_query_remove($seo_canonical.current, “sl”)}

Вот так получилось:
image

Кеш почистил и в браузере и в админке, но почему-то ссылки в коде не стали site.com/ru и site.com/en… Или еще что-то нужно поменять?

У меня тоже самое /aerofrityurnica-sokany-8l-1700w-sk-zg-8042/?sl=ru но у меня по умолчанию сайт открывается на ru поэтому не отображается вообще, /?sl=ru начинает отображаться после того как переключить на другой язык.


в настройках модуля seo поставить галочку, тогда будет как вам нужно, демо

1 лайк

@styan получается…

вырезали это <link rel="canonical" href="{$seo_canonical.current}" />

и вставили это? {$seo_canonical.current = fn_query_remove($seo_canonical.current, “sl”)}

Без всяких лишних скобок и ковычек? Просто копи паста? )

кроме галочки ничего не менял

на самом деле )) правда язык теперь отображается в начале а не в конце )) https:/site.com/en)**/en/fruktovoe-pyure-agrobar-zemlyanika-sadovaya-1kg/

У меня версия 4.7.2 и такой настройки нет… Вот так у меня

Как нету, а это что на вашем скрине? Использовать один и тот же URL для всех языков:

Посмотрите внимательно на какой чекбокс показывает styan

Посмотрел, у меня не стоял этот чек бокс, я его посавил и у меня теперь отображается так site.com/ru и site.com/en.

Не работал код потому что в моем случае нужно было добавлять его нге в /responsive а в abt__unitheme, то есть сюда - design/themes/abt__unitheme/templates/addons/seo/hooks/index/.

Добавил и все заработало.

2 лайка

Если у вас новая версия cs-cart, тогд вам подходит такой вариант )

1 лайк

Ставлю галочку на Показывать дополнительные языки в URL: и например, выбран английский язык на витрине я перехожу в подарочные сертификаты он сразу меняет на русский, почему?
Если убираю чекбокс то языки отображаются корректно согласно выбранному языку.

ссылка наверное ведет на русский язык

Это ведь страница обычная, она переведена на русский и на английский. Я ставлю чекбокс, переключаю на русский язык дом страницу и нажимаю на Подарочный сертификаты он при переходе на эту страницу переключает язык. Убираю чекбокс все работает корректно.

надо использовать абсолютный адрес типа index.php?dispatch=pages.view&page_id=xx

где хх id страницы сертификата

1 лайк

Теперь проблема именно в отзывах, в быстрых ссылках сделал Отзывы (все отзывы) и там всегда по умолчанию открывается страница ru

Пример: На витрине выбрать язык en и нажать на Все отзывы при переходе не сохраняет выбранный язык en переходит на ru почему, что не так?

Ждал сутки никто не помог, вызываю могучего мага @alex_vp :joy: вы мне точно поможете.

ну так @styan вроде все правильно написал. Не помогает?

Там все решил, проблема была с сертификатами, он мне помог, работает, а вот с отзывами такое не прокатывает почему-то. В быстрых ссылках ведь диспатч и он кидает на один язык либо ru либо en а мне нужно на ru - ru а на en - en )))

Зайдите пожалуйста на мой сайт, выберите язык НЕ русский и в быстрый ссылках перейдите на Отзывы о нас, он кидает на страницу ru и меняет весь язык сайта. А должен сохранять выбранный язык.

Причем проблема если переходить именно из быстрых ссылок! В низу есть блок Все отзывы там все работает норм, проблема именно в dispatch и быстрых ссылках.

Так а в чем проблема? Зашел на главную. На русском. Перешел во все отзывы - русский. Перешел на главную. Переключил язык. Снова перешел во все отзывы