Are you feeling constrained by WordPress or simply looking for a fresh start? Ghost offers a compelling alternative for content creators, whether you’re seeking better performance, a cleaner writing experience, or a modern publishing platform.
Ghost is a focused publishing platform built with modern technology. It excels at what it does best: running beautiful, fast, and secure blogs without the complexity of traditional CMS systems. Its built-in membership features, native newsletter capabilities, and straightforward interface make it an attractive choice for professional publishers and bloggers.
This article explains how to migrate content from your existing WordPress site to a GhostCMS blog using simple steps.
But before we get started, there is one thing that you should know about!
Important Disclaimer: Before beginning the migration process, please note that certain WordPress features may not transfer perfectly to Ghost. For example, advanced custom fields, multisite networks, and some specialized plugins may not migrate as expected. You’ll need additional configuration after migration if your WordPress site uses multiple authors or scheduled posts. Consider these limitations when planning your migration strategy.
Option 1: Ghost Pro (The Easy Way)
If you want a hassle-free migration experience, Ghost Pro’s Concierge service is your best option. When you subscribe to an annual Ghost Pro Creator, Team, or Business plan, their team will handle the entire migration process for you. This is particularly recommended if you:
- Have a complex WordPress setup
- Want to ensure nothing gets lost in translation
- Prefer a hands-off approach
- Need professional support throughout the process
Option 2: Manual Migration (The DIY Approach)
If you have basic technical knowledge, you can migrate your website without help. Follow the steps below to migrate your WordPress content to a Ghost blog manually:
Step 1: Prepare Your WordPress Site
- Log in to your WordPress dashboard
- Navigate to Plugins → Add New
- Search for “Ghost” (ensure it’s by Ghost Foundation)
- Click “Install Now” followed by “Activate“
Step 2: Export Your Content
- After installing the plugin, go to “Tools” → “Export to Ghost” in your WordPress dashboard
- Review the preparation guide to understand what will be exported
- Click “Download Ghost File” to get a ZIP file containing your content
- Store this file safely, as it contains all of your posts, pages, tags, and images
Step 3: Prepare Your Ghost Installation
- After downloading your content, you can upload it to your Ghost website. This tutorial assumes that your Ghost site is properly set up and running. If this is not the case, you can refer to our guide on installing Ghost CMS to view the step-by-step instructions.
- Open your Ghost website and navigate to your Ghost Admin panel
- Navigate to “Settings” → “Advanced” and scroll down till you see the “Migration Tools” section.
Step 4: Import Your Content
- On the import page, click “Universal Import“
- Drag and drop your exported ZIP file or click to select it via File Explorer.
- Wait for the import process to complete (this may take several minutes, depending on your content volume)
Step 5: Post-Migration Tasks
- Verify all content has been imported correctly
- Check that images are displaying properly
- Update any internal links to match your new Ghost URL structure
- All the scheduled posts from WordPress will be marked as drafts in Ghost. If you have any scheduled posts, you must manually review and schedule them in Ghost.
Troubleshooting Tips
Sometimes, things don’t go as planned, and you might encounter issues. Here are some of the common problems that you may encounter:
Large Image Sets
If you have hundreds of images on your WordPress site, downloading and uploading them can take quite a long time. If this is the case, you can download just the JSON file in step 2 and migrate your images manually.
Directly copying images from the source server to the destination server will be much faster as it won’t require you to compress, download, and then upload the same files to the server. However, it will require you to have a basic understanding of SSH. If you are going down this path, then you should check out our previous article, in which we explain how to transfer files using SFTP.
Alternatively, if both your WordPress site and Ghost site are on the same server, you can simply copy and paste the images from one folder to another via SSH. To do this, you must copy all the content in the /wp-content/uploads/ folder in your WordPress installation and paste it into your Ghost installation’s/content/images/wordpress/ folder.
If you are unsure how to do this, refer to our post, which explains how to copy files via the command line in Linux.
Export Failures
If the full export fails:
- Try the JSON export option instead (excludes images)
- Download images separately from your server
- Manually organize images in the correct directory structure
- Create a new ZIP with both the JSON and organized images
Error During Ghost Zip Import
Sometimes, the WordPress export can create problematic ZIP files that Ghost won’t accept. Some people on the community forums have reported issues with the WordPress-generated ZIP file structure:
- If you find plain text error messages at the beginning of your ZIP file, this can make the archive unreadable
- The solution is simple:
- Extract all contents from the original WordPress export
- Create a fresh ZIP file on your local machine
- Include only the essential JSON and image files
- Use this newly created ZIP for the Ghost import
After Action Report: Post-Migration Considerations
In this guide, we have provided the necessary steps to migrate your WordPress website to Ghost. After migrating from WordPress to Ghost, there are five essential steps that you should take:
- Set up redirects from your old WordPress URLs to your new Ghost URLs
- Update any external services pointing to your old WordPress site
- Test all forms and interactive elements on your new Ghost site
- Review your SEO settings and metadata
- Update your DNS settings if changing domains
RunCloud makes this transition period smoother by allowing you to run both applications simultaneously. This keeps your WordPress site active while you perfect your Ghost installation. This parallel running capability ensures you can thoroughly test everything without risking downtime or disrupting your online presence.
The real beauty of RunCloud is that it doesn’t force you to choose between platforms or compromise your hosting setup. You get a powerful, user-friendly dashboard that handles both PHP and Node.js applications with equal efficiency, expert support when needed, and the freedom to evolve your web presence on your terms.
Ready to experience hosting without boundaries? Sign up for RunCloud today and join thousands of developers who trust us with their web applications – start with a 7-day free trial.
Frequently Asked Questions: WordPress to Ghost Migration
Will I lose my SEO rankings when moving to Ghost?
You won’t lose your SEO rankings if you properly set up 301 redirects from your old WordPress URLs to your new Ghost URLs. Ghost has built-in SEO features and automatically generates the necessary meta tags and structured data for search engines.
What happens to the functionality of my WordPress plugins after migrating to Ghost?
Most essential features provided by WordPress plugins are available as native features in Ghost, eliminating the need for plugins. However, if you rely on very specific plugin functionality, you’ll need to check if Ghost provides an alternative solution or if you can achieve the same result through Ghost’s integrations.
Can I keep my WordPress theme design in Ghost?
While you can’t directly port your WordPress theme to Ghost, you can create or purchase a similar theme that matches your current design. Ghost uses a modern theming system based on Handlebars, and many professional themes can be customized to match your WordPress site’s look.
Ghost doesn’t have a native commenting system but integrates well with third-party solutions such as Disqus, Cove, or membership discussions. You can migrate your existing WordPress comments to one of these platforms, though the process may require additional steps.
Will my WordPress media library transfer completely to Ghost?
The Ghost migration tool will transfer your images, but other media types, including PDFs or audio files, must be moved manually. Videos embedded from services such as YouTube or Vimeo will continue to work normally in Ghost.
Can I keep my WordPress users and their roles in Ghost?
Basic user information and author attributions will transfer, but all users must set up new passwords in Ghost. Ghost has a simpler role system than WordPress (Admin, Editor, Author, and Contributor), so some custom WordPress roles may need to be reorganized.
Will my scheduled posts work in Ghost after migration?
Scheduled posts will transfer to Ghost, but you must verify their scheduling after migration. Ghost handles scheduling differently from WordPress, so it’s recommended that all scheduled content be double-checked after the migration.
Will my WordPress forms still work in Ghost?
WordPress forms won’t transfer directly to Ghost, but Ghost integrates with popular form services such as TypeForm or Google Forms. You’ll need to recreate your forms using one of these third-party services and embed them in your Ghost content.
Can I test the migration before going live?
You can set up a test Ghost installation and perform a trial migration before moving your live site. This lets you identify and fix potential issues without affecting your live WordPress site.
What happens to my WordPress categories?
Categories from WordPress are converted to tags in Ghost since Ghost uses a simpler taxonomy system. Ghost will preserve the hierarchical organization by displaying former categories before regular tags.
Will my internal links break after migrating to Ghost?
Internal links within your content must be updated to match Ghost’s URL structure. The migration tool can handle basic URL updates, but you should verify all internal links after migration, especially if you’re changing domains.
Can I move my WordPress e-commerce store to Ghost?
Ghost isn’t designed for e-commerce like WordPress with WooCommerce but integrates well with external e-commerce platforms. You’ll need to set up your store on a platform such as Shopify or Gumroad and integrate it with your Ghost site.
Do WordPress shortcodes work in Ghost?
WordPress shortcodes won’t work in Ghost and must be replaced with standard HTML or Markdown. Ghost uses a clean, card-based editor that eliminates the need for most shortcodes.
Can I migrate my WordPress subscription/membership system to Ghost?
Ghost’s built-in membership and subscription system is often more powerful than WordPress solutions. While member data won’t automatically transfer, Ghost provides tools to import members and set up new subscription plans.
Ghost automatically generates RSS feeds with a slightly different URL structure from WordPress. You must update any services using your RSS feed to point to your new Ghost RSS feed URL.