Клієнт мучився з гальмами 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' => 'uk_UA.UTF-8', 'timezone' => 'Europe/Kyiv', '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/uk.php:
<?php return [ 'code' => 'uk', 'name' => 'Українська', 'default' => true, 'locale' => 'uk_UA.UTF-8', 'url' => '/', 'direction' => 'ltr', 'translations' => [ 'read.more' => 'Читати далі', 'published' => 'Опубліковано', ], ]; Контент для кожної мови зберігається у файлах із суфіксом коду: about.uk.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 секунд — наша конфігурація гарантовано вкладається в цей норматив.
Зв'яжіться з нами для безкоштовної оцінки. Замовте встановлення під ключ — отримайте готовий сайт з підтримкою на місяць.







