Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Some links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.

The safest Ghost-to-WordPress migration is a staged rebuild, not a one-click import: freeze the Ghost site, export every data set, transform the JSON into WordPress-compatible content, test on staging, map every URL with permanent redirects, and only then switch DNS. Posts can move reliably, but memberships, newsletters, themes, analytics, and custom integrations usually require separate rebuilding or reconnection.

Can you import Ghost JSON directly into WordPress?

Ghost’s export file is JSON, while WordPress’s standard content interchange format is WXR/XML. Ghost’s documented migration JSON has a meta object and data collections for posts, tags, users, and relationship arrays. It is database-shaped rather than a documented native WordPress import format, so uploading the JSON to WordPress does not create a complete site.

Use a migration tool that explicitly supports your Ghost export, a custom conversion script, or an intermediary WXR/XML workflow. Test whichever route you choose with a small sample before processing the full archive. A successful test must preserve more than post text: check slugs, publication dates, authors, tags, featured images, image alt text, canonical metadata, internal links, embeds, code blocks, galleries, tables, and downloadable files.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Prepare the migration before exporting

Inventory the existing Ghost site

Record every content and service dependency before changing anything:

  • Posts, static pages, tags, authors, custom routes, and publication dates.
  • Featured images, inline media, downloadable files, embeds, galleries, and code blocks.
  • Navigation, theme templates, custom styles, forms, comments, analytics, and structured-data behavior.
  • Members, paid tiers, newsletters, integrations, webhooks, and automation.
  • Canonical settings, robots rules, XML sitemap behavior, and the complete public URL list.

Export this inventory to a spreadsheet that will later become your URL and validation checklist. Choose a content-freeze window so the final export represents an authoritative version of the site; otherwise, posts or edits made during migration can be missed.

Export and back up every Ghost data set

In Ghost, open Settings → Advanced → Import/Export. Ghost’s official export area provides:

  • Content and settings as JSON.
  • Members and post analytics as CSV.
  • The active theme as a ZIP file.

Keep the original files untouched, store a second backup outside the destination WordPress installation, and note the export date. The JSON is the source for posts, pages, tags, users, and their relationships; the CSV and ZIP files are separate assets and will not be absorbed by a normal post import.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Build a WordPress staging site first

Create the destination WordPress installation on a temporary or staging URL rather than importing into the live domain. Install the theme, plugins, and user accounts you expect to use, but do not assume that a plugin’s importer supports Ghost’s current JSON structure without documentation and a test.

WordPress’s migration guidance covers database export and import, changing the WordPress Address and Site Address, and replacing old media links after an address change. Plan that replacement explicitly: imported content can retain links to the old Ghost media folder even when the post itself appears correctly.

Choose a transformation method

Evaluate a method against the actual features in your inventory, not just the number of posts. The official Ghost and WordPress documentation does not establish a single official, one-click Ghost-to-WordPress importer, so current third-party tooling must be verified on staging.

Method What it can provide Typical risks to test Best fit
Documented Ghost-aware converter Repeatable mapping of posts and common taxonomies when the tool names the Ghost export version it supports. Unsupported fields, failed image downloads, altered slugs, or missing relationships; support for memberships and newsletters is not stated by official sources. Large archives where logging and repeatability matter.
Custom script Exact control over field mapping, authors, dates, tags, canonical data, and redirects. Development and maintenance effort; every media type and edge case needs tests. Sites with custom routes, integrations, or unusual metadata.
Ghost JSON to WXR/XML intermediary Uses WordPress’s established XML import path after a deliberate conversion step. Conversion can drop fields or relationships before WordPress sees them; media still needs verification. Teams already operating WXR-based migration tooling.
Manual rebuild Maximum editorial control over templates, navigation, and selective content cleanup. Slow, difficult to audit, and prone to missed URLs or metadata on a large site. Small sites or a major content redesign.

Whichever method you select, retain an import log with source identifier, destination URL, author, date, media result, and error message for every item.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Transform and import content in controlled batches

Map fields before running the full import

Define how each Ghost field becomes a WordPress field. At minimum, map the title, body, slug, status, original publication and update dates, author, tags, featured image, image alt text, canonical URL, excerpt, and internal links. Decide how Ghost pages differ from posts in WordPress and whether any custom post type is required.

Run a representative pilot

Import a small sample containing an ordinary article, a page, multiple tags, an older post, an article with a featured image, and posts containing embeds, code, tables, galleries, and downloads. View each item on the front end and in the editor. Fix the mapping before importing the remaining archive; repeating a flawed import creates duplicate posts and makes URL auditing harder.

Handle media separately

Confirm that every featured and inline image is present in the WordPress Media Library, that the generated URLs use the destination domain, and that alt text survived. Re-upload or relink files when necessary. Check image dimensions, captions, downloadable files, and third-party embeds rather than trusting a successful database import.

Import the remaining batches

Process the archive in logged batches. After each batch, compare source and destination counts, inspect failures, and verify that no imported post has an unintended draft status, date, author, or slug. Keep the Ghost export and the conversion logs until the new site is stable.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Rebuild the parts that are not ordinary post data

Content migration and site migration are different tasks. Recreate or reconnect the following deliberately:

  • Theme and templates: Ghost themes are ZIP archives, not WordPress themes. Rebuild templates, typography, navigation, archives, author pages, and responsive layouts in the chosen WordPress theme.
  • Members and subscriptions: Ghost’s members CSV is a separate export. Select a WordPress membership or commerce system, confirm whether it can legally and technically accept the records, and plan password resets or re-consent where required.
  • Newsletters: Reconnect the sending service, lists, forms, automations, sender authentication, and unsubscribe handling. Do not assume Ghost newsletter settings transfer from the content JSON.
  • Analytics and integrations: Reinstall tracking, webhooks, search integrations, comments, forms, and custom scripts, then test events in a non-production environment.
  • Custom functionality: Reproduce redirects, custom routes, memberships gates, code injection, and API consumers only after identifying their WordPress equivalent.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Preserve URLs and search visibility

Create a complete old-to-new map

Export every publicly reachable Ghost URL, including posts, pages, tag archives, author pages, feeds, and important media or download URLs. Add the final WordPress URL and the intended status for each source. A changed or removed URL should normally point with one 301 redirect to the closest equivalent page. Avoid chains such as old URL → temporary URL → final URL, and do not send unrelated pages to the home page.

Implement Ghost redirects before launch

Ghost’s redirect system uses a redirects.yaml file with separate 301 and 302 sections. Use 301 for a permanent move and 302 only when the destination is temporary. Ghost describes redirects as forwarding one URL to another; they prevent broken links and signal to search engines that a page has moved.

Preserve on-page signals

Keep the intended slug, canonical URL, title, meta description, heading hierarchy, internal links, image alt text, and structured data. Generate the WordPress XML sitemap only after the final URLs and indexation rules are correct. Check that staging is not accidentally indexable and that production does not retain a blanket noindex rule.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Validate before changing DNS

Run a crawl of the staging site and test representative pages on desktop and mobile. Use this checklist:

  • Every mapped old URL returns the intended 301 or 302 status, with no redirect chains.
  • New URLs return 200 where expected; removed content returns the deliberate status rather than an accidental 404.
  • Canonical URLs, title and meta output, robots rules, XML sitemap entries, and structured data are correct.
  • Internal links, pagination, navigation, feeds, images, downloads, embeds, code blocks, galleries, and tables render correctly.
  • Forms, comments, analytics events, newsletter subscriptions, membership access, and transactional emails work.
  • Authors, dates, tags, featured images, and search results match the source inventory.
  • Server logs show no recurring media failures, redirect loops, or unexpected 404s.

Do not approve the cutover from a handful of pages. Include the oldest content, the most visited URLs, every special template, and pages with unusual media or integrations.

Cut over and monitor the live site

  1. Lower DNS TTL ahead of the planned switch where practical.
  2. Take a final Ghost export during the content-freeze window and reconcile any changes against the staging import.
  3. Switch the domain to WordPress and activate the final redirect map.
  4. Keep the old Ghost site available long enough to serve redirects or provide a fallback, rather than shutting it down immediately.
  5. Monitor crawl errors, 404s, redirect responses, rankings, organic traffic, subscriptions, forms, and analytics events from the first hour through the following weeks.
  6. Correct mapping or template errors, then keep the original exports and logs as recovery records.

A migration is complete only when the WordPress site serves the intended content, old links resolve appropriately, and the services around the publication continue to work. Treat the move as a controlled data conversion plus a presentation and service rebuild, not as a single import button.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.