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

seo

#1

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


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


Подскажите пожалуйста, как убрать приставку /ru/ из url сайта
Не отображать язык в URL для второго языка
Обработка языков - изменения для SEO
301 Редиректы
Хорошая тема. Любые вопросы по CS-Cart и не только
#2

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


#3

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


#4

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


#5

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


#6

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


#7

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


#8

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


#9

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

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

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


#10

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


#11

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


#12

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


#13

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


#14

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


#15

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


#16

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

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


#17

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

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

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


#18

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

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

site.com.ua

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

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

и тд


#19

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


#20

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