Команда инженеров · свой ЦОД в РФ · своё железо · своя панель · CloudStack + Linstor · MCP · база знаний по self-hosted
Публикации и блог

WordPress

Самая популярная в мире CMS: около 40% всех сайтов интернета. Открытый движок на PHP и MySQL, на котором делают все - от блога и визитки до интернет-магазина на WooCommerce. Self-hosted вариант означает, что сайт, тема, плагины и данные живут на вашем сервере, а не в чужом конструкторе. Мы развернули WordPress в Docker на сервере Fatmetal, прошли установку и замерили реальный аппетит стека.

Август 2026 ~10 минут чтения Fatmetal Team
CMS для сайтов и блогов Версия 7.0.2 Статус: запущен у нас, стек в простое ~198 МиБ RAM

Вердикт

Подходит
  • нужен полноценный сайт, блог или магазин на своем сервере с полным контролем над темами, плагинами и данными - без комиссий и ограничений конструктора
  • важен РФ-хостинг: сайт и база на своем сервере в России, оплата в рублях, данные не в чужом облаке
  • нужна огромная экосистема готовых тем и плагинов под любой сценарий, от формы до WooCommerce
Не подходит
  • сайт - простая статичная визитка без частых правок: статический генератор дешевле, быстрее и безопаснее
  • нужен именно блог с платными подписками и рассылками - Ghost для этого современнее и легче
  • не готовы следить за обновлениями ядра и плагинов: WordPress - самая атакуемая CMS именно из-за популярности, гигиена обязательна
Обзор

Что это и какую задачу решает

Когда нужен сайт, выбор обычно между конструктором-SaaS (просто, но данные и сайт у платформы, ежемесячная плата и потолок возможностей) и своим движком на своем сервере. WordPress - второй путь, доведенный до предела удобства: открытая CMS, на которой работает около 40% всех сайтов интернета. Блог, корпоративный сайт, портал, интернет-магазин - все закрывается темами и плагинами, а сайт и база остаются вашими.

Важно не путать два WordPress. WordPress.com - это SaaS-хостинг с тарифами и ограничениями. WordPress.org (о нем и речь) - тот самый открытый движок, который вы ставите на свой сервер: полный доступ к коду, любые плагины и темы, свой домен, своя база данных. Это и есть self-hosted вариант.

Главная страница WordPress на дефолтной теме
Главная нашего стенда сразу после установки: дефолтная тема, стартовый пост. Дальше сайт наполняется темами, страницами и плагинами под задачу.
Сравнение

Когда WordPress, а когда что-то другое

Конструкторы (Tilda, Wix) - проще для одностраничной визитки, но сайт и данные у платформы, есть ежемесячная плата и потолок кастомизации. WordPress дает полный контроль и любые плагины ценой того, что сервером управляете вы.

Ghost - если задача именно блог с платными подписками и рассылками, Ghost современнее и легче (у нас есть отдельный разбор). WordPress универсальнее: магазин, портал, произвольная структура.

Статические генераторы (Hugo, Astro) - быстрее и безопаснее для контент-сайтов без динамики, но требуют сборки и не дают админки для не-разработчика. WordPress выигрывает там, где контент правят обычные редакторы.

i

Сила WordPress - экосистема: десятки тысяч тем и плагинов. Она же источник рисков: чем больше сторонних плагинов, тем больше поверхность атаки и тем тяжелее сайт. Ставьте только нужное и от поддерживаемых авторов.

Под капотом

Стек и админка

WordPress - это PHP-приложение плюс база данных MySQL или MariaDB. В нашем деплое это два контейнера: сам WordPress (PHP-Apache) и MariaDB, наружу их отдает Caddy с TLS. Управление - через веб-консоль wp-admin: записи, страницы, медиа, темы, плагины, пользователи, настройки.

Консоль администратора WordPress wp-admin
Консоль wp-admin на нашем стенде: приветствие, разделы записей, медиа, внешнего вида и плагинов. Сверху WordPress сам подсказывает про доступное обновление - это нормальный ритм эксплуатации.

Первичную настройку можно пройти мастером install.php в браузере (язык, название сайта, учетная запись администратора) или без рук через WP-CLI - мы использовали WP-CLI, чтобы установка прошла одной командой.

Требования

Минимальная конфигурация

Пустой WordPress на старте удивительно легкий: связка WordPress и MariaDB в простое держит около 198 МиБ RAM, а главная отдается за десятки миллисекунд. Тяжелеет сайт не от ядра, а от темы, числа плагинов и трафика. Для старта и типового сайта хватает тарифа CPU2-RAM4-DISK50.

Образыwordpress ~1.09 ГБ + mariadb ~466 МБ
RAM WordPress в простое~98 МиБ
RAM MariaDB в простое~100 МиБ
RAM всей VM с ОС в простое~780 МБ
Отклик главной~0.077 с (HTTPS)
Диск~4.9 ГБ занято из 48
Рекомендуемый тарифCPU2-RAM4-DISK50 (для старта и типового сайта)

С ростом трафика, тяжелой темой и десятком плагинов имеет смысл взять тариф пошире и добавить кеширование. Но само ядро - легкое.

В маркетплейсе Fatmetal

Не хотите ставить руками?

WordPress есть в маркетплейсе Fatmetal - можно не поднимать Docker, базу и TLS вручную. Заказываете сервер, за пару минут получаете рабочий домен, валидный сертификат и готовую CMS - остается пройти мастер настройки в браузере и наполнять сайт.

Рекомендуемая конфигурация:
2 vCPU · 4 ГБ RAM · 50 ГБ NVMe от 450 ₽/мес

Развернуть в 1 клик →
Развертывание

Развертывание на Fatmetal

Ставим двумя контейнерами через docker compose: WordPress и MariaDB. Наружу интерфейс отдает Caddy с автоматическим TLS на magic-DNS хосте.

  1. Поднять WordPress и базу

    docker-compose.yml с двумя сервисами. Пароли задаете своими. Порт WordPress держим на localhost - наружу отдаст Caddy.

    services:
      db:
        image: mariadb:11
        environment:
          MARIADB_DATABASE: wordpress
          MARIADB_USER: wordpress
          MARIADB_PASSWORD: СВОЙ_ПАРОЛЬ
          MARIADB_RANDOM_ROOT_PASSWORD: "yes"
        volumes: [db_data:/var/lib/mysql]
      wordpress:
        image: wordpress:php8.3-apache
        depends_on: [db]
        environment:
          WORDPRESS_DB_HOST: db
          WORDPRESS_DB_USER: wordpress
          WORDPRESS_DB_PASSWORD: СВОЙ_ПАРОЛЬ
          WORDPRESS_DB_NAME: wordpress
        ports: ["127.0.0.1:8080:80"]
        volumes: [wp_data:/var/www/html]
    volumes: { db_data: {}, wp_data: {} }
  2. Поставить Caddy для TLS

    Caddyfile из двух строк. Caddy сам получит и продлит сертификат Let's Encrypt и передаст WordPress заголовок X-Forwarded-Proto.

    <ip-с-дефисами>.fatmetal.net {
      reverse_proxy 127.0.0.1:8080
    }
  3. Научить WordPress работать за HTTPS-прокси

    WordPress за reverse-proxy не знает, что снаружи HTTPS, и уходит в редирект-петли. В wp-config добавьте разбор заголовка от прокси (или задайте через WORDPRESS_CONFIG_EXTRA в compose).

    if (isset($_SERVER['HTTP_X_FORWARDED_PROTO'])
        && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') {
      $_SERVER['HTTPS'] = 'on';
    }
  4. Пройти установку

    Откройте адрес по HTTPS и пройдите мастер install.php (язык, название, администратор) либо запустите установку одной командой через WP-CLI. После этого открывается сайт и консоль wp-admin.

На нашем стенде WordPress поднялся на magic-DNS хосте с валидным сертификатом Let's Encrypt, установка прошла через WP-CLI, главная отдается за ~77 мс, консоль wp-admin работает.

Замеры

Что измерили после запуска

Все цифры сняты с живого стенда CPU2-RAM4-DISK50 с чистым сайтом на дефолтной теме.

  • Стек в простое - около 198 МиБ RAM (WordPress ~98 МиБ + MariaDB ~100 МиБ). Пустой WordPress легкий.
  • Вся VM в простое - около 780 МБ RAM с учетом ОС. На 4 ГБ тарифе большой запас.
  • Образы - WordPress около 1.09 ГБ, MariaDB около 466 МБ.
  • Отклик главной - около 0.077 с по HTTPS на пустом сайте.
  • Диск - около 4.9 ГБ занято из 48.
  • TLS - Caddy выписал валидный сертификат на magic-DNS хосте, сайт открывается по HTTPS.
Грабли

Где может сломаться

Редирект-петли за reverse-proxy

За TLS-прокси WordPress не понимает, что снаружи HTTPS, и уходит в бесконечный редирект или отдает mixed content. Лечится разбором X-Forwarded-Proto в wp-config (см. шаг 3 развертывания). Caddy шлет этот заголовок сам.

Плагины - главный источник дыр и тормозов

WordPress - самая атакуемая CMS именно из-за популярности, и почти все взломы идут через устаревшие плагины и темы. Ставьте только нужное, от поддерживаемых авторов, и держите все обновленным. Лишние плагины еще и замедляют сайт.

Обновления нельзя откладывать

Ядро, темы и плагины обновляются часто и не просто так - многие релизы закрывают уязвимости. Настройте регулярные обновления и бэкапы базы и каталога wp-content до них.

Безопасность

Безопасность и обновления

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

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

Границы

Когда это НЕ ваш выбор

Если сайт - простая статичная визитка без частых правок, статический генератор (Hugo, Astro) даст быстрее, дешевле и безопаснее - нет базы и админки, которые надо защищать. Если нужен именно блог с платными подписками и рассылками, посмотрите на Ghost - он для этого современнее и легче. И если вы не готовы следить за обновлениями плагинов и ядра, WordPress лучше не ставить на боевой сайт - заброшенный WordPress взламывают быстро. Во всех остальных сценариях - от корпоративного сайта до магазина - это рабочая лошадка с гигантской экосистемой.

FAQ

Частые вопросы

Чем WordPress.org отличается от WordPress.com?

WordPress.org - открытый движок, который вы ставите на свой сервер: полный контроль, любые плагины, свой домен и база. WordPress.com - SaaS-хостинг этого движка с тарифами и ограничениями. Self-hosted - это .org.

Насколько это тяжело для сервера?

Пустой WordPress легкий: связка с MariaDB в простое держит около 198 МиБ RAM, главная отдается за десятки миллисекунд. Тяжелеет сайт от темы, числа плагинов и трафика, а не от ядра. Для старта хватает CPU2-RAM4-DISK50.

Можно ли сделать интернет-магазин?

Да, через плагин WooCommerce - это стандартный путь для магазина на WordPress. Под нагрузку магазина берите тариф пошире и добавьте кеширование.

Почему все говорят, что WordPress небезопасен?

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

Данные сайта правда остаются у меня?

Да. Файлы, тема, плагины и база лежат на вашем сервере в томах. Никакой платформы-посредника и комиссий - вы владеете сайтом целиком.

Итог

WordPress - самая популярная CMS в мире: сайт, блог или магазин на своем сервере с полным контролем над темами, плагинами и данными. Пустой движок удивительно легкий (стек с MariaDB ~198 МиБ RAM, отклик ~77 мс), тяжелеет от темы, числа плагинов и трафика. Главное в эксплуатации - гигиена обновлений и плагинов; при ней это рабочая лошадка под любой сайт, от визитки до магазина на WooCommerce.

Рекомендуемая конфигурация для установки:
2 vCPU · 4 ГБ RAM · 50 ГБ NVMe

Не хотите устанавливать вручную?

Запустите WordPress на этой конфигурации автоматически - от 450 ₽/мес.

Запустить WordPress →
Анонсы новых разборов в Telegram-канале Новые гайды и карточки в маркетплейсе первыми @fatmetal_channel →

Этот стек у нас запущен на тарифе CPU2-RAM4-DISK50. Нашли баг в гайде - напишите, поправим в течение дня.

Разбор на живом стенде Fatmetal (CPU2-RAM4-DISK50), образ wordpress:php8.3-apache (WordPress 7.0.2) + mariadb:11. Замеры и скриншоты сняты с работающего сервера в августе 2026. Обновляется при изменениях.