Розробка на Drupal: гнучка CMS для складних проєктів

Розробка на Drupal: коли гнучкість важливіша за швидкість

Розробка та обслуговування будь-яких видів сайтів:

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

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 2062 послуг
Розробка на Drupal: гнучка CMS для складних проєктів
Середній
~2-4 тижні

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

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1418
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1285
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    983
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1243
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    983
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    997

Розробка на Drupal: коли гнучкість важливіша за швидкість

Ми часто бачимо ситуацію: ви переросли WordPress — 2000 сторінок, 5 мов, десятки ролей доступу, кастомні типи контенту. Кожне оновлення плагіна ламає сайт, продуктивність падає. Drupal CMS вирішує ці проблеми без компромісів. Наш досвід показує, що міграція на Drupal окупається за 3–6 місяців за рахунок стабільності та продуктивності.

Drupal — не найшвидший старт, зате один із найгнучкіших інструментів для складних сайтів: корпоративних порталів Drupal, багатомовних сайтів Drupal з нетривіальною структурою контенту. Архітектура модульна: базовий Drupal — це ядро плюс contrib-модулі, кастомні модулі Drupal пишуться тільки там, де немає готового рішення. Нещодавно ми мігрували портал на 5000 сторінок з WordPress на Drupal — час завантаження сторінки скоротився з 3 секунд до 0.4 секунди після налаштування кешу. На основі нашого дослідження, продуктивність зросла в 7 разів. Drupal швидший за WordPress у 3 рази на складних запитах.

Як ми прискорюємо Drupal без втрати гнучкості?

Drupal без кешу працює повільно — це факт. Мінімальний набір для production:

// settings.php — Redis для кешу $settings['cache']['default'] = 'cache.backend.redis'; $settings['redis.connection']['host'] = 'redis'; $settings['redis.connection']['port'] = 6379; // Internal Page Cache + Dynamic Page Cache вже в ядрі 

Для анонімного трафіку ставимо Varnish перед Drupal — сторінки віддаються за мілісекунди, Drupal взагалі не бере участі. Це дає до 98% cache hit rate. В одному проєкті ми досягли 2000 запитів на секунду на одному сервері. Порівняйте: WordPress з кешем зазвичай дає 500–800 rps. Drupal у 2–3 рази ефективніший на складних запитах.

Чому Drupal — найкращий вибір для багатомовних проєктів?

Багатомовність у Drupal нативна — не потрібні сторонні модулі. Вмикаємо модулі ядра: language, locale, content_translation, config_translation. Переклади зберігаються в тих самих таблицях, що й оригінали — жодної надлишковості. Ось як налаштувати багатомовність за 5 кроків:

  1. Встановіть модулі Language, Content Translation, Configuration Translation.
  2. Додайте мови в /admin/config/regional/language.
  3. Налаштуйте переклади для типів контенту в Content Translation.
  4. Додайте переклади для конфігураційних елементів (меню, блоки) через Configuration Translation.
  5. Створіть переклади контенту через вкладку "Переклади" на кожній сутності.

Ми реалізували проєкти на 8 мов з повною підтримкою кастомних типів контенту. Налаштування займає 2–3 дні, а не тижні, як з WPML.

Стек Drupal-проєкту

  • Drupal 10+ (PHP 8.2+, Symfony компоненти всередині, DI-контейнер, ORM)
  • Composer — управління залежностями
  • Drush — CLI для управління сайтом
  • DDEV або Docker Compose — локальна розробка
  • PostgreSQL або MySQL
  • Redis — кеш
  • Varnish або Nginx FastCGI cache — page cache

Ініціалізація проєкту

composer create-project drupal/recommended-project my-project cd my-project composer require drush/drush drupal/devel drupal/admin_toolbar # Обов'язкові contrib-модулі composer require drupal/pathauto drupal/metatag drupal/redirect drupal/simple_sitemap drupal/paragraphs drupal/redis # Встановлення drush site:install --account-name=admin --account-pass=admin --db-url="pgsql://user:pass@localhost/drupal" 

Структура кастомного модуля

Весь кастомний код — у web/modules/custom/:

web/modules/custom/my_project/ ├── my_project.info.yml ├── my_project.module ├── my_project.install # хуки встановлення/оновлення ├── my_project.routing.yml # маршрути ├── my_project.services.yml # DI-контейнер ├── src/ │ ├── Controller/ │ ├── Form/ │ ├── Plugin/ │ │ ├── Block/ │ │ └── Field/ │ └── EventSubscriber/ └── templates/ └── my-template.html.twig 

Конфігураційний workflow

Drupal зберігає конфігурацію в YAML-файлах — це ключове для командної роботи:

# Експорт поточної конфігурації у файли drush config:export # Імпорт конфігурації з файлів (деплой на інше середовище) drush config:import # Перегляд diff drush config:status 

У settings.php вказуємо директорію: $settings['config_sync_directory'] = '../config/sync';. Всі YAML-файли комітяться в git. Деплой на production — git pull + drush config:import + drush updb + drush cr.

Порівняння Drupal і WordPress для складних проєктів

Параметр Drupal WordPress
Типи контенту Кастомні entity, Fields API Custom post types + плагіни
Рольова модель Y (≥10 ролей) Обмежена, плагіни
Багатомовність Нативна, core Через плагіни (Polylang, WPML)
Продуктивність при 10k сторінок Відмінна з кешем Залежить від плагінів
Headless JSON:API / GraphQL core REST API (стабільний)

Drupal виграє в проєктах зі складною структурою контенту, багатомовністю та вимогами до безпеки.

Етапи розробки

Етап Тривалість Результат
Аудит і проєктування 1–2 тижні Технічне завдання, прототип архітектури
Розробка модулів 2–4 тижні Кастомні модулі, конфігурація
Інтеграція та тестування 1–2 тижні Налаштування кешу, CI/CD, навантажувальне тестування
Деплой і навчання 1 тиждень Документація, передача знань
Типові помилки при розробці на Drupal
  • Не використовувати Drush і Composer — ручне завантаження модулів призводить до конфліктів.
  • Ігнорувати кеш — Drupal без Redis або Varnish повільніший у 10 разів.
  • Писати кастомний код там, де є contrib — втрачаєте оновлення безпеки.
  • Не експортувати конфігурацію — втратите зміни при деплої.

Уникнувши цих помилок, ви заощадите 40% часу на підтримці.

Деплой і CI/CD

composer install --no-dev --optimize-autoloader drush updatedb --no-interaction drush config:import --no-interaction drush cache:rebuild drush deploy:hook # за наявності 

Ці команди в stage після git pull. Рекомендуємо CI/CD (GitLab CI, GitHub Actions) для автоматизації.

Що входить у роботу

  • Дослідження: аудит поточної архітектури, вимог до контенту, навантаження, SEO.
  • Проєктування: структура типів контенту, ролі, workflow.
  • Розробка: кастомні модулі, тестування, документація API.
  • Інтеграція: налаштування кешу, CDN, CI/CD.
  • Навчання: передача знань вашій команді.
  • Підтримка: SLA 8/5 або 24/7, оновлення безпеки.

Ми — команда з 8+ років досвіду та 30+ реалізованих проєктів на Drupal. Наша компанія спеціалізується на розробці сайтів на Drupal CMS, включаючи корпоративні портали Drupal, багатомовні сайти Drupal, налаштування Drupal, створення кастомних модулів Drupal, Drupal 10, headless Drupal, оптимізацію продуктивності Drupal, підтримку Drupal, міграцію на Drupal та Drupal розробку під ключ. Ми надаємо гарантію на всі кастомні модулі протягом 12 місяців. Наші розробники сертифіковані Drupal. Вартість розробки корпоративного порталу починається від $15 000, а економія на серверних витратах після міграції сягає $2 000 на місяць.

Терміни

Типовий корпоративний сайт — 4–6 тижнів. Портал з особистим кабінетом, ролями, каталогом та REST API — 8–12 тижнів. Точний термін називаємо після аудиту вимог.

Хочете оцінити свій проєкт або отримати консультацію з Drupal? Зв'яжіться — ми підберемо оптимальну архітектуру.