Убрать один из языков с URL

Всем привет
Решил поделится своими наработками в области стандартного модуля СЕО.
Во вложенном файле патч, который позволяет убрать из адресной строки язык, который установлен по умолчанию для витрины, в том случае если он там отображается(настройка СЕО модуля “Отображать язык в URL”) для мультиязычных магазинов
http://prntscr.com/lrvcb5.
Например:
старые варианты ссылок
Русский site.ru/ru/
Английский site.ru/en/
Новые варианты ссылок
Русский site.ru/
Английский site.ru/en/


В общем пользуйтесь кому нужно, кому интересно - отвечу на вопросы.
Протестировано на последней версии, так же на 482
*Данный патч изменяет работу штатного модуля SEO
Доработал_функционал_СЕО_для_работы_с_языком_в_адре.zip (1,5 КБ)

2 лайка

А где модуль? Изменения в core файлах не вариант.

Кстати эту схему было бы неплохо внедрить, как вариант, в ядро.
Часто в сео аудитах идет именно такая схема (тоже приходилось ее внедрять корректировкой ядра).
Предложите разработчикам улучшить платформу. Модульного решения нет там.

2 лайка

В том же и дело, что это не модуль, т.к. нету хуков в нужных местах.

Проставьте свои хуки и файл добавьте к модулю. Хук можно потом на утверждение отправить разработчикам и могут потом в сборку добавить. Да и в любом случае переносить пару строк хуков проще чем по коду искать изменения.

Обязательно учту

@ikoshkin, @imac, обратите пожалуйста внимание на тему.
Вопрос действительно актуальный, т.к. довольно много проектов нуждается в этом и много SEO специалистов рекомендуют данный подход

3 лайка

Сделали модулем. Потестируем и скоро выложим

2 лайка

Модуль, вместо СЕО, или же с написанием хуков?
Кстати есть уточнение, если вы сами его не заметили, нужно игнорировать ajax запросы, вот в этом месте

         if($parts[1] == $frontend_default_language and count($parts) > 2 && !defined('AJAX_REQUEST')){
                    $req = array(
                        'dispatch' => '_no_page'
                    );
                    return;
                }

Службы доставки некоторые не корректно отрабатывали

Мы используем только стандартные хуки, ядро не меняем

1 лайк

Добрый день. Как обстановка с вашим модулем?

здравствуйте! сделали модуль?

Лежит на полке пока. @konrad, @senyais2 стукнитесь в личку, что-нибудь придумаем

а как вообще сделать чтоб была ссылка вида site.ru/en/ вместо того что по-стандартному site.ru/?sl=en

Модули - SEO - поставить галку в “Отображать язык в URL”.

Наш модуль готов, кстати. 6 магазинов уже используют

https://www.ecom-labs.ru/cs-cart-multi-vendor-moduli/cs-cart-modul-seo-yazyki.html

2 лайка

мне нужно вот так:

сейчас есть сайт с версией на русском. он открывается по адресу site.com.ua
будет добавлена украинская версия сайта. и она должна открываться по умолчанию первой при открытии сайта.
но так как в поиске везде у нас по seo уже стоит русская версия то надо по идее чтобы украинская версия по умолчанию открывалась site.com.ua/ua а при переключении на русскую версию адрес был site.com.ua

ваш модуль мне поможет?

Да, так и будет работать

Для основного языка будет

site.com.ua

Для дополнительных

site.com.ua/ua
site.com.ua/by

и тд

А будет ли он дружить с модулями от АБ, у меня они почти все стоят, боюсь чтоб не было конфликтов

да но при этом должна по умолчанию открываться версия site.com.ua/ua