Настройка мультисайтовости Wagtail под ключ для бизнеса

Настраивали мультисайт для холдинга с четырьмя брендами — столкнулись с дублированием кода и путаницей в контенте. Решение: одна установка Wagtail с несколькими сайтами. Наш опыт более 5 лет (10+ проектов) гарантирует, что вы получите надёжную архитектуру, где каждый домен живёт своей жизнью, но адм

Разработка и обслуживание любых видов сайтов:

Информационные сайты или веб-приложения
Сайты визитки, landing page, корпоративные сайты, онлайн каталоги, квиз, промо-сайты, блоги, новостные ресурсы, информационные порталы, форумы, агрегаторы
Сайты или веб-приложения электронной коммерции
Интернет-магазины, B2B-порталы, маркетплейсы, онлайн-обменники, кэшбэк-сайты, биржи, дропшиппинг-платформы, парсеры товаров
Веб-приложения для управления бизнес-процессами
CRM-системы, ERP-системы, корпоративные порталы, системы управления производством, парсеры информации
Сайты или веб-приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, конструкторы сайтов, порталы предоставления электронных услуг, видеохостинги, тематические порталы

Это лишь некоторые из технических типов сайтов, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента

Услуги, которые мы предлагаем
Показано 1 из 1Все 2062 услуг
Настройка мультисайтовости Wagtail под ключ для бизнеса
Средний
~2-3 дня

Наши компетенции:

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1414
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1285
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    980
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1240
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    982
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    994

Настраивали мультисайт для холдинга с четырьмя брендами — столкнулись с дублированием кода и путаницей в контенте. Решение: одна установка Wagtail с несколькими сайтами. Наш опыт более 5 лет (10+ проектов) гарантирует, что вы получите надёжную архитектуру, где каждый домен живёт своей жизнью, но администрируется централизованно.

Мультисайтовость Wagtail — это инженерный подход, который экономит до 60% на хостинге и ускоряет деплой в 5 раз по сравнению с отдельными установками. Часто клиенты приходят с готовыми сайтами на разных CMS — задача объединить их в одну экосистему. Мы это делаем через мультисайтовость Wagtail, мигрируя контент и сохраняя SEO-показатели. При этом решаются типичные проблемы: N+1 запросы при раздельных базах, рассинхронизация шаблонов, сложность обновления — всё это уходит при централизованной архитектуре.

В документации Wagtail сказано: Multiple sites can be hosted from a single Wagtail instance. Это основа нашей работы. Мы настраиваем data migration для воспроизводимости на всех окружениях — dev, stage, production.

Какие проблемы решает мультисайтовость

  • Дублирование кода. Вместо пяти копий одного проекта — одна codebase с обновлениями в одном месте.
  • Путаница с контентом. Редакторы видят только свои страницы благодаря разграничению доступа. Никто случайно не сломает чужой лендинг.
  • Затраты на поддержку. Один сервер вместо пяти — меньше администрирования, выше безопасность.

Как мы настраиваем мультисайт: пример из практики

Клиент — агентство с тремя сайтами для разных ниш (e-commerce, блог, портфолио). Мы сделали:

  • одну базу PostgreSQL с общими пользователями и группами;
  • три корневые страницы HomePage с разными slug (ecommerce, blog, portfolio);
  • три записи в wagtailcore_site: shop.example.com, blog.example.com, portfolio.example.com;
  • общую модель ArticlePage для всех сайтов, но с разными темами через get_context;
  • разграничение доступа: три группы редакторов, каждая видит только свою ветку.

Результат: среднее время загрузки страниц — менее 1 секунды, время на добавление нового сайта — 2 часа. Подробнее о настройке читайте в Wagtail multi-site documentation.

Процесс работы

  1. Аналитика. Изучаем структуру каждого сайта, собираем требования к контенту и шаблонам.
  2. Проектирование. Определяем общие и раздельные модели страниц, проектируем схему медиатеки.
  3. Реализация. Настраиваем конфигурацию wagtailcore_site, пишем data migration, добавляем группы доступа.
  4. Тестирование. Проверяем каждый домен: роутинг, отображение контента, права редакторов.
  5. Деплой. Разворачиваем на production, настраиваем NGINX с прокси на один gunicorn.

Сравнение подходов: общие модели vs раздельные

Критерий Общие модели Раздельные модели
Разработка Быстрее, меньше кода Медленнее, но гибче
Поддержка Единая логика, патчи сразу для всех Независимые изменения
Производительность Меньше запросов, один кеш Можно оптимизировать под сайт
Когда выбрать Сайты похожей структуры (новости, блоги) Кардинально разный контент (интернет-магазин + форум)

Ориентировочные сроки

Этап Длительность Результат
Аналитика 0.5–1 день Схема структуры
Проектирование 1–2 дня Архитектура моделей
Реализация 2–3 дня Готовый мультисайт
Тестирование 1 день Проверка на всех доменах
Деплой 0.5 дня Рабочая среда

Базовая настройка на 2–3 домена с общими моделями занимает 1–2 дня. Стоимость рассчитывается индивидуально. При раздельных настройках брендов, кастомных медиатеках и разграничении доступа — 3–4 дня. Миграция существующего однодоменного сайта — от 2 дней. Точная стоимость зависит от сложности — свяжитесь с нами, чтобы оценить ваш проект.

Почему мультисайтовость выгоднее отдельных установок?

Установщик Wagtail за 5 минут — это иллюзия. Поддержка пяти копий означает пять раз обновить код, пять раз настроить SSL, пять раз мониторить. Мультисайт сокращает эти расходы в разы. По нашим замерам, при переходе на одну установку клиенты экономят 40–60% бюджета на хостинг и администрирование.

Что входит в настройку под ключ

  • Конфигурация wagtailcore_site (домены, порты, корневые страницы)
  • data migration для воспроизводимости
  • Разделение медиатеки (опционально — теги или отдельная модель изображений)
  • Разграничение доступа (группы, GroupPagePermission)
  • Настройка NGINX (один upstream, несколько server blocks)
  • Документация по добавлению нового сайта в структуру
  • Рекомендации по кэшированию и CDN

Как организовать разграничение доступа?

Используем GroupPagePermission программно через data migration — это гарантирует, что на всех окружениях (dev/stage/prod) права одинаковы. Редактор сайта A не видит сайт B. Пример кода:

def setup_brand_editors(brand_root_page, group_name): group, _ = Group.objects.get_or_create(name=group_name) GroupPagePermission.objects.get_or_create( group=group, page=brand_root_page, permission_type='change', ) GroupPagePermission.objects.get_or_create( group=group, page=brand_root_page, permission_type='publish', ) return group 
Чек-лист перед запуском - [ ] Проверить, что все домены указывают на ваш IP. - [ ] Настроить SSL-сертификаты для каждого домена. - [ ] Создать корневые страницы для каждого сайта в админке. - [ ] Выполнить data migration для сайтов и групп. - [ ] Проверить, что редакторы видят только свои страницы. - [ ] Настроить мониторинг (uptime, 5xx ошибки).

Гарантируем стабильную работу под любой нагрузкой. Оцените свой проект — свяжитесь с нами для консультации. Не откладывайте оптимизацию — закажите аудит текущей архитектуры уже сегодня.