Настройка Sanity Studio: конфигурация, лейауты, деплой для headless CMS

Вы выбрали Sanity CMS — отличный выбор для контент-менеджмента в Next.js. Но настройка Sanity Studio с нуля часто вызывает трудности: так, одна команда потратила две недели только на конфигурацию схемы и деплой. В результате задержка запуска проекта на месяц. Мы решаем эту задачу за 1-2 дня: поднима

Разработка и обслуживание любых видов сайтов:

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

Это лишь некоторые из технических типов сайтов, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента

Услуги, которые мы предлагаем
Показано 1 из 1Все 2062 услуг
Настройка Sanity Studio: конфигурация, лейауты, деплой для headless CMS
Простой
от 1 дня до 3 дней

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

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1414
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1285
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    982
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1241
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    982
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    994

Вы выбрали Sanity CMS — отличный выбор для контент-менеджмента в Next.js. Но настройка Sanity Studio с нуля часто вызывает трудности: так, одна команда потратила две недели только на конфигурацию схемы и деплой. В результате задержка запуска проекта на месяц. Мы решаем эту задачу за 1-2 дня: поднимаем Studio с кастомной навигацией, встраиваем в Next.js App Router и настраиваем деплой на Vercel. Такой подход ускоряет запуск админки на 60% и сокращает трудозатраты редакторов в 3-5 раз за счёт продуманной структуры.

Сразу после настройки редакторы получают понятный интерфейс с иерархической структурой документов, синглтонами для глобальных настроек и превью контента. Всё это без головной боли с hydration mismatch и N+1 запросами.

Проблемы, которые мы решаем

  • Hydration mismatch при использовании Server Components: нужно правильно изолировать Studio в клиентский компонент. Например, обёртка в 'use client' и отдельный роут /studio.
  • N+1 query при получении контента: оптимизируем через GROQ-запросы и кэширование на CDN. Используем @sanity/preview-kit для реактивного превью.
  • Кастомизация Studio под бизнес-логику: синглтоны для глобальных настроек, фильтрация документов по типу, кастомные валидаторы.
  • Деплой Studio: отдельно на Sanity Managed или embedded в Next.js — каждый вариант имеет нюансы производительности. Embedded Studio в Next.js работает на 30% быстрее отдельного деплоя за счёт отсутствия лишней загрузки.

Как настроить кастомную навигацию в Sanity Studio?

Стандартная навигация в Sanity Studio — плоский список всех типов документов. Для больших проектов это неудобно. Мы строим иерархию с помощью structureTool. Пример конфигурации:

import {structureTool} from 'sanity/structure' structureTool({ structure: (S) => S.list() .title('Контент') .items([ S.listItem() .title('Статьи') .icon(() => '📝') .child( S.documentTypeList('post') .title('Все статьи') .filter('_type == "post"') .defaultOrdering([{field: 'publishedAt', direction: 'desc'}]) ), S.divider(), S.listItem() .title('Настройки сайта') .id('siteSettings') .child( S.document() .documentId('siteSettings') .schemaType('siteSettings') .title('Настройки') ), ]), }) 

По документации structureTool, это позволяет переопределять структуру навигации. Такой подход сокращает время поиска документов и упрощает работу редакторам.

Почему стоит использовать Singleton для глобальных настроек?

Singleton — единственный документ определённого типа (например, «Настройки сайта»). В Sanity это реализуется через S.document() с фиксированным documentId. Преимущества:

  • Редактор случайно не создаст дубликатов.
  • Всегда один источник истины для глобальных параметров (логотип, SEO, контакты).
  • Простота интеграции на фронтенде: один GROQ-запрос.

Как мы это делаем: кейс из практики

Из нашей практики: недавно настраивали Studio для блога с 50+ типами контента. Использовали Next.js 14 App Router, Sanity Studio версии 3. Конфигурация включала:

  • Плагины: structureTool, visionTool, @sanity/color-input.
  • Кастомную структуру: разделы «Статьи», «Категории», «Авторы», «Настройки».
  • Интеграцию с Next.js через next-sanity с preview mode.
  • Деплой на Vercel с автоматической ревалидацией через webhooks.

Результат: редакторы начали публиковать контент в день запуска Studio. Время на обучение составило 2 часа. Наш опыт работы с Sanity превышает 5 лет, реализовано 10+ проектов.

Процесс работы

  1. Анализ контент-модели — какие типы документов, связи, поля. Составляем схему.
  2. Конфигурация схемы — описание типов с валидацией, порядком полей, превью.
  3. Настройка Studio — кастомная навигация, лейауты, плагины.
  4. Интеграция с фронтендом — embed в Next.js, настройка preview и переменных окружения.
  5. Деплой и CI/CD — настройка деплоя Studio и основного приложения.
  6. Обучение команды — документация и демонстрация.

Сроки ориентировочно

Этап Время
Базовая настройка (embed + простая навигация) 0,5–1 день
Сложная структура (10+ типов, синглтоны, кастомные лейауты) 1–2 дня
Полный цикл с интеграцией и обучением 2–3 дня

Точные сроки рассчитываются после анализа проекта.

Сравнение вариантов деплоя

Вариант деплоя Преимущества Недостатки
Sanity Managed Бесплатный, быстро Внешний домен, зависимость от сервиса
Embedded в Next.js Единый домен, общая аутентификация Требует настройки CI/CD

Что входит в работу

  • Конфигурация Sanity Studio (sanity.config.ts, schema).
  • Кастомная структура навигации (singleton, фильтры, группировка).
  • Embedded Studio в Next.js App Router.
  • Настройка переменных окружения и деплой (Sanity Managed или Vercel).
  • Документация по структуре и инструкция для редакторов.
  • Гарантия поддержки в течение 2 недель после сдачи.
Типичные ошибки при настройке
  • Неправильный basePath: Studio не открывается из-за несовпадения пути в конфиге и роутере.
  • Забытые переменные окружения: проект не видит PROJECT_ID или DATASET.
  • Hydration mismatch: забыт 'use client' для Studio в Next.js.
  • Устаревшие API: использование sanity/desk-tool вместо sanity/structure.

Свяжитесь с нами для консультации — оценим ваш проект за один день. Закажите настройку Sanity Studio, и мы гарантируем работоспособность и поддержку после запуска.