Обзор CMS Drupal 9.1.10

Drupal (текущая актуальная версия 9.1.10) — это одна из самых мощных, функциональных и производительных CMS-систем в мире. Точнее, уже далеко не совсем CMS, как это принято считать в классическом понимании. Drupal – это скорее CMF (Content Management Framework) с открытым исходным кодом, то есть готовый фреймворк, предназначенный для разработки сложных веб-приложений и веб-интерфейсов с готовой админ-панелью. Более, того, начиная с версии 8, Друпал получил все возможности работы в качестве безголовой (Headless) или разделенной (Decoupled) CMS.

На базе Drupal можно строить всё что угодно. В том числе высоконадёжные и максимально безопасные банковские сервисы, сервисы государственных структур и т.д. Система очень гибко настраивается под любой тип проекта, ядро обновляется независимо от остального кода, поэтому обеспечивает достаточный уровень защиты и производительности в любой момент времени.

«Из коробки» имеются все самые необходимые инструменты: отчёты производительности, система управления доступом и ролями пользователей, конструктор макетов (Layout Builder, работает по аналогии с блочными конструкторами), система модерации, REST API, встроенная система тестирования функций, настраиваемые таксономии и т.д.

Перечислить все возможности Drupal практически невозможно, но ясно одно – это система корпоративного уровня, разрабатываемая профессионалами. При этом Drupal остаётся полностью бесплатным и имеет открытый исходный код. Все дополнения к нему (а их тысячи) распространяются тоже абсолютно бесплатно.

Drupal
  • Бесплатная CMS/CMF с открытым кодом
  • Подходит для проектов любой сложности
  • Огромное количество дополнений и шаблонов

Плюсы и минусы

Начинающие и даже многие опытные вебмастера обходят Drupal стороной. Дело в том, что порог вхождения для этой CMS очень высокий. Слишком много всего нужно знать и понимать, чтобы начать работать с этой системой. Без опыта и профильных знаний скорее всего придётся нанимать профессионального разработчика, что автоматически приводит к росту расходов на проект и увеличению времени запуска. Но так ли всё плохо? На самом деле нет, иначе система не была бы так популярна в мире. Ниже – все ключевые достоинства и недостатки Drupal.

Плюсы:
Минусы:
Очень гибкая настройка под разные типы проектов.
Огромное количество инструментов для разработки встроено в ядро Drupal (все возможные виды API, системы фильтрации, тестирования, сериализации и десериализации данных и т.д.).
Подходит для работы в качестве Headless CMS.
Высокая безопасность ядра и отдельные обновления основного кода. Все вызовы и функции автоматически тестируются.
Готовые дистрибутивы (сборки) под разные типы задач (например, можно скачать готовый набор с демо-данными для открытия СМИ-портала, блога, социальной сети и т.п.).
Мощные SEO-возможности из коробки, а также достаточное количество профильных дополнений.
Уверенная работа с большими объёмами данных и под большими нагрузками. Есть встроенная система кэширования и совместимость с любыми серверными технологиями.
Встроенные инструменты для работы с изображениями + плагины и Image API.
Встроенное разделение сред на тестовую и продакшн (в пару кликов можно перенести все изменения из разрабатываемого экземпляра в боевую конфигурацию).
Мультиязычность.
Контроль доступа и система сложного распределения ролей пользователей. Drupal отлично подходит для командной работы.
Конструктор интерфейсов (это, конечно, не Drag-and-Drop решение, но для системы такого уровня обеспечивает невероятную гибкость в работе с элементами интерфейса).
Система дополнительных полей и тонкая настройка сортировки типов материалов по различным критериям.
Огромное количество плагинов и достаточное предложение готовых шаблонов.

Drupal ориентируется в первую очередь на профессиональных разработчиков, на крупные, сложные и высоконагруженные проекты. Для малостраничных бизнес-сайтов эту CMS лучше не использовать.
Движок требователен к окружению и конфигурации сервера. Например, в последних версиях появилась рекомендация наличия Composer (имеется не на всех общих хостингах).
Разработка плагинов и шаблонов не успевает за обновлениями основного движка. Поэтому для актуальной версии ядра не всегда можно найти нужные дополнения (проблема совместимости версий – одна из самых серьёзных).
У движка очень сложные циклы поддержки, например, поддержка 7 версии активна до ноября 2022 года (обновления безопасности), а для 8 версии поддержка уже окончена. Текущая 9 версия будет поддерживаться до июня 2022 года, а в это время уже ведётся активная разработка 10 версии, и т.д.
После установки сторонних дополнений лучше всего тестировать их работоспособность (многие плагины в каталоге имеют баги и уже давно не поддерживаются разработчиками, могут требовать адаптации исходного кода).
Многие готовые тематические сборки заброшены, поэтому быстро начать в отдельных сферах/нишах не получится.
Установка шаблонов и плагинов из официального каталога требует доступа к консоли Composer или ручной установки в соответствующие каталоги на сервере. Встроенного магазина тем/плагинов в Drupal нет, только установка по ссылке на архив.

Для профессиональных разработчиков, знакомых с ядром и особенностями Drupal, приведённые минусы не кажутся такими уж и серьёзными. Все они легко решаются и обходятся. А вот для новичков система кажется слишком запутанной со своими представлениями, таксономиями и правами доступа. Но никто и не говорит, что Drupal – простая и дружелюбная CMS-система. Зато для определённого перечня задач она будет просто идеальна.

Drupal
  • Лучшая CMS для корпоративных разработчиков
  • Высокая безопасность и производительность
  • Хорошо документированное API на все случаи

Для кого предназначен

Как видно из технических особенностей движка, Drupal и не рассчитан на повсеместное применение, разработчики сознательно не снижают порог входа для новичков, чтобы оградить себя от соответствующей аудитории.

Drupal – мощный, гибкий и производительный инструмент, но только в профессиональных руках. Несмотря на все свои недостатки и сложности, он будет востребован всегда, ведь рынок корпоративной разработки никуда не денется.

Drupal — главная страница

Ключевая аудитория, на которую рассчитан движок Drupal:

  • Опытные web-разработчики и небольшие команды, занимающиеся созданием сайтов под индивидуальные запросы клиента.
  • Web-агентства любого размера, которым нужен качественный фреймворк.
  • Крупный и средний бизнес, которым нужен эффективный инструмент управления и среда для централизованного управления контентом.

К корпоративному сектору, с которым точно дружит Drupal, можно отнести серьёзные порталы СМИ, сайты государственных компаний (госпорталы), университетов, финтехкомпаний (подойдёт даже для крупных банков), сайты крупной розничной торговли и т.п.

Несмотря на наличие модулей для организации блогов и форумов, запускать небольшой инфосайт на Drupal – не самое логичное решение. Оно оправдано только в том случае, когда вам нужен нестандартный функционал и сложная логика формирования блоков на разных типах страниц.

Точно не нужно устанавливать эту CMS для лендингов, визиток и прочих малостраничных сайтов. Для нужд малого бизнеса логичнее использовать один из онлайн-конструкторов (будет дешевле и быстрее).

Drupal
  • Лучшая CMS для внедрения в бизнесе
  • Идеальный инструмент командной разработки
  • Подходит для высоконагруженных проектов

Простота использования

Хотя в комплект поставки ядра Drupal входит полноценная админ-панель, в которой можно выполнять все настройки системы без использования консоли и обращения к исходному коду, на статус дружелюбного интерфейса для новичков Друпал и не претендует.

Но зато эта админ-панель обеспечивает полный контроль над всеми функциями сайта и легко кастомизируется под нужные роли пользователей, если сайтом пользуется целая команда. Более того, вы можете автоматизировать многие бизнес-процессы и взаимодействия между сотрудниками разных групп/отделов (нужна связка модулей Workflows и Triggers).

Интерфейс Drupal сложен для новичков, но для профессионалов он удобен и позволяет быстро решать типовые задачи.

С чего начать

Для установки дистрибутива Drupal его необходимо скачать с официального сайта и распаковать в корне основной директории вашего сайта. Многие хостинги предлагают установку Drupal в один клик (например, у Bluehost такая опция точно есть).

Классическая установка через web-интерфейс имеется, и она практически ничем не отличается от установки других популярных скриптов:

  1. выбираете язык интерфейса (русский имеется в наличии);
  2. указываете параметры стартовой конфигурации (минимальная, стандартная – с набором самых необходимых модулей, и сборка с демо-контентом, но использовать демо-контент на реальном сайте не рекомендуется);
  3. настраиваете подключение к базе данных (поддерживаются различные серверы, в том числе NoSQL), происходит проверка минимальных системных требований;
  4. дожидаетесь загрузки дополнительных модулей и установки скрипта;
  5. вводите данные для авторизации администратора.

В последних версиях ядра Drupal появилась новая рекомендация – наличие Composer. С его помощью можно управлять зависимостями PHP-пакетов, устанавливать шаблоны, добавлять плагины из официальных репозиториев и т.д.

Мы рекомендуем начать с демо-контента.

Если какие-то рекомендации для установки будут нарушены, система вас уведомит об этом.

Очень важный момент для новичков – если вас интересует определённая сфера применения движка, просмотрите каталог готовых сборок Drupal. Возможно, уже есть комплексные решения для вашей проблемы, и вы сможете начать не с чистого листа, а с полностью настроенной и готовой к работе конфигурации.

Редактирование сайта

В админ-панели вы можете управлять: содержимым страниц/публикаций (контентом), структурой сайта (тегами, категориями и прочими таксономиями), оформлением сайта, правами пользователей и другими настройками скрипта. Плюс, вы можете загружать и устанавливать дополнения, просматривать отчёты и журналы активности.

Drupal — панель управления

При правильном подходе нужно спроектировать то, как будет выглядеть макет разных типов содержимого (например, страниц с записями, страниц архива, главной страницы и т.п.), из каких блоков они будут формироваться, соотнести с каждым блоком свой тип материала и т.д.

Но для ускорения процесса имеются предустановленные типы содержимого, с ними вы сможете опубликовать свои первые материалы в пару кликов.

В разделе «Структура» можно управлять контактными формами, меню, представлениями, блоками (например, виджетами в боковых колонках), таксономиями (теги, категории материалов и т.п.), типами материалов (статьи, страницы и т.п.) и типами медиафайлов.

А в разделе «Содержимое» – создать новый материал, структура и параметры которых были определены в разделе «Структура – Типы материалов».

Что интересно, такой подход очень сложен для быстрого старта, но позволяет тонко настроить, что, где и как может публиковать пользователь с соответствующими правами, например, редактор. В структуру материала можно добавить любые дополнительные поля и сделать сложный дизайн для вывода каждого отдельного параметра.

Простой пример: страница с рецептами. Можно добавить отдельные поля для указания сложности приготовления, времени, необходимого на готовку, основные шаги рецепта, отдельное поле для ингредиентов, количество порций на выходе и т.п.

И так для каждого специфичного типа материалов. В реальности вся последующая работа редактора будет проводиться быстрее, а каждый вводимый элемент будет гибко обыгрываться в дизайне. Более того, в настройках вывода блоков вы можете настроить положение и порядок любого контента, как в онлайн-конструкторе.

Публикация сайта

Если ваши права доступа включают публикацию материалов, то любой новый материал сайта будет доступен пользователям сразу после создания.

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

Отдельно публиковать созданные страницы, как во многих онлайн-конструкторах, в Drupal не нужно.

Тем не менее, на время технического обслуживания, например, для установки плагинов или тем, а также для других задач, администратор может выключить доступ к сайту. Если вы и есть администратор – убедитесь в отсутствии отметки «Перевести сайт в режим обслуживания» в разделе настроек сайта.

Что примечательно для Drupal – в этой CMS не нужно вручную сбрасывать созданный кэш. Все обновления на сайте автоматически меняются в кэшированных страницах.

Минимальные требования к хостингу

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.3, но лучше 7.4 и выше (в том числе 8.0).

Для лучшего кэширования желательно наличие OPcache и PHP APCu.

Drupal
  • Сложное, но очень гибкое редактирование сайта
  • Детальная настройка логики вывода контента
  • Готовые сборки ядра и плагинов быстрого старта

Функциональные возможности

Даже базовый комплект модулей с ядром Drupal сможет обеспечить работу большинства типовых функций для работы с сайтами любого размера и тематики. В стандартной сборке поддерживаются следующие возможности:

  • управление ЧПУ (без автоматизации, только ручной ввод URL, за это отвечает модуль path);
  • редактирование изображений (при наличии на сервере библиотеки GD2) и их оптимизация;
  • встроенный поисковой движок;
  • автоматическое обновление переводов, плагинов и ядра Drupal;
  • интеграция с планировщиком задач CRON;
  • гибкое создание различных типов контента и дополнительных полей к ним;
  • управление таксономиями (категориями, тегами и другими атрибутами для фильтрации контента);
  • система модерирования контента и сложная система управления правами доступа (+журналирование действий);
  • загрузка и установка сторонних плагинов/тем;
  • мультиязычность;
  • встроенное тестирование функций и вызовов для автоматического поиска слабых мест. Очень удобная система мониторинга и отчётов;
  • управление выводом блоков интерфейса как в онлайн-конструкторах;
  • встроенная система кэширования и другие инструменты для повышения производительности сайта;
  • импорт/экспорт конфигураций сайта;
  • возможность установки сайта с демо-контентом или загрузки тематических сборок;
  • большое количество API для разных задач, Drupal можно использовать как Headless CMS;
  • триггеры и автоматизация бизнес-процессов;
  • встроенные модули для построения блога и форума, разделов справки, интерактивных туров по сайту, новостных агрегаторов (RSS) и т.д.

Если чего-то нет в базовом наборе, вы можете поискать альтернативные связки плагинов. Например, для замены нечитаемых служебных адресов можно настроить автоматические ЧПУ с помощью плагинов autopath, ctools, token и transliteration.

Что нового в версии 9.1.10

Релиз 9-й версии движка стал прямым наследником 8-й ветки (по объёму нововведений это просто очередная минорная версия 8.9.1, но циклы поддержки стали короче), которая закрепила переход Drupal на принципы ООП. Какие ещё изменения произошли в движке 9 ветки:

  • Для управления зависимостями пакетов используется Composer (хотя впервые он был внедрён ещё в Drupal 8).
  • Движок адаптирован для работы с PHP 8 (минимально рекомендованный PHP 7.4).
  • Апгрейд (миграция) с 8 версии Drupal проще чем когда-либо в истории существования движка.
  • Доработан Layout Builder, который позволяет редакторам контента создавать страницы без помощи программистов и дизайнеров.
  • Улучшена архитектура, ориентированная на API, включая JSON.
  • Доработана медиабиблиотека, которая упрощает управление изображениями, видео и другими медиафайлами.
  • Произведена адаптация к требованиям GDPR (работа с данными пользователей).
  • Обновлён механизм шаблонизатора Twig с версии 1 до версии 2.
  • Продолжены принципы APIfirst, Headless CMS и микросервисов.
  • Развивается система автоматизации процессов благодаря интеграции плагина Workflows в ядро Drupal.

Плагины и интеграции

В официальном каталоге Drupal более 42 тыс. плагинов. Правда, с 9 версией движка совместимо только около 5,8 тысяч из них. По каждому их них предоставляется подробная документация по установке и настройке.

Drupal — расширения

Все они полностью бесплатные и имеют открытый исходный код. Найти премиум-плагины вам вряд ли удастся, только если небольшие дополнения от частных разработчиков в обход официального каталога (на их сайтах).

Установка плагинов осуществляется:

  • вручную (через хостинг-панель или с помощью SFTP/FTP-подключения);
  • с загрузкой архива в специальном поле через админ-панель;
  • с указанием ссылки на архив дополнения (например, https://ftp.drupal.org/files/projects/ctools-8.x-3.6.zip).

Файлы перевода для расширений импортируются автоматически. При желании, вы можете добавить недостающие строки перевода вручную (Главная > Администрирование > Конфигурация > Регион и язык).

Любые виды интеграций можно осуществлять по API. В базовом наборе уже доступны: HAL, JSON, RESTful, сериализация.

С помощью плагинов можно изменить и дополнить любые функции Drupal. Например, сменить редактор страниц (по умолчанию поставляется CKEditor), добавить функционал интернет-магазина или поддержку AMP-страниц, расширить SEO-функционал и т.д.

SEO-возможности

Из коробки Drupal умеет всё, что нужно: вручную переписывать URL (для получения читаемых адресов, хотя процесс можно автоматизировать с помощью связки, которую мы упомянули выше), добавлять все важные мета-теги (для автоматизации процесса тоже можно найти сразу несколько плагинов), ускорять загрузку страниц с помощью кэширования и т.д.

Ряд других seo-задач решается или возможностями шаблона, или специальными плагинами: микроразметка, поддержка адаптивной верстки, AMP-версии страниц и т.д. Всё это тоже можно реализовать в Drupal.

HTTPS-версия сайта

Drupal начиная с версии 8 и выше работает с HTTPS-протоколом из коробки. Всё, что вам нужно сделать:

  1. получить SSL-сертификат и загрузить его в хостинг-панели (сертификаты от Let’s Encrypt у многих хостеров можно получить автоматически).
  2. Настроить редирект в файле htaccess (при необходимости переадресации всех пользователей с небезопасной версии сайта на безопасную).

Ничего править или настраивать в админ-панели сайта или в его конфигах не нужно.

Drupal
  • Поддержка HTTPS-протокола из коробки
  • Огромное количество плагинов
  • Все необходимые атрибуты для SEO

Дизайн сайта и шаблоны

Готовых шаблонов для Drupal 9 не так много, как для WordPress. Но и не мало в сравнении с другими популярными CMS.

Drupal — дизайн сайта

Например, только в официальном каталоге размещено почти 3 тысячи шаблонов, правда, только около 300 из них совместимы с версией 9. Но это на самом деле не проблема. Шаблоны можно найти в сторонних каталогах, в том числе на таких популярных площадках, как ThemeForest или TemplateMonster.

Плюс, всегда можно заказать разработку уникальной темы или сделать всё своими руками.

Установить шаблон можно точно так же, как любое расширение – через админ-панель (с указанием ссылки на архив или с ручным выбором пакета на ПК) или через SFTP/FTP-загрузку на сервер.

Далее тему необходимо активировать и установить как решение по умолчанию.

Но основная проблема с шаблонами Drupal кроется не в их установке, а в их настройке. Точнее, в правильной настройке вывода содержимого.

Что точно понравится владельцам сайтов и разработчикам – движок автоматически выводит на страницах только те CSS-свойства JavaScript-файлы, которые участвую в построении страницы. Например, если определённой формы нет на данной странице, то её CSS/JS файлы будут отсутствовать. За это отвечает Libraries API.

Drupal
  • Достаточный выбор готовых шаблонов
  • Гибкая настройка тем и блоков
  • Конструктор макетов и форм

Техническая поддержка

Подчерпнуть знания по CMS Drupal пользователи могут:

  • на официальном или сторонних форумах, в тематических сообществах;
  • в официальной документации движка (частично переведена на русский язык, в этом процессе может поучаствовать любой желающий);
  • в общих чатах и других средствах коммуникации, которым пользуется сообщество разработчиков (например, Slack);
  • из книг, посвящённых Drupal (есть варианты, переведённые на русский язык);
  • из официальных учебных курсов, предлагаемых партнёрами Ассоциации Drupal (курсы могут быть платными);
  • из других источников в сети (тематические блоги разработчиков, специальные сервисы поиска ответов, например, Stack Overflow и т.п.).

Плюс, на официальном сайте можно найти предложение услуг партнёров движка по сопровождению и запуску проектов на Drupal.

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

Drupal
  • Подробная официальная документация и книги
  • Профессиональные обучающие курсы по движку
  • Платная и бесплатная помощь профессионалов

Стоимость использования

Лицензия движка Drupal исключает возможность заработка на распространении кода ядра или дополнений к нему. Основной источник заработка разработчиков – оказание услуг по настройке, запуску, дописыванию функционала и т.п.

Найти платные плагины даже на сторонних площадках очень сложно. Исключение – шаблоны. Их можно купить по таким же ценам, как и для других популярных движков – около 45-70 USD за тему. Но только на сторонних площадках.

Основная категория расходов на Drupal – услуги разработчиков и хостинг. И если цены на работы программистов, дизайнеров и SEO-специалистов всегда обсуждаются индивидуально (в зависимости от объёмов работ и сложности задач), то по ценам на хостинг сориентироваться проще.

На примере Bluehost (хостинг «номер один» в списке рекомендуемых разработчиками Drupal):

  • Общие (shared) тарифы – от 2,95 USD/месяц. Установка Drupal осуществляется в один клик из хостинг-панели, предоставляется подарочный домен на 1 год, есть бесплатные SSL-сертификаты от Let’s Encrypt, место на SSD-диске 50 Гб, можно разместить 1 сайт.
  • Безлимитные тарифы на общем хостинге – от 5,45 USD/месяц. Нет ограничений по занимаемому дисковому пространству и по количеству сайтов в аккаунте.
  • VPS-сервер – от 18,99 USD/месяц (за конфигурацию с 2 ядрами CPU, 2 Гб RAM и 30 Гб SSD-диска).
  • Dedicated-хостинг (аренда выделенного сервера) – от 79,99 USD/месяц.

Итоговая стоимость сайта на Drupal – от 80 USD за первый год (45 USD шаблон, 12*2,95 USD хостинг).

Drupal
  • Полностью бесплатный движок и плагины к нему
  • Приемлемые цены на премиум-шаблоны
  • Подходит даже общий/виртуальный хостинг

Выводы

Drupal – это наиболее продвинутая из всех универсальных бесплатных CMS с открытым исходным кодом на рынке. Начиная с 8 версии разработчики кардинально поменяли вектор развития системы. Теперь это универсальная платформа для любых задач крупного и среднего бизнеса. На Drupal можно запускать не только сложные высоконагруженные порталы, интернет-магазины, социальные сети и другие виды проектов, но и организовывать обслуживание современных web-приложений (Drupal умеет работать как Headless CMS, все самые востребованные виды API уже входят в комплект поставки).

Сам принцип отнесения Drupal к CMS уже устарел. Это скорее CMF (фреймворк с готовой админ-панелью). Вместе с тем, движок точно не подходит для новичков и малого бизнеса, по крайней мере для задач внедрения на небольших малостраничных сайтах. В остальном это очень гибкая система, которая понравится профессиональным разработчикам и веб-агентствам.

» Обзоры » Обзор CMS Drupal 9.1.10