Поддерживайте Украину! Как вы можете помочь?

Мультиязык SEO Pro OpenCart

Мультиязык мультирегион - префиксы в ссылках
  • Версия модуля: 2.1.6
  • Дата обновления: 27.03.2024
  • Формат модуля: ocmod.zip
  • Модификатор: есть
  • OpenCart: 2.x, 3.x
  • OcStore: 2.x, 3.x
  • PHP: 5.6 - 8.x
  • Лицензия: на один домен
  • Автор: OpenCartBot
  • Поддержка: бесплатно

Мультиязык SEO Pro - это дополнение к модулю SEO Pro, которое позволит настроить мультиязычные url с префиксами языков  на OpenCart 3.0.x.x и 2.3.x.x и ocStore тех же версий.  Также этот модуль добавляет в код страницы перелинковку hreflang для уведомления поисковых систем о других языковых версиях страниц. Главное назначение - формирование мультиязычного ЧПУ на OpenCart.

DEMO AdminDEMO Live
demo/demo

Характеристики модуля
  •   Работает быстрее аналогов
  •   Добавляет префиксы языков в URL
  •   Добавляет атрибут hreflang
  •   Позволяет задать локализацию x-default
  •   Добавляет мультиязыковые мета-теги и SEO описание для главной страницы
  •   Позволяет установить разные лого для разных локализаций сайта
  •   Соответствует рекомендациям Google для мультиязычных сайтов

Языковые префиксы в URL OpenCart

Также модуль позволяет прописывать одинаковые SEO URL для разных языков, при этом ссылка будет отличаться только языковым префиксом.

В модуле можно добавить мультиязыковые мета-теги, а также h1-заголовок и seo-описание для главной страницы сайта. А еще можно сделать разные логотипы для каждой локализации сайта.

Модуль работает только при наличии SEO Pro и не будет работать без включенного режима ЧПУ и SEO Pro в настройках магазина.

SEO Pro – это модуль для правильного формирования URL ссылок в OpenCart. В сборке ocStore этот модуль уже встроен в систему. А для OpenCart его необходимо устанавливать дополнительно. Найти SEO Pro OpenCart можно на веб-сервисе Github или других платформах.

Модуль совместим с OpenCart и ocStore 2.3.x.x и 3.0.x.x и PHP 5.6 - 8.x

Преимущества модуля "Мультиязык SEO Pro" перед аналогами:

  1. Скорость работы: модуль не нагружает сайт лишними запросами, обработчиками URL и библиотеками, как это делают аналоги.
  2. Одинаковые SEO URL: ваши URL будут отличаться только префиксами языка в начале адреса. Конечно также можно делать и различные SEO URL.
  3. Полное соответствие рекомендациям Google по многоязычным веб-сайтам: добавляет атрибуты hreflang на все страницы, можно выбрать локализацию для x-default, мультиязычные страницы доступны ботами без переадресации.
  4. Возможность установить разные лого для разных языков.
  5. Можно установить бесплатное дополнение для popup-окна выбора языка при первом посещении вебсайта

Hreflang в OpenCart

Работу этого модуля можете увидеть в нашем магазине, все мультиязычные ссылки здесь сформированы SEO Pro с его помощью.

Пример формирования ссылок:

  • https://opencart.com/ - основная версия сайта, в данном случае на украинском языке
  • https://opencart.com/ru/ - версия сайта на русском языке
  • https://opencart.com/en/ - версия сайта на английском языке

Пример формирования ссылок на внутренние страницы, например категория:

  • https://opencart.com/modules/ - категория на основном языке, в данном случае на украинском
  • https://opencart.com/ru/modules/ - категория на русском языке
  • https://opencart.com/en/modules/ - категория на английском языке

Пример формирования ссылок на товары: url товаров могут содержать категории и подкатегории:

  • https://opencart.com/category/subcategory/product - страница товара на основном языке, в данном случае на украинском
  • https://opencart.com/ru/category/subcategory/product - страница товара на русском языке
  • https://opencart.com/en/category/subcategory/product - страница товара на английском языке

Или url товаров могут быть без категорий:

  • https://opencart.com/product - страница товара на основном языке, в данном случае на украинском
  • https://opencart.com/ru/product - страница товара на русском языке
  • https://opencart.com/en/product - страница товара на английском языке

Особенности модуля Мультиязык для SEO PRO OpenCart 3.0 и 2.3:

  • добавляет языковые префиксы в URL
  • ссылки на основной язык сайта без префикса
  • разрешает прописывать одинаковые SEO URL для разных языков
  • добавляет атрибуты связи - hreflang, чтобы обозначить альтернативные версии страниц на различных языках
  • возможность указать собственные префиксы в url для каждого языка
  • заголовок, описание, мета-теги для главной страницы на разных языках
  • разные лого для разных языков
  • правильное индексирование страниц разных языковых версий
  • работает с любыми языками

Префикс может содержать любую строку, например краткий код страны /ua/ или /ukr/ или код языка /uk/ или префикс с указанием региона - /uk-ua/ (т.н. мультирегион).
Кодом hreflang может быть только iso-2 код языка или код языка и региона через дефис, например, "uk" или "uk-ua", но ни в коем случае не код страны, как "ua".

Соответствие Закону о языке и старый сайт проиндексирован на другом языке: есть возможность сохранить старые URL, соответствовать Закону и не потерять позиции в поисковой выдаче. Для этого можно добавить всплывающее окно выбора языка при первом посещении сайта. Это окно всегда будет отображаться на украинском языке, а контент сайта сзади будет размыт. Таким образом ваш сайт будет открываться на украинском по умолчанию и клиент сможет выбрать удобный ему язык. Не будет автоматических переадресаций (редиректов). Чтобы получить готовое бесплатное дополнение к модулю, обратитесь в поддержку после покупки модуля. Пример работы на скриншоте ниже:

SEO Pro

Инструкция по установке модуля:

  1. Сначала необходимо установить базовое ЧПУ расширение SEO Pro (только для OpenCart). На сборках ocStore это расширение присутствует и устанавливать его дополнительно не требуется. Когда SEO PRO установлено, нужно перейти в раздел Система: Настройки: редактирование магазин: вкладка Сервер. включить "ЧПУ" и выбрать "Тип ЧПУ" – SEO Pro.
  2. Загрузить наш модуль в админ-панели в разделе "Расширения": "Установка расширений".
  3. Перейти в раздел "Модификаторы" и обновить кэш.
  4. Перейти в раздел "Расширения": "Расширения": "Модули" и включить модуль "Мультиязык для SEO Pro".
  5. Редактировать модуль. Включить статус модуля, прописать префиксы и hreflang, добавить другие настройки по необходимости и сохранить.
  6. В разделе Дизайн: SEO URL добавить пустые записи для главной страницы для каждого языка. То есть для пути (роута) common/home ключ SEO URL должен быть пустым.
  7. Проверить работу модуля.
  8. Бинго!


  • v2.1.6 (27.03.2024) - Небольшое улучшение совместимости с поисковой формой сайта
  • v2.1.5 (13.01.2024) - Улучшение совместимости с поисковой формой сайта
  • v2.1.4 (11.01.2024) - Исправлена ошибка, которая возникала, когда один из языков временно отключен
  • v2.1.3 (26.10.2023) - Исправлена ошибка, возникающая при включенном мультиязычном логотипе при оформлении заказа (Undefined variable: $server)
  • v2.1.2 (22.08.2023) - Исправлена совместимость с ocStore 2.3.x.x. Некоторые исправления в форме настройки модуля.
  • v2.1.1 (19.05.2023) - Добавлена правильная формировка "canonical" для главной страницы
  • v2.1 (10.12.2022) - Добавлен выбор х-default; переключатель на одинаковые SEO URL; мультиязыковые H1, SEO-текст, мета-теги главной страницы, мультиязычные лого.
  • v2.0 (12.07.2022) - Возможность вручную задать префикс для каждого языка
  • v1.5 (23.04.2022) - Исправление к формированию ссылок в hreflang (проблема с добавлением _route_)
  • v1.4 (10.12.2021) - Собственный код hreflang для каждого языка
  • v1.3 (02.12.2021) - Совместимость с ocStore 2.3 и 3.0
  • v1.2 (27.11.2021) - Добавлена поддержка версии OpenCart 2.3. Добавлено опции: выбор типа префиксов, восстановление языка из cookie
  • v1.1 (24.11.2021) - Обновлено метод формирования hreflang

При переходе в поиск по сайту устанавливается язык по умолчанию. Как решить?

Откройте файл /catalog/view/javascript/common.js
Найдите строчку:
var url = $('base').attr('href') + 'index.php?route=product/search';
Нужно заменить ее на:
var url = (($('#logo a').length) ? $('#logo a').attr('href') : $('#logo').data('href')) + 'index.php?route=product/search';
Если у вас сборка ocStore и ЧПУ без слэша / в конце, тогда эта строка должна быть следующей:
var url = (($('#logo a').length) ? $('#logo a').attr('href') : $('#logo').data('href')) + '/index.php?route=product/search';
Сохраните файл.
Сбросьте кэш браузера.

Как добавить новый язык на сайт?

Чтобы добавить еще один язык на OpenCart, воспользуйтесь нашей инструкцией на примере добавления украинского языка.

Как разрешить одинаковые SEO URL для разных языков в Opencart 3.0?

Начиная с версии 2.1 такая опция вынесена в настройки модуля, достаточно включить там параметр "Одинаковые SEO URL".
Загрузите и установите дополнения: allow_same_seo_url_lang_oc3.ocmod.zip
Обновите кэши.

Зачем нужно делать одинаковые SEO URL для разных языков?

Это не обязательно делать. Никакого эффекта для SEO продвижения не имеет. Но так принято, так удобно, так понятнее, ведь вручную сменив префикс (код языка) в URL вы увидите эту же страницу на другом языке, а если SEO URL у вас будут разные, изменив только префикс в URL получите 404 ошибку. Это чисто эстетика.

Ошибка 404 при переключении языка. Как исправить?

Скорее всего, вы используете устаревшую версию SEO Pro, где существовала такая проблема. Это возможно только на OpenCart (не в ocStore). Необходимо обновить модуль SEO Pro до новейшей актуальной версии. Скачать рабочую версию SEO Pro можно с нашего форка на github

Если же у вас Nginx сервер – нужно подстроить его конфиг, потому что когда ссылка не ЧПУ – сервер видит, что в корне сайта нет папки с названием префикса (например /ua/) и отдает ошибку 404, а не дает обработать url скриптом сайта, то есть в SEO Pro.
Решение: в конфиге nginx найти конструкцию:

if (!-f $document_root$fastcgi_script_name) {
return 404;
}

і перед ней добавить:

if (!-e $request_filename) {
rewrite ^/(.+)$ /index.php?_route_=$1 last;
}

Обычно файл конфигурации называется nginx.conf и расположен в каталоге /usr/local/nginx/conf или /usr/local/etc/nginx или /etc/nginx или /etc/httpd/nginx.conf
Ви можете попросить техподдержку вашего сервера/хостинга помочь решить эту проблему, предоставить им эту инструкцию.

На главной странице дублируется префикс или в url присутствует index.php?route=... Как исправить?

В админке откройте раздел Дизайн : SEO URL и отфильтруйте записи по фильтру "Запрос" = "common/home".
У всех таких записей в поле Ключ должно быть пусто, как на скриншоте ниже:
скриншот

Если у вас там что-то прописано, например слеш "/" или код языка - нужно редактировать и очистить поле Ключ.
Внимание! Система не позволяет создавать пустой SEO URL. Для решения этой проблемы нужно установить фикс allow_empty_seo_url.ocmod.zip или редактировать SEO URL через базу данных в таблице "oc_seo_url".
Чтобы система позволила добавлять пустые SEO URL - в настройках модуля необходимо включить параметр "Одинаковые SEO URL".
Если у вас есть записи не для всех языков - нужно для каждого языка создать SEO URL запись, где запрос = "common/home" и ключ = пустое значение (как на скриншоте выше).
После любых манипуляций с SEO URL нужно сбросить системный кеш, чтобы обновился кеш ЧПУ SEO PRO. Кэш SEO PRO автоматически сбрасывается при сохранении настроек модуля "Мультиязык SEO Pro", поэтому можно просто пересохранить настройки модуля.

Как сделать переключатели языков ссылками?

Для вывода переключателей языка ссылками – добавьте в шаблон common/header.twig следующий код:

<ul class="list-inline">
{% for hreflang in hreflangs %}
  {% if hreflang.code == code %}
    <li><a class="active">{{ hreflang.code[:2]|upper }}</a></li>
  {% else %}
    <li><a href="{{ hreflang.href }}">{{ hreflang.code[:2]|upper }}</a></li>
  {% endif %}
{% endfor %}
</ul>

Если нужно изменить текст на ссылках, например, отображать там название языка, тогда в коде выше необходимо сделать замену {{ hreflang.code[:2]|upper }} на {{ hreflang.name }}

Если же нужно вывести ссылки в виде выпадающего списка код трансформируем так:

<ul class="list-inline">
 <li class="dropdown">
  {% for hreflang in hreflangs %}
    {% if hreflang.code == code %}
     <a class="dropdown-toggle" data-toggle="dropdown">{{ hreflang.name }}<span class="caret"></span></a>
    {% endif %}
  {% endfor %}
 <ul class="dropdown-menu dropdown-menu-right">
 {% for hreflang in hreflangs %}
  {% if hreflang.code == code %}
    <li><a class="active">{{ hreflang.name }}</a></li>
  {% else %}
    <li><a href="{{ href }}">{{ hreflang.name }}</a></li>
  {% endif %}
 {% endfor %}
 </ul>
 </li>
</ul>

Не забудьте обновить кэш модификаторов и кэш шаблон после редактирования шаблона.

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

Некоторые SEO-шники советуют, чтобы со страницы были ссылки на ее версии на других языках. Поэтому советуют делать переключатель языков не js-скриптом, как по умолчанию реализовано, а html ссылками. Это технический момент.

Можно ли указать языковые версии страниц (hreflang) только одним способом?

Языковые версии страниц (hreflang) можно передавать только одним из способов (теги HTML, заголовки HTTP или файл Sitemap), и этого должно быть достаточно, чтобы поисковые системы связали эти страницы. Об этом говорится в документации Google https://developers.google.com/search/docs/advanced/crawling/localized-versions
Но если вы передаете hreflang несколькими способами одновременно - это не ошибка, наоборот, ведь вы передаете больше информации о контенте и это должно положительно влиять на продвижение. Только в таком случае следует проследить, чтобы переданные несколькими методами данные были идентичными.

Как скопировать SEO URL из одного языка в другой?

Скопировать все SEO URL записи из одного языка на другой можно с помощью следующего mySQL запроса, который можно выполнить во вкладке SQL в панели управления базой данных phpmyadmin:

CREATE table `temp_seo_url` AS SELECT * FROM `oc_seo_url` WHERE language_id = "1";
UPDATE `temp_seo_url` SET language_id = "2";
UPDATE `temp_seo_url` SET seo_url_id = 0;
INSERT INTO `oc_seo_url` SELECT * FROM `temp_seo_url`;
DROP TABLE `temp_seo_url`;

Здесь language_id="1" – id языка с которого будем копировать, а language_id="2" – куда будем вставлять. Вставьте здесь id нужных вам языков. Также перед этим запросом можно выполнить еще один запрос на удаление всех SEO URL нового языка, которые вы уже добавили вручную:
DELETE FROM `oc_seo_url` WHERE language_id = "2";
Необходимо авторизоваться, чтобы просматривать файлы!

Написать отзыв

Facebook Google
Примечание: HTML разметка не поддерживается! Используйте обычный текст.
   Плохо      Хорошо

Maxim Nikitin 01.03.2024

Куди звернутись з приводу роботи модуля? В розділі дизайн нічого нема, коли в вкладці сервер обираю Seopro всі урли взагалі робляться не зрозумілі. Кому писати? Поки 3

opencartbot 01.03.2024

На сайті є розділи Контакти, Підтримка. Також контакти вказані на кожній сторінці внизу.
В розділі меню Дизайн > SEO URL (це стандартний розділ) додаються SEO URL, щоб ваші сторінки мали ЧПУ URL. SEO Pro треба увімкнути, без нього модуль не працюватиме. Якщо щось не виходить - звертайтесь у підтримку.

Maxim Nikitin 01.03.2024

Дякую. Написав.

Maxim Nikitin 07.03.2024

Все чудово працює. Були певні проблеми з налаштуваннями теми, але фахівці технічної підтримки оперативно допомогли з вирішенняв, не дивлячь на те, що був вихідний день. Дякую. Однозначно 5 зірок)))

Олександр 22.02.2024

Вітаю! Модуль буде працювати на Opencart pro 2.1.0.2 ?

opencartbot 22.02.2024

Вітаю! Ні, на версії 2.1.0.2 не працюватиме. Сумісність вказана на цій сторінці.

Vladislav Hraboveno 20.02.2024

Доброго дня. Можливо придбати данний модуль на сайті www.opencart.com

opencartbot 20.02.2024

Цей модуль призначений в основному для нашого внутрішнього ринку, де користуються розширенням SEO Pro і знають, що це таке. Тому дане доповнення можна придбати лише тут.

Игор Моржецький 09.02.2024

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

Мое завдання було вирішено за 15 хвилин (включаючи онлайн оплату :-).

Сергій 12.04.2023

ОФІГЕЗНИЙ МОДУЛЬ!!
ОФІГЕЗНА ПІДТРИМКА!!!
Все стає просто та без пролем! Було пару технічних питаь - та все вирішили за допомогою підтримки протягом 3-хв.
Купую цей модуль вже для 3-го сайту - і неймовірно задоволений!!!

Олексій К 26.01.2023

Супер модуль і супер підтримка ! РЕКОМЕНДУЮ !

Евгений Ип 21.11.2022

Дуже дякую розробнику!!!!
Гарний модуль, мінімум у настройках, пару хвилин встановив, налаштував, запустив в роботу. Придбав в парі з модулем "Модуль Мультимовна карта сайту XML OpenCart".
Тепер двомовний сайт укр/рус робе на ура, усі SEO урли та мапа сайту по феншую як для Законодавства України так і для гугл, фейсбук та інше.
Розробник швидко підправив код під мій нестандартний шаблон, та мої побажання.
Рекомендую усім і модулі і РОЗРОБНИКА!!!
Можете оцінити результати роботи:
https://liberty-tech.com.ua

Павел 26.10.2022

Всем привет! Хочу посоветовать данный модуль, он решает проблему SEO. Поддержка просто огонь. Очень приятно, когда тебе пишут на почту и интересуются, все ли получилось. У меня почему-то не получилось установить, разработчик все быстро сделал. Очень рекомендую

opencartbot 26.10.2022

Привіт! Дякую за хороший відгук!

Александр Фурик 29.09.2022

Купил. Установил. У меня версия ocStore 2.1.0.2 и он не будет работать?

opencartbot 29.09.2022

Модуль не сумісний з версією 2.1.0.2.
Всі версії, які підтримуються модулем, вказані на цій сторінці у блоці Сумісність.

Александр Фурик 29.09.2022

В описании рядом с картинкой. Черным по белому - OcStore: 2.x, 3.x Можно отказаться от лицензии и вернуть деньги?

opencartbot 29.09.2022

Вибачте, мені прикро, що опис модуля ввів Вас в оману. Написав Вам на email.

Сергій 19.08.2022

Неймовірна підтримка! Дуже класно все працю. Коректно!
ДУЖЕ ЗАДОВОЛЕНІЙ ПОКУПКОЮ!!!!

opencartbot 19.08.2022

Дякую, що залишили відгук! Удачі Вашому бізнесу!

olya prykhodko 12.08.2022

Модуль отличный. решил мою проблему. Поддержка оперативно отвечает и очень помогает. спасибо большое!

opencartbot 19.08.2022

Дякую за покупку і гарний відгук!

Oльга 02.08.2022

Подскажите, есть возможность указать переключение язіков не кнопкой а ссылкой с урлом?

opencartbot 02.08.2022

Так, можна. Модуль не додає перемикачі у вигляді посилань, але ви можете самостійно додати такі посилання в шапку вашого шаблону. При переході по цих посилання мова сайту буде автоматично змінюватися.
В шаблон header модуль передає масив $hreflang, який містить пари 'код мови' => 'посилання'. Відповідно, можна у циклі вивести ці посилання. Якщо потрібно детальніше - підкажу конкретний код.

olya prykhodko 06.08.2022

Буду очень признательна, если подскажете. Модуль купила Замовлення №: 171592 від 06.08.2022
Еще хотела попросить ключ для тестового домена https://veloritm.chiffoner.com
Я ранее приобретала у Вас модуль мультиязчной карты (Спасибо большое за него!), Вы мне делали уже ключ под тестовый.
Спасибо большое.

opencartbot 06.08.2022

У розділі FAQ на цій сторінці виклав інструкцію по додаванні переключателів мови у вигляді ссилок.
Ключ для тестового домена відправив на ваш email.
Дякую за покупку!

Vlad 23.05.2022

Здравствуйте. Использую модуль Opencart SEO Pack PRO. Он приписывает префиксы /ru-ru/, вместо /ru/ и это там не лечится. Если я выключу префиксы в вышеназванном модуле, поставлю ваш, они смогут взаимодействовать друг с другом?

opencartbot 23.05.2022

Вітаю. Цей модуль – доповнення до SEO Pro. Він працює тільки з SEO Pro. Якщо у вас посилання формуються іншим модулем, то він не буде працювати.

Комета 12.05.2022

Дякую за модуль і відповіді.
Все просто і зрозуміло. Працює як заявлено.
Рекомендую!

opencartbot 12.05.2022

Дякую за покупку і відгук!

Lam 18.04.2022

Fast and best support! highly recommended referral.

Will purchase other next time.

opencartbot 18.04.2022

Thanks! You are always welcome!

Загрузить еще
бесплатная
техподдержка

Совместимость модуля

  • OpenCart: 2.3.x.x, 3.0.0.0, 3.0.0.2, 3.0.1.0, 3.0.1.1, 3.0.1.2, 3.0.2.0, 3.0.3.0, 3.0.3.1, 3.0.3.2, 3.0.3.3, 3.0.3.4, 3.0.3.5, 3.0.3.6, 3.0.3.7, 3.0.3.8, 3.0.3.9,
  • ocStore: 2.3.x.x, 3.0.2.0, 3.0.3.7
$15.00
Укажите домен, для которого покупается модуль
Платежные системы
Мы не работаем с клиентами из страны-оккупанта РФ и их пособников - РБ.
Нет войне в Украине! Остановите убийства мирных жителей Украины! Остановите путина!
Официальный партнер OpenCart

Официальный партнер OpenCart

  •  Профессиональная помощь от автора модуля
  • Лицензия не ограничена по времени
  • Ключ предоставляется автоматически
  •  Бесплатный ключ на тестовый домен
  • Модуль поддается доработкам
  • Периодическое обновление модуля
  • Бесплатная техподдержка
Акция на модули OpenCart


Другие модули OpenCart

Читайте наш Блог

Русский военный корабль, иди нахуй!
Обращение к россиянам и беларусам

Россия коварно напала на Украину, убивает ее жителей, разрушает города и села, уничтожает инфраструктуру. Русские солдаты пришли в чужую страну, чтобы убивать, насиловать и грабить.
Россиянин, пока ты молчишь, кровь и страдания жертв войны на твоей совести тоже. Твое молчание - это поддержка войны.
Каждый день мы, жители Украины, прячемся в бомбоубежищах, каждый день по украинским городам, по жилым домам, прилетают ракеты. Зачем? Почему? Нас не нужно спасать, у нас было все в порядке, пока вонючий русский ботинок не ступил на украинскую землю. Неужели, наибольшей стране мира мало территорий?
Если ты умный и трезвый, включи критическое мышление, проанализируй информацию с разных мировых медиа. Неужели ты веришь, что все вокруг врут и только ваше ТВ вещает правду? путинская пропаганда строилась не один год, чтобы сейчас убивать мирных людей и получать за это овации и оды от зомбированного населения.
Россияне, беларусы, опомнитесь, сделайте хоть что-то, чтобы остановить эту жестокую войну против ни в чем не винных людей. Если считаете, что не можете ничего сделать, скажите публично "Нет войне в Украине" или напишите пост в соцсетях об этом. Остановите геноцид украинского народа! Остановите убийства мирных жителей Украины! Остановите убийцу тисяч людей по всему миру - путина!
Рано или поздно придет время расплаты и тогда вам будет стыдно. Мы никогда не простим! Русский военный корабль, иди нахуй!