Move Ghost to WordPress for Bloggers

Put Ghost and WordPress side by side and the choice sharpens quickly. Ghost is strong at the job it was built for, while WordPress is strong at the broader job a growing team eventually needs. This guide explains how to migrate Ghost to WordPress bloggers by comparing what each tool does well, mapping every important field, rebuilding the configuration that cannot transfer, and testing the result with real users before cutover. Read it as a project plan, not as a sales pitch, because the best migration is the one the team still trusts a month later.

Why a blog outgrows a publishing only platform

Ghost is a superb publishing tool. It gives a blogger a clean editor, built in memberships and a newsletter in one place, with very little to maintain. WordPress wins when the blog needs to become more than a blog, with ecommerce, directories, advertising, custom post types, forums or a large plugin ecosystem. The move is also about ownership and cost at scale, because a large free audience costs more on a membership priced platform than on self hosted WordPress. Bloggers who only write and send a newsletter gain little from moving, and should think twice before trading simplicity for flexibility they will never use.

A move of this kind should start with a written reason that survives a bad week. If the reason is only that a colleague likes the new tool, the team will drift back to old habits at the first problem. If the reason is a clear job the old tool cannot do well, such as bringing notes and tasks together, running a deeper sales process, handling paid bookings, or publishing beyond a simple blog, then the hard parts of the move have a purpose. Write the reason down, share it with the team, and use it to settle arguments about scope. Anything that does not serve that reason can wait until after launch.

The second test is fit for the size of the team. A tool built for a large enterprise can slow a small team with settings nobody owns, while a tool built for solo use can break under a team workflow. Check the fit against real daily work, not against a feature list. Watch how a task starts, who touches it, where it waits, and how it finishes. If the new tool makes that path longer, the team will work around it, and the workaround becomes the real system within a month.

What WordPress imports and what you rebuild

Every migration has two lists, and confusing them causes most failures. Data transfers, in the sense of records, messages, files and history that can be exported and imported. Configuration does not transfer in the same way, because settings, automations, views, templates and permissions belong to the old tool and must be rebuilt in the new one. A team that budgets only for data will run out of time halfway through the rebuild, while a team that plans for both will finish with a system people can actually use.

Ghost exports selected content, members and settings as a ZIP archive, with the export file holding posts, pages, tags and membership tiers, and a separate members file holding readers and subscription status. Published guidance notes that Ghost Pro emails an export link valid for seven days, that self hosted Ghost downloads through the browser, and that comments and past member activity are left out of the admin export. That last point matters. Back up the database and content folder separately if comments and history must be kept.

Start the inventory before any export. List every active workflow, template, saved reply, report, integration and permission in the old tool, and mark each one as transfer, rebuild or retire. Retire is a valid answer, and often the best one. Many teams carry automations nobody remembers creating, reports nobody reads, and templates that duplicate each other. A migration is the one moment when deleting that clutter is easy, because the new system starts clean and only earns back the items someone defends.

Ghost to WordPress checklist image
Ghost to WordPress checklist image

Your Ghost to WordPress content map

Source itemDestination itemMigration note
Ghost postWordPress postPreserve slug and publish date
Ghost pageWordPress pageCheck page templates after import
Ghost tagWordPress category or tagAgree the taxonomy before import
Ghost authorWordPress userMap authors and bylines correctly
Ghost memberWordPress subscriber recordImport status and labels carefully
Ghost paid tierWordPress membership levelRebuild tiers in the membership plugin
Ghost newsletterWordPress email provider listWarm the sending domain gradually
Ghost themeWordPress themeRebuild layout, do not expect a copy

A mapping table is not paperwork for its own sake. It is the contract between the old system and the new one, and it prevents the silent errors that look like success. When a field has no destination, the team must decide now whether to drop it, merge it into another field, or create a custom field to hold it. When two source fields map to one destination field, the team must decide which value wins. Those decisions are cheap before import and expensive after, because fixing them means reimporting or editing thousands of records by hand.

Test the mapping on a small sample before the full import. Pick records that cover the awkward cases, such as a record with every field filled, a record with almost nothing filled, a record with a long note, and a record with an unusual character in its name. If the sample imports cleanly, the full import has a far better chance. If the sample fails, the team has found the problem while it is still cheap to fix.

Ghost to WordPress mockup image
Ghost to WordPress mockup image

How to migrate Ghost to WordPress bloggers without losing momentum

Planning to migrate Ghost to WordPress bloggers well means protecting live work first and chasing perfection second. The team still has customers, deadlines and daily tasks while the move happens, and a migration plan that ignores that reality will be abandoned under pressure. Keep the old tool live, run the new tool in parallel for a pilot group, and move the rest of the team only when the pilot group can do its daily work without help. Momentum matters more than speed, because a team that trusts the new tool will finish the move, while a team that resents it will keep the old tool alive in secret.

Communication is part of the migration, not an extra. Tell the team what changes, what stays the same, and where to get help, before the first import runs. Give a single date for the switch, a single place for questions, and a named person who owns the move. When people know what to expect, they report problems early. When they are surprised, they work around the new tool and the migration quietly fails.

Moving a blog without losing readers or rankings

Ghost to WordPress timeline image
Ghost to WordPress timeline image

Freeze and inventory the old setup

Stop structural changes in Ghost, list every active workflow and template, and record record counts for later comparison. A freeze of even a few days prevents the source from changing while the destination is being checked.

Clean the source data

Merge duplicates, fix spellings, close dead work and archive old records that do not belong in a live system. Cleaning first is faster than cleaning after import, because the new system has no history to confuse the work.

Build the destination structure

Create the fields, views, groups and permissions in WordPress before importing anything. Importing into an unfinished structure forces a second import, and a second import creates duplicates that take longer to remove than the first import took to run.

Run a pilot import

Import one small, real batch and check it record by record against the mapping table. Fix every mapping error found in the pilot, because the same error repeated across the full import becomes a major cleanup job.

Rebuild configuration by hand

Recreate templates, automations, reminders and reports in WordPress, testing each one with a real example. Configuration rebuilt from a written list is testable, while configuration copied from memory is where silent errors hide.

Test with real users

Ask a small group to do their daily work in the new tool for several days, including the awkward cases. Watch where they hesitate, where they ask for help, and where they fall back to the old tool, because those moments show what still needs fixing.

Cut over and keep the old tool searchable

Move the team, update every public link and integration, and keep Ghost available in read only form for a short overlap period. A searchable old system removes panic, and panic is what causes rushed decisions in the first live week.

Proving posts members and redirects before launch

CheckWhat good looks like
Post countsPublished posts and pages match source counts
AddressesOld addresses redirect or resolve correctly
ImagesFeatured images and inline images display
MembersMember counts and statuses match the export
Paid accessPaying members can open gated content
NewsletterTest sends reach inboxes and links work
SEOTitles, descriptions and sitemaps are correct
CommentsComment history is preserved or archived

A checklist works only if someone owns each line. Assign a name to every check, set a date for it, and record the result, including the sample size checked. Checking ten records and calling the import good is not the same as checking a hundred records across different types of work. Sample across the awkward cases, such as the oldest records, the largest records, and the records owned by people who have left the team, because those are where errors hide.

Do not delete the source until every check passes. The source is the backup, the reference and the evidence if a customer asks what happened to their history. When the checks pass and the team has worked in the new tool for a full cycle, archive the source properly and record where the archive lives. Deleting early saves nothing and risks everything.

Ghost to WordPress diagram image
Ghost to WordPress diagram image

Simplicity traded for ownership and flexibility

No move is pure gain. The new tool will be better at the job that motivated the move and worse at something the team took for granted. Name those losses now, because a team that expects them will adapt, while a team that discovers them after launch will call the move a failure. Common losses include a simpler interface, a favourite shortcut, a report that needs rebuilding, and a habit that must change. Each loss should have a named workaround or an explicit decision to live without it.

Search traffic is the risk that hurts a blogger most. A changed post address without a redirect loses rankings and breaks every link other sites made to the blog. A newsletter sent from a new provider without warming up the sending domain lands in spam. Protect both by preserving addresses or redirecting every changed address, and by moving subscribers in stages with a careful first send from the new provider.

The other trade is time. A migration always takes longer than the import itself, because cleanup, rebuilding, testing and training are the real work. A plan that only counts the import day will miss its deadline by weeks. A plan that counts the full job, with buffer for the problems a pilot import will find, will finish on time and with the team still trusting the process.

Ghost to WordPress chart image
Ghost to WordPress chart image

What a blog migration really costs over three years

Self hosted WordPress hosting can start cheaply, with basic plans often in a low monthly range, but the real budget includes a theme, essential plugins, backups, security and someone to maintain updates. Ghost pricing is simpler to predict, while WordPress costs grow with plugins and traffic. Model three years of costs, not three months, and include the migration work itself, especially theme building and newsletter rebuilding.

Timing should follow the business calendar, not the vendor calendar. Avoid cutover during a product launch, a seasonal peak, a reporting deadline or a period when key staff are away. A quiet week is worth more than a fast week, because the team needs attention to spare for learning. If the business has no quiet week, move in waves, starting with the group that can absorb change most easily and learning from each wave before the next.

Assign clear roles. One person owns the migration, one person checks the data, and one person owns training and support. When everyone owns the move, nobody owns it, and problems wait for someone else to fix them. Keep a simple log of decisions, such as which fields were merged, which workflows were retired, and which records were archived. That log answers the questions that arrive months later, when nobody remembers why a field looks the way it does.

Ghost to WordPress workflow image
Ghost to WordPress workflow image

Learning to publish in WordPress after Ghost

Training should teach daily work, not features. Show the team how to start a task, find a record, update progress, hand work to a colleague and close it out, using real examples from their own work. A tour of every menu teaches nothing that survives the first busy morning. Short sessions, repeated over two weeks, beat a single long session, because people learn a tool by using it under real pressure, not by watching a presentation.

Write a one page guide for the ten tasks the team does most often, and keep it where people already look for help. Update that guide from the questions people actually ask in the first fortnight, because those questions show where the new tool confuses real users. Celebrate the first week of clean data, and correct bad habits kindly and quickly. Data quality in the first month sets the standard for the next year, and a team that starts clean usually stays clean.

Ghost to WordPress decision image
Ghost to WordPress decision image

Vendor pages to confirm before a blog import

For the vendor side of the details in this guide, see Ghost to WordPress field guide. Vendor pages change over time, so check the current version before launch, especially for limits, plan features and import steps. A guide can plan the move, but only the current vendor documentation can confirm the exact buttons and limits on the day you import.

Blog migration mistakes search engines punish

A careful plan to migrate Ghost to WordPress bloggers still fails when the team rushes the unglamorous parts. The mistakes below appear in almost every difficult migration, and none of them comes from the import tool itself. They come from skipping cleanup, skipping testing, and deleting the old system before the new one is proven. Reading them now, while there is still time to act, is far cheaper than fixing them after launch.

Importing before cleaning

Importing before cleaning is the most common mistake, and it is also the most avoidable. A team that imports duplicate records, dead work and misspelled labels into a new system does not get a fresh start. It gets the old mess in a new interface, and the team then blames the new tool for problems that existed before the move. Cleaning takes a day or two of focused work, while cleaning after import takes weeks of editing records one by one. Do the cleaning first, even when the deadline feels tight, because the deadline will feel far tighter once bad data is live.

Skipping the pilot import

Skipping the pilot import is how a small mapping error becomes a large cleanup job. A pilot import of one real batch, checked record by record, finds the field that maps to the wrong place, the date that shifts by a day, and the owner who never arrives. Those errors are easy to fix in a pilot and painful to fix across thousands of records. A team that skips the pilot usually discovers the error from a customer or a manager, which is the worst possible way to learn about it.

Rebuilding nothing and expecting magic

Rebuilding nothing is a quieter mistake. The data arrives, but the templates, reminders, reports and views that made the old tool useful are missing, so the team cannot do its daily work. People then keep the old tool open beside the new one, and the migration never really finishes. Plan the rebuild as a separate job with its own checklist, and test each rebuilt item with a real example before launch.

Forgetting the public links

Forgetting public links splits work across two systems for weeks. Booking pages, form links, meeting invites and help pages hide in websites, email templates, documents and printed material. Every missed link sends a customer or a colleague to the old tool after the team believes the move is done. Inventory every public link before cutover, update it at launch, and test each one from the outside, as a customer would.

Deleting the old system too early

Deleting the old system too early removes the safety net at the exact moment it is most needed. A question about an old record, a dispute about a past booking, or a customer asking what happened to their history all need the old system as a reference. Keep it searchable in read only form until the team has completed a full work cycle in the new tool and every check on the list has passed.

The pattern across all five mistakes is the same. Teams spend their energy on the new tool and starve the preparation, the testing and the overlap period. Reverse that balance. Spend most of the effort before and during the pilot, keep the old system close during launch, and treat the first month as part of the migration rather than as life after it. A team that does that usually reports a quiet launch, which is the best outcome any migration can have.

The first month publishing on WordPress

The first thirty days after a move to WordPress decide whether the new system sticks. In week one, watch for the daily tasks that slow down, the records that arrive incomplete, and the questions that repeat. Fix those problems the same day when possible, because a small friction left for a week becomes a workaround, and a workaround becomes the real process. Hold a short daily check in during week one, even if it only lasts ten minutes, so problems surface while they are still small.

In week two, review the data quality from the first live week. Check a sample of new records for completeness, correct owners and correct status, and compare them with the standard set before launch. A plan to migrate Ghost to WordPress bloggers well is judged by the data it produces, not by the import it ran, so this review matters more than any launch announcement. Share the results with the team, including what went well, so good habits get reinforced and bad habits get corrected early.

In week three, retire the old habits deliberately. Close the read only old system to editing if that has not already happened, archive the migration log, and update the one page guide with the answers to the questions people actually asked. This is also the right moment to rebuild the one or two reports or views that the team missed most, because by now the team knows what it really needs rather than what it thought it needed before launch.

By week four, the new system should feel ordinary, which is a compliment. Ordinary means the team opens WordPress first, finds records without hunting, and trusts the numbers it sees. Run a final check against the original reason for the move, and record whether that reason was met. If it was, close the project properly and thank the team. If it was not, name the gap and set a date to fix it, rather than letting the migration drift into an unfinished state.

Thirty days is enough to prove the move and short enough to keep attention on it. After that point, the work changes from migration to normal improvement, with small changes made one at a time. That steady rhythm is what keeps a system clean over years, and it starts with the discipline of the first month.

When to pause a blog migration

Pausing a migration is not failure, and pushing on through a failed pilot is not courage. If the pilot import shows systematic errors, if the rebuilt configuration cannot handle a daily task, or if the team cannot complete its work in the new tool without constant help, stop and fix the problem before moving more records. A plan to migrate Ghost to WordPress bloggers well depends on that discipline, because every record imported on top of a broken mapping multiplies the cleanup that follows, and a team that tries to migrate Ghost to WordPress bloggers on top of broken data will spend the first month apologising instead of working.

Set the pause triggers in advance, while nobody is under launch pressure. Agree that a pilot with more than a small share of records failing checks, a payment or booking test that fails, a login test that locks users out, or a compliance question without an answer all pause the cutover. When a trigger fires, the team returns to the pilot, fixes the cause, and reruns the test. That loop feels slow in the moment, and it is the reason the final launch feels quiet.

A second reason to pause is simpler, and it is that the business changed its mind about scope. If a new requirement appears mid migration, such as a new team joining, a new compliance rule, or a product launch moving earlier, the migration plan must change with it. Trying to migrate Ghost to WordPress bloggers on the original timetable while the scope quietly grows guarantees a launch that satisfies nobody. Replan openly, move the date if needed, and tell the team why. People accept a moved date far more easily than they accept a broken system.

The final test before resuming is the same test used at the start. Can the pilot group do its daily work, can a new starter understand the structure, and can the business answer a customer question from the new records. When those answers are yes, a plan to migrate Ghost to WordPress bloggers well can proceed with confidence. When any answer is no, the pause continues, and that patience is what separates a migration the team trusts from one it merely survives.

More Reading on Stratilyze

Readers who found this guide useful often look next at WordPress alternatives for growing blogs, Wix versus WordPress for bloggers, and moving a Squarespace site to WordPress.

Frequently Asked Questions

Can I import Ghost content directly into WordPress?

Not with one native button that handles everything. Ghost exports JSON content, which must be converted into a format a WordPress importer understands, with fields mapped to post title, slug, content, featured image and publish date. Plan the conversion and mapping step as real work, and test it on a staging site first.

What happens to Ghost members in WordPress?

Members export as a file with readers, labels and subscription status, but WordPress has no built in Ghost membership equivalent. Rebuild membership with a membership plugin, import members with their status, and test paid access with a real test account before inviting paying readers to log in.

How do I keep my search rankings?

Preserve post addresses where possible, and redirect every changed address permanently. Submit the new sitemap, check the most linked posts first, and monitor search console for errors in the first month. Keep redirects in place for at least a year, because old links keep sending traffic long after launch.

What about my Ghost newsletter?

Rebuild the newsletter with an email provider connected to WordPress, import subscribers with consent records, and warm the sending domain with smaller sends before the first full newsletter. A sudden large send from a new domain is the fastest way to land in spam folders.

Do Ghost themes transfer to WordPress?

No. Themes are platform specific, so the design must be rebuilt as a WordPress theme. Use the move as a design refresh, but keep the reading experience familiar, with the same typography feel, clear headings and fast loading pages, so regular readers still feel at home.

Should I move comments too?

Ghost admin exports leave comments out, so comments need a separate backup or a dedicated import path. If comments matter to the blog community, solve that path before launch, because readers notice missing discussion faster than they notice a changed theme.

A confident finish for your blog move

The verdict is straightforward. Move when the job has outgrown the old tool, not when a new tool looks attractive in a demo. Prepare the mapping, clean the source, pilot the import, rebuild the configuration properly, and keep the old system searchable until the team trusts the new one. Done that way, the move pays for itself in cleaner data, clearer ownership and a system the team actually uses. Done in a rush, it only moves the mess to a new address.

Whatever the timeline, the test at the end is simple. Can the team do its daily work without the old tool, can a new starter understand the system from its structure alone, and can the business answer a customer question from the new records without guessing. When all three answers are yes, the migration is done. Until then, keep checking, keep training, and keep the old system within reach.

Leave a Comment