Найти тему
SiteUp

Кейс: мультисайт для франчайзиноговой сети

Оглавление
Мультисайт для франчайзиноговой сети
Мультисайт для франчайзиноговой сети

Цель: создание сайта для сети франчайзинговых представительств с возможностью добавления нового сайта для каждого нового города в один клик.

Для специалистов студии SiteUp это вроде тривиальная задача, ведь мы ранее уже создавали сайты для франчайзинговых сетей, как для нашей, так и для клиентов (например, туристический оператор РусКрымТур), однако далее, в процессе обслуживания таких проектов, мы столкнулись с рядом проблем, которые нам захотелось решить раз и навсегда:

  • Для добавления каждого нового сайта нужно довольно много времени — создать субдомен, сделать дубликат базы и файлов, актуализировать контактную информацию, подключить формы из CRM, установить аналитику и т.д. Есть варианты проще, но речь конечно же идет о полноценном инструменте для каждого франчайзи, способного составить качественную конкуренцию в своей нише и в своем регионе.
  • Актуализация контента. При изменении контента на основном сайте — синхронизация с остальными сайтами или требует написания дополнительного громоздкого функционала или проводится вручную.
  • Лимиты хостинга. Большое количество субдоменов, баз данных и, в последствии рост размеров загруженных файлов, приводит к удорожанию услуг хостинга, если речь идет хотя бы о сотне сайтов — это превращается в дополнительную ощутимую регулярную статью расходов для бизнеса.
  • Скорость. Мы обычно сопровождаем проекты, которые создаем, в том числе в плане SEO. Быстрая загрузка страниц — один из важнейших факторов и достичь нужных показателей с наличием всяких синхронизаций и отсутствием контроля за загружаемыми медиа и т.д. — задача практически не подъемная.

Итак, как мы решили поступить?

Сначала протестировать нашу гипотезу на сайте, написанном на чистом PHP, без админки и базы данных. Затем перенести готовое решение в собственный плагин для WordPress.
По этапам:

  • Реализовали на хостинге возможность добавления субдоменов в автоматическом режиме. Написали функцию на PHP для этой цели.
  • Вывели все контактные данные (адрес, телефон, e-mail и т.д.) в массив с переменными
  • Написали функцию подстановки нужных значений в переменные из текстового файла, в зависимости от домена
  • Переписали важные для дальнейшего продвижения модули robots.txt, sitemap.xml с подстановкой нужных переменных в зависимости от домена.

Результат: фактически у нас остался все тот же один сайт, с тем же контентом, только в зависимости от домена, по которому перешел посетитель, подтягивается нужная информация. При размере всего сайта всего 2.5 мб — мы получили неограниченное количество субдоменов с возможностью их добавления около одной минуты и моментально загружающихся страниц. Получилось простое решение для создания любого количества сайтов с автоматической подстановкой котнактных данных, указанием регионов и частичной уникализацией контента.
Пример:
plastik-crimea.ru, smf.plastik-crimea.ru, sev.plastik-crimea.ru и т.д.

Второй этап — перенос функционала в плагин WP (заказчикам безусловно нужна админка для работы с сайтом). Конечно, кто-то, кто уже пробовал реализовать подобный функционал с этой CMS, может заметить, что у нее есть опция мультисайт. Но это дефолтное решение крайне топорное, громоздское и если уже выбирать — лучше создавать дубликаты сайтов, чем использовать эту опцию, т.к. в любом случае она создает дубли и в файловой системе и базе данных для каждого сайта, а контент не дублирует, его необходимо переносить отдельно. Да и дальнейшей синхронизации между сайтами после этого практически нет. Единственное преимущество — возможность контроля всей сети сайтов из одной админки и разграничение доступа  рамках сайтов, созданных на субдоменах.

Первая проблема, которая у нас возникла — WP хранит все ссылки в базе данных и они абсолютные. Поэтому, при всем желании, наше готовое решение не работает — с любого субдомена происходит редирект на основной домен. Поэтому первое, что пришлось «допилить» — функционал подмены домена в WP, чтобы не плодить дополнительные таблицы в базе для каждого нового сайта.

Следующий этап: т.к. в WP контент и метатеги необходимо править из админки — добавили в плагин функцию создания шорткодов для этой цели. Заодно реализовали опцию проверки на наличие субдомена при добавлении, ранее это не было реализовано.

Интерфейс плагина для добавления субдоменов
Интерфейс плагина для добавления субдоменов

Ну и в итоге — вишенка на торте — реализация добавления городов в список меню фронтенда сразу после добавления в плагине. Планируемые доработки на ближайшее время: подключение собственной Яндекс.Метрики с настройкой целей и формы из CRM для каждого домена и изменение карты на странице контакты в зависимости от адреса для каждого домена.

Автоматический вывод созданных городов
Автоматический вывод созданных городов

Результат: заказчику необходимо в плагине в необходимые поля ввести контактные данные франчайзи в нужном городе, указать субдомен и нажать одну кнопку. Сайт для франчайзи готов. Посмотреть, как это работает, можно тут: https://cut-trees.ru

Планируете развивать свой бизнес в нескольких регионах? Обращайтесь — доработаем наш плагин под вашу CMS или ваши задачи. Заявку можно оставить на нашем сайте: https://siteup.ru