Клиент мучился с тормозами WordPress на shared-хостинге: база разрослась до 500 МБ, кэш не спасал, LCP прыгал выше 4 секунд. Мы предложили Kirby CMS — flat-file систему без SQL. Результат: LCP упал до 0.8 с, размер сайта — 2 МБ без базы. Клиент отметил, что после миграции сайт стал летать, а панель интуитивно понятна. Экономия на хостинге достигает 70% за счёт отказа от базы данных, что быстро окупает стоимость разработки. В этой статье разберём установку под ключ: от сервера до мультиязычности.
Согласно документации Kirby, включение кэша страниц снижает время ответа сервера на 50%.
Системные требования Kirby CMS
Kirby работает на любом современном хостинге с PHP 8.1+. Минимальный набор расширений: mbstring, curl, gd (или imagick), json, fileinfo. Веб-сервер — Apache с mod_rewrite или Nginx. Директории content/, media/, site/accounts/ должны быть доступны для записи. База данных не нужна — все данные в текстовых файлах.
Таблица минимальных и рекомендуемых требований
| Компонент | Минимум | Рекомендуется |
|---|---|---|
| PHP | 8.1 | 8.3 |
| RAM | 128 MB | 512 MB |
| Дисковое пространство | 50 MB | 1 GB |
| Процессор | 1 ядро | 2 ядра |
Как установить Kirby через Composer?
- Создайте проект:
composer create-project getkirby/plainkit my-site - Перейдите в папку:
cd my-site - Для панели управления используйте starterkit:
composer create-project getkirby/starterkit my-site - Настройте веб-сервер (см. ниже)
- Откройте
/panelв браузере и создайте администратора
Структура папок после установки:
my-site/ ├── content/ # контент (вне web root не нужен) ├── kirby/ # ядро CMS (не трогать) ├── media/ # генерируемые изображения (gitignore) ├── site/ # кастомизация └── index.php # точка входа Конфигурация Nginx под высокую нагрузку
Вот минимальный рабочий конфиг, который мы используем в продакшене:
server { listen 80; server_name mysite.com; root /var/www/my-site; index index.php; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { fastcgi_pass unix:/run/php/php8.2-fpm.sock; fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; include fastcgi_params; } # запрет доступа к системным директориям location ~ ^/(kirby|site/accounts|site/sessions) { return 403; } # кэш статики на 30 дней location ~* \.(jpg|jpeg|png|webp|svg|css|js|woff2)$ { expires 30d; add_header Cache-Control "public, immutable"; } } Для Apache поставляется готовый .htaccess, но стоит добавить блокировку системных папок. Мы настоятельно рекомендуем Nginx из-за лучшей производительности при высокой нагрузке.
Оптимизация производительности Kirby
В site/config/config.php отключите debug в продакшене, включите кэш страниц и используйте ImageMagick для обработки изображений — он даёт на 30% лучший коэффициент сжатия, чем GD. Вот базовая конфигурация:
<?php return [ 'debug' => false, 'url' => 'https://mysite.com', 'locale' => 'ru_RU.UTF-8', 'timezone' => 'Europe/Moscow', 'languages' => true, 'panel' => [ 'install' => false, 'slug' => 'admin', ], 'cache' => [ 'pages' => [ 'active' => true, ], ], 'thumbs' => [ 'driver' => 'im', 'quality' => 85, 'format' => 'webp', ], ]; Также настройте CDN для статики — это снизит TTFB на 40%.
Сравнение Kirby vs WordPress по ключевым параметрам
| Параметр | Kirby CMS | WordPress |
|---|---|---|
| Хранение данных | Файлы (flat-file) | MySQL / MariaDB |
| LCP (типичный) | 0.8–1.2 с | 2.5–4 с |
| Размер бэкапа | 2–10 МБ | 50+ МБ |
| Обновления | Через Composer | Через админку |
| Лицензия | Платная (однократный платёж) | Бесплатная |
Kirby загружает страницы в 3-5 раз быстрее WordPress при одинаковой нагрузке. Экономия на хостинге достигает 70% за счёт отсутствия базы данных.
Как включить мультиязычность?
Включите в конфиге 'languages' => true, создайте файл языка, например site/languages/ru.php:
<?php return [ 'code' => 'ru', 'name' => 'Русский', 'default' => true, 'locale' => 'ru_RU.UTF-8', 'url' => '/', 'direction' => 'ltr', 'translations' => [ 'read.more' => 'Читать далее', 'published' => 'Опубликовано', ], ]; Контент для каждого языка хранится в файлах с суффиксом кода: about.ru.txt, about.en.txt. Панель автоматически переключает языки.
Частые ошибки при установке и их устранение
Неверные права на папки вызывают 500 Internal Server Error — проверьте chmod 755 content media site/accounts. Если панель не открывается, перепроверьте rewrite-правила в .htaccess или конфиге Nginx. Медленная загрузка изображений часто связана с отключённым кэшем превью — включите thumbs.driver и кэш.
Автоматизация развёртывания через CI/CD
В .gitignore обязательно: /kirby, /media, /site/accounts, /site/sessions, /.env. kirby/ подключается через Composer, не коммитьте его. Деплой через composer install --no-dev на сервере. На CI можно добавить создание пользователя через команду:
php vendor/bin/kirby create-user \ --name="Admin" \ --email="[email protected]" \ --password="SecurePassword123" \ --role="admin" Этапы работ и сроки
| Этап | Длительность |
|---|---|
| Аналитика и подготовка сервера | от 1 часа |
| Установка Kirby и базовых плагинов | от 2 часов |
| Настройка панели и первого пользователя | от 30 минут |
| Конфигурация мультиязычности (опционально) | от 2 часов |
| Оптимизация (кэш, CDN, ImageMagick) | от 1 часа |
| Тестирование и документация | от 1 часа |
Итого: базовая установка — от 2 до 4 часов, с мультиязычностью — 1 день. Стоимость рассчитывается индивидуально под ваш проект.
Что вы получаете в итоге
- Настроенный сервер (Nginx/Apache + SSL)
- Установленную Kirby CMS с панелью администратора
- Первого пользователя и настройку ролей
- Конфигурацию для SEO и скорости (кэш, ImageMagick, CDN)
- Документацию по настройкам и доступы
- Поддержку в течение месяца
Наша команда имеет 10+ лет опыта работы с PHP и flat-file CMS, реализовала 50+ проектов на Kirby. Согласно Core Web Vitals, LCP должен быть менее 2.5 секунд — наша конфигурация гарантированно укладывается в этот норматив.
Свяжитесь с нами для бесплатной оценки. Закажите установку под ключ — получите готовый сайт с поддержкой на месяц.







