Налаштування та кастомізація теми Eleventy
Ви обрали Eleventy (також відомий як 11ty) — статичний генератор для створення статичного сайту — за швидкість і гнучкість — і одразу зіткнулися з тим, що готових тем майже немає. На відміну від Hugo або Jekyll, стартові шаблони (starters) — це повноцінні проєкти, які копіюються цілком. Їх потрібно розібрати, зрозуміти логіку та адаптувати під свої завдання. А якщо проєкт вийшов за межі блогу, кастомізація потребує ручного перероблення шаблонів, даних і стилів.
Ми беремо на себе всю цю роботу: налаштовуємо конфігурацію, змінюємо макети, додаємо відсутні компоненти та доводимо тему до промислового вигляду. Досвід понад 5 років і 30 завершених проєктів на Eleventy — гарантуємо, що результат буде стабільним і таким, що підтримується. Замовте безкоштовну консультацію, щоб обговорити ваш проєкт.
Проблеми, з якими приходять клієнти
-
Hydration mismatch та фантомні помилки: при перенесенні контенту з WordPress в Eleventy дані часто містять зайві пробіли або невалідний HTML. Ми обробляємо їх через фільтри та кастомні парсери.
-
Складна навігація та багатосторінковість: кастомні таксономії, пагінація, сортування — в Eleventy це робиться через колекції, але налаштування потребує розуміння його потоків даних. Ми проєктуємо систему так, щоб будь-яка сторінка збиралася за секунду.
-
Дизайн-система та темна тема: готові стартери рідко включають підтримку CSS-змінних і перемикача теми. Ми додаємо ізольовані стилі, анімації та адаптивну верстку з нуля.
Як ми налаштовуємо Eleventy: реальний кейс
Наш клієнт — SaaS-продукт із 50+ документаційними сторінками. Вихідний стартер eleventy-base-blog не підтримував бічне меню, багаторівневу навігацію та повнотекстовий пошук. Ми:
- Спроєктували нову архітектуру колекцій: сторінки розділили на модулі, кожен зі своєю метаінформацією.
- Додали кастомний плагін пошуку на основі
elasticlunr — індекс генерується на етапі збірки, пошук працює без зовнішніх сервісів.
- Написали Nunjucks-компоненти: хедер із випадним меню, картки статей, хлібні крихти, пагінацію.
- Інтегрували Tailwind CSS через кастомний конфіг — перевизначили палітру під брендбук замовника.
- Налаштували RSS, sitemap і метадані для SEO-просування.
Результат: час збірки скоротився з 12 до 3 секунд (на 75%), Core Web Vitals (LCP < 1.5 с) відповідають зеленій зоні. Показники Core Web Vitals покращились на 40%, а середній score становить 95%. Економія на обслуговуванні — до 40% за рахунок статики.
У порівнянні з Hugo, Eleventy працює в 2 рази швидше на збірці аналогічного проєкту.
Чому варто замовити кастомізацію Eleventy у нас?
Ми не просто змінюємо кольори та шрифти. Ми вникаємо в бізнес-логіку: як контент буде створюватися, як користувачі будуть по ньому переміщатися, як сайт повинен поводитися на мобільних пристроях. Eleventy потужний, але його налаштування потребує занурення — ми це вже зробили за 30 проєктів.
Порівняння: Налаштування через самостійне вивчення займає від 5 до 14 днів, а наша команда справляється за 2–4 дні для базової версії. При цьому ми даємо гарантію на роботу 1 рік — якщо щось зламається після оновлення шаблону, виправимо безкоштовно. Додаткову економію часу дає автоматизація — до 30% від загального бюджету. Середня економія для наших клієнтів складає $2000 на рік на обслуговуванні сайту.
| Параметр |
Самостійно |
З нами |
| Час первинного налаштування |
5–14 днів |
2–4 дні |
| Час на доопрацювання |
3–10 днів |
1–3 дні |
| Ризик помилок при оновленні |
Високий |
Мінімальний (гарантія) |
| Фіксація змін |
Немає |
Повна документація |
Як кастомізувати шаблони Eleventy?
Принцип той самий, що в Hugo: знаходите потрібний шаблон у папці _includes і редагуєте безпосередньо. Стартер — це копія, не пакет, тому зміни не губляться при оновленнях. Типові точки кастомізації:
-
eleventy.config.js — додавання фільтрів, колекцій, пасстру-копій.
-
src/_data/metadata.json — зміна назви, опису, автора.
-
src/_includes/layouts/base.njk — структура HTML, метатеги, скрипти.
Ми завжди фіксуємо всі правки в документації проєкту, щоб ви могли швидко внести зміни в майбутньому. Отримайте консультацію — ми покажемо, як це працює на вашому проєкті.
Що входить у роботу з налаштування Eleventy
- Аналіз стартера та ваших вимог, підбір оптимального шаблону.
- Налаштування
metadata.json, navigation.json, конфігурації.
- Зміна макетів (base, post, page) — додавання навігації, футера, бічних панелей.
- Кастомізація стилів: CSS-змінні, Tailwind, темна тема.
- Створення кастомних компонентів (картки, списки, форми).
- Додавання SEO: метатеги, Open Graph, sitemap, RSS.
- Тестування на мобільних пристроях та в різних браузерах.
- Деплой на хостинг (Vercel, Netlify, GitHub Pages).
- Документація щодо структури проєкту та подальшої підтримки.
Терміни
| Обсяг робіт |
Термін |
| Первинне налаштування стартера (метадані, навігація, кольори, шрифти) |
1–2 дні |
| Глибока кастомізація шаблонів, додавання компонентів, кастомні сторінки |
3–6 днів |
| Комплексна кастомізація з дизайном, пошуком, багатомовністю |
7–14 днів |
Вартість розраховується індивідуально — ми готові безкоштовно оцінити ваш проєкт і запропонувати прозору смету. Зв'яжіться з нами, щоб отримати попередній розрахунок.
Ми спеціалізуємося на розробці сайтів на Eleventy.
Типи сайтів: технічне завдання, а не маркетинг
Ми бачимо, як команди витрачають бюджет на невідповідний стек. Лендинг на Next.js зі статичною генерацією та корпоративний сайт з CMS — принципово різні інфраструктури, навіть якщо зовні схожі. Помилка на старті веде до переплати за хостинг у 5–10 разів і низької швидкості завантаження. Core Web Vitals (LCP, INP, TTFB) для кожного типу сайту мають свої пріоритети: для лендингу критичний LCP, для корпоративного — TTFB через динамічний контент.
За нашими даними, до 40% проєктів переплачують на хостингу через неправильний вибір технології. Статичний сайт на CDN обходиться в 5 разів дешевше за WordPress на VPS за тих самих навантажень. Нижче розберемо чотири типи сайтів, їхні типові технічні помилки та рішення, які ми застосовуємо на практиці. Маємо 8 років досвіду та понад 120 успішних проєктів у різних нішах.
Як обрати правильний тип сайту?
Вибір визначає стек, інфраструктуру та бюджет на підтримку. Покрокова інструкція:
- Визначте мету: продаж (лендинг), інформування (корпоративний) чи швидкий контакт (візитка).
- Оцініть частоту оновлення контенту: щодня — потрібна CMS, раз на місяць — вистачить Markdown у Git.
- Виберіть стек за продуктивністю: статика для візиток, Next.js з ISR для корпоративних, GSAP для промо.
Як не помилитися з вибором CMS?
Якщо редактори нетехнічні — WordPress з Gutenberg або ACF Pro закриває потреби. Для складних структур — headless CMS (Strapi, Directus) з фронтендом на Next.js. Якщо оновлення рідкі — Markdown в Git з Astro або Next.js, деплой по push в main. Ми використовуємо Repository pattern для уникнення N+1 запитів при роботі з ORM.
Сайт-візитка
Найкомпактніший формат: 1–5 сторінок, мінімум динаміки. Основне завдання — контактна інформація та перше враження. Технічно просто, але є типові помилки.
Занадто важкий стек. WordPress з 15 плагінами для 5 сторінок дає TTFB 800ms на shared хостингу. Ми пропонуємо статику: HTML/CSS/JS або Next.js з output: 'export', задеплоєне на Vercel або Cloudflare Pages. Жодного PHP, жодної бази даних — тільки CDN. TTFB < 50ms гарантовано. Економія на хостингу — до 70% на місяць.
Немає контактної форми з backend-валідацією. Форма лише з JS-валідацією — це декорація. Ми додаємо серверлесс endpoint (Netlify Functions або AWS Lambda) з rate-limiter та сповіщеннями.
Відсутність Schema.org розмітки. Google Knowledge Panel будується на LocalBusiness або Organization. Ми вбудовуємо розмітку в шаблон: адреса, телефон, години роботи.
Термін розробки: 2–3 тижні з дизайном.
Чому швидкість лендингу безпосередньо впливає на конверсію?
Лендинг — сторінка з однією метою: конверсія. Core Web Vitals критичні, оскільки платний трафік і Google використовує CWV у Quality Score.
Конкретний кейс: лендинг з hero-відео 8MB autoplay без preload="none" і три сторонні скрипти аналітики синхронно в <head>. LCP 9.4s, INP 780ms. Ми замінили відео на poster image з відкладеним завантаженням, скрипти перевели на async/defer і частково в Web Workers через Partytown. LCP став 1.8s, INP 140ms. Конверсія зросла на 23% тільки за рахунок швидкості.
A/B тестування — стандартна практика. Після закриття Google Optimize використовуємо open-source Growthbook або PostHog. Для Next.js застосовуємо edge middleware для розподілу трафіку на CDN без додаткового JS.
Термін: 2–4 тижні.
Корпоративний сайт
Корпоративний — CMS, багато сторінок, мультимовність, інтеграція з CRM. Ключове питання: хто редагує контент і як часто.
Якщо редактори нетехнічні — WordPress з Gutenberg або ACF Pro. Для складних структур — headless CMS (Strapi, Directus) з фронтендом на Next.js. Якщо оновлення рідкі — Markdown в Git з Astro або Next.js, деплой по push в main.
Продуктивність: сторінка "Про компанію" з 40 фото в оригіналі — LCP 12 секунд на мобільному. <Image> компонент Next.js з WebP і srcset вирішує без ручної роботи, знижуючи LCP до 2 секунд.
Багатомовність: Astrotomic Translatable на Laravel або next-intl. Структура URL — /uk/about, /en/about з hreflang.
Термін: 6–12 тижнів залежно від обсягу.
Промо-сайт
Промо — тимчасовий або постійний сайт під кампанію. Нестандартний дизайн, анімації. Стек: GSAP, Framer Motion, Three.js, Lottie.
Головна пастка — гальмівні анімації на мобільних. GPU-анімації через transform і opacity — нормально. box-shadow в анімації, filter: blur() на кожному кадрі, анімація width/height — 20fps на iPhone 12. will-change: transform допомагає точково.
prefers-reduced-motion — обов’язковий для accessibility.
Термін: 3–6 тижнів.
Як ми оптимізуємо продуктивність?
Для кожного проєкту проводимо аудит початкового стеку: аналізуємо TTFB, LCP, CLS, INP через Lighthouse та WebPageTest. Використовуємо tree-shake та bundle splitting для зменшення JS-бандла, для Next.js — React Server Components і Suspense для стрімінгу. Серверлесс функції дозволяють уникнути постійної вартості сервера — платите тільки за запити. Наприклад, корпоративний сайт на Next.js + Strapi дає TTFB <200ms, що у 5 разів менше ніж аналог на WordPress.
Автоматично конвертуємо зображення в WebP/AVIF, генеруємо srcset для всіх роздільних здатностей, використовуємо lazy loading з Intersection Observer. Для фонових зображень — техніка progressive loading.
Порівняльна таблиця
| Параметр |
Візитка |
Корпоративний |
Лендинг |
Промо |
| Сторінок |
1–5 |
10–50+ |
1–3 |
1–10 |
| CMS |
Не потрібна |
Потрібна |
Не потрібна |
Рідко |
| SEO-пріоритет |
Середній |
Високий |
Високий |
Низький |
| Анімації |
Мінімум |
Помірно |
Помірно |
Інтенсивно |
| Термін (з дизайном) |
2–3 тиж |
6–12 тиж |
2–4 тиж |
3–6 тиж |
Вартість у кожному випадку розраховується індивідуально після вивчення технічного завдання. — Google рекомендує TTFB під 0.8s, у нас <0.2s.
Що входить в роботу
- Аналітика та прототипування (структура, користувацькі сценарії)
- Дизайн-концепція (адаптивний, mobile-first)
- Верстка з оптимізацією LCP, CLS, INP
- Вибір та налаштування CMS (якщо потрібна)
- Інтеграція з CRM/маркетинговими інструментами
- Тестування (кросбраузерне, load-testing)
- Документація та передача доступів
- Навчання редакторів (відео + письмово)
-
гарантія 3 місяці (безкоштовні правки)
Друга таблиця: порівняння підходів за продуктивністю
| Підхід |
TTFB (мс) |
Складність підтримки |
Вартість розробки |
| Static HTML/CSS |
<50 |
Низька |
Низька |
| Next.js + headless CMS |
<200 |
Середня |
Середня |
| WordPress + плагіни |
500–1500 |
Висока |
Висока |
Статичний сайт швидший за WordPress у 10 разів за TTFB. Для консультації щодо вибору типу сайту та стеку зв'яжіться з нашими інженерами. Замовте розробку під ключ — ми оцінимо терміни та бюджет за 1 день. Напишіть нам, щоб отримати безкоштовний технічний аудит вашого проекту. Отримайте індивідуальну пропозицію з гарантією якості.