Drupal (текущая актуальная версия 9.4.8) — это одна из самых мощных, функциональных и производительных CMS-систем в мире. Точнее, уже далеко не совсем CMS, это скорее CMF (Content Management Framework) с открытым исходным кодом, то есть фреймворк, предназначенный для разработки сложных веб-приложений и веб-интерфейсов с готовой админ-панелью. Более, того, начиная с версии 8, Друпал получил все возможности работы в качестве безголовой (Headless) или разделенной (Decoupled) CMS.
На базе Drupal можно строить всё что угодно. В том числе высоконадёжные и максимально безопасные банковские сервисы, сервисы государственных структур и т.д. Система очень гибко настраивается под любой тип проекта, ядро обновляется независимо от остального кода, поэтому обеспечивает достаточный уровень защиты и производительности в любой момент времени.
Первый релиз Drupal состоялся в 2001 году, автор и текущий руководитель проекта – Дрис Бёйтарт. Система написана на языке программирования PHP и в качестве основы для многих функций использует популярный PHP-фреймворк Symfony. Несмотря на то, что Друпал используется всего на 1,2% сайтов (по статистике w3techs), он входит в десятку самых популярных движков.
«Из коробки» имеются все самые необходимые инструменты: отчёты производительности, система управления доступом и ролями пользователей, конструктор макетов (Layout Builder, работает по аналогии с блочными конструкторами), система модерации, REST API, встроенная система тестирования функций, настраиваемые таксономии и т.д.
Перечислить все возможности Drupal практически невозможно, но ясно одно – это система корпоративного уровня, разрабатываемая профессионалами. При этом Drupal остаётся полностью бесплатным и имеет открытый исходный код. Все дополнения к нему (а их тысячи) распространяются тоже абсолютно бесплатно.
![]() |
|
Плюсы и минусы
Начинающие и даже многие опытные вебмастера обходят Drupal стороной. Дело в том, что порог вхождения для этой CMS очень высокий. Слишком много всего нужно знать и понимать, чтобы начать работать с этой системой. Без опыта и профильных знаний скорее всего придётся нанимать профессионального разработчика, что автоматически приводит к росту расходов на проект и увеличению времени запуска.
Но так ли всё плохо? На самом деле нет, иначе система не была бы так популярна в мире. Ниже – все ключевые достоинства и недостатки Drupal.
Плюсы: |
Минусы: |
✔ Очень гибкая настройка под разные типы проектов. ✔ Огромное количество инструментов для разработки встроено в ядро Drupal (все возможные виды API, системы фильтрации, тестирования, сериализации и десериализации данных и т.д.). ✔ Подходит для работы в качестве Headless CMS. ✔ Высокая безопасность ядра и отдельные обновления основного кода. Все вызовы и функции автоматически тестируются. ✔ Готовые дистрибутивы (сборки) под разные типы задач (например, можно скачать готовый набор с демо-данными для открытия СМИ-портала, блога, социальной сети, магазина и т.п.). ✔ Мощные SEO-возможности из коробки, а также достаточное количество профильных дополнений. ✔ Уверенная работа с большими объёмами данных и под большими нагрузками. Есть встроенная система кэширования и совместимость с любыми серверными технологиями. ✔ Встроенные инструменты для работы с изображениями + плагины и Image API. ✔ Встроенное разделение сред на тестовую и продакшн (в пару кликов можно перенести все изменения из разрабатываемого экземпляра в боевую конфигурацию). ✔ Мультиязычность. ✔ Контроль доступа и система сложного распределения ролей пользователей. Drupal отлично подходит для командной работы. ✔ Конструктор интерфейсов (это, конечно, не Drag-and-Drop решение, но для системы такого уровня обеспечивает невероятную гибкость в работе с элементами интерфейса). ✔ Система дополнительных полей и тонкая настройка сортировки типов материалов по различным критериям. ✔ Огромное количество плагинов и достаточное предложение тем оформления. |
✘ Drupal ориентируется в первую очередь на профессиональных разработчиков, на крупные, сложные и высоконагруженные проекты. Для малостраничных бизнес-сайтов эту CMS лучше не использовать. ✘ Движок требователен к окружению и конфигурации сервера. Например, в последних версиях появилась рекомендация наличия Composer (имеется не на всех общих хостингах). ✘ Разработка плагинов и шаблонов не успевает за обновлениями основного движка. Поэтому для актуальной версии ядра не всегда можно найти нужные дополнения (проблема совместимости версий – одна из самых серьёзных). ✘ У движка очень сложные циклы поддержки, например, поддержка 7 версии активна до ноября 2022 года (обновления безопасности), а для 8 версии поддержка уже окончена. Текущая 9.4 версия будет поддерживаться до декабря 2022 года, позже активная поддержка будет переведена на ветку 9.5, далее на 9.6 и т.д., а в это время уже ведётся активная разработка 10 версии. ✘ После установки сторонних дополнений лучше всего тестировать их работоспособность (многие плагины в каталоге имеют баги и уже давно не поддерживаются разработчиками, могут требовать адаптации исходного кода). ✘ Многие готовые тематические сборки заброшены, поэтому быстро начать в отдельных сферах/нишах не получится. ✘ Установка шаблонов и плагинов из официального каталога требует доступа к консоли Composer или ручной установки в соответствующие каталоги на сервере. Встроенного магазина тем/плагинов в Drupal нет, только установка по ссылке на архив. ✘ В некоторые модули сторонних разработчиков, размещённые в том числе в официальном каталоге движка (около 4 сотен), могут быть внедрены бэкдоры, рассчитанные исключительно на российских пользователей. |
Для профессиональных разработчиков, знакомых с ядром и особенностями Drupal, приведённые минусы не кажутся такими уж и серьёзными. Все они легко решаются и обходятся. А вот для новичков система кажется слишком запутанной со своими представлениями, таксономиями и правами доступа. Но никто и не говорит, что Drupal – простая и дружелюбная CMS-система. Зато для определённого перечня задач она будет просто идеальна.
![]() |
|
CMS Drupal: минимальные требования
Что касается требований к вебмастерам и владельцам сайтов. Как видно из технических особенностей движка, Drupal и не рассчитан на повсеместное применение, разработчики сознательно не снижают порог входа для новичков, чтобы оградить себя от соответствующей аудитории.
Drupal – мощный, гибкий и производительный инструмент, но только в профессиональных руках. Несмотря на все свои недостатки и сложности, он будет востребован всегда, ведь рынок корпоративной разработки никуда не денется.
Ключевая аудитория, на которую рассчитан движок Drupal:
- Опытные web-разработчики и небольшие команды, занимающиеся созданием сайтов под индивидуальные запросы клиента.
- Web-агентства любого размера, которым нужен качественный фреймворк.
- Крупный и средний бизнес, которым нужен эффективный инструмент управления и среда для централизованного управления контентом.
К корпоративному сектору, с которым точно дружит Drupal, можно отнести серьёзные порталы СМИ, сайты государственных компаний (госпорталы), университетов, финтехкомпаний (подойдёт даже для крупных банков), сайты крупной розничной торговли и т.п.
Несмотря на наличие модулей для организации блогов и форумов, запускать небольшой инфосайт на Drupal – не самое логичное решение. Оно оправдано только в том случае, когда вам нужен нестандартный функционал и сложная логика формирования блоков на разных типах страниц.
Точно не нужно устанавливать эту CMS для лендингов, визиток и прочих малостраничных сайтов. Для нужд малого бизнеса логичнее использовать один из онлайн-конструкторов (будет дешевле и быстрее).
Как итог, минимальные требования к web-мастерам высокие, без знаний HTML, CSS, JavaScript и особенностей движка начать будет очень трудно. Очень много времени придётся уделить обучению.
Минимальные требования к хостингу
Drupal 9 умеет работать с разными типами серверов баз данных: MySQL (5.8.3 и выше), MariaDB (10.3.7 и выше), Percona Server (5.7.8 и выше), SQLite (3.26 и выше), PostgreSQL (версия 10 и выше).
В качестве веб-сервера рекомендуется Apache 2.4.7 или Nginx 0.7 и выше.
Версия PHP для стабильной работы – не ниже 7.4. Начиная с Drupal 9.4 движок поддерживает PHP 8.0 и 8.1.
Для новой мажорной версии Drupal 10 (пока в стадии разработки) минимальной версией PHP будет 8.1.
Для лучшего кэширования желательно наличие OPcache и PHP APCu.
Начиная с 9 ветки Друпал рекомендует использовать менеджер пакетов Composer. С его помощью можно не только устанавливать сам движок, но и управлять дополнительными пакетами расширений.
![]() |
|
Как работать с Drupal
Хотя в комплект поставки ядра Drupal входит полноценная админ-панель, в которой можно выполнять все настройки системы без использования консоли и обращения к исходному коду, на статус дружелюбного интерфейса для новичков Друпал не претендует.
Но зато эта админ-панель обеспечивает полный контроль над всеми функциями сайта и легко кастомизируется под нужные роли пользователей, например, если сайтом пользуется целая команда. Более того, вы можете автоматизировать многие бизнес-процессы и взаимодействия между сотрудниками разных групп/отделов (нужна связка модулей Workflows и Triggers).
Интерфейс Drupal сложен для новичков, но для профессионалов он удобен и позволяет быстро решать типовые задачи.
С чего начать
Для установки дистрибутива Drupal его необходимо скачать с официального сайта и распаковать в корне основной директории вашего сайта. Многие хостинги предлагают установку Drupal в один клик (например, у HostGator такая опция точно есть).
Классическая установка через web-интерфейс имеется, и она практически ничем не отличается от установки других популярных скриптов:
- выбираете язык интерфейса (русский имеется в наличии);
- указываете параметры стартовой конфигурации (минимальная, стандартная – с набором самых необходимых модулей, и сборка с демо-контентом, но использовать демо-контент на реальном сайте не рекомендуется);
- настраиваете подключение к базе данных (поддерживаются различные серверы, в том числе NoSQL), происходит проверка минимальных системных требований;
- дожидаетесь загрузки дополнительных модулей и установки скрипта;
- вводите данные для авторизации администратора.
В последних версиях ядра Drupal появилась новая рекомендация – наличие Composer. С его помощью можно управлять зависимостями PHP-пакетов, устанавливать шаблоны, добавлять плагины из официальных репозиториев и т.д.
Вот так выглядят команды в консоли Composer для установки движка с демо-данными:
- composer create-project drupal/recommended-project drupal
- cd drupal && php -d memory_limit=256M web/core/scripts/drupal quick-start demo_umami
Мы рекомендуем начать с демо-контента.
Если какие-то рекомендации для установки будут нарушены, система вас уведомит об этом.
Очень важный момент для новичков – если вас интересует определённая сфера применения движка, просмотрите каталог готовых сборок Drupal. Возможно, уже есть комплексные решения для вашей проблемы, и вы сможете начать не с чистого листа, а с полностью настроенной и готовой к работе конфигурации.
Редактирование сайта
В админ-панели вы можете управлять: содержимым страниц/публикаций (контентом), структурой сайта (тегами, категориями и прочими таксономиями), оформлением сайта, правами пользователей и другими настройками скрипта. Плюс, вы можете загружать и устанавливать дополнения, просматривать отчёты и журналы активности.
При правильном подходе нужно спроектировать то, как будет выглядеть макет разных типов содержимого (например, страниц с записями, страниц архива, главной страницы и т.п.), из каких блоков они будут формироваться, соотнести с каждым блоком свой тип материала и т.д.
Но для ускорения процесса имеются предустановленные типы содержимого, с ними вы сможете опубликовать свои первые материалы в пару кликов.
В разделе «Структура» можно управлять контактными формами, меню, представлениями, блоками (например, виджетами в боковых колонках), таксономиями (теги, категории материалов и т.п.), типами материалов (статьи, страницы и т.п.) и типами медиафайлов.
А в разделе «Содержимое» – создать новый материал, структура и параметры которых были определены в разделе «Структура – Типы материалов».
Что интересно, такой подход очень сложен для быстрого старта, но позволяет тонко настроить, что, где и как может публиковать пользователь с соответствующими правами. В структуру материала можно добавить любые дополнительные поля и сделать сложный дизайн для вывода каждого отдельного параметра.
Простой пример: страница с рецептами. Можно добавить отдельные поля для указания сложности приготовления, времени, необходимого на готовку, основные шаги рецепта, отдельное поле для ингредиентов, количество порций на выходе и т.п.
И так для каждого специфического типа материалов. В реальности вся последующая работа будет проводиться быстрее, а каждый вводимый элемент будет гибко обыгрываться в дизайне. Более того, в настройках вывода блоков вы можете настроить положение и порядок любого контента, как в онлайн-конструкторе.
Что примечательно – в новых версиях движка интерфейс публикации стал сильно напоминать штатный редактор движка WordPress, у которого все необходимые элементы расположены на одной странице. Например, управление заголовками, содержимым, датой публикации (можно задать будущее число и таким образом отложить публикацию), комментариями, синонимами URL (это так называемые ЧПУ) и даже версиями материала (они сохраняются автоматически).
Публикация сайта
Если ваши права доступа включают публикацию материалов, то любой новый материал сайта будет доступен пользователям сразу после создания.
Но если логика ролей доступа в вашей пользовательской модели сложнее, то новый материал может уходить, например, на модерацию, и будет опубликован только по решению пользователя с соответствующими правами.
Отдельно публиковать созданные страницы, как во многих онлайн-конструкторах, в Drupal не нужно.
Тем не менее, на время технического обслуживания, например, для установки плагинов или тем, а также для других задач, администратор может выключить доступ к сайту. Если вы и есть администратор – убедитесь в отсутствии отметки «Перевести сайт в режим обслуживания» в разделе настроек.
Что примечательно для Drupal – в этой CMS не нужно вручную сбрасывать созданный кэш. Все обновления на сайте автоматически меняются в кэшированных страницах.
![]() |
|
Функциональные возможности
Даже базовый комплект модулей с ядром Drupal сможет обеспечить работу большинства типовых функций для работы с сайтами любого размера и тематики. В стандартной сборке поддерживаются следующие возможности:
- управление ЧПУ (без автоматизации, только ручной ввод URL, за это отвечает модуль path);
- редактирование изображений (при наличии на сервере библиотеки GD2) и их оптимизация;
- встроенный поисковой движок;
- автоматическое обновление переводов, плагинов и ядра Drupal;
- интеграция с планировщиком задач CRON;
- гибкое создание различных типов контента и дополнительных полей к ним;
- управление таксономиями (категориями, тегами и другими атрибутами для фильтрации контента);
- система модерирования контента и сложная система управления правами доступа (+журналирование действий);
- загрузка и установка сторонних плагинов/тем;
- мультиязычность;
- встроенное тестирование функций и вызовов для автоматического поиска слабых мест. Очень удобная система мониторинга и отчётов;
- управление выводом блоков интерфейса как в онлайн-конструкторах;
- встроенная система кэширования и другие инструменты для повышения производительности сайта;
- импорт/экспорт конфигураций сайта;
- возможность установки сайта с демо-контентом или загрузки тематических сборок;
- большое количество API для разных задач, Drupal можно использовать как Headless CMS;
- триггеры и автоматизация бизнес-процессов;
- встроенные модули для построения блога и форума, разделов справки, интерактивных туров по сайту, новостных агрегаторов (RSS) и т.п.;
- версионирование контента с автоматическим сохранением истории правок;
- массовое управление материалами из списка (фильтрация, удаление, снятие с публикации, закрепление в списках и на главной и т.п.);
- встроенная система комментирования;
- централизованное управление файлами, связанными с опубликованными материалами.
Если чего-то нет в базовом наборе, вы можете поискать альтернативные связки плагинов. Например, для замены нечитаемых служебных адресов можно настроить автоматические ЧПУ с помощью плагинов autopath, ctools, token и transliteration.
Что нового в версии 9.4.8
Релиз 9-й версии движка стал прямым наследником 8-й ветки (по объёму нововведений это просто очередная минорная версия 8.9.1, но циклы поддержки стали короче), которая закрепила переход Drupal на принципы ООП. Какие ещё изменения произошли в движке 9 ветки:
- Для управления зависимостями пакетов используется Composer (хотя впервые он был внедрён ещё в Drupal 8).
- Движок адаптирован для работы с PHP 8 (вплоть до PHP 8.2, минимально рекомендованный PHP 7.4).
- Апгрейд (миграция) с 8 версии Drupal проще чем когда-либо в истории существования движка.
- Доработан Layout Builder, который позволяет редакторам контента создавать страницы без помощи программистов и дизайнеров.
- Улучшена архитектура, ориентированная на API, включая JSON.
- Доработана медиабиблиотека, которая упрощает управление изображениями, видео и другими медиафайлами.
- Произведена адаптация к требованиям GDPR (работа с данными пользователей).
- Обновлён механизм шаблонизатора Twig с версии 1 до версии 2.
- Продолжены принципы APIfirst, Headless CMS и микросервисов.
- Развивается система автоматизации процессов благодаря интеграции плагина Workflows в ядро Drupal.
- CKEditor переведён с 4 версии на 5. Все внутренние проверки и тестирования адаптированы для совместимости.
- Устаревшая тема Bartik, использовавшаяся долгое время по умолчанию, заменена на более современную Olivero (начиная с Drupal 9.1). Админ-панель теперь использует тему Claro.
- Из системы постепенно выводится использование библиотек jQuery UI и jQuery, они замещаются нативным JavaScript-кодом и собственной библиотекой drupal/once.
- Многие функции API заменяются сервисами.
- Все изображения получили «ленивую» загрузку по умолчанию, даже если они расположены на сторонних ресурсах. Добавлена конвертация в современный WebP-формат.
- В панели управления рядом с устаревшими и нестабильными модулями будут выводиться соответствующие уведомления.
- Кодовая база переведена на фреймворк Symfony 6.
- Исправлено большое количество багов и уязвимостей.
В целом движок начал движение в направлении упрощения. Drupal 8 позиционируется как последний сложный в освоении релиз.
Плагины и интеграции
В официальном каталоге Drupal более 49 тыс. плагинов. Правда, с 9 версией движка совместимо только около 9 тысяч из них. По каждому из расширений предоставляется подробная документация по установке и настройке.
Все они полностью бесплатные и имеют открытый исходный код. Найти премиум-плагины вам вряд ли удастся, только если небольшие дополнения от частных разработчиков в обход официального каталога (на их сайтах).
Установка плагинов осуществляется:
- вручную (через хостинг-панель или с помощью SFTP/FTP-подключения);
- из консоли через Composer (например, composer require ‘drupal/ctools:^4.0’);
- с загрузкой архива в специальном поле через админ-панель;
- с указанием ссылки на архив дополнения (например, https://ftp.drupal.org/files/projects/ctools-8.x-3.6.zip).
Обратите внимание, по умолчанию последние два пункта недоступны. Для их поддержки нужно активировать модуль Update Manager.
Файлы перевода для расширений импортируются автоматически. При желании, вы можете добавить недостающие строки перевода вручную (Главная > Администрирование > Конфигурация > Регион и язык).
Любые виды интеграций можно осуществлять по API. В базовом наборе уже доступны: HAL, JSON, RESTful, сериализация.
С помощью плагинов можно изменить и дополнить любые функции Drupal. Например, сменить редактор страниц (по умолчанию поставляется Text Editor и CKEditor 4, в списке экспериментальных есть CKEditor 5), добавить функционал интернет-магазина или поддержку AMP-страниц, расширить SEO-функционал и т.д.
Что не менее важно – Drupal не нуждается в дополнительной защите. Всё необходимое есть в комплекте. Любые внешние модули проходят через систему безопасности и тестирования функций. В случае проблем вы увидите соответствующие предупреждения.
SEO-возможности
Из коробки Drupal умеет всё, что нужно: вручную переписывать URL (для получения читаемых адресов, процесс можно автоматизировать с помощью связки, которую мы упомянули выше), добавлять все важные мета-теги (для автоматизации процесса тоже можно найти сразу несколько плагинов), ускорять загрузку страниц с помощью кэширования и т.д.
Ряд других seo-задач решается или возможностями шаблона, или специальными плагинами: микроразметка, поддержка адаптивной верстки, AMP-версии страниц и т.д. Всё это тоже можно реализовать в Drupal.
Движок показывает хорошие результаты по скорости загрузки страниц в тесте PageSpeed Insights. При желании их можно существенно улучшить. Для ускорения используются такие технологии, как ленивая подгрузка изображений, сжатие CSS и JavaScript-файлов, поддержка технологии BigPipe, управление заголовками Cache-Control и др.
Не меньше возможностей и для маркетинга. К Drupal легко подключить системы email-рассылок, SMTP-шлюзы, CRM-системы и другие инструменты.
HTTPS-версия сайта
Drupal начиная с версии 8 и выше работает с HTTPS-протоколом из коробки. Всё, что вам нужно сделать:
- получить SSL-сертификат и загрузить его в хостинг-панели (сертификаты от Let’s Encrypt у многих хостеров можно получить автоматически);
- настроить редирект в файле htaccess (при необходимости переадресации всех пользователей с небезопасной версии сайта на безопасную).
Ничего править или настраивать в админ-панели сайта или в его конфигах не нужно.
Автоматическое обновление ядра и модулей
Вы можете обновлять движок из консоли Composer, а можете активировать специальный модуль Update Manager. Он будет следить за актуальными версиями всех установленных расширений и ядра.
Но нужно понимать, что, в отличие от WordPress, Друпал не обновляет плагины и код без участия пользователя (администратора). Для этого обязательно нужно запустить процесс вручную.
Это сделано на тот случай, если ваш сайт в процессе обновления выдаст критическую ошибку. Пользователь должен полностью контролировать процесс, от начала и до конца.
Рабочие пространства и процессы
С помощью плагина Workflow (по умолчанию отключён в стандартной поставке CMS) вы можете организовать свой собственный процесс прохождения записей или материалов (нод) по кастомным состояниям.
Так можно наладить групповую работу и автоматизировать бизнес-процессы выпуска страниц в релиз. Например, одним пользователям — создавать контент, вторым — редактировать его, а третьим — одобрять к публикации и т.п. Смена состояний может быть «Черновик», «Рецензирование» и «Публикация».
Это так называемые рабочие процессы.
Модуль Workflow может работать не только с основными записями, но и с комментариями, формами, страницами и другими типами материалов.
Более сложная структура может быть у сайтов с живым сообществом. Тогда вместо или в дополнение к рабочим процессам может потребоваться разделение рабочих сред на пространства. Например, отдельный раздел сайта, в котором ведётся подготовка материалов, и отдельный – с актуальными (уже размещёнными) записями.
Добиться такого эффекта позволяет модуль Workspace (пока относится к разряду экспериментальных, но включён в ядро стандартной поставки Drupal).
Встроенная система отчётов
Друпал, во-первых, умеет вести самодиагностику и анализировать текущее серверное окружение: какая версия PHP используется, какие модули активны, а какие не мешало бы включить/добавить, какие модули вызывают ошибки, какие ограничения имеются по доступным ресурсам и т.п.
Всю сводную информацию можно получить в удобном и наглядном виде.
Во-вторых, отдельно собираются данные об ошибках. Когда и какие запросы привели к отказам в доступе, какие страницы сайта не были найдены и т.д.
В-третьих, журналируются все основные действия в системе. Записи журнала можно отсортировать по типу, по важности и по времени (дате возникновения).
Плюс, Drupal без каких-либо дополнительных плагинов ведёт статистику популярных поисковых запросов, по которым пользователи попадают на ваш сайт.
Создание интернет-магазина на Drupal
Из коробки в системе нет инструментов для того, чтобы быстро и с минимальными усилиями создать интернет-магазин. Но это не значит, что Drupal не умеет в e-commerce.
В официальном каталоге модулей сразу несколько вариантов расширений для электронной коммерции:
- Drupal Commerce (Centarro Commerce),
- Ubercart,
- Orange E-commerce,
- Drupal Rooms (для букинга и обслуживания отелей),
- DXPR Builder (конструктор страниц со встроенными функциями для онлайн-продаж)
- И т.д.
Есть также решение для российского рынка от самостоятельного разработчика – SiteCommerce.
Также в каталоге дистрибутивов Drupal можно найти сборки с готовыми интернет-магазинами – более 40 вариантов.
Самое популярное и активно развиваемое сообществом решение – Drupal Commerce.
Оно представляет собой связки из нескольких модулей от основного мейнтейнера, компании Centarro, и расширений сторонних авторов (это может быть что угодно, от платёжных шлюзов, до интеграций внешних сервисов).
Основные возможности Drupal Commerce:
- Открытый исходный код.
- Готовность к работе по Headless-модели (набор всех необходимых API-интерфейсов).
- Набор готовых тем оформления и возможность установки (создания) своих.
- Своя система модулей (для расширения функционала магазина).
- Неограниченный каталог товаров с гибко настраиваемыми фильтрами и атрибутами.
- Динамические страницы товаров с тонкой настройкой расположения элементов.
- Более 100 платёжных шлюзов, можно найти и подключить решения, востребованные на российском рынке.
- Всё для управления заказами и готовая адресная книга (хранилище контактных данных клиентов).
- Автоматический расчёт налогов.
- Всё для проведения маркетинговый акций (скидки, купоны и т.п.).
- Ajax-корзина.
- Свои поля на странице заказа.
- Модули для массового импорта и экспорта каталога.
Алгоритм запуска интернет-магазина на Drupal Commerce ничем не отличается от работы с другими платформами: сначала арендуется качественный и надёжный хостинг (мы рекомендуем HostGator), затем устанавливается движок, к нему добавляются необходимые расширения и темы, наполняется каталог, настраиваются платёжные шлюзы и другие интеграции (при необходимости, например, службы доставки), проводится тестирование. Дальнейшая работа не должна останавливаться: продвижение, закупка рекламы, анализ и т.д.
Создание блога на Drupal
В стандартный набор модулей входит расширение Comment, которое обеспечивает удобную работу с системой комментирования.
Если вы выбрали стандартный профиль при установке движка, то в нём уже будет предварительно сконфигурированный тип материалов «Статья». А для общих описательных страниц («О сайте», «Правила» и т.п.) есть тип материалов «Страница».
Вывод – Drupal умеет работать с блогами «из коробки».
Но если штатных возможностей вам недостаточно, вы можете задействовать другие дополнения из официального каталога: для создания архива записей, для формирования блока похожих записей, для защиты от ботов (например, капча), для авторизации через API соцсетей и т.п.
Всё необходимое есть и в избытке. Основная проблема – правильное оформление. Если вас не устроят дефолтные настройки, придётся изрядно повозиться, чтобы контент отображался так, как вам нужно. Но всё это делается фактически один раз, в дальнейшем вам останется только публиковать новые материалы и отвечать на комментарии.
К слову, система модерации контента и комментариев, личные кабинеты пользователей – тоже присутствуют в базовом комплекте Drupal.
Если у вас уже был сайт на WordPress, можно найти дополнение для быстрой миграции через систему импорта/экспорта.
Для тех, кто не хочет заниматься тонкими настройками в каталоге дистрибутивов Drupal есть готовые сборки для запуска блогов.
Дизайн сайта и шаблоны
Готовых шаблонов для Drupal 9 не так много, как для WordPress. Но и не мало в сравнении с другими популярными CMS.
Например, только в официальном каталоге размещено более 3 тысяч шаблонов, правда, только около 400 из них совместимы с версией 9. Но это на самом деле это не проблема. Шаблоны можно найти и в сторонних каталогах, в том числе на таких популярных площадках, как ThemeForest или TemplateMonster.
Плюс, всегда можно заказать разработку уникальной темы или сделать всё своими руками.
Установить шаблон можно точно так же, как любое расширение – через админ-панель (с указанием ссылки на архив или с ручным выбором пакета на ПК) через консоль Compose или через SFTP/FTP-загрузку на сервер.
Далее тему необходимо активировать и установить, как решение по умолчанию.
Но основная проблема с шаблонами Drupal кроется не в их установке, а в их настройке. Точнее, в правильной настройке вывода содержимого.
Дело в том, что у Drupal темы оформления отвечают только за декорирование элементов. Сам порядок блоков и элементов в них определяется на уровне системы в настройках представлений и схем блоков.
Что точно понравится владельцам сайтов и разработчикам – движок автоматически выводит на страницах только те CSS-свойства и JavaScript-файлы, которые участвуют в построении страницы. Например, если определённой формы нет на данной странице, то её CSS/JS файлы будут отсутствовать. За это отвечает Libraries API.
Схема блоков интерфейса
У каждой темы Drupal есть исходный макет, внутри которого предусмотрены точки вывода основных блоков, по аналогии со схемой виджетов в WordPress. Но если в WordPress виджеты – это обычно небольшие комплексные элементы по бокам от основного контента, то в Drupal вы можете собрать какой угодно набор блоков. Это может быть и контент, и специфические поля, и специальные фильтры со списком материалов, и вообще что угодно.
По каждому блоку можно настроить права доступа (показа) и другие параметры.
В любой момент блок можно отключить или удалить.
Так как один и тот же элемент может выводиться в разных местах сайта, вы можете настроить или создать свои варианты отображения.
Блоки могут быть готовыми или составными элементами. Их можно собрать вручную на основе сложной логики. Например, у каждого блока может быть своя шапка и подвал, свой заголовок, набор полей (с разными критериями фильтрации), постраничная навигация, свои CSS-свойства и т.д. Вы можете настроить параметры видимости и поведения в случае отсутствия результатов.
Конструктор контактных форм и полей ввода
Какие-либо плагины или внешние сервисы не понадобятся. Контактные формы можно создавать в любом количестве и выводить там, где это требуется.
В качестве получателей уведомления о заявке из формы можно указать любой адрес электронной почты (один или целый список).
После отправки данных форма может перенаправить клиента на заданный URL-адрес.
В качестве полей формы могут выступать: текстовые элементы, дата, время, изображения, файлы, числа и даже термины таксономии.
Вы можете связать элемент формы с тем или иным элементом системы, детально настроить порядок вывода полей и дополнительных элементов, для этого можно воспользоваться встроенным конструктором или редактор макетов.
Техническая поддержка
Подчерпнуть знания по CMS Drupal пользователи могут:
- на официальном или сторонних форумах, в тематических сообществах;
- в официальной документации движка (частично переведена на русский язык, в этом процессе может поучаствовать любой желающий);
- в общих чатах и других средствах коммуникации, которым пользуется сообщество разработчиков (например, Slack);
- из книг, посвящённых Drupal (есть варианты, переведённые на русский язык);
- из официальных учебных курсов, предлагаемых партнёрами Ассоциации Drupal (курсы могут быть платными);
- из других источников в сети (тематические блоги разработчиков, специальные сервисы поиска ответов, например, Stack Overflow и т.п.).
Плюс, на официальном сайте можно найти предложение услуг партнёров движка по сопровождению и запуску проектов на Drupal.
Порог вхождения таков, что новичкам можно либо приготовиться к долгому изучению мануалов и многочасовой практике, или к расходам на профессиональных разработчиков.
У некоторых популярных расширений в описании можно найти ссылку на платную техподдержку. Например, сопровождением плагина Drupal Commerce занимается компания Centarro, её услуги оцениваются от 499 $/месяц.
![]() |
|
Стоимость использования
Лицензия движка Drupal исключает возможность заработка на распространении кода ядра или дополнений к нему. Основной источник заработка разработчиков – оказание услуг по настройке, запуску, дописыванию функционала и т.п.
Найти платные плагины даже на сторонних площадках очень сложно. Исключение – шаблоны. Их можно купить по таким же ценам, как и для других популярных движков – около 45-70 USD за тему. Но только на сторонних площадках.
Основная категория расходов на Drupal – услуги разработчиков и хостинг. И если цены на работы программистов, дизайнеров и SEO-специалистов всегда обсуждаются индивидуально (в зависимости от объёмов работ и сложности задач), то по ценам на хостинг сориентироваться проще.
На примере HostGator (лучший зарубежный хостинг с безлимитными тарифами):
- Общие (shared) тарифы – от 2,75 USD/месяц. Установка Drupal осуществляется в один клик из хостинг-панели, предоставляется подарочный домен на 1 год, есть бесплатные SSL-сертификаты от Let’s Encrypt, в стартовом тарифе можно разместить 1 сайт.
- Безлимитные тарифы на общем хостинге – 3,50 USD/месяц. Можно разместить любое количество сайтов, место на диске неограниченное.
- VPS-сервер – от 23,95 USD/месяц (за конфигурацию с 2 ядрами CPU, 2 Гб RAM и 120 Гб SSD-диска).
- Dedicated-хостинг (аренда выделенного сервера) – от 89,98 USD/месяц.
Итоговая стоимость сайта на Drupal – от 78 USD за первый год (45 USD шаблон, 12*2,75 USD хостинг, домен предоставляется в подарок на первый год).
![]() |
|
Выводы
Drupal – это наиболее продвинутая из всех универсальных бесплатных CMS с открытым исходным кодом на рынке. Начиная с 8 версии разработчики кардинально поменяли вектор развития системы. Теперь это универсальная платформа для любых задач крупного и среднего бизнеса. На Drupal можно запускать не только сложные высоконагруженные порталы, интернет-магазины, социальные сети и другие виды проектов, но и организовывать обслуживание современных web-приложений (Drupal умеет работать как Headless CMS, все самые востребованные виды API уже входят в комплект поставки).
Сам принцип отнесения Drupal к CMS уже устарел. Это скорее CMF (фреймворк с готовой админ-панелью). Вместе с тем, движок точно не подходит для новичков и малого бизнеса, по крайней мере для задач внедрения на небольших малостраничных сайтах. В остальном это очень гибкая система, которая понравится профессиональным разработчикам и веб-агентствам.