Mentionwell is a headless content engine with a public read-only API. Your destination site pulls content; Mentionwell never writes to your codebase.
The data model
Five top-level objects live in Mentionwell's database. Most operations move data from one to the next.
- Site — one destination domain. Has a brand profile, taxonomy, delivery config, and an automation policy.
- Taxonomy — a tree of content clusters. Headlines get attached to nodes for topical authority + internal linking.
- Headline — a planned article. Has a target keyword, search intent, schedule, and lifecycle status (
proposed → approved → queued → generating → drafted → scheduled → published). - Draft — a generated article waiting on review. Includes HTML, Markdown, FAQs, JSON-LD, sources, and a measured cost.
- Post — a published article. Same shape as a draft plus
published: true+publishedAt.
Plus Run (one execution of the planner / writer / critic / publish flow, with cost + duration) and Job (one worker run on the queue: onboarding, draft, publish, autopilot, refresh).
The pipeline
Site profile + taxonomy
│
▼
Headline ─────► Draft ─────► Post ─────► /api/public/.../posts
(planner) (writer + (publish (your site fetches)
critic) flow)
Every step writes to the database; the API serves directly off the latest published row.
Pull, not push
Older blog stacks push content into the destination (CMS → webhook → SSG rebuild → CDN). Mentionwell inverts that: your destination pulls on every revalidation. Three reasons:
- No deploy on every post. You publish in Mentionwell and your site picks it up on its next ISR / SWR cycle. No CI run, no minutes burned.
- No coupling. Your destination doesn't need a CMS adapter, plugin, or build-time content fetch. One API call replaces it.
- Caching is honest. The API returns Cache-Control headers tuned for SWR. Your CDN takes care of the rest.
The optional webhook (see Webhooks) is for cases where you want zero-second publishing — it just nudges your destination to revalidate the relevant paths.
What lives where
| Concern | Where it lives |
|---|---|
| Article body (HTML, Markdown, JSON-LD, FAQ, TOC) | Mentionwell database, served via /api/public |
| Site chrome (header, footer, layout) | Your destination repo |
URL structure (/blog, /blog/[slug]) |
Your destination repo (typically) |
| SEO metadata for the article | Mentionwell returns it; your destination renders it into <head> |
| RSS / JSON Feed / sitemap | Mentionwell serves them; you link to them from your destination |
| Auth + roles | Mentionwell handles internal auth; your destination only needs the read API key |
What Mentionwell is not
- Not a CMS. There's no rich-text editor for non-technical users; it's an AI editorial pipeline.
- Not a static site generator. Posts aren't built into your site at deploy time.
- Not a CDN. The reader API has caching headers; your destination's CDN does the actual edge serving.
Once this model clicks, every weird symptom ("post isn't showing", "it's stale", "preview is fine but prod isn't") collapses to either: env var wrong, cache stale, or post not published yet. Treat those three as your first checks every time.