Publishing and scheduling
This page covers what happens when a Structura-generated post goes live — whether Structura publishes it directly or you publish it yourself after reviewing a draft. Publishing is where the real downstream action starts: channels fan-out, schema markup, cron events, all of it.
Two ways posts publish
Direct publish. The campaign is configured to go straight to live without a review step. As soon as generation finishes, the post is published on your WordPress site at the generation timestamp.
Publish after review. The campaign saves drafts for review (see Reviewing a generated post). The post goes live only when you click Publish in the block editor.
You set this per campaign in Advanced Settings. You can change it at any time via Edit a campaign.
WordPress post scheduling
Once a post is ready to go live, WordPress’s normal scheduling rules apply. You can:
- Publish immediately. The default — the post goes live right now.
- Schedule forward. In the block editor, click the publish date, pick a future date and time. WordPress publishes at that time via its wp-cron system.
Structura doesn’t add a separate scheduler for post-publish timing; it uses WordPress’s built-in one. If you need posts at particular times of day, schedule the campaign to generate in advance and use WordPress scheduling on each draft.
What publishing triggers
The moment a post becomes “Published” in WordPress:
- WordPress runs its normal publish hooks. Your theme, caching plugin, CDN, and any other WordPress plugins see the post as published and act accordingly (caching, CDN purge, feed updates, and so on).
- Structura fires the
structura/post/insertedaction. This is an internal hook used to tell Structura itself that the post is published. If you’re a developer and want to subscribe, see the WordPress hooks reference. - The channels dispatcher picks up the event. If you have any channels connected (LinkedIn, Slack, Discord, IndexNow, etc.), the dispatcher fans the post out to them. See How channels work.
- Schema markup is applied. If the post has FAQ or HowTo sections, Structura tags them so search engines render them as rich snippets. Nothing you need to do — it just works.
You can watch all of this live in System Logs (see Reading the Logs page).
Campaign schedule vs post schedule
Don’t confuse the two:
- Campaign schedule (Rhythm) — how often new posts are generated. Daily, weekly, monthly, etc. See Create a campaign → Rhythm.
- Post schedule (WordPress) — when an already-generated post goes live. Per-post, set in the block editor.
For most sites, the campaign schedule is what you care about; posts publish immediately once generated. The exception: if you want to batch generation (e.g., Structura generates on Monday but posts go live Tuesday/Wednesday/Thursday), use WordPress scheduling to stagger.
Unpublishing a post
If you want to take a published post back down:
- Open the post in WP Admin → Posts.
- Click the publish-status dropdown (currently “Published”) and change it to Draft or Pending.
- Save.
The post is now invisible to the public. Structura doesn’t “unpublish” to channels — a LinkedIn post or Slack message that already went out stays out. If you need to pull those back, you’ll do it manually on each platform.
Publish quotas
Depending on your plan, there’s a monthly posts-published quota per campaign (or per site, on some tiers). You can see your usage at:
- Structura → Overview → Intelligence Usage (if paid plan).
- Campaign detail view — the progress bar at the top of the card for quota-capped campaigns.
Running over the quota pauses further generation until the quota resets (or you upgrade). Already-generated but unpublished drafts are unaffected — they don’t count until you publish them.