CMS & Blogging

Run a blog and manage content on your Ploy site, backed by a database — with other approaches when you need them.

Ploy has a built-in content system, so you can run a full blog without a separate CMS. You don't write any code — just ask Ploy's Agent to draft, edit, and publish posts in plain language, and it handles the structure, styling, and SEO for you.

When your posts share a consistent shape — blog posts, a changelog, case studies — we recommend keeping them in a database, where each post is a row with the same fields. When you'd rather author in a tool you already use, you can connect an external CMS instead. Both are covered below.


Back Your Content with a Database (Recommended)

The recommended home for structured content on Ploy is a database. Your posts live as rows in a table — one row per post, with columns for title, slug, body, date, tags, author, and cover image — and your blog pages stay up to date on their own.

Why we recommend it:

  • Edits go live on their own. Fix a typo or move a post from draft to published without republishing the site.
  • Pages stay fast. Your blog loads quickly for visitors, even with hundreds of posts.
  • One template, many posts. Ploy's Agent builds your index, post, and tag pages once. Add a row and the new post appears automatically, correctly styled.
  • Nothing gets missed. Every post carries the same fields — title, date, cover image — so none slip through half-finished.
  • Your team can edit without code. Content lives in a spreadsheet-style grid any owner or admin can edit.

Getting started is a single ask:

"Set up a blog backed by a database — an index at /blog, a page per post, and tag pages, with posts I can edit in the dashboard."

Ploy's Agent sets up the table, builds the pages, and connects them — including the access key the site needs to read your posts. See Database for how tables, records, and access keys work.

Already have a blog in another CMS? You can migrate its posts into PloyDB before building the blog pages.


What a Blog Includes

However you store your posts, ask to set up a blog and Ploy builds the core pages and structure:

  • Index page — A /blog listing of all published posts, sorted by date.
  • Post pages — Each post rendered as a styled article that matches your design system.
  • Tag pages — Automatic /blog/tag/<tag> pages grouping related posts.
  • Consistent structure — Every post shares the same fields — title, description, date, tags, author, cover image — so nothing is missed.
  • SEO — Per-post titles, meta descriptions, Open Graph images, and structured data.

Creating & Editing Content

Describe what you want, and Ploy can draft the post and add it to your blog:

  • "Write a post titled 'Our Series A' and publish it"
  • "Tighten the intro on my latest post and add a closing CTA"
  • "Turn this LinkedIn post into a blog article"

When your posts live in a database, you can also edit them directly in the grid — change a title, swap a cover image, or fix a date without going through chat. To edit through chat, point Ploy at a post and describe the change. Existing long-form content — legal text, prior blog posts — is moved in verbatim, not rewritten.

Always review before publishing. Ploy can help you draft and edit, but a person should verify every post for accuracy, tone, and brand fit before it goes live. Unreviewed, low-quality content can perform poorly in search and weaken reader trust, so treat drafts as a starting point.


Draft & Published States

By default, a database-backed blog uses a Status column on each post: draft or published. This lets you write ahead of time without making the post visible.

StateBehavior
DraftHidden from your live site — excluded from the blog index, tag pages, and sitemap. You can still preview it in the dashboard.
PublishedListed, linked, indexed, and crawlable. This is the default.

Moving a post between the two is a quick ask — or a single click in the grid:

  • "Keep my next post as a draft for now"
  • "Publish the Series A post"
  • "Move that announcement back to draft"

That's the default, not a rule. Your workflow is yours to shape: add states like in review or scheduled, gate posts on something else, or skip statuses altogether. Describe the workflow you want, and Ploy can adapt the pages to match.

Tip: Keep a backlog of drafts and ask Ploy to publish them on your schedule. Nothing is visible until it moves to published.


Other Ways to Manage Content

A database is the recommended default, but it isn't the only option. In order of how tightly they integrate:

  • Migrate into PloyDB — Move supported CMS collections into Ploy when you want structured content, live edits, and new pages managed from the Ploy dashboard. See CMS Migration.
  • Native file content — Instead of a database, posts can live as files in your project. Fully owned and fast, and handy if you prefer editing content as code — but a content change requires a republish, and there's no dashboard grid. A good fit for a small, rarely-changing set of pages.
  • Webhooks — Keep authoring in an external system and have it send an event when content changes, triggering a Ploybook that updates and republishes your site.
  • Reverse proxy — Serve a blog hosted elsewhere (e.g. a marketing CMS) under a path on your domain like /blog. See Reverse Proxy & Routing Rules.
  • External headless CMS — Pull content from a headless CMS when a page loads, with API keys stored as Secrets so they stay private.

Tip: Migrate into PloyDB when you want to move content management into Ploy. Keep an external CMS connected when your team needs its existing authoring workflow.


What's Next?

  • Bring over existing contentCMS Migration imports supported collections into PloyDB.
  • Set up your content store — See Database for tables, records, and access keys.
  • Understand the stackSite Builder covers how pages, sections, and the design system fit together.
  • Automate updates — Use Ploybooks and webhooks to sync content from external systems.
  • Go live — Read Publishing & Deploys to ship your blog.