
Ghost Migration & Switching Guide 2026
Ghost imports natively from Substack, Medium, WordPress and more, with a free managed migration. Open JSON, members CSV and theme ZIP exports mean near-zero lock-in.
Ghost Migration verdict
Ghost is the easiest builder to move into and out.
A native importer pulls content and images in from Substack, Medium, MailChimp, WordPress and Tumblr, there is a free managed migration, and the importer reads JSON and zip. It is just as easy to leave, with open JSON content, members CSV and theme ZIP exports available at any time.
Ghost suits writers and publications moving a blog or newsletter onto it who value an easy import and the guarantee of an easy exit. It is less ideal if you are migrating a complex marketing site or store, since Ghost imports content, members and a theme rather than a general site.
- The native importer covers Substack, Medium, MailChimp, WordPress and Tumblr, reads JSON and zip, and a free managed migration is offered.
- Lock-in is effectively zero, with open JSON content, members CSV and theme ZIP exports re-importable anywhere, plus you can self-host the open-source software. On import, image paths must match the /content/images/ structure or images will not resolve.
- Ghost is publishing-focused, so a migration moves content, members and a theme, not a general site or store.
- Import
- Substack/Medium/WP/Tumblr
- Managed migration
- Free
- Export
- JSON + members CSV + theme ZIP
- Self-host
- Open-source (same stack)
- Lock-in
- Effectively zero
This page covers migrating in and out of Ghost. SEO output and pricing live on their own pages.
What moves into Ghost, and can you leave?
Pick what you are bringing to Ghost, and see exactly what transfers.
- Substack / Medium / MailChimp: imports natively, native importer pulls content and images directly.
- WordPress / Tumblr: imports natively, documented migration guides.
- Members (CSV): via CSV or API, import members as CSV with labels and Stripe ids.
- Content + images (zip): via CSV or API, JSON content + images in one zip; paths must match /content/images/.
- Complex pages / store: does not transfer, publishing-focused; not a general site or store importer.
- 1Export source as JSON / zip, importer reads JSON + zip.
- 2Import content + images, native importer or free managed migration.
- 3Import members (CSV), with labels and Stripe ids.
- 4Set redirects (redirects.yaml), 301/302, regex.
- 5Connect domain (CNAME + A), Ghost(Pro), auto SSL.
Every row is a documented import/export capability from Ghost and the source platforms, not an effort estimate.
Ghost migration configuration
Ghost gives you full ownership with open exports available at any time: a single JSON file for content (settings, staff, posts, pages, tags), members as a CSV, themes as a ZIP, and post analytics as a CSV. Everything re-imports at any Ghost site, which is why lock-in is effectively zero.
# Settings > (Labs) Export / Import
content.json # All Settings, Staff users, Posts, Pages, Tags, Members
members.csv # id,email,name,note,subscribed_to_emails,complimentary_plan,
# stripe_customer_id,created_at,deleted_at,labels
theme.zip # your active theme
# all re-importable at any Ghost site, or reformat for another platformCarry old URLs over with redirects.yaml: a 301: block for permanent moves and a 302: block for temporary ones, mapping old paths to new ones with regex support. Download, edit and re-upload it in Settings, Advanced, Labs.
301:
/2024/06/old-post/: /old-post/
^/blog/(.*): /$1
302:
/promo/: /pricing/
# 301 permanent, 302 temporary; regex supportedOn Ghost(Pro) map a domain you own by adding a CNAME and an A record at your registrar; SSL is auto-provisioned. A subdomain uses a CNAME to [subdomain].ghost.io with an A record on the apex; .eth and special-character domains are not supported.
; Ghost(Pro): map a domain you own (auto SSL)
www CNAME [subdomain].ghost.io
@ A 178.128.137.126 ; root -> www redirect
; .eth and punycode/special-character domains are not supportedWhat imports cleanly into Ghost
| Content | Into Ghost | Detail | Source |
|---|---|---|---|
| Substack / Medium / MailChimp | Native importer | Import content and images directly from these platforms | — |
| WordPress / Tumblr / CMS tools | Migration guides | Documented guides for WordPress, Tumblr, Medium and other CMS tools | — |
| Content + images together | JSON + zip | Importer accepts JSON and zip; add files to the same zip to import content and images together | — |
| Image paths | Must match structure | Image paths must match the /content/images/ structure | — |
| Free managed migration | Offered | Ghost offers a free migration service to move you in | — |
| Ghost to Ghost | Universal import | Ghost-to-Ghost uses the universal import option | — |
Source-to-Ghost mapping
| Element | Lands in Ghost as | Caveat | Source |
|---|---|---|---|
| Posts & pages | Content (JSON) | Imported via the JSON content file | — |
| Images | From the zip | Paths must match /content/images/ to resolve | — |
| Members | Members CSV | Exportable/importable as CSV with id, email, name, labels, Stripe id | — |
| Tags & settings | Content JSON | Single content JSON includes settings, staff, posts, pages, tags | — |
| Theme | Rebuilt or downloaded | Themes are ZIP files you download/upload; design is theme-based | — |
| Newsletter subscribers | Members CSV | Member exports re-import to any Ghost site or reformat for others | — |
Ghost migration timeline and rollout
| Phase | What happens | Effort | Source |
|---|---|---|---|
| 1. Export from source | JSON / zip from the source platform | Low; importer reads JSON + zip | — |
| 2. Import content + images | Native importer or managed service | Low; content and images together | — |
| 3. Import members | Members CSV | Low; CSV with Stripe ids and labels | — |
| 4. Set redirects | redirects.yaml (301/302) | Medium; map old URLs | — |
| 5. Connect domain | CNAME + A record, auto SSL | Low; Ghost(Pro), owner only | — |
What to verify before you commit to Ghost
- Lock-in is effectively zero: Ghost gives you full ownership with open JSON and CSV exports available at any time, and because the software is open-source you can self-host the exact same stack rather than stay on Ghost(Pro)
- Member and content exports re-import at any other Ghost site in the same format, or can be reformatted for other platforms, so your audience and content are never trapped
- On import, image paths must match the /content/images/ structure or the images will not resolve, so package content and images in the same zip with the correct paths
- Ghost is a publishing platform, so a migration in is content, members and a theme, not a general site with complex pages or a store; plan to rebuild non-publishing features elsewhere
Ghost Migration FAQ
How do I migrate to Ghost?
Ghost has a native importer that pulls content and images directly from Substack, Medium, MailChimp and other platforms, with documented guides for WordPress, Tumblr and other CMS tools. The importer reads JSON and zip, so put content and images in the same zip, and Ghost also offers a free managed migration service to move you in.
Can I export everything from Ghost?
Yes, at any time. Ghost gives you full ownership with open exports. A single JSON file holds your content, covering settings, staff, posts, pages and tags, with your members as a CSV, your theme as a ZIP and post analytics as a CSV. Everything re-imports at any Ghost site or can be reformatted for other platforms.
Does Ghost lock me in?
No, less than any other builder here. The exports are open JSON and CSV formats available anytime, and member and content exports re-import at any Ghost site. Because Ghost is open-source under the MIT license, you can self-host the exact same software instead of Ghost(Pro). Your audience and content are never trapped.
What is the catch when importing into Ghost?
Image paths. When you import, the image paths in your files must match the /content/images/ structure, or the images will not resolve. So package your content and images in the same zip with the correct paths. Beyond that, the importer is fast and a free managed migration is available.
Can I move my newsletter members to Ghost?
Yes. Members import and export as a CSV that includes the email, name, labels and Stripe customer id. So you can bring your newsletter audience across and, just as importantly, take it with you again if you leave. That portability is a core part of Ghost's appeal for publishers.
Sources & verification
| Source | What was checked | Last checked |
|---|---|---|
| Ghost Official | Official product page | July 10, 2026 |
| Ghost Help Exports | Help Exports | July 10, 2026 |
| Ghost Help Imports | Help Imports | July 10, 2026 |
| Ghost Help Redirects | Help Redirects | July 10, 2026 |
| Ghost Help Seo | Help Seo | July 10, 2026 |
| Ghost Help Using Custom Domains | Help Using Custom Domains | July 10, 2026 |
Every fact on this Ghost page is tied to a named source and a verification date. Freshness-sensitive figures trace to the sources above; verify against the vendor before relying on them.
Explore Ghost
Every page on Ghost in one place, you are on migration.
Snapshot, score and verdict
You are here
SEO output and page performance of sites it builds
Every tier and the entry price
Compared and ranked vs peers
Price and feature change history
Browse the full Website Builders category
