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.

  1. Open a ticket in Ready.
  2. On the Draft card, click Copy Markdown, or download HTML or .md.
  3. Download each image and upload it to your site.
  4. Publish the article in your CMS.
  5. 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.