> For the complete documentation index, see [llms.txt](https://docs.frase.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.frase.io/core-workflows/publish-content-to-your-cms.md).

# Publish Content to Your CMS

Get your content live in a few clicks, and keep it performing after it ships.

When your article is ready, you have two options: [connect your CMS](/integrations/cms-publishing/frase-cms.md) to enable direct publishing, or use the **Share** tab on the right side of the editor to export or hand off your content without leaving Frase.

## Publishing Content

If you have a [CMS connected](/integrations/cms-publishing/frase-cms.md), you'll see a **Publish to CMS** button at the top of your article's Editor — click it, choose your destination, and select whether to push the content as a live post or a draft.

<figure><img src="https://2279611032-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1qovufZAMEOFfdX3BMUE%2Fuploads%2F9sc7TbIyWvf7cqFg2CLP%2FScreenshot%202026-04-24%20at%204.34.14%E2%80%AFPM.png?alt=media&#x26;token=49461585-77b8-4b5e-9dbf-450859ac8553" alt=""><figcaption></figcaption></figure>

Frase supports direct publishing to:

* [**Frase CMS**](/integrations/cms-publishing/frase-cms.md) — Frase's built-in headless hosting option
* [**WordPress**](/integrations/cms-publishing/wordpress.md) — Creates a blog post instantly
* [**Webflow**](/integrations/cms-publishing/webflow.md) — Publishes to a CMS collection item
* [**Sanity**](/integrations/cms-publishing/sanity.md) — Sends content to your headless CMS
* [**Wix**](/integrations/cms-publishing/wix.md) — Launches content to your Wix Blog

To connect your CMS, go to **Settings → Integrations**, find your platform, and follow the connection steps.

{% hint style="success" %}
Ask the [Frase Agent](/automations/meet-the-frase-agent.md), or Claude with [Frase MCP](https://claude.ai/customize/connectors/directory/frase) connected, *"Publish this article to WordPress as a draft."*
{% endhint %}

### Content Rule Checks

The content rules you set in [**Automations**](/automations/automations.md)**,** or in[ **Brand Hub**](/get-started/brand-hub-setup.md) for *Never* **Terms,** are enforced everywhere an article can go live: the editor, through the [Calendar](/automations/content-calendar.md), and over the [API or MCP](/integrations/api-and-mcp.md).

What happens depends on the rule's severity:

* A rule set to **Error** severity blocks the publish and names the violation, so content that breaks a hard rule can't reach your site.
* A rule set to **Warning** severity lets you go ahead with a **Publish Anyway** confirmation.

Drafts stay ungated, so you can save work in progress freely.

### Scheduling Content

Schedule an article on the [Content Calendar](/automations/content-calendar.md) and Frase publishes it on that date. Scheduled and manual publishes follow the same rules.

### Set Content Types with Site Taxonomy

With [**Frase CMS**](/integrations/cms-publishing/frase-cms.md), you can publish content types beyond blogs, like alternatives, reviews, and FAQs, and Frase organizes each one into its own browsable section of your site.

You control which types are live in your site's taxonomy settings.

<figure><img src="https://2279611032-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1qovufZAMEOFfdX3BMUE%2Fuploads%2FXqHJkKFFzc2ycON0hYj2%2Fimage.png?alt=media&#x26;token=a22f4a6b-caf2-4e25-b19b-a8cd841a1379" alt=""><figcaption></figcaption></figure>

On the left sidebar, go to **Frase CMS > Settings**, open *Taxonomy*, and enable the content types you want to publish.

Once a type is enabled, Frase automatically gives it:

* Its own public index page, so readers can browse that catalog (for example, `/alternatives/`, `/reviews/`, or `/faq/`)
* Its own sitemap entries and feed
* A clean separation from your blog. Your `/blog/` page shows blog posts only, so other content types don't mix in.

When you publish, pick the content type that matches the piece. If you choose a type that isn't enabled yet, Frase shows a yellow warning at publish time, so head back to *Taxonomy* and enable it first.

{% hint style="info" %}
Enable a content type before you publish to it. The index page and feed for that type only appear once the type is turned on in your taxonomy settings.
{% endhint %}

## Exporting and Sharing Content

If you're not publishing directly to a CMS, or if your content needs to go somewhere else first, open the **Share** tab on the right side of the editor.

<div align="left"><figure><img src="https://2279611032-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1qovufZAMEOFfdX3BMUE%2Fuploads%2FEh4TDakeTn6YhrnZO0cO%2FScreenshot%202026-04-24%20at%204.35.16%E2%80%AFPM.png?alt=media&#x26;token=4f1680e5-86a7-440d-8be9-1ee4d4a491a3" alt="" width="379"><figcaption></figcaption></figure></div>

From there you can export the article as a file in several formats:

* **HTML** — Web-ready with styling intact
* **PDF** — A printable document
* **Markdown** — A formatted .md file
* **Plain Text** — A simple .txt file

You can also export directly to cloud tools you already use, like **Notion** and **Google Docs.**

If you need to share the article with a collaborator, client, or reviewer, the **Share** option in the same panel lets you hand off the article without publishing it publicly.

## Protecting Content With Content Guard

Turn on [Content Guard](/automations/content-guard.md) for a published article and Frase drafts an update when it starts losing rank. To see whether AI answers cite the page too, track it in [AI Visibility](/core-workflows/ai-visibility-and-geo.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.frase.io/core-workflows/publish-content-to-your-cms.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
