Налаштування Contentful Space та Content Model

Наша компанія займається розробкою, підтримкою та обслуговуванням сайтів будь-якої складності. Від простих односторінкових сайтів до масштабних кластерних систем, побудованих на мікро сервісах. Досвід розробників підтверджено сертифікатами від вендорів.

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

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

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

Пропоновані послуги
Показано 1 з 1 послугУсі 2065 послуг
Налаштування Contentful Space та Content Model
Проста
~2-3 робочих дні
Часті питання

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

Етапи розробки

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

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

Налаштування Contentful Space та Content Model

Space у Contentful — це ізольований робочий простір з власними типами контенту, записами та середовищами. Правильна структура Content Model визначає масштабованість проекту.

Створення Space

В app.contentful.com → Add Space. Безплатний план: 1 space, 25 000 записів, 2 локалі, 2 користувача.

Content Model через GUI

Settings → Content Model → Add Content Type:

Blog Post (blogPost)
├── title: Short text (required, unique)
├── slug: Short text (unique, regex: ^[a-z0-9-]+$)
├── excerpt: Short text (max: 500)
├── content: Rich Text
├── heroImage: Media (image)
├── publishedAt: Date & Time
├── author: Reference → Author (1:1)
├── categories: References → Category (many)
└── seoTitle: Short text (max: 60, field-level locale)

Content Model через CLI

npm install -g contentful-cli
contentful login
contentful space export --space-id YOUR_SPACE_ID --export-dir ./backup

# Імпортувати модель до нового space
contentful space import --space-id NEW_SPACE_ID --content-file ./backup/export.json

Середовища

Production та staging середовища в одному space:

master (production) ← CDA_TOKEN_PRODUCTION
staging             ← CDA_TOKEN_STAGING
# Створити staging середовище
contentful space environment create --name staging --environment-id staging

# Клонувати модель із master
contentful space environment create --name staging \
  --environment-id staging --source master

В SDK:

// Для staging
createClient({
  space: SPACE_ID,
  accessToken: STAGING_TOKEN,
  environment: 'staging',
})

API токени

Settings → API Keys → Add API Key:

  • Content Delivery API (CDA) — публічний, для фронтенду
  • Preview API — для чернеток та Draft Mode
  • Content Management API (CMA) — серверний, ніколи в браузері

Локалізація

Settings → Locales → Add Locale. Усі поля за замовчуванням перекладаються. Можна вимкнути для конкретного поля.

// Запит з локаллю
const entries = await client.getEntries({
  content_type: 'blogPost',
  locale: 'uk',
})

// Всі локалі одночасно
const entry = await client.getEntry(id, { locale: '*' })
// entry.fields.title = { 'ru': '...', 'en': '...', 'uk': '...' }

Content Model через Contentful CLI + JSON

# Експортувати модель
contentful space export --space-id xxx --skip-content --export-dir ./model

# Файл model/contentful-export-xxx.json містить contentTypes[]
# Редагувати та імпортувати до іншого space
contentful space import --space-id yyy --content-file ./model/contentful-export-xxx.json

Це дозволяє версіонувати модель у git та розгортати через CI.

TypeScript типи через codegen

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

Генерує TypeScript-інтерфейси для всіх Content Types — повна типізація API-відповідей.

Терміни

Налаштування Space з 4–6 Content Types, локалями, середовищами та API-токенами — 1 день.