Настройка Contentful Space и Content Model для проекта

Клиент приходит с готовым React-приложением — контент живёт в JSON-файлах. Каждый релиз — копипаст данных через Slack, правки теряются, микроконтроллеры сходят с ума. Переход на Contentful — спасение, но неправильная схема контента превращает CMS в болото. Ошибки в типах полей или отсутствие валидац

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

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

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

Услуги, которые мы предлагаем
Показано 1 из 1Все 2062 услуг
Настройка Contentful Space и Content Model для проекта
Простой
~2-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

Клиент приходит с готовым React-приложением — контент живёт в JSON-файлах. Каждый релиз — копипаст данных через Slack, правки теряются, микроконтроллеры сходят с ума. Переход на Contentful — спасение, но неправильная схема контента превращает CMS в болото. Ошибки в типах полей или отсутствие валидации убивают масштабирование. Мы настраиваем Space так, чтобы разработчики и контент-менеджеры не проклинали всё на свете.

За более чем 5 лет работы с Contentful мы накопили сотни часов оптимизации. Например, один клиент терял до 20% контента при ручном переносе — после настройки Space с автоматической валидацией ошибки ушли полностью. Стоимость такой настройки варьируется от 80 000 до 150 000 ₽ в зависимости от сложности модели и количества окружений. Ниже — ключевые этапы профессиональной настройки.

Как спроектировать Content Model для масштабирования?

Content Model — скелет проекта. Неправильная нормализация ведёт к N+1 запросам и переусложнённым редакторским формам. Придерживаемся правила: один тип контента — одна сущность (статья, автор, категория). Для блога хватит 4–6 типов. Пример структуры:

Компонент Тип поля Валидация Локализация
title Short text required, unique да
slug Short text unique, regex: ^[a-z0-9-]+ нет
content Rich Text required да
heroImage Media (image) - нет
author Reference 1:1 to Author нет
categories References many to Category нет
Пример Content Model для интернет-магазина
  • Product: title, slug, description, price, images, categories
  • Category: name, slug, parent (self-reference)
  • Brand: name, logo, website
  • Page: title, slug, content (Rich Text)

Всего 4 типа с минимальной depth. Нормализация позволяет избежать дублирования данных.

Используйте field-level locale для SEO-полей (title, description) — это даёт гибкость без дублирования контента. По данным официальной документации Contentful, правильная локализация с field-level locale сокращает объём дублируемых полей на 40%. Для проекта с 5+ локалями рекомендуется не превышать 10 Content Types — иначе производительность редакторского интерфейса падает.

Что выбрать: GUI, CLI или кодогенерацию?

CLI-подход в 3 раза быстрее ручного создания через GUI и позволяет версионировать модель в Git. Сравните:

Способ Скорость Версионирование Типизация
GUI ~1 час нет нет
CLI ~15 минут да (JSON) нет
Codegen ~1 минута да (TypeScript) полная

Для продакшена комбинируем CLI + кодогенерацию: экспорт модели, правки в JSON, импорт через CI. Это экономит 2 дня на каждом изменении модели и сокращает расходы на контент-менеджмент на 30–50%. Свяжитесь с нами для консультации по архитектуре Space — разберём вашу модель за 30 минут.

Настройка окружений и API-токенов

Используйте отдельные окружения для staging и production. Каждое окружение имеет свой CDA, Preview и CMA токены. Никогда не используйте CMA-токен на фронтенде — это дыра в безопасности.

# Создать окружение staging и скопировать модель из master contentful space environment create --name staging \ --environment-id staging --source master 

В SDK для фронтенда используйте CDA-токен с environment staging:

const client = createClient({ space: SPACE_ID, accessToken: STAGING_CDA_TOKEN, environment: 'staging', }) 

Автоматизация выгрузки модели в Git

Используйте Contentful CLI для экспорта модели без контента:

contentful space export --space-id xxx --skip-content --export-dir ./model 

Файл contentful-export-xxx.json хранится в репозитории. При изменении модели — импорт через CI в нужные окружения. Исключает человеческий фактор и ускоряет деплой. По официальной документации Contentful, это лучшая практика для командной работы.

Генерация TypeScript-типов из Content Model

Кодогенерация через cf-content-types-generator создаёт полные интерфейсы:

npx cf-content-types-generator \ --spaceId YOUR_SPACE_ID \ --token YOUR_CMA_TOKEN \ --out ./src/types/contentful.d.ts 

После этого импорт import { IBlogPost } from './types/contentful' даёт автокомплит и защиту от ошибок. Экономит 1–2 часа ручного описания TypeScript-типов на каждый проект.

Пошаговая инструкция настройки Space

  1. Анализ требований — определяем типы контента, поля, валидации (1 час).
  2. Создание Space и окружений — master, staging, dev через CLI (15 минут).
  3. Проектирование и импорт Content Model — создаём JSON-схему, импортируем через CLI (30 минут).
  4. Генерация типов и документация — кодогенерация TypeScript, написание readme (1 час).

Вся настройка занимает 1–2 дня и снижает операционные затраты на 20–30%. Стоимость типовой настройки — от 80 000 до 150 000 ₽ в зависимости от объёма. Экономия на ручном переносе контента достигает 2 000 ₽ в час.

Что входит в нашу работу?

  • Анализ требований и проектирование Content Model
  • Создание Space, окружений (production, staging, dev)
  • Настройка API-токенов (CDA, Preview, CMA)
  • Импорт/экспорт модели через CLI, интеграция в CI/CD
  • Генерация TypeScript-типов и подключение к проекту
  • Документация по работе с пространством для контент-менеджеров

Гарантируем: ни одного лишнего поля, полная валидация на уровне CMS, готовая к масштабированию архитектура. Мы работаем с Contentful более 5 лет — за это время реализовали более 30 проектов различной сложности. Типовой проект (4–6 Content Types, 2 локали, 2 окружения) настраиваем за 1–2 дня. Стоимость рассчитывается индивидуально — зависит от сложности модели и требований к автоматизации. Просто напишите нам — мы подготовим архитектуру и точный план работ.