Quickstart

WriteInOne lets you run one or more blogs from a single account, all managed from the admin dashboard at /admin. This page walks through the smallest path from a new account to a published post.

The data model

Account
 └─ Site       (a blog — has a domain, languages, theme, nav/footer config)
     ├─ Post   (one per URL — has a status: draft / scheduled / published)
     │   └─ Translation   (one per language — title, slug, body, excerpt)
     └─ Tag    (per site, attached to posts by name)

A site is a single blog, reachable at a managed subdomain (myblog.writeinone.com) or your own domain behind a reverse proxy (example.com/blog) — see Subdomains and Your Own Domain. A post holds one translation per language it's written in, written as Markdown.

1. Create an account

Go to /admin/register and fill in your name, email, and a password (at least 4 characters). We email you a 6-digit code — enter it on the next screen to verify your address, which logs you straight in.

2. Create a site

From the dashboard, click + New site. On the General tab:

  • Give it a Site name.
  • Under "Where will your blog live?", pick Free subdomain and type a label — the form checks availability as you type — or My own domain if you're hosting behind your own reverse proxy (see Your Own Domain).

Click Create site. A subdomain site is live immediately; a custom domain needs one more verification step, explained on its own page.

The Appearance, Languages, and Code tabs let you set a styles URL, enable extra languages with their own nav/footer, and inject head/body HTML — none of it required to get started. See Theming for the Appearance tab.

3. Write a post

From the dashboard, click Posts on your new site's card, then + New post. Each enabled language gets its own tab with a title and a Markdown body; slug, tags, and a cover image URL are optional (slug is generated from the title if you leave it blank).

Click Save draft.

4. Publish it

Open the post again and click Publish (or Schedule to pick a future date and time instead — the post goes live automatically once it arrives). The post is now live at your site's URL, e.g. https://my-blog.writeinone.com/en/articles/hello-world.

Next steps

  • Subdomains — the fastest way to get a blog live.
  • Your Own Domain — host under a domain you control.
  • Theming — restyle a blog with the Style Editor or your own stylesheet.
  • Building an integration instead of clicking through the UI? See the API reference for plain HTTP calls, or the MCP server docs to connect an AI agent (Claude Code, Cursor, etc.) directly.