Разработка сайтов на Sulu: корпоративные порталы и мультибренды

Hydration mismatch при SSR? Sulu на Symfony решает это на уровне фреймворка. В отличие от CMS, где мультиязычность — плагин, Sulu встраивает её в ядро через Webspaces. Это исключает конфликты версий и дублирование данных. Мы, команда с 8-летним опытом разработки на Symfony, помогаем избежать типичны

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

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

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

Услуги, которые мы предлагаем
Показано 1 из 1Все 2062 услуг
Разработка сайтов на Sulu: корпоративные порталы и мультибренды
Сложный
~2-4 недели

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

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

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

  • 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

Hydration mismatch при SSR? Sulu на Symfony решает это на уровне фреймворка. В отличие от CMS, где мультиязычность — плагин, Sulu встраивает её в ядро через Webspaces. Это исключает конфликты версий и дублирование данных. Мы, команда с 8-летним опытом разработки на Symfony, помогаем избежать типичных ошибок при старте: кривой мультиязычности, проблем с производительностью и негибкой архитектуры.

Как Sulu решает проблему мультиязычности?

В Sulu мультиязычность встроена на уровне ядра. Webspaces позволяют задать список локализаций (<localizations>) и привязать к каждому языку свой URL. Например, русская версия на example.com, английская на en.example.com. Перевод контента осуществляется через административную панель — поля для каждого языка хранятся отдельно. Это исключает конфликты версий и дублирование данных.

Производительность и Core Web Vitals

Sulu генерирует статический HTML и использует кэширование на уровне Symfony. В результате TTFB составляет менее 200 мс даже для страниц с медиа-контентом. LCP не превышает 800 мс, а CLS — 0.1, что на 30% лучше, чем у типичной WordPress-установки с аналогичным объёмом контента. Встроенная поддержка SEO-свойств (title, description, Open Graph) в каждом шаблоне упрощает продвижение. Благодаря чистому HTML и быстрому рендерингу Core Web Vitals соответствуют зелёной зоне.

Почему Sulu лучше WordPress для enterprise?

Критерий Sulu WordPress
Базовая архитектура Symfony (MVC) Процедурный PHP
Мультиязычность Встроенная, на уровне ядра Плагины (WPML)
Производительность Высокая (кэш, асинхронность) Средняя (зависит от хостинга)
Кастомизация Полный контроль через код Ограничена хуками и плагинами
Безопасность Сертифицированная команда Symfony Частые уязвимости из-за плагинов

Кастомизация: пример с отельным порталом

Недавно мы реализовали мультибрендовый портал для сети отелей. Задача: 5 брендов, 10 языков, единая база номеров и бронирований. Решение — структура Webspaces с отдельным пространством для каждого бренда, общие шаблоны через наследование, кастомный контроллер для API бронирований.

Стек: Symfony, Sulu, PostgreSQL, Doctrine ORM, Redis для кэша, Vite для фронта. Ключевой паттерн — Repository для работы с сущностями и BFF (Backend For Frontend) для передачи данных в React-компоненты.

Настройка Webspace выглядит так:

<!-- config/packages/webspaces/hotel.xml --> <?xml version="1.0" encoding="utf-8"?> <webspace xmlns="http://schemas.sulu.io/webspace/webspace" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://schemas.sulu.io/webspace/webspace http://schemas.sulu.io/webspace/webspace-1.1.xsd"> <name>Hilton</name> <key>hilton</key> <localizations> <localization language="en" default="true"/> <localization language="de"/> <localization language="fr"/> </localizations> <templates> <template type="page">homepage</template> <template type="page">room</template> <template type="page">booking</template> </templates> <portals> <portal> <name>Hilton Global</name> <key>hilton</key> <environments> <environment type="prod"> <urls> <url language="en">hilton.com</url> <url language="de">hilton.de</url> <url language="fr">hilton.fr</url> </urls> </environment> </environments> </portal> </portals> </webspace> 

Кастомный контроллер для выдачи номеров:

// src/Controller/Website/RoomController.php namespace App\Controller\Website; use App\Repository\RoomRepository; use Sulu\Bundle\WebsiteBundle\Resolver\TemplateAttributeResolverInterface; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; class RoomController { public function __construct( private RoomRepository $repository, private TemplateAttributeResolverInterface $resolver ) {} public function listAction(Request $request): Response { $checkin = $request->query->get('checkin'); $checkout = $request->query->get('checkout'); $available = $this->repository->findAvailable($checkin, $checkout); return $this->render('pages/room-list.html.twig', [ 'rooms' => $available ]); } } 

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

Этап Описание Длительность
Аналитика Изучение требований, аудит текущей архитектуры 3-5 дней
Проектирование Разработка структуры Webspaces, шаблонов, маршрутов 5-7 дней
Разработка Написание кода, создание сущностей, контроллеров, интеграций 2-4 недели
Тестирование Функциональное, нагрузочное, SEO-тесты 1 неделя
Деплой Настройка окружения, CI/CD, миграции 2-3 дня

Сроки и стоимость

Сроки варьируются от 4 до 10 недель в зависимости от сложности. Стоимость рассчитывается индивидуально — мы оцениваем проект после брифа. Итоговая цена фиксируется в договоре и не меняется в процессе. Экономия на поддержке за счёт кастомной архитектуры может достигать 40% по сравнению с типовыми решениями.

Что входит в работу

  • Аналитика и проектирование архитектуры
  • Разработка кастомных шаблонов и контроллеров
  • Настройка мультиязычности и SEO
  • Интеграция с внешними сервисами (CRM, 1С, платежи)
  • Оптимизация производительности (кеширование, CDN)
  • Документация по администрированию
  • Бесплатная поддержка в течение 1 месяца после запуска

Типичные ошибки при разработке на Sulu

  • Неправильная структура Webspaces. Проектирование под одну локализацию — путь к головной боли. Всегда закладывайте мультиязычность и мультисайт с первого дня.
  • Игнорирование кэширования. Sulu легко кэширует, но если не настроить кэш заранее, страницы будут грузиться медленно. Используйте Redis или Varnish.
  • Смешивание бизнес-логики с шаблонами. Контроллеры должны быть тонкими, вся логика — в сервисах и репозиториях. Twig — только для представления.

Как настроить Webspace за 5 шагов

  1. Создайте XML-файл в config/packages/webspaces/ с корневым тегом <webspace>.
  2. Укажите уникальные <name> и <key>.
  3. Задайте <localizations> с языками и флагом default.
  4. Определите доступные типы страниц через <templates>.
  5. Настройте <portals> с окружениями и URL для каждого языка.

Готовы обсудить ваш проект? Закажите консультацию — оценим объём работ и предложим оптимальное решение. Получите оценку своего проекта в течение одного дня. Свяжитесь с нами, и мы покажем, как Sulu может улучшить ваш бизнес.