Prompt

How do I set up a headless CMS for draft-to-publish workflows in a small news publisher?

Latest observation

Jul 21, 2026 · OpenAI APIWeb search: off

Here’s a practical way to set up a headless CMS for a draft → review → publish workflow for a small news publisher.

1) Pick a CMS that supports editorial workflow

Look for:

  • Draft/publish states
  • Scheduled publishing
  • Roles and permissions
  • Version history / revisions
  • Webhooks or API
  • Optional: preview environments

Good options for small teams:

  • Contentful — polished workflow, good roles, easy integrations
  • Strapi — flexible, self-hosted, open source
  • Sanity — very strong editorial experience and real-time collaboration
  • Storyblok — visual editing, good for marketing/news hybrid teams
  • Directus — great if you want CMS on top of an existing SQL database

If you want simplest editorial UX, Sanity or Contentful are common picks.


2) Define the content model for news

For a news publisher, keep the schema simple and reusable.

Typical content types:

  • Article
    • headline
    • dek / summary
    • body
    • slug
    • hero image
    • author
    • categories/tags
    • publication date
    • status
    • SEO fields
  • Author
    • name
    • bio
    • photo
  • Section
    • politics, sports, local, etc.
  • Optional:
    • Breaking News alert
    • Gallery
    • Newsletter signup block

Recommended fields for article:

  • title
  • slug
  • excerpt
  • body
  • featuredImage
  • author
  • tags
  • section
  • status (draft, in_review, approved, published, archived)
  • scheduledPublishAt
  • publishedAt
  • seoTitle
  • seoDescription

3) Design the editorial workflow

For a small newsroom, a simple workflow is usually enough:

  1. Draft
    • Reporter writes and saves article
  2. In review
    • Editor reviews, leaves comments, requests changes
  3. Approved
    • Editor signs off
  4. Scheduled
    • Article is queued for a future publish time
  5. Published
    • Content becomes public on site/app
  6. Archived
    • Optional for old or retired content

If your CMS supports only draft/published, you can still add custom workflow fields like status and reviewNotes.


4) Set roles and permissions

A small publisher usually needs these roles:

  • Reporter
    • create/edit own drafts
    • submit for review
  • Editor
    • edit any content
    • approve/reject
    • schedule publishing
  • Publisher/Admin
    • final publish control
    • manage users, settings, integrations
  • Contributor/Freelancer
    • create drafts only
    • no publish rights

Important permissions:

  • Prevent reporters from publishing directly
  • Allow editors to preview draft content
  • Restrict who can overwrite published content
  • Keep an audit log of changes

5) Build preview before publish

Preview is critical for news.

How it works:

  • The CMS stores draft content
  • Your frontend has a preview mode
  • Editors can click “Preview” to see the article before it goes live

Implementation idea:

  • Frontend route like /preview/[slug]?token=...
  • Preview API fetches draft content from CMS using a secure token
  • Show draft content with a clear “Preview” banner

This lets editors check:

  • layout
  • image cropping
  • headline length
  • pull quotes
  • embeds
  • mobile responsiveness

6) Set up publishing and scheduling

You need two publishing paths:

Manual publish

  • Editor clicks “Publish”
  • CMS sends webhook to frontend or cache layer
  • Site updates immediately

Scheduled publish

  • Editor sets scheduledPublishAt
  • CMS or a cron job publishes at that time
  • Frontend gets notified via webhook

If the CMS doesn’t handle scheduling well, use:

  • a background job
  • serverless cron
  • queue worker

7) Connect CMS to your frontend

Typical architecture:

  • CMS stores content
  • Frontend reads via API/GraphQL
  • CDN/cache serves the public site
  • Webhook triggers rebuild or cache purge on publish

Common frontend stacks:

  • Next.js
  • Nuxt
  • SvelteKit
  • Astro

For a news site, Next.js is a common choice because it handles:

  • server-side rendering
  • static regeneration
  • preview mode
  • good performance

8) Make publishing fast and reliable

News publishing needs speed.

Recommended setup:

  • Use webhooks when content changes
  • Clear cache or regenerate only affected pages
  • Support breaking news updates without full site rebuild
  • Keep homepage and section pages efficient

If using Next.js:

  • Use Incremental Static Regeneration
  • Revalidate article and section pages on publish
  • Add preview mode for drafts

9) Add editorial safety checks

Before publishing, ensure:

  • headline length is acceptable
  • required fields are filled
  • slug is unique
  • featured image exists
  • author is assigned
  • article has section/tag
  • spellcheck or basic validation passes

You can add:

  • custom validation rules in CMS
  • “pre-publish checklist”
  • required approval for sensitive categories

10) Store media properly

For images and videos:

  • Use the CMS asset library or external storage like S3
  • Generate optimized sizes
  • Store alt text
  • Track image credits
  • Keep metadata for copyright/compliance

For newsrooms, image workflow matters almost as much as article workflow.


11) Add analytics and audit logs

You’ll want to know:

  • who edited what
  • when it was published
  • how often stories are updated
  • which stories are breaking most traffic

Useful features:

  • version history
  • change log
  • user activity log
  • publishing timestamps
  • traffic analytics integration

12) Suggested minimal stack for a small news publisher

A practical low-complexity setup:

  • CMS: Sanity or Strapi
  • Frontend: Next.js
  • Hosting: Vercel / Netlify / Cloudflare
  • Assets: CMS storage or S3
  • Preview: CMS preview mode + frontend preview route
  • Publishing: webhook-triggered revalidation
  • Search: Algolia or built-in site search

13) Example workflow in practice

  1. Reporter creates article in CMS
  2. Editor gets notified
  3. Editor opens preview link
  4. Editor requests revisions or approves
  5. Article is scheduled or published
  6. Webhook updates the website
  7. Article appears live on homepage/section page
  8. Later edits create a new revision and republish automatically

14) Common pitfalls

Avoid these:

  • choosing a CMS without preview support
  • giving everyone publish access
  • rebuilding the whole site for every small edit
  • overcomplicating the schema
  • not planning image handling
  • no audit trail
  • no backup/export strategy

15) Best-practice recommendation

For a small publisher, the best balance is usually:

  • Simple schema
  • 3–4 roles max
  • Draft/review/publish with preview
  • Webhook-driven publishing
  • Scheduled publishing
  • Version history

If you want, I can also give you:

  1. a recommended CMS comparison table,
  2. a sample content model, or
  3. a step-by-step implementation plan in Next.js + Sanity/Strapi.

Observation history

Unlock observation history

Create a free Obsurfable account to unlock historical responses, model comparisons, and deeper brand intelligence.

How did Obsurfable measure this prompt?

Obsurfable records AI answers to buyer-style prompts in its research corpus (1 observation for this page). Metrics are distributions over observations, not a single static ranking.

Which AI systems does Obsurfable collect answers from?

OpenAI, ChatGPT, Google, Gemini, Google AI Mode, Anthropic, Claude, Perplexity, Grok, DeepSeek, Mistral, Copilot, and Meta AI.