Complete feature
Add a complete Blog to your existing React or Next.js app.
BTST adds publishing routes, an editor, data models, SSR-aware pages, metadata, and sitemap output inside the application you already own.
Best for
React teams that need editorial workflows and public, indexable content without adopting a separate hosted CMS.
- Requires
- A BTST database adapter
- External service boundary
- None required
- Ownership boundary
- Posts stay in your database, routes run in your application, and ejected Blog views become editable application code.

BTST supplies
- Post and tag data models with typed CRUD APIs and lifecycle hooks
- SSR-aware list, draft, editor, tag, and post routes
- Published-page metadata and sitemap entries
- Customizable Blog pages, hooks, and editor UI
You supply
- A BTST database adapter
- An image upload implementation when editor uploads are enabled
- An authorization policy when protected authoring operations are enabled
- The application shell, public origin, and deployment
You own and customize
Posts stay in your database, routes run in your application, and ejected Blog views become editable application code.
Compatibility and dependencies
- Maintained integrations
- Next.js 15+ App Router · React Router v7 · TanStack Start
- Requires
- A BTST database adapter
- External services
- None required
From registration to result
The shipped workflow
This is the feature path BTST supplies—not a claim that your app needs no integration work.
Register
Add the Blog backend and client halves to the existing stack.
Write
Create and edit drafts with the supplied authoring routes.
Store
Persist posts and tags through your selected database adapter.
Publish
Serve the SSR-aware post route with metadata and sitemap output.
Continue your task
Move from evaluation to the right implementation boundary.
Implementation guides
Work through a specific Blog integration task with examples and verification steps.
- TanStack Start blog SEO
Check server-rendered articles, canonical URLs, and sitemap entries.
- Private drafts and public caching in Next.js
Separate editor previews from published content and shared caches.
- Blog permissions in React Router
Protect loaders, actions, and API requests with the same editorial policy.
- Blog search, tags, and pagination
Build a public article index with the released Blog getters.