Guide
Setting up a Ghost blog
Ghost is one of the cleanest publishing platforms going — fast, focused on writing, with built-in memberships and newsletters and none of the plugin sprawl that buries WordPress. If you are starting a blog on it, the first real decision is not a technical one but a hosting one: do you let Ghost run it for you, or run it yourself? This guide lays out both paths, then covers the step most people skip — keeping your own copy of everything you write.
The one decision that shapes everything: Pro or self-hosted
Ghost is open-source software you can install on your own server, and the company behind it sells managed hosting called Ghost(Pro). Same software either way; the difference is who keeps the lights on.
Ghost(Pro) is the path of least resistance. You sign up, pick a plan, and you have a working blog in minutes with updates, backups, security, and email delivery all handled. Pricing starts at around $15 per month on the entry plan when billed annually, scaling up by how many members and how much email volume you need. You trade money for never thinking about servers. For most people who want to write rather than administer a machine, this is the right answer, and it is what Ghost themselves recommend.
Self-hosting means installing Ghost on a server you control — typically a small cloud VPS. The software is free; you pay for the box it runs on, which can be a few dollars a month, and you take on the upkeep: updates, backups, SSL, and configuring email sending. It is more work and more responsibility, but it is cheaper at scale and gives you full control. If that path appeals, there is a dedicated guide on self-hosting Ghost.
A reasonable rule of thumb: if your time is worth more than the hosting fee and you would rather not be a sysadmin, choose Ghost(Pro). If you enjoy running your own infrastructure or you are watching costs closely as you scale, self-host.
Getting the blog itself going
On Ghost(Pro), setup is a sign-up form: create your account, name your site, pick a theme, and start writing. You can point a custom domain at it from the dashboard. On a self-hosted install, you provision a server, install Ghost (the official CLI walks you through it), connect your domain, and configure an email provider for newsletters and transactional mail. Either way, once it is live you write in Ghost’s editor, manage tags and authors, and publish.
That part is well-trodden and Ghost’s own documentation covers it thoroughly. What its docs say less about is what happens to your writing afterward.
Then: manage your whole blog as one reviewable workflow
Here is the thing worth setting up early, before your archive gets large. Inside Ghost, your posts live in a database behind a web editor that only ever opens one post at a time — you cannot search the archive with your own eyes in one place, edit it in bulk, or hand the whole thing to an AI. For a lot of the work that makes a blog better over time — fixing metadata across dozens of posts, refreshing old articles, keeping a real safety net — that is a genuine limitation.
Specter closes it. Connect your Ghost blog in the browser and every post lands in one workspace as clean, editable content — there’s nothing to install. From there you can run AI recipes across your whole archive, review every change as a diff, and publish back. The moment your blog is one reviewable workspace, you have a protected copy of your whole archive with a snapshot behind every publish, and you can do the bulk and AI edits the web editor cannot. Browsing and reviewing are free; only AI runs spend credits, and your workspace opens with 500 free.
You do not need this on day one, but it is worth knowing it exists before you have three hundred posts trapped in an editor. When you are ready, connecting Specter and running your first sync takes a couple of minutes. Set the blog up the easy way, write in Ghost, and manage the whole archive in one place. Subscribe now →
Prefer to keep the source of truth as plain .md files on your own Mac, edited with your own tools? The desktop and open-source edition runs the sync engine locally, nothing routed through our servers.