Publishing
How QA-passed drafts go live, live or as a draft, with auto-publish on or off, and how updates to existing pages work.
Only drafts that pass QA can be published. With auto-publish on, a passed draft goes to your website right away. With it off, the draft waits in Ready until you click Publish. You also choose whether the post goes live or is saved as a draft in your CMS.
Publishing settings
Open Settings > Publishing.
| Setting | What it does | Default |
|---|---|---|
| Marketing site type | Where articles go: WordPress, Ghost, Webflow, Shopify, Static site (GitHub), Custom API (webhook), or Manual | Set when you add the site |
| Publish automatically after QA passes | Off: approved articles wait in Ready for you to click Publish | On |
| Post status | Live or Draft in the CMS | Live |
Each site type has its own fields. See CMS for setup.
Tip: For a new site, turn auto-publish off or set Post status to Draft in the CMS. Read the first few articles, add lessons, and then let it run.
Review first or auto-publish
| Mode | What happens after QA passes |
|---|---|
| Review first (auto-publish off) | The ticket moves to Ready. Open it, read the draft, and click Publish to your CMS (for example Publish to WordPress) |
| Auto-publish | The ticket moves to Publishing, then Published with the live URL |
| Manual site type | The ticket stays in Ready. You copy the article and mark it published |
You picked one of these modes in step 4 of onboarding. Change it any time in Settings.
Note: The app checks the latest QA report before every publish. If the current draft has not passed QA, publishing is refused with the message "The current draft has not passed QA. It cannot be published."
New pages and updates
The ticket type decides what the publisher does:
| Ticket type | Action |
|---|---|
| New article, Landing page, Comparison | Creates a new post with the title, slug, excerpt, images and (where the CMS supports it) meta title and description |
| Refresh, Internal links, Title/meta with an existing URL | Finds the existing post by slug and updates its content in place. The title and slug are kept |
For safety, the publisher refuses to overwrite your home page. On WordPress, a refresh of a WordPress page (not a post) is refused; update it by hand.
Images
Images go with the article:
- WordPress and Ghost: images are uploaded to the CMS media library. The first image becomes the featured image.
- GitHub: images are committed to your image folder.
- Webflow, Shopify and webhook: images are linked from the app. The app must be on a public URL so your CMS can load them.
Manual publishing
Choose Manual when you want to paste articles yourself.
- Open a ticket in Ready.
- On the Draft card, click Copy Markdown, or download HTML or .md.
- Download each image and upload it to your site.
- Publish the article in your CMS.
- In Mark as published, paste the Live URL and click Mark published.
The ticket moves to Published and the live URL is saved.
After publishing
- The ticket shows Live: with the URL.
- If X distribution is on, the X agent writes posts for the article. See X.
- The page joins your inventory on the next sitemap sync, and audits start tracking it.
- To write a new version later, click Improve again on the ticket.
When publishing fails
If the CMS returns an error, the ticket goes back to Ready with a message that starts with "Publish failed:". Common causes:
| Message | Fix |
|---|---|
| Publishing setting "baseUrl" is missing. Add it in Settings > Publishing. | Fill in the named field |
| WordPress publish failed (401) | Check the username and application password |
| Ghost Admin API key must look like id:secret | Copy the full Admin API key |
| No WordPress post with slug "..." was found to update. | The post slug changed. Update it by hand or edit the ticket |
| Refusing to overwrite the home page. | Home page updates must be done by hand |
Fix the cause, then click Publish to your CMS again. More fixes are in Troubleshooting.
Warning: Live posts appear on your site right away. If your CMS sends new posts to email subscribers or social accounts, test with Draft in the CMS first.
Did this page help? Tell us at support@agenticseo.com.