> ## Documentation Index
> Fetch the complete documentation index at: https://promptwatch.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Publishing and tracking results

> How Promptwatch content reaches your CMS as a draft or live page, how to record pages published elsewhere, and how published URLs feed back into the Page Tracker.

Every document in Promptwatch, whether written manually, optimized, or generated by the Content Agent, publishes through the same flow: push to a connected CMS, or record the URL of a page you published yourself. Both paths end the same way, with the URL tracked so you can see whether the content earns citations.

### Connecting a CMS

CMS connections live under **CMS Integrations** in your project. Webflow and Framer are supported; WordPress is available on request. A connection is set up once per project. The document editor's publication card uses that connection automatically; you also choose it in the [Content Agent settings](/docs/academy/content-agent-settings) and can pass it to the [API and MCP tools](/docs/academy/mcp).

No CMS is also a valid setup, called manual export: you copy the content out, publish it on your own stack, and record the URL (see below). Everything downstream works the same.

### Draft push vs. live publish

Publishing to a CMS is a two-step model, and the distinction is the safety line:

* **Publish as CMS draft**: writes the document into your CMS as an unpublished item. Nothing becomes publicly visible; your team reviews and presses publish inside the CMS. After edits, **Update CMS draft** refreshes the same staged item.
* **Publish live**: publishes the staged draft to your public site. This requires a draft push first, and it's the step that makes content visible to the world.

In the document editor, the publication card walks these steps: optionally set the slug, click **Publish as CMS draft**, then **Publish live** when ready. The Content Agent uses the same two steps automatically: its **publish state** setting decides whether automated pieces stop at the CMS draft or go all the way live.

### Pages published outside a CMS

If the content went live on a stack Promptwatch doesn't push to, record it: the publication card's manual option (and the `setContentPublication` API tool) links the document to its live URL and a publish date. You get a warning when the URL's domain doesn't match your project website, so you can catch paste mistakes; recording still adds the page to the Page Tracker. Clearing a publication later unlinks the document but keeps the URL's citation history.

### Closing the loop: tracking results

A live publish or a recorded URL adds the page to the [Page Tracker](/docs/academy/page-tracker); CMS draft pushes don't add the URL until the page goes live. From that moment you can see, per page, how many AI responses cite it, from how many distinct prompts, plus AI crawler visits and click-throughs for pages on your own domain. Tracked pages that came from a Promptwatch document carry a **Content Agent** badge linking back to the source document, so "did that piece work?" is one click, not a spreadsheet.

<img src="https://mintcdn.com/promptwatch/c4cx5B-AQaVw_N54/academy/images/publishing-and-tracking-2.png?fit=max&auto=format&n=c4cx5B-AQaVw_N54&q=85&s=b2a04cedceb29ee622ae485e9bef4cf6" alt="A Promptwatch Page Tracker row with a Content Agent badge next to the URL and Citation Clicks and Citation Crawls sparklines." width="2812" height="220" data-path="academy/images/publishing-and-tracking-2.png" />

Content Agent slots show a **Track performance** button once marked published; it opens the Page Tracker list.

### What to expect after publishing

Give it time and watch the right signals, in the order they appear:

1. **Crawls**: AI crawlers fetch the new page, visible in the Page Tracker's crawl sparkline once [crawler logs](/docs/academy/ai-crawler-insights) are connected. Make sure the URL is in your sitemap so Promptwatch can crawl it and [content gap](/docs/academy/content-gap) re-analysis can treat it as existing coverage; the crawl sparkline itself comes from connected crawler logs, not from the sitemap.
2. **Citations**: the page starts appearing as a source in responses to your tracked prompts. This is the metric the content was created for.
3. **Clicks**: visits from AI platforms, visible once [visitor analytics](/docs/academy/visitor-analytics) is set up.

If citations don't come, the gap report for the target prompt tells you whether coverage is still the problem, and [Optimize Content](/docs/academy/optimize-content) is the tool for the second pass.
