Publishing the same idea to six networks usually means writing it six times — or pasting one text everywhere and watching X cut it off at 280 characters while Instagram refuses it for having no image. The fan-out exists so you write once. A post in SiteOps is one logical thing: a scenario (the creative brief — why this post exists and who it talks to), a master markdown body, and the media attached to it.
From that master, the engine drafts one version per connected network, each shaped to that network's real rules: 280 characters on X, 300 on Bluesky, 500 on Threads, 2,200 on Instagram (which also requires media), 3,000 on LinkedIn, a 500-character description and 100-character title on a Pinterest pin. Articles go to your own blog and to Medium, where markdown renders in full and the Medium copy carries a canonical link back to your site — your blog stays the original in search engines' eyes.
How your numbers travel
Master postmarkdown + scenario
SiteOps fan-outone version per network
versionslimitsmediaslots
Your networksblog, Medium, socials
Nothing publishes on its own. The versions wait in review; you read them, tweak any of them, and approve once. That single approval books every enabled version onto the calendar, staggered about two hours apart so the same post doesn't hit every network in the same minute.
Set it up, step by step
0 of 8 done
Posts
Generate posts
Posts
the post's row
Instagram version
Settings
Publishing
Canonical link to your blog
Calendar
If something does not work
Approve is refusing and naming Instagram or Pinterest — why?
Those networks require media: Instagram takes no bare-text posts and a pin without an image isn't a pin. Generate or attach an image on the media shelf, pick it on that version's tab, and approve again — or switch that version off for this post.
I edited one version after approving — why does it say 'edited — approve again'?
Any edit puts that version back to draft so nothing ships text you didn't sign. Press approve again: it re-books the same calendar items with the fresh text — re-approving reslots, it never duplicates, and versions that already went live are left untouched.
I turned a channel off on the post but it published there anyway.
Turning a channel off skips its pending booking — but a version that had already gone out stays out; SiteOps never pretends a live post away. Check the version's state on its tab: 'already live' means it published before the switch.
My social versions don't show the image inside the text.
That's the two delivery routes, not a loss. Only the article homes — your blog and Medium — render an inline image where its tag sits. Feed networks don't render markdown, so the tag is stripped and the same file is attached beside the text instead.
Every version went out at a different time — is that a bug?
It's the stagger: versions book about two hours apart so the same post doesn't hit every network in the same minute. The publish plan shows each exact time before you approve; afterwards, Move all rebooks every waiting version from a new time, or drag single ones in the Calendar.