Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Recommended Posts

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 от opencartforum.com


Работает только с 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 weeks later...
  • 4 months later...
  • 2 weeks later...

Привет, может кто сталкивался, идет ошибка 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 months later...

Вопрос. Почему в шаблоне 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
Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.