Выбирайте WordPress, если нет конкретной причины поступить иначе. По данным опроса W3Techs, на нём работает больше 40% всех сайтов, для него есть любая тема и любой плагин, которые могут понадобиться, а любой, кого вы наймёте позже, будет его знать. Выбирайте Drupal, когда сайт на самом деле - приложение со структурированным контентом: много типов контента с полями, детальные права, редакционный процесс, серьёзная многоязычность, - и у вас есть разработчик, который будет сопровождать его через Composer. Выбирайте Joomla, когда нужно больше встроенных возможностей, чем даёт WordPress (многоязычность, уровни доступа, структурированная система меню), но без накладных расходов Drupal на разработчика, и вас устраивает гораздо меньшая экосистема. Все три - PHP-приложения на MySQL-совместимой базе данных, и все три каждый месяц отнимают у вас время на обновления, что бы вы ни выбрали.
Краткое сравнение#
| WordPress | Drupal | Joomla | |
|---|---|---|---|
| Лучше всего подходит для | Блогов, сайтов компаний, магазинов, почти всего | Структурированного контента, крупных или регулируемых сайтов | Сайтов сообществ и клубов, многоязычных сайтов |
| Порог входа | Низкий | Высокий | Средний |
| Расширения | Десятки тысяч бесплатных плагинов | Тысячи модулей, чаще для разработчиков | Тысячи расширений, многие коммерческие |
| Многоязычность | Нужен плагин | В ядре | В ядре |
| Роли и права | Пять фиксированных ролей, расширяются плагинами | Полностью детальные в ядре | Группы и уровни доступа в ядре |
| Способ установки | Загрузить и запустить установщик | Проект Composer | Загрузить и запустить установщик |
| Кто сопровождает | Любой аккуратный человек | Разработчик | Уверенный владелец сайта |
Таблица скрывает самое важное различие: какая часть сайта - это CMS, а какая - расширения. Сайт на WordPress - это в основном плагины: контактная форма, SEO, кэширование, безопасность, бэкапы, конструктор страниц, - и его качество равно качеству этих плагинов. Сайт на Drupal - это в основном ядро плюс конфигурация, с меньшим числом более крупных модулей. Joomla - посередине. От этого зависит всё остальное: поверхность атаки, боль при обновлениях и то, кто вам нужен, чтобы сайт продолжал работать.
Требования: PHP, база данных и память#
Всем трём нужен PHP с обычными расширениями (mysqli или pdo_mysql, gd или imagick, mbstring, xml, zip, curl, intl для Drupal и рекомендуется для остальных), веб-сервер с перезаписью URL и MySQL-совместимая база данных. Точные минимальные версии меняются с каждым выпуском, поэтому считайте приведённые актуальными на момент написания и перед установкой проверьте страницу требований проекта.
| WordPress | Drupal 11 | Joomla 5 | |
|---|---|---|---|
| PHP | Рекомендуется 8.3 или новее | Требуется 8.3 | Минимум 8.1, рекомендуется 8.3 |
| MySQL | Рекомендуется 8.0 или новее | 8.0 или новее | 8.0.13 или новее |
| Другие базы данных | MariaDB | MariaDB, PostgreSQL, SQLite | MariaDB, PostgreSQL |
| Инструменты | Установщик в браузере, по желанию WP-CLI | Composer и Drush | Установщик в браузере, по желанию CLI |
Настоящие различия проявляются в памяти. PHP выполняет каждый запрос в воркере с собственным memory_limit, и сколько нужно запросу, решают CMS и её расширения:
- WordPress обслуживает простой сайт за 64-128 MB на запрос; WooCommerce и конструкторы страниц поднимают это до 256 MB и больше. Целый небольшой сайт вместе с базой данных помещается в 1 GB. Расчёт по трафику - в статье сколько RAM нужно WordPress.
- Drupal тяжелее на запрос - 128 MB реалистичный минимум, а 256 MB нормально для сайта с множеством модулей, - но благодаря встроенному кэшированию большинство анонимных запросов вообще не собирают страницу.
- Joomla близка к WordPress на сопоставимом сайте.
Линейка CMS в RE:NODE начинается с 1 GB именно поэтому: один сайт с базой данных помещается, а тарифы побольше - для установок с множеством плагинов и нескольких сайтов рядом. Про memory_limit, upload_max_filesize и остальное, что вы захотите изменить, - статья настройки php.ini, которые имеют значение.
WordPress: выбор по умолчанию, и не зря#
WordPress - это движок для блогов, выросший в универсальную CMS, и эта история заметна: контент - это записи и страницы, а пользовательские типы записей и поля (через плагины вроде Advanced Custom Fields) прикручены сбоку. Для большинства сайтов это нормально, а его преимущества трудно превзойти:
- Экосистема. Что бы вам ни понадобилось - бронирование, магазин, членство, форум, многоязычность, - для этого есть несколько плагинов, и некоторые из них отличные.
- Редактор. Блочный редактор хорош для тех, кто пишет, а сотрудники без технической подготовки осваивают WordPress быстрее, чем что-либо ещё.
- Кадры. Его знают все веб-студии и многие фрилансеры.
- Автоматические обновления. Минорные выпуски ядра, которые несут исправления безопасности, по умолчанию устанавливаются автоматически. Автообновление плагинов и тем можно включить для каждого отдельно.
Издержки - обратная сторона тех же достоинств. Большинство взломов WordPress происходит через плагины, а не через ядро: заброшенный плагин с известной дырой - обычный путь внутрь. У сайта с сорока плагинами сорок поставщиков, чей код работает с полным доступом к вашей базе данных. Проблемы с производительностью обычно вызывает один тяжёлый плагин. Решение - дисциплина, а не другая CMS: меньше плагинов, выбранных по истории сопровождения, и еженедельные обновления, - а остальное разобрано в статье защита WordPress.
Установка - это zip-архив и установщик в браузере: создайте базу данных и пользователя, загрузите файлы, заполните wp-config.php или дайте установщику записать его. Статья ручная установка WordPress проводит через этот процесс на хостинге без установщика в один клик.
Drupal: структурированный контент и серьёзные права#
Drupal - это фреймворк для контента. Вы определяете типы контента с типизированными полями, таксономии, связи между сущностями, представления (views), которые выводят и фильтруют их, и систему прав, которая может дать ровно одной роли право редактировать ровно один тип контента. В ядре есть то, для чего WordPress нужны плагины:
- Многоязычность - четыре модуля ядра переводят контент, конфигурацию и интерфейс.
- Модерация контента и рабочие процессы - черновик, проверка, публикация, с правами на каждый переход.
- Views - конструктор запросов для списков, лент и вывода REST, в ядре начиная с Drupal 8.
- Layout Builder и кэширование - макеты для отдельных страниц плюс Internal Page Cache и Dynamic Page Cache, которые обслуживают большинство запросов без пересборки страницы.
- JSON:API в ядре, что делает Drupal вполне разумным headless-бэкендом.
Современный Drupal собирается и обновляется через Composer. Новый сайт начинается с composer create-project drupal/recommended-project, модули добавляются через composer require drupal/<module>, а обновление - это composer update, затем drush updatedb. Это правильный способ управлять PHP-приложением и неправильный для владельца сайта, который ни разу не открывал терминал. Если никому в проекте не комфортно с Composer, Drupal станет сайтом, который никто не решается обновлять.
Начиная с Drupal 8 мажорные обновления инкрементальны: каждая мажорная версия удаляет код, объявленный устаревшим в предыдущей, поэтому сайт, который вовремя избавляется от устаревшего, переходит с 10 на 11 без пересборки. Болезненной была миграция с Drupal 7 на 8, а у Drupal 7 в январе 2025 года закончился срок поддержки - любой ещё работающий сайт на Drupal 7 не поддерживается. Про settings.php, cron и кэширование подробно - в статье руководство по хостингу Drupal.
Joomla: больше из коробки, меньше сообщество#
Ядро Joomla из коробки шире, чем у WordPress: многоязычные сайты со связями между языками, система меню, которая управляет макетом страниц, группы пользователей и уровни доступа к просмотру, пользовательские поля, рабочие процессы и встроенный компонент обновлений, который обновляет ядро и установленные расширения из панели администратора. Для клуба, школы, сайта с членством или многоязычного сайта-визитки Joomla может без расширений сделать то, для чего WordPress нужны три-четыре плагина.
Цена - экосистема. Расширений и шаблонов гораздо меньше, большая их доля коммерческие, и меньше людей, которые хорошо знают систему. Переход с Joomla 3 на 4 сломал многие шаблоны и расширения и заставил множество сайтов пересобираться; переход с 4 на 5 был мягче - с плагином обратной совместимости, который поддерживал работу старых расширений, пока их разработчики догоняли. Прежде чем обновляться, проверьте, что расширения, от которых вы зависите, поддерживают текущую мажорную версию.
Joomla устанавливается как WordPress: загрузите пакет, создайте базу данных, запустите веб-установщик и удалите папку installation, когда он об этом попросит. Подробности конфигурации и обновлений - в статье руководство по хостингу Joomla.
Сопровождение: во что каждая обходится каждый месяц#
Все три - программы, которые весь день автоматически атакуют сканеры в поисках известных дыр. Выбранная CMS важна меньше, чем то, обновляете ли вы её.
| Задача | WordPress | Drupal | Joomla |
|---|---|---|---|
| Выпуски безопасности | Минорные обновления ядра ставятся автоматически | Бюллетени безопасности, применяются через Composer | Обновления ядра и расширений из админки |
| Обычные затраты в месяц | 15-30 минут | 30-60 минут, больше со своим кодом | 15-30 минут |
| Мажорные обновления | Для ядра редко ломают; плагины по-разному | Инкрементальны, если разбираться с устаревшим | Сначала проверьте расширения |
| Самый частый сбой | Заброшенный плагин | Сайт отстаёт с обновлениями Composer | Расширение не обновлено под новую мажорную версию |
Что бы у вас ни работало, порядок один: бэкап перед каждым обновлением, обновления раз в неделю, а не когда кто-нибудь вспомнит, короткая проверка, что сайт после этого работает, и удаление - а не просто отключение - расширений, которыми вы перестали пользоваться. База данных - это половина сайта, поэтому бэкап должен её включать; см. бэкапы и восстановление баз данных.
Во что они обходятся помимо хостинга#
Все три бесплатны и распространяются по GPL. Деньги уходят в другое место, и это стоит оценить до выбора, потому что счёт за хостинг обычно самая маленькая строка.
- WordPress дёшев на старте и дорожает по мере роста. У лучших плагинов для форм, SEO, бэкапов, многоязычности и магазинов есть бесплатные версии и платные уровни, продаваемые как годовые лицензии, а платный уровень - это то, что нужно для обновлений и поддержки. Сайт компании обычно использует от трёх до шести таких. Дайте лицензии истечь - и плагин перестанет получать обновления, что возвращает вас к проблеме заброшенных плагинов.
- У Drupal почти нет коммерческого рынка модулей; почти всё на drupal.org бесплатно. Цена - люди: чтобы хорошо построить типы контента, представления и права, нужен разработчик, и он же нужен, чтобы поддерживать сайт на Composer в актуальном состоянии. Сайт на Drupal без бюджета на разработчика - это обуза.
- У Joomla доля коммерческих расширений больше, чем у WordPress, часто от небольших поставщиков, по подписке. Прежде чем строить сайт вокруг чьего-то расширения, проверьте, как долго этот поставщик выпускает обновления.
Учитывайте и своё время. Час в месяц на обновления и проверки - реалистичный минимум для любой из них, и именно пропущенный час оказывается важным.
Хостинг любой из них на nginx#
Все три поставляют правила для Apache в файле .htaccess (Joomla - как htaccess.txt, который нужно переименовать). nginx .htaccess вообще не читает. На nginx те же правила - красивые URL и, что не менее важно, правила, запрещающие прямой доступ к приватным файлам, - должны быть в конфигурации сервера. Основа для всех трёх - паттерн front controller:
location / { try_files $uri $uri/ /index.php?$args;}location ~ \.php$ { include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_pass php-fpm;}Drupal вдобавок требует, чтобы его settings.php и каталог приватных файлов были недоступны из веба, а для Joomla нужно перенести правила безопасности из htaccess.txt. У хостинга, который продаёт CMS-хостинг на nginx, это должно быть настроено; если на свежей установке красивые постоянные ссылки дают 404, дело в этом.
В RE:NODE линейка CMS - в каталоге она называется Engines - работает на nginx и PHP, а CMS вы устанавливаете сами через файловый менеджер или SFTP. Установщика в один клик нет, но это заодно значит, что никто не привязывает вас к версии. В каждом тарифе есть слоты баз данных для базы сайта и слот прокси: направьте A-запись на адрес, который показывает панель, и сертификат будет выпущен и продлён автоматически.
Как выбрать: краткая шпаргалка#
- Блог, сайт небольшой компании, портфолио, магазин на WooCommerce: WordPress.
- Сайт, где всё редактирование будут делать сотрудники без технической подготовки, а разработчика у вас не будет: WordPress, с минимально возможным числом плагинов.
- Много типов контента со связями, сложные роли, редакционное согласование, несколько языков и разработчик под рукой: Drupal.
- Многоязычный сайт или сайт с членством без разработчика, где вы предпочитаете возможности ядра плагинам: Joomla.
- Русскоязычный новостной или медиапортал с уже купленной лицензией DataLife Engine: DLE, о нём - в статье хостинг DataLife Engine.
- Сайт, который редко меняется и не имеет ни входа, ни форм: возможно, CMS не нужна вовсе - статический сайт быстрее, дешевле, и в нём нечего патчить. См. хостинг статических сайтов.
Худший выбор - тот, который никто в команде не может сопровождать. Ухоженный сайт на WordPress всегда выигрывает у заброшенного сайта на Drupal по безопасности, скорости и стоимости.
FAQ#
WordPress менее безопасен, чем Drupal или Joomla?
У ядра WordPress хорошая история безопасности. Его атакуют чаще, потому что он везде, а большинство реальных взломов происходит через устаревшие или заброшенные плагины. Репутация Drupal в плане безопасности отчасти заслуга его команды безопасности, а отчасти того, что на сайтах меньше модулей, и они лучше проверены. Обновлённый сайт на WordPress с небольшим числом плагинов существенно менее безопасным не является.
Можно ли потом перейти с одной CMS на другую?
Да, но это проект миграции, а не кнопка. Контент можно перенести импортёрами и инструментами миграции - Migrate API в Drupal сильный, а у WordPress есть импортёры из многих источников, - но темы, URL, формы и данные расширений придётся пересобрать. Выбирайте с прицелом на несколько лет.
Какая CMS самая быстрая?
С включённым кэшированием страниц все три быстро обслуживают анонимных посетителей, потому что закэшированная страница обходит PHP и базу данных. Различия проявляются для залогиненных пользователей и незакэшированных страниц, где количество и качество расширений важнее самой CMS. Встроенные кэши Drupal дают ему хорошее умолчание; WordPress нужен плагин кэширования или кэш на стороне сервера - см. скорость и кэширование WordPress.
Работают ли все они с MySQL 8.4?
Актуальные выпуски всех трёх поддерживают MySQL 8.0 и новее, а MySQL 8.4 относится к этой серии. Старые версии - Drupal 7, Joomla 3, очень старые плагины WordPress - могут использовать удалённые возможности SQL или старую аутентификацию, и это ещё одна причина обновиться перед переездом к другому хостеру.
Можно ли разместить несколько сайтов на CMS в одном тарифе?
Технически да, если хватает хранилища, памяти и слотов баз данных. Но обычно лучше держать несвязанные сайты раздельно, чтобы взломанный плагин одного сайта не мог добраться до файлов и базы данных другого.




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