Модуль доступен на GitHub
Что делает модуль
- Добавляет возможность создания бесконечного числа поддоменов
- Добавляет SEO-поддержку для каждого поддомена
- Добавляет SEO-поддержку для каждой страницы
- Добавляет возможность указать счетчики и мета-теги для каждого поддомена
- Позволяет включить поддержку мультиязычности и автоматическое переключение языка
- Позволяет автоматически определять город пользователя
- Позволяет автоматически определять страну пользователя
- Позволяет создавать любые дополнительные поля с привязкой к домену
- Позволяет делать локализацию данных
- Позволяет динамически подставлять любое значение в заголовок, title, description, keywords с привязкой к домену
Модуль позволяет задать SEO для каждой страницы с привязкой к домену.
Также вы сможете:
- задать SEO-текст для каждой страницы с привязкой к домену
- задать H1-текст для каждой страницы с привязкой к домену
- задать TITLE для каждой страницы с привязкой к домену
- задать Description для каждой страницы с привязкой к домену
- задать Keywords для каждой страницы с привязкой к домену
- создать любые дополнительные поля для каждой страницы с привязкой к домену
- указать общий паттерн формирования TITLE
- локализовать поля под любой язык
- кто хочет продвигать свой сайт точечно в любом городе
- кто хочет продвигать свой сайт точечно в любой стране
- кому нужно переключать язык сайта в зависимости от страны
- кому нужна тонкая SEO-настройка
- кому нужна поддержка разных языков
- почти любой функционал можно включать/отключать
- возможность полного управления
- гибкая SEO-поддержка каждой страницы
- гибкая SEO-поддержка каждого домена
- очень легкая настройка
- множество режимов работы
- возможность исключать пути
- возможность задавать соответствия
- не использует сторонние сервисы
- возможность сделать локализацию полей
- поддержка городов, стран и языков
- поддержка ЧПУ
- multidomain.city.list - компонент для вывода списка поддоменов
- multidomain.data - компонент для вывода информации текущего поддомена
- multidomain.page - компонент для вывода статических страниц для мультиязычности
Информация на вкладке "Установка"
Если возникнет сложность в настройке, мы вам поможем!
Если есть нарекания или предложения по улучшению модуля пишите на почту техподдержки.
Поблагодарить автора
Приобретенные программные продукты поставляются в виде цифро-буквенного кода. Используя код, вы сможете установить продукт на хостинг. Код приходит на указанный в заказе адрес электронной почты.
Время от момента получения оплаты до момента отправки кода составляет несколько часов. В течение этого периода выполняет оформление приобретенной продукции.
Обращаем ваше внимание, что дополнительная задержка может быть вызвана некорректно указанным адресом почты. Просим вас внимательно проверять ваши персональные данные при оформлении заказа. Мы гарантируем, что конфиденциальность ваших данных будет соблюдена.
Что требуется для установки:
- CSM «1С-Битрикс».
- Домен.
- Хостинг.
Мы предлагаем приобрести все необходимое в готовом наборе на нашем сайте. Это позволит ускорить дальнейшую установку.
Бонус: бесплатная базовая установка!
Чтобы получить подробную информацию о сервисе, вы можете ознакомиться с официальными реестрами Visa International и MasterCard Worldwide. Заполнив и подтвердив заказ, вы будете переадресованы на сайт сервиса Яндекс.Деньги. Там вы сможете оплатить заказ, воспользовавшись картой Visa, Mastercard или Maestro или кошельком Яндекс.Деньги.
Подробнее
Шаг 1. Настройка поддоменов на хостинге (только для режима "Поддомен")
Чтоб настроить поддомены на хостинге вам необходимо будет указать алиасы.
Если у вас хостинг, то можете попросить хостера сделать чтобы все домены вида *.mysite.ru вели на корень сайта.
Обычно для этого надо сделать что-то вроде такого:
- Прописать днс-запись * IN A IP сервера
- В настройках apache прописать:
ServerName your_site.ru
ServerAlias *.your_site.ru
Мы можем вам в этом помочь
Шаг 2. Указать все поддерживаемые поддомены + основной домен
Вам нужно в админке по пути: Настройки->Настройки продукта->Сайты->Список сайтов->выбираете нужный сайт (обычно s1) и прописываете в поле "Доменной имя", список доменных имен, каждый домен на новой строке.
Данный пункт можно опустить, но мы рекомендуем вам прописать.
Шаг 3. Настроить модуль "Поддомены и мультиязычность"
Вкладка "Настройки"
- Активность - флаг активности модуля
- Алгоритм - указать алгоритм определения поддоменов
Подпапка - модуль определяет такой тип domain.ru/subdomain/, где subdomain является поддоменом.
- Тип - указать какой тип поддоменов.
Города - режим городов
Языки - режим языков
Виртуальный - режим без редиректов и прочего физического
- Включить замену ссылок - автоматическая замена ссылок, работает только при "Подпапка"
- Ключ обнаружения IP - ключ в массиве $_SERVER в котором указан ip пользователя
- Домен по умолчанию - указать домен который является по умолчанию. Можно указать поддомен.
- Сопоставления - алгоритм сопоставления iso-кода страны/города к имени поддомена.
- Исключить пути - регулярные выражения путей, на которых модуль не запускается
/bitrix/*
/local/*
- Упраление муршрутизацией - при активном режиме "Подпапка" - добавляет маршруты, при другом режиме убирает лишние маршруты.
- Включить мультиязычность - при установленной галке мультиязычность работает
- Язык по умолчанию - код языка по умолчанию, в нижнем регистре
- Выводить HREFLANG - выводит указатели на другие версии языков страницы (полезно для SEO)
Описание указано ниже (п. Настроить "Поддомены")
Вкладка "SEO"
- Включить SEO - при установке включается SEO у всех доменов и поддоменов. На сайте, для админов, выводится кнопка настройки SEO.
Путь: Настройки->Настройки продукта->Настройки модулей->Поддомены и мультиязычность->Вкладка Домены->нажать на ссылку
Пройдясь по вышеуказанному пути мы попадаем в хайлоадблок битрикса "Dev2funMultiDomain"
В нем создаем записи.
Свойства:
- SITE_ID - идентификатор сайта (для мультисайтовости)
- Активность - указывает на активность домена
- Название - внутреннее название домена (любое, не влияет на систему)
- Подддомен - указываем название поддомена, например нам нужен вот такой вид my.domain.ru, то в этом поле указываем my
- Главный домен - указываем название главного домена, в нашем случае domain.ru
- HTML-код счетчиков - сюда копируем все нужные счетчики учета (например Yandex.Metrika или Google Analytics)
- HTML-код мета-тегов - сюда копируем мета-теги для разных верификаций и любые другие, которые нужно вывести для этого поддомена
- Язык - тут указываем язык поддомена. Работает только при включении Мультиязычности. НО если указать redirect, то система будет проверять пользователя и перенаправлять его на нужный поддомен.
В модуле с версии 0.2.0 есть поддержка локализации полей.
- добавить поддержку полей в настройках модуля (см. скриншот)
- заполнить данные в полях на страницах редактирования элементов и разделов
- сделать интеграцию модуля в шаблоны компонентов (ниже подробнее)
- сделать локализацию подписей и надписей в шаблоне
Локализация у списков элементов/разделов:
Вам необходимо прописать в result_modifier.php шаблона используемого компонента следующее:
// подгружаем все модуль и все его классы \Bitrix\Main\Loader::includeModule('dev2fun.multidomain'); $arItems = \Dev2fun\MultiDomain\LangData::getLangItemsFields($arItems, 'element'); // где $arItems - массив элементов или разделов // где element - тип, т.к. element - для элементов, section - для разделов |
Локализация у элементов:
Вам необходимо прописать в 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 |
Локализация подписей и надписей в шаблоне
Вначале файла необходимо загрузить файл переводов (например файл header.php)
\Dev2fun\MultiDomain\LangData::loadMessages(__FILE__); |
<span><?=\Dev2fun\MultiDomain\LangData::getMessage('HI');?></span> |
Состав файла для `ru`:
<?php $MESS['HI'] = 'Привет'; //$MESS['OTHER'] = 'Другое'; // другие переводы |
<?php $MESS['HI'] = 'Hi'; //$MESS['OTHER'] = 'Other'; // другие переводы |
Настройка seo-шаблонов
- Заходите в настройки нужного инфоблока
- Переходите во вкладку SEO
- Указываете шаблоны в нужных местах
- {=multiDescription} - для Meta Description (разделы/элементы)
- {=multiKeywords} - для Meta Keywords (разделы/элементы)
- {=multiHeading} - для заголовка раздела/элемента
- {=multiLangField} - для языкового (перевода) заголовка раздела/элемента
{=multiTitle "FieldName", "BeforeText", "AfterText", "AdditionData"} |
- FieldName - это название поле откуда выводить текст (По умолчанию UF_NAME),
- BeforeText - это текст до,
- AfterText - это текст после,
- AdditionData - любая дополнительная информация перечисленная через запятую (отсутствует у {=multiLangField})
Не забудьте поставить галку на "Очистить кеш вычисленных значений"
Интеграция в компоненты
В режиме "подпапка" рекомендуется для комплексных компонентов или компонентов с ЧПУ указать `SEF_FOLDER`.
Пример на компоненте bitrix:catalog
<?php $sefFolder = \Dev2fun\MultiDomain\Base::getSefFolder(); ?> <?php $APPLICATION->IncludeComponent( "bitrix:catalog", "bootstrap_v4", array( "IBLOCK_TYPE" => "catalog", "IBLOCK_ID" => "2", "TEMPLATE_THEME" => "site", "HIDE_NOT_AVAILABLE" => "N", "BASKET_URL" => "{$sefFolder}/personal/cart/", "SEF_MODE" => "Y", "SEF_FOLDER" => "{$sefFolder}/catalog/", "AJAX_MODE" => "N", "AJAX_OPTION_JUMP" => "N", "AJAX_OPTION_STYLE" => "Y", "AJAX_OPTION_HISTORY" => "N", "CACHE_TYPE" => "A", "CACHE_TIME" => "36000000", "CACHE_FILTER" => "Y", "CACHE_GROUPS" => "Y", "SET_TITLE" => "Y", "STORE_PATH" => "{$sefFolder}/store/#store_id#", "SEF_URL_TEMPLATES" => array( "sections" => "", "section" => "#SECTION_CODE#/", "element" => "#SECTION_CODE#/#ELEMENT_CODE#/", "compare" => "compare/", "smart_filter" => "#SECTION_CODE#/filter/#SMART_FILTER_PATH#/apply/", ) // .... другие свойства ), false );?> |
Для программистов:
Получить информацию о текущем домене:
Dev2fun\MultiDomain\Base::GetCurrentDomain() |
Dev2fun\MultiDomain\Base::GetCurrentDomain()['UF_LANG'] |
Получить имя поддомена:
Dev2fun\MultiDomain\Base::GetCurrentDomain()['UF_SUBDOMAIN'] |
Получить все sef-folder:
Dev2fun\MultiDomain\Base::getSefFolder() |
Получить все поддомены:
Dev2fun\MultiDomain\SubDomain::getInstance()->getDomainList() |
Получить поддомен по фильтру:
Фильтр передается как callback (для array_filter).\
Dev2fun\MultiDomain\SubDomain::getInstance()->getDomainByFilter($callbackFilter) |
Краткие правила установки:
- Проверить права у папки modules
- Установить модуль в административной панели.
- Прочитать сообщение
- Настроить поддомены
- Настроить модуль
- Сбросить кэш
- Поблагодарить автора
- Использовать
- Добавлена поддержка php8.0
- исправлен фронтенд
- прочие незначительные правки
- исправлен баг в получении данных в SEO-полях
- поправлена сортировка сайтов (при мультисайтовости) в настройках модуля
- исправлен баг с автозаменой ссылок во всех режимах
- в компонент multidomain.city.list добавлен шаблон choice
- поправлен компонент multidomain.data
- добавлен компонент multidomain.page, который выводит статичную информацию
- поправлено несколько багов
- добавлен алгоритм поддоменов в виде "Подпапка"
- добавлен тип поддоменов "Язык"
- виртуальный алгоритм переместился в тип поддоменов
- в настройках добавлена возможность автозамены ссылок при алгоритме "Подпапка"
- добавлена полная поддержка режима мультисайтовости в битриксе
- в настройках добавлена возможность активности мультидоменнов в виде флага
- для режима "Подпапка" добавлена автоматическая маршрутизация
- в настройках для режима "Подпапка" добавлена возможность кнопочного обновления маршрутизации
- улучшено обнаружение поддоменов
- поправлены известные баги
- обновлена база городов и стран
- переработано SEO
- улучшен UI-интерфейс
- добавлен метод LangData::getLangItemsFields() - заменяет значения свойств для списка элементов/разделов
- добавлен метод LangData::loadMessages() - загружает файл с переводами
- добавлен метод LangData::getMessage() - возвращает перевод
- добавлен метод Base::getSefFolder() - возвращает динамические путь для SEF_FOLDER ЧПУ
- SEO: добавлена поддержка hreflang (настраивается во вкладке "мультиязычность")
- SEO: добавлено несколько паттернов, которые настраиваюся в инфоблоках, пример для "Шаблон META TITLE": {=multiTitle "FieldName" "BeforeText", "AfterText", "AdditionData"}
- SEO: добавлен паттерн {=multiTitle "NAME"} - выводит нужное значение из поддомена для "Шаблон META TITLE" (читайте подробнее в описании или readme)
- SEO: добавлен паттерн {=multiDescription "NAME"} - выводит нужное значение из поддомена для "Шаблон META DESCRIPTION" (читайте подробнее в описании или readme)
- SEO: добавлен паттерн {=multiKeywords "NAME"} - выводит нужное значение из поддомена для "Шаблон META DESCRIPTION" (читайте подробнее в описании или readme)
- SEO: добавлен паттерн {=multiHeading "NAME"} - выводит нужное значение из поддомена для "Заголовок раздела" и "Заголовок товара" (читайте подробнее в описании или readme)
- SEO: добавлен паттерн {=multiLangField "NAME"} - выводит нужное значение из переводов полей для "Заголовок раздела" и "Заголовок товара" (читайте подробнее в описании или readme)
- после обновления необходимо перейти в настройки модуля и активировать модуль. Авто-активация опущена для избежания плохих эффектов
- Поправлена работа редиректа
- Улучшена логика обнаружения поддоменов
- Обновления пакетов
- Улучшена логика локализации полей
Теперь можно динамично изменять значение для шаблона {=get_city}
- Улучшена работа виртуального алгоритма
- теперь текст из H1 выводится только в #H1_TEXT# или #H1# или в pageProperty h1
- исправлены ошибки в компоненте "dev2fun:multidomain.city.list"
- исправлено несколько багов в "dev2fun:multidomain.city.list"
- добавлен компонент "dev2fun:multidomain.city.list" - выводит список городов
Т.е. subdomain.site.ru, sub.subdomain.site.ru, sub..sub.subdomain.site.ru и т.п.
Совершая донат, вы поддерживаете выпуск обновлений этого модуля
- обновлена база городов и стран
- улучшено регулярное выражение
- добавлена поддержка кастомных полей. Получить их можно с помощью Dev2fun\MultiDomain\Base::GetCurrentDomain()
- добавлена возможность сохранения данных при удалении
Это заранее созданный сайт или демоверсия интернет-магазина с лид-формами и кнопками, который вы можете оплатить и использовать для своего проекта.
В будущем можно корректировать ресурс.
На стоимость влияют дизайн, используемые цветовые схемы, количество страниц, демоконтент, структура меню и т.д.
Также для разработки интернет-магазина нужны система управления контентом на платформе «Битрикс», домен и хостинг. Они тоже влияют на итоговую стоимость.
С перечнем подходящих редакций можно ознакомиться на странице любого решения. По набору функций редакции делятся на две категории:
- Редакции для создания лендинговых и корпоративных сайтов;
- Редакции для разработки интернет-магазинов.
Одностраничные сайты и корпоративные порталы разрабатывают на базе редакций «Старт» и «Стандарт». Последняя имеет модуль проактивной защиты, в который входят:
- антивирус;
- панель безопасности;
- инструмент для аудиторской проверки;
- система одноразовых паролей;
- журнал вторжений;
- защита от хакерских атак и др.
Модуль корзины в эти редакции не входит, что затрудняет создание интернет-магазина. Этот модуль включен в редакции «Малый бизнес» и «Бизнес», которые поддерживают интеграцию с 1С.
Редакция «Бизнес» понадобится, если:
- Цена на один и тот же товар различна для нескольких групп покупателей.
- Вы запускаете программы лояльности, системы бонусов и скидок.
- Вы продаете наборы товаров.
- В магазине продаются комплекты из основной позиции и необязательных аксессуаров.
- Необходимо отображать информацию о наличии товара в офлайн-магазинах или на складах.
Если вы не нуждаетесь в таких возможностях, остановитесь на «Малом бизнесе». В будущем можно перейти на редакцию «Бизнес».
Да, мы можем интегрировать сайт с «Битрикс». Мы сделаем это бесплатно для лицензий категории «Малый бизнес» и выше.
Для этого нам нужны ссылки на ваш хостинг и доступы к нему для авторизации, домен, лицензионный ключ «Битрикс», купон для установки.
- После покупки лицензионного ключа вам на почту придет код: 23 символа, которые состоят из букв латинского алфавита и цифр в формате XXX-XX-XXXXXXXXXXXXXXXX. Зарегистрируйте эти данные на платформе «Битрикс».
- Скачайте файл для установки.
- Авторизуйтесь на сайте вашего хостинг-провайдера.
- Зайдите в файловый менеджер. Здесь можно загрузить файл в папку хостинга.
- Создайте базу данных.
- Перейдите на тестовый домен формата имя-сайта/bitrixsetup.php.
- Выберите ту версию, которая соответствует вашему лицензионному ключу.
- Скопируйте 23-значный код из почты и вставьте его в поле «Лицензионный ключ», загрузите его.
- Нажмите кнопку «Далее», когда появится окно установки.
- Примите соглашение и нажмите «Далее».
- Выберите пункт ««Я хочу зарегистрировать свою версию продукта» и заполните обязательные поля. Если вы хотите создать сайт на иностранном языке, также отметьте пункт «Установить в кодировке UTF-8» и переходите далее.
- На экране предварительной проверки убедитесь, что все показатели горят зеленым. Если некоторые показатели красные, значит, они не соответствуют требованиям. Чтобы их исправить, обратитесь в техподдержку хостинговой компании.
- Заполните всю необходимую информацию на этапе создания базы данных. Она создается на хостинге.
- После заполнения всех обязательных полей создайте администратора сайта.
- Установите шаблон.
- Установите на хостинг систему «Битрикс».
- Авторизуйтесь как администратор по ссылке имя-сайта/bitrix.
- Перейдите в Marketplace — административная панель — обновление решений — активация купона.
- Чтобы активировать купон, введите 25 символов.
- Когда увидите в «Списке обновлений» ваш сайт, выберите его и загрузите.
- Зайдите в «Установку обновлений» и установите сайт.
- Выберите ваш интернет-магазин и загрузите его.
- Перейдите в настройки и установите ваш сайт в разделе «список мастеров».
- После того как появится мастер установки, отметьте пункт «Существующий» и нажмите «Далее».
- На экране «Выбор шаблона» кликните «Далее».
- Выберите цвета и нажмите «Далее».
- Добавьте на сайт актуальную информацию и кликните «Установить».
- На появившемся экране «Завершение настройки» кликните «Перейти на сайт».
Наличие хостинга не всегда влияет на стоимость. Опыт показывает, что иногда параметры хостинга недостаточны для правильной работы сайта и запуска рекламной кампании. Если вы пользуетесь хостингами от провайдеров Timeweb, Ru-Center или Rusonyx, то стоимость будет снижена на ту сумму, которую вы заплатили за хостинг. В остальных случаях обращайтесь к администратору, чтобы обсудить детали.
Если у вас небольшой проект, то мы можем предложить вам простой тариф, чтобы оптимизировать затраты.
В течение года вам доступны следующие услуги:
Для всех продуктов:
- обновление;
- получение новых версий;
- приоритет в получении технической поддержки (ответ в течение 6 рабочих часов);
- резервное копирование;
- использование Маркетплейса;
- доступ к конструктору «Сайты24».
Для «1С-Битрикс: Управления сайтом»:
- обновление системы безопасности;
- доступ к инспектору сайтов;
- возможность ускорять загрузку сайта CDN;
- наличие мобильного приложения администратора (для редакций «Малый бизнес» и «Бизнес»);
- автоматическое формирование бюджета для контекстной рекламы в Яндекс.Директ;
- доступ к функции BigData: Персонализация;
- защита от хакерских атак (DDoS атак).
Для «1С-Битрикс24»
- IP-телефония;
- Автоматическое заполнение данных по ИНН;
- Работа открытых линий:
- настройка и неограниченное создание Открытых линий;
- полный доступ к онлайн-чату;
- каналы коммуникаций исчезают из виджета CRM;
- сообщения на портал из настроенных каналов продолжают приходить;
- настроить каналы нельзя — будет выдаваться ошибка (кроме Онлайн-чата);
- нельзя ответить на сообщения, так как они не приходят.
Если вы не продлите лицензию на следующий год, сайт продолжит работать.
Теперь подробнее остановимся на юридической стороне лицензирования.
Вы оплачиваете право использования программы и получаете 2 лицензии:
- Стандартная. Позволяет пользоваться продуктом, получать обновления, устанавливать решения из Маркетплейса. Также вы получите приоритет при получении технической поддержки. Это относится к блоку «для всех продуктов», описанному выше в этом вопросе. Такая лицензия действует 1 год, после чего ее нужно продлить.
- Ограниченная. Дает право только на использование продукта. В данном случае нет доступа к обновлениям, Маркетплейсу, отсутствует приоритетность при обращении в техподдержку.
Ограниченная лицензия выдается на основании EULA (лицензионного соглашения с конечным пользователем) и не считается в бухгалтерском учете. Ее цель — подтвердить, что вы по праву пользуетесь программой после истечения срока действия основной лицензии.
Ограниченная лицензия действует столько же, сколько и исключительное право на программный продукт (ст. 1281 ГК РФ).
Вы получите продукт по почте в электронном виде. После подтверждения оплаты вам на e-mail придет лицензионный ключ, инструкция по его активации и активации дистрибутива или же купон и инструкция по активации купона.
Мы не доставляем продукты «1С-Битрикс» в физическом виде.