How to Transfer a Ghost Blog to WordPress
Move a Ghost publication to WordPress with separate plans for posts, media, members, subscriptions and URL routes. Test paid access before launch.
To transfer a Ghost blog to WordPress, export the publication, move posts and pages through a compatible import format, copy the media, and rebuild the theme and publication routes. Handle members, newsletters and paid access as separate workflows. Check formatting, authors, access rules and old URLs before changing the domain.
A Ghost export is not a WordPress theme or a ready-to-run membership site. Getting the articles into WordPress is one part of moving a publication whose readers may also have subscriptions and account access.
Arrange the publication migration with Niwa
Niwa Business is USD 150 and includes a custom WordPress website or migration, hosting, maintenance and AI adaptation. Agree whether your transfer covers public posts only or also members, newsletter delivery and paid-content access. Payment and membership integrations need explicit coverage.
On the destination, Niwa can help visitors find relevant published information and support authorized owner content work. See how Niwa works when choosing that workflow. If WordPress is already in place, you can install the standalone Niwa plugin there.
Export content and keep a complete source archive
Ghost's current export instructions use Settings > Advanced > Import/Export, then the export controls. They distinguish content and settings JSON, member CSV, analytics, themes and route files. Ghost(Pro) and self-hosted installations have different handling for media files, so follow the route that applies to your installation.
Keep the export archive unchanged. Save the images, video, audio and downloads your posts depend on. For self-hosted Ghost, include the relevant server files in the backup process. Confirm that you can open the archive and locate a representative article and its media.
Inventory posts, pages, authors, tags, publication dates, scheduled items and visibility levels. Record newsletters, tiers, member labels, domains and integrations separately. Do not combine these into one generic count of articles.
Choose a content-import method
WordPress needs an importer that understands the source or a converted file in a supported schema. Its import documentation describes several format-based routes. Uploading Ghost JSON to the ordinary WordPress XML importer does not make it a compatible file.
For a small archive, recreate posts and pages manually, with explicit checks for dates, authors, tags, slugs and visibility. That can be easier to verify than maintaining a converter for a few articles.
For a larger archive, use a currently compatible Ghost importer or have the export transformed into WordPress WXR XML or a mapped format supported by your selected importer. Verify edition requirements and source compatibility before choosing a tool. The conversion must produce destination fields, not simply rename the file extension.
Prepare a field map that includes source ID, title, slug, body, publication state, dates, authors, tags and featured-image references. Preserve source IDs for repeat-run matching. Convert editor-specific body structures into the agreed WordPress blocks or HTML representation.
Test Ghost cards and media on a sample
Choose several articles with different structures: a simple text post, a gallery, a bookmark card, an embedded resource and a members-only article. Import them into protected staging.
Check headings, links, captions, lists, galleries and embeds. A Ghost card may need conversion or a different WordPress block. Confirm that a callout or button still has the intended text and destination, and that an embed works without including obsolete scripts across every page.
Copy media into the destination and update references. Open the article after the source media is no longer being relied on. Inspect featured images separately from body images. Preserve appropriate alt text and captions rather than assigning the same generic description everywhere.
Compare publication dates and author attribution. An author display name, a WordPress login account and an editor's permissions are separate decisions.
Treat members and billing as a separate transfer
An exported member row can describe a person and subscription status. It does not by itself create a working WordPress membership entitlement or transfer a recurring payment arrangement.
Choose the destination membership and newsletter systems before importing those records. Map tiers and access rules, decide how existing members sign in, and test reset or activation with an account you control. Preserve the records needed to understand who should receive a newsletter; do not treat every imported email as a fresh signup.
Agree payment continuity with the relevant provider and the destination implementation. Identify existing subscriptions, the process that maintains or replaces them, and what members must do. Avoid creating duplicate charges or canceling the old arrangement before the new process is verified.
Test an anonymous visitor, a free member and a paid member. The restricted article should expose only the intended preview to the first two if that is the publication's rule. Keep restricted material out of the public visitor assistant's sources.
Rebuild the publication layout and routes
Choose a WordPress theme and recreate the home page, article template, tag archives, author pages and signup destinations. Ghost theme files do not run as WordPress themes.
WordPress can use a static front page and a separate post index. Choose that structure deliberately if the publication's home page combines editorial sections rather than showing a plain chronological feed.
Review the Ghost route and redirect files from the archive. Preserve useful paths or map them to the correct post, page or archive. Include newsletter landing pages and older article paths linked from previously sent emails. Those email links may remain in use long after cutover.
Complete the final transfer and reader checks
Pause editorial changes briefly or record the posts and edits made after the first export. Transfer that final set without duplicating existing items. Inspect records after a failed import before retrying.
Test articles, search, signup, newsletter delivery and member access on desktop and mobile. Check forms and confirmation messages using controlled test records. Keep the source publication and backups available for the agreed recovery period before retiring its services.
Configure Niwa for the published archive
Once the archive is checked, configure Niwa with selected public information. A reader can ask where to find an article about a topic and verify the suggested destination. The owner can request a supported change to a public summary, inspect what was saved and check the page.
This makes the new site operationally AI-powered. It is a separate step from using AI to help convert layouts or content during construction.
Send your Ghost version, archive size, media requirements and membership model through Niwa's contact page. Agree the content and subscription responsibilities before the move begins.