Blog cross-post strategy — daily post, omni-publish fan-out, GH Issues drafts (not Telegram)
Blog cross-post strategy
The flow
- Daily blog post lands at
blog.oriz.in/posts/YYYY-MM-DD-slug(Markdown commit topages-blog-app). - Tag push (
v*) firesrelease.yml? calls@chirag127/omni-publish. - Auto-publish to: dev.to + Hashnode + Bluesky + Mastodon + Threads (5 channels, all have working write APIs in 2026).
- Manual-publish queue: X (paid API) + Reddit (subreddit rules) + LinkedIn (weekly digest only) + Medium (deprecated tokens) ? drafts as GitHub Issues in private
chirag127/oriz-draftsrepo, labelledplatform:x/platform:reddit/platform:linkedin/platform:medium. - Per-channel AI rewrite: title + body adapted per platform (length, tone, hashtag conventions) via NVIDIA NIM primary + OpenRouter free models fallback on 429/5xx.
Canonical URL discipline
Every channel sets canonical_url = https://oriz.in/posts/... (or whatever the original post URL is on the blog). dev.to, Hashnode, Medium all honour <link rel="canonical">. Bluesky/Mastodon/Threads include the canonical URL in the post body.
Why: Google de-dupes by canonical, attributes ranking to oriz.in, mirrors are "syndicated" not "duplicate content".
Drafts queue replaces Telegram
Telegram is banned in India. User cannot reliably access Telegram bots. Drafts go to GitHub Issues in a private repo (chirag127/oriz-drafts). Full mechanics in [[decisions/compute/drafts-queue-host]] + [[rules/no-telegram-india-banned]].
Channel matrix link
The full monetisation + posting rules per channel live in [[policy/monetisation-channel-matrix]]. This file is the cross-post SHAPE; the matrix is the per-channel revenue + ethics rules.
Cross-refs
- omni-publish parent ? [[decisions/packages/omni-publish-package]]
- Revenue channels 2026 ? [[monetisation/revenue-channels-2026]]