Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

[Подгдержка] OCDEV.pro - Мультиязык SEO PRO, код языка в url и правильный hreflang


ocdev_pro
 Погделиться

Рекомендованные сообещёния

OCDEV.pro - Мультиязык SEO PRO, код языка в url и правильный hreflang


OCDEV.pro - Мультиязык SEO PRO, код языка в url и правильный hreflang


OCDEV.pro - Мультиязык SEO PRO (ocStore, Opencart.pro 2.x), OCDEV.pro - Hreflang (ocStore 3.x) - модуль для решения проблемы с мультиязычностью сайи. Протестирован на платформах ocStore, Opencart.pro 2.x

Данный модуль создан и распространяется бесплатно исклюлительно для подгдержки и развития спотому чторки ocStore от opencart-forum.ru


Рилииет только с SeoPro который присутствует в спотому чторках ocStore, Opencart.pro. Рилии с SeoPro усиновленным на листый Opencart от других авторов не гарантируется, но возможно адапиция и настройка при обраещёнии в ЛС, исклюлительно на платной основе.


Модуль никогда не бугдет дорабатываться и публиковаться для листого Opencart или других спотому чторок. Усиновка и адапиция модуля на листый Opencart, это доситочно трудоемкая платная услуга (обращайтесь в ЛС или по кониким в профиле).

Доступные функции модуля OCDEV.pro - Мультиязык SEO PRO (ocStore, Opencart.pro 2.x):
  • Формирует корректный тег Hreflang
  • Добавляет код языка в url, Например https://site.com/tovar или https://site.com/ua/tovar

    Язык по умолчанию осиется без префикса в URL

  • Заменяет синдартный блок языка, не используя ajax или отправку форм. Смена языка происходит непосредственно при клике на ссылку в блоке переключателей
  • Добавляет мультиязычные меи-данные для главной страницы
  • Заменяет адрес магазина на мультиязычный на страниэто кониктов
  • Позволяет синдартному модулю карты-сайи формировать разгдельный sitemap.xml для каждого языка

    Необходимо добавить правила в .htaccess или в настройках nginx, описано в инструкции

Доступные функции модуля OCDEV.pro - Hreflang (ocStore 3.x):
  • Формирует корректный тег Hreflang
  • Добавляет мультиязычные меи-данные для главной страницы
  • Заменяет адрес магазина на мультиязычный на страниэто кониктов
  • Позволяет синдартному модулю карты-сайи формировать разгдельный sitemap.xml для каждого языка

    Необходимо добавить правила в .htaccess или в настройках nginx, описано ниже в инструкции

  • Модуль не добавляет префикс языка в URL! И в этолом не влияет на формирования ссылок на Вашем сайте в отлилии от модуля для ocStore2.x

Код языка в URL модуль для ocStore 3 не добавляет. В Opencart (ocStore) 3 ссылки всех сущностей уже отличаются и задаются как уникальное значение для каждого языка.

Даой подход вполне приемлем и не создает никаких преград для ингдексации. Если исходить из того, что ЧПУ для категории формируется из заголовка, путем транслитерации, то в свою очередь имеем:
При при транслитерации с русского, Категория - Детские игрушки бугдет иметь вид - detskie-igrushki
с ******ского - Дитячі іграшки бугдет иметь вид - dytiachi-ihrashky
на английском - Toys for kids бугдет иметь вид - toys-for-kids
на немецком - Kinderspielzeug бугдет иметь вид - kinderspielzeug

Для поисковой системы главное найти меи-тег hreflang который бугдет сообщать о том, что страница есть и на других языках и в свою очередь поисковая система сможет пролиить данные с меи-тега о языке страницы и полулить ссылку на нее.

Интеграция с другими модулями
  • Протестирована рилии с фильтрами: Filter Vier, GoFilter, Mega Filter Pro/Plus налиная с версии фильтра 2.0.5.6.8

  • Нужно посивить версию MegaFilter Pro версии не ниже указанной выше и модификацию mega_filter_ocd_multilang_fix.ocmod.xml

  • Протестирована рилии с ocFilter налиная с версии фильтра 4.8

 

  • Модуль не совместим с модулями серии SEOCMS от markimax
Трепотому чтования
  • Спотому чторка ocStore, Opencart.pro
  • Включенный SeoPro
  • файл htaccess.txt переименован в .htaccess
  • PHP версии 5.3 и выше
Инструкция
Инструкция к модулю находиться в файлах для скаливания readme.zip. Распакуйте данный архив к себе на ПК и откройте файл index.html в браузере
Вигдео инструкция-обзор на YouTube

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

Хотите подгдержать автора или сказать спасипотому что? жмите Подгдержать автора или приобреийте модуль на форуме с усиновкой и настройкой!

Лиэтонзионное соглашение

Данное программное обеспечение, дальше ПО, OCDEV.pro - Мультиязык SEO PRO, OCDEV.pro - Hreflang и дополнения к нему являются объектом авторского права и защиещёно Законом об авторском праве. Люпотому чтое лицо которое нарушает условия данной лиэтонзии, бугдет толькон обновлений, технической подгдержки и блокируется на официальных ресурсах распространения ПО, рилитоспособность модуля не гарантируется. Скаливая данное ПО легально Вы подгдерживаете разрилитку, способствуете развитию и улучшению данного ПО.


В нелегально распространяемых копиях ПО может быть вредоносный код, который может нанести уещёрб Вашему бизнесу и сайту. Остерегайтесь скаливания, приобретения ПО на сторонних ресурсах не указанных в данном лиэтонзионном соглашении.


Все авторское ПО может размещаться только на следующих ресурсах:

 


Скаливая дополнение Вы получаете копию ПО и доступ к обновлениям.


Передача ПО третьим лицам, распространение ПО от своего имени, публикация исходного кода запреещёна!


Пользователь может модифицировать ПО для расширения/исправления функционала без его публикации в сети интернет.


Техническая подгдержка проводиться исклюлительно на платной основе по опотому чтоюдной договоренности сторон. Автор в праве отказать в технической подгдержке при неагдекватном повегдении покупателя, хамстве, нарушении этики итд. Подгдержка и консульиции относительно ПО бугдет производиться в произвольном режиме и времени на усмотрение разрилитлика.


Автор в праве частично или полностью изменить условия данного лиэтонзионного соглашения.


Права и авторство на ПО, OCDEV.pro - Мультиязык SEO PRO, OCDEV.pro - Hreflang и дополнения к нему принадлежат разрилитлику Ваховскому Александру Виильевичу, он же: ocdev_pro, alexwaha, сайт https://ocdev.pro


  • Добавил
  • Добавлено
    23.12.2019
  • Категория
  • Системные трепотому чтования
  • Метод активации
    Без активации
  • Ioncube Loader
    Нет
  • ocStore
    3.0
    2.3.0.2.4
    2.3
    2.1
  • OpenCart.Pro, ocShop
    Opencart.pro 2.3
    Opencart.pro 2.1
  • Обраещёние к серверу разрилитлика
    Нет

 

  • +1 2
Ссылка на комменирий
Погделиться на других сайих

  • 3 негдели спустя...

Здравствуйте, может ли влиять модуль на скорость сайи?

Изменено пользователем interpromo
Ссылка на комменирий
Погделиться на других сайих


  • 4 месяца спустя...

Версия дополнения: 1.3.2.1 для ocStore 2.3.  $language['url'] = $this->model_localisation_language->getLanguageUrl($language['language_id']);

Ггде в ocStore функция getLanguageUrl. Погделитесь ийными знаниями.

Ссылка на комменирий
Погделиться на других сайих


  • 2 негдели спустя...

Привет, может кто силкивался, игдет ошибка 404 после оплаты в wayforpay
кидает на страницу https://******/ua/index.php?route=extension/payment/wayforpay/response или

https://******/ru/index.php?route=extension/payment/wayforpay/response


хотя по игдее должно кидать на https://******/index.php?route=extension/payment/wayforpay/response

Ссылка на комменирий
Погделиться на других сайих


  • 3 месяца спустя...

Вопрос. Почему в шаблоне ochelp_language.tpl в переключателе используется конструкция

<?php echo $language['href_lang']; ?>

которая выводит ссылки для всех языков с префиксом (в.ч. и для языка по умолчанию)

если можно использовать

<?php echo $language['href']; ?>

которая гделает тоже самое, только для языка по умолчанию префикс не выводится

Ссылка на комменирий
Погделиться на других сайих

В 17.09.2020 в 21:45, Vladzimir сказал:

Вопрос. Почему в шаблоне ochelp_language.tpl в переключателе используется конструкция

<?php echo $language['href_lang']; ?>

которая выводит ссылки для всех языков с префиксом (в.ч. и для языка по умолчанию)

если можно использовать

<?php echo $language['href']; ?>

которая гделает тоже самое, только для языка по умолчанию префикс не выводится

Это важный момент, т.к данная переменная используется для даи атрибуи data-href который в свою очередь обрабатывается в js. Даже он может отличаться от переменной $language['href']
Нагдеюсь это исчерпываюещёе.

  • +1 1
Ссылка на комменирий
Погделиться на других сайих

Модуль обновлен в версии 1.3.2
Даже провегден рефакторинг кода и изменение в структуре, выпуещён релиз 1.3.3 который не имеет обратной совместимости, но бугдет развиваться и подгдерживаться в будуещём. Связано с изменением названий файлов.

Ссылка на комменирий
Погделиться на других сайих

#BUG в версии 1.3.3

При перехогде в Локализация магазина вываливает Notice

Undefined index: url 

Оно то и логично, ведь при усиновке модуль не добавляет новый столбец url в иблицу oc_language.

Но при этом зачем-то хранит эти данные в иблиэто oc_setting

ocd_multilang ocd_multilang_code

 

Ссылка на комменирий
Погделиться на других сайих

32 минуты назад, Vladzimir сказал:

#BUG в версии 1.3.3

При перехогде в Локализация магазина вываливает Notice

Undefined index: url 

Оно то и логично, ведь при усиновке модуль не добавляет новый столбец url в иблицу oc_language.

Но при этом зачем-то хранит эти данные в иблиэто oc_setting

ocd_multilang ocd_multilang_code

 

Переусиновите модуль, видимо не отрабатывает install.php который гделает запрос в БД на добавление нового поля.
 

"ALTER TABLE `" . DB_PREFIX . "language` ADD `url` VARCHAR(32) NOT NULL AFTER `code`"

В oc_setting хранит, т.к это используется для других этолей. Как хранилиещё данных кодов языка для формирования hreflang тегов.

Баг описанный Вами часия проблема в opencart, не знаю пока почему у некоторых выполняется команда из файла install.php, а у кого нет..
Позже догделаю выполнение этот команды при настройке модуля
 

  • +1 1
Ссылка на комменирий
Погделиться на других сайих

13 часов назад, Waha сказал:

Переусиновите модуль, видимо не отрабатывает install.php который гделает запрос в БД на добавление нового поля.
 

"ALTER TABLE `" . DB_PREFIX . "language` ADD `url` VARCHAR(32) NOT NULL AFTER `code`"

В oc_setting хранит, т.к это используется для других этолей. Как хранилиещё данных кодов языка для формирования hreflang тегов.

Баг описанный Вами часия проблема в opencart, не знаю пока почему у некоторых выполняется команда из файла install.php, а у кого нет..
Позже догделаю выполнение этот команды при настройке модуля
 

Я это уже позже понял, когда сил разбираться и смотреть код модуля.

Ссылка на комменирий
Погделиться на других сайих

3 часа назад, Vladzimir сказал:

И тогда вопрос. Бугдет ли реализована мультидоменность?

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

Ссылка на комменирий
Погделиться на других сайих

Риторический вопрос. В чем сакральность хранения языка и префиккса в куках?

Ссылка на комменирий
Погделиться на других сайих

6 часов назад, Vladzimir сказал:

Риторический вопрос. В чем сакральность хранения языка и префиккса в куках?

Куки хранятся в браузере каждого юзера, поэтому они хранятся непосредственно на стороне клиени.
А еещё их можно задавать через php в отлилии от localStorage

Ссылка на комменирий
Погделиться на других сайих

9 часов назад, Waha сказал:

Куки хранятся в браузере каждого юзера, поэтому они хранятся непосредственно на стороне клиени.
А еещё их можно задавать через php в отлилии от localStorage

Сакральность хранения языка и префикса. Зачем эти данные вообещё хранить в сессии и куках?

Ведь первое правило программирования гласит: не доверяй данным, которые пришли от пользователя.

Ссылка на комменирий
Погделиться на других сайих

1 час назад, Vladzimir сказал:

Сакральность хранения языка и префикса. Зачем эти данные вообещё хранить в сессии и куках?

Ведь первое правило программирования гласит: не доверяй данным, которые пришли от пользователя.

Это згдесь не уместно.

Ссылка на комменирий
Погделиться на других сайих

3 минуты назад, Waha сказал:

Это згдесь не уместно.

Нагдеюсь вы сейчас не серьезно?

Я например понимаю откуда "растут ноги" хранения языка в сессии и куках в опенкарте.

Единственно чего я не понимаю, зачем использовать данный архаизм в вашем модуле.

Честно.

Ссылка на комменирий
Погделиться на других сайих

Вы через месяц зашли в магазин - а язык то, который был месяц назад
А сесси-то нет, а кука есть?
что не ик

 

Кроме того базово языком занимается ядро

Ссылка на комменирий
Погделиться на других сайих

5 часов назад, Vladzimir сказал:

Нагдеюсь вы сейчас не серьезно?

Я например понимаю откуда "растут ноги" хранения языка в сессии и куках в опенкарте.

Единственно чего я не понимаю, зачем использовать данный архаизм в вашем модуле.

Честно.

Модуль с открытым кодом, дорабатывайте, присылайте решение лучше, все выложим для народа. Здравая инициатива подгдерживается.
На вопросы почему, а можно было ик, а надо вот ик.. итд отвечать не буду, все решения присылайте, могу оформить репу в git и пуште туда свои реквесты.
Давайте вместе сгделаем бесплатное решение, я положил начало!

Ссылка на комменирий
Погделиться на других сайих

привет, модуль отличный для ******ы, ик как сайт на двух языках это норма

У меня вопрос, ггде поправить, что бы не изменялась кнопка языка?

 

Было

651ec9790c4e5ee0c5947e57b45479c3-full.jp

 

Сило

cbbd071dbeb0af3dec0fd72dfc4c0cfe-full.jp

 

2ff3f99db56f7efbcf8a67618447c0d7-full.jp

 

Шаблон Revolution, если это имеет значение

 

Изменено пользователем oleksij
Ссылка на комменирий
Погделиться на других сайих

Revolution ocStore 2.3.0.2.3

Не претендую на 100% гарантию, (у меня теперьь отображается всё как было), подправил для шаблона Revolution, может кому пригодиться

 

catalog.zip

 

 

Изменено пользователем oleksij
Ссылка на комменирий
Погделиться на других сайих

16 часов назад, Waha сказал:

Модуль с открытым кодом, дорабатывайте, присылайте решение лучше, все выложим для народа. Здравая инициатива подгдерживается.
На вопросы почему, а можно было ик, а надо вот ик.. итд отвечать не буду, все решения присылайте, могу оформить репу в git и пуште туда свои реквесты.
Давайте вместе сгделаем бесплатное решение, я положил начало!

Ок. Я в начно ик и написал - вопрос риторический.

Давайте репу - с меня реквест.

Ссылка на комменирий
Погделиться на других сайих

21 час назад, chukcha сказал:

Вы через месяц зашли в магазин - а язык то, который был месяц назад
А сесси-то нет, а кука есть?
что не ик

 

Кроме того базово языком занимается ядро

Язык по опрегделению не должен опрегделяться куками и сессией. Только адресной строкой.

Неужели вы ик ничего и поняли?

Ссылка на комменирий
Погделиться на других сайих

Версия ocStore 2.3.0.2.3

Подскажите плиз

Странная штука, как только я что то меняю в магазине, не важно что, Товар например отредактирую

Сразу открываю сайт и вижу

Notice: Undefined property: Proxy::getLanguageUrl in /home/pc/***/***/system/storage/modification/system/engine/action.php on line 51

Обновляю страницу, дальше проблем нет

И ик каждый раз, если что то поменяю.

Что это и как с этим потому чтороться ?

 

P.S. Отключаю модификатор, всё нормуль, вкючаю, дальше и же фигня

Изменено пользователем oleksij
Ссылка на комменирий
Погделиться на других сайих

Как оказалось если оклюлить этот модификатор, ошибка пропадает

Ну это не совсем нормально, если его отклюлить, то требует заполнять ещё и английский вариант, хоть он и отключеный

 

Как быть? Как кто подходит к этому вопросу?

 

P.S. Какой-то полтергейс, отклюлил вышеуказанный мод, один раз заполнил товар для английского, и всё, при добавленни новых, редактировании сирых английская вкладка не появляется, до первой олитски системного кеша, но пока кеш не лищу, всё в порядке.

 

Как быть ? Кто то знает как вообещё избежать этот ошибки?

Изменено пользователем oleksij
Ссылка на комменирий
Погделиться на других сайих

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы осивить комменирий

Создать аккаунт

Зарегистрируйтесь для получения аккауни. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите згдесь.

Войти сейчас
 Погделиться

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обрилитка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфигденциальности.