Інтеграція Sanity: схема, GROQ, Live Preview

Інтеграція Sanity під ключ: схема, GROQ, Live Preview

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

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

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

Послуги, які ми пропонуємо
Показано 1 з 1Усі 2062 послуг
Інтеграція Sanity: схема, GROQ, Live Preview
Середній
~3-5 днів

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

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

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

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1418
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1285
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    983
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1243
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    983
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    998

Інтеграція Sanity під ключ: схема, GROQ, Live Preview

Ви запускаєте новинний портал із 10 000 статей, редактори вимагають гнучкого редактора, а розробники — продуктивності. Sanity — headless CMS з повністю кастомізованим Studio, потужною мовою запитів GROQ та real-time оновленнями. Однак неправильне налаштування схеми призводить до N+1 запитів, гальмування Studio та проблем із Core Web Vitals. Наша команда інтегрувала Sanity для 15+ проєктів, від блогів до enterprise-порталів, і гарантує дотримання метрик продуктивності. Згідно з документацією Sanity, грамотна схема — основа швидкого редактора.

Проблеми, які ми вирішуємо

Складність схеми

Неправильна структура документів веде до дублювання даних і множинних запитів. Ми використовуємо Repository pattern та нормалізацію схеми, щоб кожен документ відповідав за одну сутність. Наприклад, для видавництва ми створили схему з 5 типів (стаття, автор, категорія, тег, медіа) з валідацією на рівні Studio — це скоротило кількість запитів на 60%. Неправильна схема може збільшити бюджет на доопрацювання на 50 000–100 000 ₴.

Продуктивність Studio

При великій кількості полів редактор зависає. Налаштування віртуалізації полів та групування у вкладки вирішує проблему. В одному проєкті з 40+ полями ми впровадили кастомні компоненти з debounce-валідацією — завантаження Studio прискорилося вдвічі.

Real-time оновлення

Без GROQ Streaming API редактори змушені оновлювати сторінку вручну. Налаштовуємо Live Preview через Server-Sent Events: зміни в Studio миттєво відображаються в прев'ю, без перезавантаження.

Медіа-ресурси

Неоптимізовані зображення збільшують LCP. Sanity Image URL Builder з параметрами auto=format, q=80 та fit=crop вирішує проблему. Ми також налаштовуємо за замовчуванням WebP з фолбеком на JPEG.

Як уникнути N+1 запитів у Sanity?

Основна причина N+1 — вибірка пов'язаних документів без проекції. Використовуйте GROX із join-синтаксисом:

// Замість двох запитів — один із проекцією *[_type == "article"] | order(publishedAt desc) [0..9] { title, "author": author->name, "categories": categories[]->title } 

Це зменшує кількість запитів до Content Lake з 10+ до 1. Для складних агрегацій застосовуйте references() та count(). Докладніше про синтаксис GROQ читайте в офіційній документації.

Що робити, якщо Studio гальмує на великих схемах?

Причина — рендеринг усіх полів одразу. Рішення:

  • Групуйте поля у вкладки за допомогою fieldsets.
  • Використовуйте hidden для умовного відображення.
  • Впровадьте компоненти з lazy-завантаженням.
  • Оптимізуйте валідацію: перенесіть складні правила на backend через webhooks.

Як ми це робимо: кейс видавництва

Стек: Next.js 14 (App Router), Sanity v3, GROQ, TypeScript, Tailwind. Розробили схему з 5 типами документів. Studio — з кастомними прев'ю статей, валідацією slug та інтеграцією з Unsplash. Налаштували RSC: дані завантажуються на сервері за допомогою client.fetch, що виключає hydration mismatch. Live Preview — через @sanity/preview-kit з SSE. Підсумок: TTFB знизився на 40%, INP залишився в зеленій зоні.

Процес роботи

  1. Аналітика — вивчаємо поточну CMS, вимоги редакторів, структуру контенту.
  2. Проєктування схеми — створюємо типи документів, зв'язки, валідацію.
  3. Налаштування Studio — кастомізація під бренд, плагіни, поля.
  4. Інтеграція з фронтендом — GROQ-запити, рендеринг Portable Text, Live Preview.
  5. Тестування — перевірка продуктивності, помилок, безпеки.
  6. Деплой — публікація Studio на Vercel або хостингу, налаштування CDN.

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

  • Повна схема даних (типи, поля, валідація).
  • Кастомізована Sanity Studio.
  • Відтворення Portable Text з підтримкою зображень і коду.
  • Live Preview (опціонально).
  • Webhooks для ревалідації кешу.
  • Документація з GROQ та роботи зі Studio.
  • Навчання редакторів (1 година).
  • 1 місяць технічної підтримки.
Етап Термін Результат
Аналітика та проєктування 1-2 дні Документ схеми, список полів
Розробка схеми та Studio 1-2 дні Типи, вкладки, валідація
Інтеграція з фронтендом 1-2 дні GROQ-запити, рендеринг, прев'ю
Тестування та налагодження 1 день Відсутність помилок, метрики
Деплой та документація 0.5 дня Працюючий проєкт

Порівняння: Sanity vs WordPress (headless)

Критерій Sanity WordPress (REST)
Швидкість редактора Миттєво 2-3 сек (AJAX)
Кастомізація схеми Будь-яка Обмежена ACF
Продуктивність API <50ms 200-400ms
Гнучкість типів контенту Повна Таксономії + CPT

Вартість ліцензії WordPress з преміум-плагінами може перевищувати 100 000 ₴ на рік, тоді як Sanity безкоштовний до 20 000 документів.

Типові помилки

Часті проблеми при інтеграції Sanity
  • Відсутність індексів — GROX без індексів гальмує на великих наборах. Використовуйте order() за індексованими полями.
  • Сирі зображення — без auto=format і WebP LCP падає. Налаштуйте builder одноманітно.
  • Неправильний підпис webhooks — перевіряйте секрет через @sanity/webhook-toolkit, інакше зловмисник може перебудувати кеш.
  • Глибокі вкладені посилання — уникайте references глибше 2 рівнів, інакше зростає час запиту.

Терміни орієнтовно

Базова інтеграція (схема, Studio, GROQ, підключення до Next.js) — від 3 до 5 робочих днів. Live Preview, кастомні плагіни, webhooks — плюс 3–4 дні. Вартість розраховується індивідуально після аудиту проєкту.

Гарантії та досвід

Наша команда працює з headless CMS понад 5 років і реалізувала 15+ проєктів на Sanity. Ми гарантуємо дотримання Core Web Vitals і надаємо 1 місяць підтримки. Зв'яжіться з нами для безкоштовного аудиту вашого проєкту. Замовте інтеграцію Sanity та отримайте місяць підтримки в подарунок.