Розробка сайту на Grav CMS: без БД, швидко та під ключ

Нещодавно ми перенесли сайт-документацію з WordPress на Grav. Клієнт скаржився на повільне завантаження та складність деплою. Після міграції швидкість зросла з 1.5 секунд до 200 мс, а обслуговування звелося до git push. Але багато розробників, починаючи з Grav, повторюють одну й ту саму помилку: не

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 2062 послуг
Розробка сайту на Grav CMS: без БД, швидко та під ключ
Простий
~5 днів

Наші компетенції:

Часті запитання

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1467
  • Розробка веб-додатків для компанії FEEDME
    Розробка веб-додатків для компанії FEEDME
    1317
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1014
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1276
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1019
  • Розробка веб-сайту для компанії ФІКСПЕР
    Розробка веб-сайту для компанії ФІКСПЕР
    1019

Нещодавно ми перенесли сайт-документацію з WordPress на Grav. Клієнт скаржився на повільне завантаження та складність деплою. Після міграції швидкість зросла з 1.5 секунд до 200 мс, а обслуговування звелося до git push. Але багато розробників, починаючи з Grav, повторюють одну й ту саму помилку: не вмикають кеш. У результаті швидкість падає в 2–3 рази. У цій статті розберемо, як уникнути цього та правильно налаштувати Grav.

Замовте розробку сайту на Grav — ми проаналізуємо ваш проєкт і підготуємо комерційну пропозицію протягом одного дня.

Коли варто обрати Grav, а коли — ні?

Grav — це flat-file CMS, де контент зберігається у файлах, а не в базі даних. Вона ідеальна для проєктів, де контент статичний або оновлюється рідко, команда працює з Markdown і git, а хостинг обмежений (немає MySQL/PostgreSQL). Типові приклади: сайти-документації, портфоліо, блоги, лендінги. Grav не підходить для e-commerce з тисячами SKU, складних порталів з користувацьким контентом або сайтів з інтенсивними користувацькими сесіями.

Чому Grav швидший за традиційні CMS?

На відміну від WordPress або Joomla, Grav не виконує запити до бази даних при кожному зверненні. Контент читається з файлів і кешується в /cache/. На слабкому хостингу (наприклад, 512 МБ RAM) Grav видає сторінку за 20–50 мс, тоді як WordPress — 200–400 мс. Це дає виграш у 3–5 разів на типових проєктах. Економія на хостингу складає до 70% порівняно з традиційними CMS.

Як ми розробляємо сайти на Grav: наш підхід

Ми підходимо до кожного проєкту індивідуально. Спочатку аналізуємо вимоги, підбираємо відповідні плагіни (наприклад, Grav Plugin SimpleForm, Admin Plugin). Потім розробляємо кастомну тему на Twig з урахуванням SEO та Core Web Vitals. Обов’язково налаштовуємо кешування та assets pipeline. Приклад: для сайту документації ми створили 5 шаблонів, 2 колекції та інтегрували Elasticsearch через плагін. Це дозволило досягти швидкості завантаження менше 200 мс на дешевому хостингу.

Як налаштувати Grav за 5 кроків?

  1. Встановіть Grav через Composer: composer create-project getgrav/grav your-project.
  2. Налаштуйте базовий конфіг system.yaml: увімкніть кеш і налаштуйте обробку assets.
  3. Створіть структуру сторінок у папці user/pages.
  4. Розробіть шаблони за допомогою Twig та Blueprints.
  5. Задеплойте на хостинг через Git.

Ці кроки допоможуть уникнути типових помилок і швидко запустити проєкт.

Як влаштована структура сторінок?

Grav використовує файлову структуру для організації сторінок. Кожна сторінка — це папка з .md файлом. Ім’я папки з числовим префіксом задає порядок сортування. Приклад:

  • user/pages/01.home/home.md → шаблон home.html.twig
  • user/pages/02.services/services.md → шаблон services.html.twig
  • user/pages/03.blog/blog.md → шаблон blog.html.twig
  • user/pages/03.blog/my-post/default.md — запис блогу

Папки з підкресленням на початку (наприклад, _service-dev) вважаються прихованими і не відображаються в списках.

Frontmatter та шаблони

Кожен .md-файл містить YAML frontmatter:

--- title: Розробка під замовлення slug: custom-development published: true template: service-detail taxonomy: category: [services] metadata: description: 'Розробка веб-додатків' --- 

Колекції та лістинги

Для виведення списку дочірніх сторінок використовується Twig:

{% set posts = page.children.visible.order('date', 'desc').slice(0, 10) %} {% for post in posts %} <article class="post-card"> <h2><a href="{{ post.url }}">{{ post.title }}</a></h2> {{ post.content|striptags|slice(0, 200) }} </article> {% endfor %} 

Blueprints: кастомні поля

Blueprints описують поля сторінки для адмінки:

# user/blueprints/pages/service-detail.yaml form: fields: header.intro: type: textarea label: Вступ header.hero_image: type: filepicker label: Головне зображення 

Продуктивність та кешування

Налаштування кешу в system.yaml:

cache: enabled: true driver: auto lifetime: 604800 gzip: true assets: css_pipeline: true js_pipeline: true 

На слабкому хостингу без APC/Redis сторінки роздаються з файлового кешу — швидкість порівнянна зі статичними сайтами.

Типові проєкти та терміни

Тип сайту Кількість шаблонів Термін
Лендінг / візитка 3–5 1–2 тижні
Корпоративний з блогом 6–10 2–4 тижні
Документація 5–8 2–3 тижні

Що входить у розробку

  • Аналіз вимог та вибір архітектури (колекції, таксономії)
  • Встановлення Grav та необхідних плагінів (форми, SEO, sitemap)
  • Розробка кастомної теми на Twig з урахуванням Core Web Vitals
  • Налаштування кешування та оптимізація assets
  • Тестування та передача доступів
  • Гарантія 30 днів підтримки

Порівняння Grav та WordPress

Характеристика Grav WordPress
База даних Немає (flat-file) MySQL
Швидкість сторінки 20–50 мс 200–400 мс
Простота деплою Git Потребує міграції БД
Безпека Менше вразливостей Часті оновлення ядра
Обслуговування Мінімальне Регулярні оновлення

Типові помилки та їх вирішення

  • Забувають увімкнути кеш — швидкість падає в 2–3 рази. Завжди перевіряйте cache.enabled: true.
  • Використовують плагіни, коли достатньо кастомного Twig-коду. Це збільшує складність і час завантаження.
  • Не налаштовують assets pipeline — CSS та JS завантажуються окремо, збільшуючи час завантаження. Використовуйте assets.css_pipeline: true.

Отримайте консультацію прямо зараз — обговоримо завдання та терміни вашого проєкту.