DPDP Act 2023 Compliance Deadline:8 mo23 daysuntil May 14, 2027Get Shield Ready →
Blog

Publishing a Post Through the CMS

The blog runs on a small, code-free editor at /admin. No developer needed for a routine post; you’ll only need one to change the fields the editor exposes.

One-time setup (a developer does this once)

  1. Create a GitHub OAuth App under the repository owner’s GitHub account (Settings → Developer settings → OAuth Apps → New OAuth App), with its callback URL set to https://<your-domain>/api/auth/callback.
  2. Set GITHUB_OAUTH_CLIENT_ID and GITHUB_OAUTH_CLIENT_SECRET as environment variables in the Cloudflare Pages project settings.
  3. Each content editor needs write access to this GitHub repository — add them as a collaborator (or to the relevant team) there. Logging in at /admin authenticates through GitHub directly, so there’s no separate invite step.

Publishing a post

  1. Go to yoursite.com/admin and log in.
  2. Click New Blog Posts.
  3. Fill in the fields:
    • Title — shows as the page heading and in the browser tab.
    • Description — used as both the search-engine snippet and the excerpt on the blog listing page, so write it as a real sentence, not a keyword list.
    • Publish Date / Updated Date — control sort order and the “last updated” signal search engines use for freshness.
    • Author, Tags — shown on the post and used for light grouping.
    • Hero Image — optional; used as the social-share preview image if set.
    • Draft — leave checked while you’re still writing. A checked draft is simply left out of the next deploy; unchecking it and publishing is what makes a post go live.
    • Body — the actual post, written in the same rich-text/markdown editor.
  4. Click Publish (or Save to keep working on it as a draft).

Every save is a real commit to the repository, so the full history of every post is just normal git history — nothing CMS-specific to back up separately.

← Back to Blog