Модуль позволяет добавить в битрикс поддержку множество поддоменов на 1 лицензии битрикса, приложив при этом минимальные усилия.
- Добавляет возможность создания бесконечного числа поддоменов
- Добавляет SEO-поддержку для каждого поддомена
- Добавляет SEO-поддержку для каждой страницы
- Добавляет возможность указать счетчики и мета-теги для каждого поддомена
- Позволяет включить поддержку мультиязычности и автоматическое переключение языка
- Позволяет автоматически определять город пользователя
- Позволяет автоматически определять страну пользователя
- Позволяет создавать любые дополнительные поля с привязкой к домену
Модуль позволяет задать SEO для каждой страницы с привязкой к домену.
Также вы сможете:
- задать SEO-текст для каждой страницы с привязкой к домену
- задать H1-текст для каждой страницы с привязкой к домену
- задать TITLE для каждой страницы с привязкой к домену
- задать Description для каждой страницы с привязкой к домену
- задать Keywords для каждой страницы с привязкой к домену
- создать любые дополнительные поля для каждой страницы с привязкой к домену
- указать общий паттерн формирования BROWSER TITLE
- локализовать поля под любой язык
- кто хочет продвигать свой сайт точечно в любом городе
- кто хочет продвигать свой сайт точечно в любой стране
- кому нужно переключать язык сайта в зависимости от страны
- кому нужна тонкая SEO-настройка
- кому нужна поддержка разных языков
- почти любой функционал можно включать/отключать
- возможность полного управления
- гибкая SEO-поддержка каждой страницы
- гибкая SEO-поддержка каждого домена
- очень легкая настройка
- множество режимов работы
- возможность исключать пути
- возможность задавать соответствия
- не использует сторонние сервисы
- возможность сделать локализацию полей
Чтоб настроить поддомены на хостинге вам необходимо будет указать алиасы. Если у вас хостинг, то можете попросить хостера сделать чтобы все домены вида *.mysite.ru вели на корень сайта. Обычно для этого надо сделать что-то вроде такого:
- Прописать днс-запись
- IN A IP сервера
- В настройках apache прописать:
- ServerName your_site.ru
- ServerAlias *.your_site.ru
Вам нужно в админке по пути: Настройки->Настройки продукта->Сайты->Список сайтов->выбираете нужный сайт (обычно s1)
и прописываете в поле "Доменной имя", список доменных имен, каждый домен на новой строке.
- Алгоритм - указать алгоритм определения поддоменов
- Виртуальный - модуль определяет куда направить пользователя, но не производит редиректов и переустановку свойств битрикса. Все данные лежат в свойствах модуля и их можно получить.
- Поддомен - модуль определяет такой тип subdomain.domain.ru, где subdomain является поддоменом.
- Подпапка - модуль определяет такой тип domain.ru/subdomain/, где subdomain является поддоменом.
- Тип - указать какой тип поддоменов.
- Страны - определяет страну пользователя.
- Города - определяет город пользователя.
- Ключ обнаружения IP - ключ в массиве $_SERVER в котором указан ip пользователя
- Домен по умолчанию - указать домен который является по умолчанию. Можно указать поддомен.
- Сопоставления - алгоритм сопоставления iso-кода страны/города к имени поддомена.
- Исключить пути - регулярные выражения путей, на которых модуль не запускается
- По умолчанию указаны след пути:
- /bitrix/admin/*
- /bitrix/tools/*
- /local/admin/*
- /local/tools/*
- и все файлы которые заканчиваются на .php
- По умолчанию указаны след пути:
Описание указано ниже (п. Настроить "Поддомены")
- Включить мультиязычность - при установленной галке мультиязычность работает
- Язык по умолчанию - код языка по умолчанию, в нижнем регистре
В модуле с версии 0.2.0 есть поддержка локализации полей.
- добавить поддержку полей в настройках модуля
- заполнить данные в полях на страницах редактирования элементов и разделов
- сделать интеграцию модуля в шаблоны компонентов (ниже подробнее)
Локализация у элементов
Вам необходимо прописать в result_modifier.php шаблона используемого компонента следующее:
// подгружаем все модуль и все его классы
\Bitrix\Main\Loader::includeModule('dev2fun.multidomain');
$arResult = \Dev2fun\MultiDomain\LangData::getDataFields($arResult,'element');
// где arResult - массив полей элемента
// где element - тип, т.к. мы выводим для элемента, поэтому element
Локализация у разделов
Вам необходимо прописать в result_modifier.php шаблона используемого компонента следующее:
// подгружаем все модуль и все его классы
\Bitrix\Main\Loader::includeModule('dev2fun.multidomain');
$arResult = \Dev2fun\MultiDomain\LangData::getDataFields($arResult,'section');
// где arResult - массив полей раздела
// где section- тип, т.к. мы выводим для раздела, поэтому section
- Включить SEO - при установке включается SEO у всех доменов и поддоменов. На сайте, для админов, выводится кнопка настройки сео.
- Активировать SEO-паттерн для title - активирует поле с SEO-паттерном ниже. В данный момент модуль поддерживает паттерны:
- #TITLE# - текущий title страницы
- #CITY# - город
Путь: Настройки->Настройки продукта->Настройки модулей->Поддомены и мультиязычность->Вкладка Домены->нажать на ссылку
Пройдясь по вышеуказанному пути мы попадаем в хайлоадблок битрикса "Dev2funMultiDomain"\
В нем создаем записи. Каждая запись соответствует поддерживаемому домену\
Свойства:
- Активность - указывает на активность домена
- Название - внутреннее название домена (любое, не влияет на систему)
- Подддомен - указываем название поддомена, например нам нужен вот такой вид my.domain.ru, то в этом поле указываем my
- Главный домен - указываем название главного домена, в нашем случае domain.ru
- HTML-код счетчиков - сюда копируем все нужные счетчики учета (например Yandex.Metrika или Google Analytics)
- HTML-код мета-тегов - сюда копируем мета-теги для разных верификаций и любые другие, которые нужно вывести для этого поддомена
- Язык - тут указываем язык поддомена. Работает только при включении Мультиязычности. А если указать redirect, то система будет проверять пользователя и перенаправлять его на нужный поддомен.
Dev2fun\MultiDomain\Base::GetCurrentDomain()
Dev2fun\MultiDomain\Base::GetCurrentDomain()['UF_LANG']
Dev2fun\MultiDomain\Base::GetCurrentDomain()['UF_SUBDOMAIN']
название события | передаваемые переменные | описание |
---|---|---|
OnBeforeSeoSetCityName | &$cityName - название города $currentDomain - массив полей текущего домена |
Событие запускается перед заменой seo-шаблона {=get_city} |
Note: Данный раздел обязателен для тех, кто обновляется через гитхаб. Если вы обновляетесь через систему обновления битрикса, то эти действия выполнять не нужно
Для миграции на версию 0.2.0 необходимо запустить файл migrations/0.2.0.php
При успехе, вы увидите сообщение: 0.2.0 - Success
Поддержку решения осуществляет @darkfriend от команды dev2fun Вы можете найти меня по этому нику в telegram или написав на почту [email protected]
Yandex.Money | 410011413398643 |
Webmoney WMR (rub) | R218843696478 |
Webmoney WMU (uah) | U135571355496 |
Webmoney WMZ (usd) | Z418373807413 |
Webmoney WME (eur) | E331660539346 |
Webmoney WMX (btc) | X740165207511 |
Webmoney WML (ltc) | L718094223715 |
Webmoney WMH (bch) | H526457512792 |
PayPal | @darkfriend |
Payeer | P93175651 |
Bitcoin | 15Veahdvoqg3AFx3FvvKL4KEfZb6xZiM6n |
Litecoin | LRN5cssgwrGWMnQruumfV2V7wySoRu7A5t |
Ethereum | 0xe287Ac7150a087e582ab223532928a89c7A7E7B2 |
BitcoinCash | bitcoincash:qrl8p6jxgpkeupmvyukg6mnkeafs9fl5dszft9fw9w |