Skip to content
Docs

How publishing works

It helps to know what “published” means before you build on it.

An article in CitedSEO is written, checked and then approved, by you or by autopilot. Publishing is the moment an approved version is recorded as live. That is all it is: a status, with the version that is live and its address.

Everything a developer sees follows from that one change.

  1. The version is recorded live. The article now has a live version and an address on your site.

  2. The feed is rebuilt. A new build of the feed is written with every live article at its live version, and the manifest is pointed at it.

  3. Connected platforms get it. If the site is connected to a platform such as WordPress, the article is also sent there. This sits on top of the status change. It doesn’t replace the feed.

  4. Your webhooks are told, after the rebuild. Each endpoint gets article.published when the article goes live, and article.updated for each change after.

Every site has a feed, whatever else it publishes to. It is static files, so reading it never touches CitedSEO’s app or database. A site on WordPress has the same live articles in its feed as on WordPress, so you can use the feed for a second surface (an app, a docs site, a search index) without changing how the site publishes.

A site ships one approved change a day, at its publish time, unless someone presses Publish now or picks a time. So expect events to arrive one at a time, not in bursts.

The feed is also rebuilt when the site’s article settings or an author change, since those change what an article’s byline and structured data say. No webhook is sent for that.

A live article keeps being improved: refreshed sections, new internal links, a better title. Each is a new version that waits for approval like the first.

  • The feed keeps serving the live version until the new one ships. A draft never leaks into the feed.
  • When the new version ships, modifiedAt changes and your webhooks get article.updated.
  • The article’s id, slug and url stay the same through every update.
In the app In the feed Webhook
A shipped change is undone A new build, with the article back to how it read before article.updated
A new article is taken down A new build without the article None
A taken-down article is published again A new build with the article back article.published