Решили отказаться от базы данных? Типичная проблема: MySQL жрёт память, миграции тормозят разработку, а бэкапы весят тонны. В WordPress каждый запрос к БД может породить N+1 проблему, особенно на сайтах с большим числом Custom Post Types. Kirby CMS решает это кардинально — контент в файлах, админка встроена, а шаблоны на чистом PHP. Никаких SQL-запросов, никакой миграции схем, никаких сложных экспортов. Мы используем Kirby для корпоративных сайтов, портфолио и блогов: клиенты получают сайт без ежемесячных забот о БД, с простым резервным копированием — просто скопировать папку. Это снижает total cost of ownership в долгосрочной перспективе. Всего один раз настраиваете файловую структуру — и контент готов к публикации.
Наш опыт включает более 20 успешных проектов на Kirby — от лендингов до каталогов с фильтрацией и headless-режимом для React. Сертифицированные партнёры Kirby, мы гарантируем производительность и простоту поддержки.
Почему выбирают Kirby CMS?
- Отсутствие базы данных — контент в текстовых файлах, кэш страниц в директории media/. Резервное копирование сводится к копированию папки. Миграции не нужны.
- Гибкая Panel — редактор видит только те поля, которые вы задали в Blueprints. Ничего лишнего.
- Производительность — Kirby генерирует статический кэш, отдаёт страницы без обращения к PHP. LCP и TTFB минимальны (среднее время ответа с кэшем — менее 5 мс).
- Кастомизация — плагины, модели, контроллеры. Можно расширить любой функционал без хаков.
- Headless по умолчанию — добавьте .json к URL и получите готовое API для фронтенда.
Если вам нужен сайт, который не требует ежемесячной поддержки базы данных, свяжитесь с нами — обсудим детали.
Как мы реализуем проекты на Kirby?
Разберём на примере проекта медиаблога с кастомными полями, тегами и списком чтения.
Структура проекта строгая: blueprints/, templates/, controllers/, models/. Файлы контента — Markdown с YAML-шапкой.
site/ ├── blueprints/pages/article.yml ├── controllers/blog.php ├── models/article.php ├── templates/article.php └── snippets/ content/ ├── home/home.txt └── blog/ ├── blog.txt └── 2024-01-15_first-post/article.txt Blueprint описывает поля в Panel — только то, что нужно редактору:
# site/blueprints/pages/article.yml title: Статья columns: main: width: 2/3 sections: content: type: fields fields: title: { type: text, label: Заголовок, required: true } text: { type: writer, label: Текст, marks: [bold, italic, link, code] } cover: { type: files, label: Обложка, max: 1, query: page.images } sidebar: width: 1/3 sections: meta: type: fields fields: date: { type: date, label: Дата публикации, default: today } tags: { type: tags, label: Теги } seo_description: { type: textarea, label: SEO-описание, maxlength: 160 } Контроллер выносит логику — сортировку, фильтрацию, пагинацию — из шаблона:
<?php // site/controllers/blog.php return function ($page, $site) { $tag = param('tag'); $articles = $page->children()->listed() ->when($tag, fn($pages) => $pages->filterBy('tags', $tag, ',')) ->sortBy('date', 'desc') ->paginate(12); return [ 'articles' => $articles, 'pagination' => $articles->pagination(), 'activeTag' => $tag, 'allTags' => $page->children()->listed()->pluck('tags', ',', true), ]; }; Шаблон получает готовые данные — минимум логики:
<?php snippet('header') ?> <article class="post"> <h1><?= $page->title()->html() ?></h1> <time datetime="<?= $page->date()->toDate('Y-m-d') ?>"><?= $page->date()->toDate('d.m.Y') ?></time> <div class="content"><?= $page->text()->kirbytext() ?></div> <?php if ($page->tags()->isNotEmpty()): ?> <footer class="tags"> <?php foreach ($page->tags()->split() as $tag): ?> <a href="<?= $site->url() ?>/blog/tag:<?= $tag ?>"><?= html($tag) ?></a> <?php endforeach ?> </footer> <?php endif ?> </article> <?php snippet('footer') ?> Модель добавляет методы — readingTime(), relatedArticles() — прямо в объект страницы.
Какие задачи решает Kirby лучше других CMS?
| Критерий | Kirby | WordPress | Drupal |
|---|---|---|---|
| Зависимость от БД | Нет | MySQL | MySQL/PostgreSQL |
| Время генерации страницы | ~2 мс (кеш) | ~200–500 мс | ~300–800 мс |
| Кастомизация полей | YAML-схемы | Плагины + ACF | Сущности |
| Headless из коробки | Да | Через плагин | Через модуль |
| Сложность поддержки | Низкая (файлы) | Средняя (БД + плагины) | Высокая |
Для проектов, где важны простота хостинга, скорость загрузки и полный контроль над данными, Kirby выигрывает.
Как настроить кастомные поля в Panel?
В панели Kirby каждое поле определяется в YAML-файле blueprint. Например, для добавления тегов достаточно указать тип tags. Поля можно группировать в колонки, задавать валидацию и зависимости. Это даёт полный контроль без лишнего кода.
Почему Kirby быстрее традиционных CMS?
Отсутствие базы данных исключает задержки на запросы и блокировки. Кэш страниц сохраняется в файлах, и при повторном запросе PHP не запускается. Это даёт стабильное время ответа даже при пиковых нагрузках. Например, на проекте с 30+ страницами среднее время генерации страницы в кэше — менее 2 мс.
Миграция на Kirby не требует специальных действий: все данные хранятся в файлах. Достаточно скопировать содержимое папки content/ на новый сервер или в репозиторий. Никаких дампов SQL или схем.
Процесс разработки
- Аналитика — изучаем контент, структуру, user flow. Фиксируем типы страниц и их поля.
- Проектирование — создаём Blackprint: blueprints, маршруты, модели. Определяем связи страниц.
- Дизайн и верстка — адаптивная, с учётом производительности (LCP < 2.5 с).
- Разработка шаблонов — пишем PHP-шаблоны, контроллеры, собственные плагины.
- Наполнение и тестирование — редактор наполняет контент, проверяем отображение на всех устройствах.
- Деплой и оптимизация — настраиваем кэш, CDN (Cloudflare), включаем сжатие Brotli.
Что входит в работу
- Архитектура blueprints и структура контента.
- Разработка кастомных шаблонов и плагинов.
- Интеграция с внешними сервисами (API, формы, поиск).
- Настройка производительности и кэширования.
- Передача доступа к Panel и документация по управлению.
- Гарантия 3 месяца на код.
Сроки и стоимость
| Тип проекта | Срок |
|---|---|
| Лендинг / портфолио (до 5 страниц) | 1–2 недели |
| Корпоративный сайт (5–10 страниц) | 2–3 недели |
| Блог с кастомными полями | 2–4 недели |
| Каталог с фильтрацией + search | 3–5 недель |
| Headless + React frontend | 4–8 недель |
Стоимость рассчитывается индивидуально после брифа.
Готовы к старту? Свяжитесь с нами — обсудим ваш проект и подберём оптимальное решение на Kirby. Получите консультацию уже сегодня.







