> 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
