← All case studies WordPress → Ghost

Neville Hobson started a new Ghost site and kept WordPress as an archive

He tried a full WordPress import, then left the old site live. New writing lives on Ghost Pro as Studio6 at nevillehobson.io.

Neville Hobson ran nevillehobson.com on self-hosted WordPress from 2004. In the first quarter of 2025 he moved new writing to hosted Ghost Pro. The new site is Studio6, on a new domain. The WordPress site stayed up as an archive.

On 31 March 2025 he wrote up why he skipped a full import. This is his own post, not a vendor page.

If you are looking at the same route, start with the WordPress → Ghost playbook. Neville’s posts are the field report for a move that left the archive where it was. The playbook is still the WXR-and-import path.

Why he left

He had been writing online for more than two decades. Almost all of it sat on WordPress.

WordPress still worked for him. What wore him down was the admin. Self-hosted WordPress meant updates, plugins, themes, security, and a stream of sales pitches. He was spending more time as a site admin than as a writer.

He also pointed at rifts in the WordPress community, and at how heavy the stack had become for a blog. The live site held over 4,000 posts and pages. A separate archive from 2002 to 2006 added more than 1,400 posts. Years of plugins, themes, and tweaks sat on top of that.

He wanted a cleaner writing surface and a newsletter that did not need extra plugins. Hosted Ghost Pro promised less maintenance and faster pages, plus mail that goes out when you publish.

He was also watching Ghost’s ActivityPub work. Ghost opened a public social web beta on Ghost(Pro) in March 2025. A Pro site can be a node on the fediverse. He wanted to try that.

The plan that changed

The first plan was a full migration. He would keep nevillehobson.com, import everything, and hold onto the old URLs and the search ranking.

On 14 February he posted an update while that work was still on. The same note is on the WordPress archive. The site had more than 5,500 posts and pages, and a similar number of images. Ghost’s import tools plus Ghost support got a lot of it across. Featured images caused most of the extra work. Ghost treats the hero image differently from WordPress, so some imported posts showed the image twice and some showed none.

Ghost also uses a different permalink shape. He was planning redirects and checking for 404s. The public URL was still going to be nevillehobson.com. Go-live was early March.

Then Jon Hickman, Ghost’s support lead, walked the technical evaluation. Thousands of images lived on WordPress’s content delivery network. Ghost does not import and re-host those the same way. Shortcodes and custom formatting would not land cleanly. A years-old WordPress tweak needed a plugin there to stop duplicate featured images. Without a script on the Ghost side, every post would need a hand edit, or the site would show broken or doubled images.

Ghost’s own WordPress migrator matches the shape of that problem. You upload a WXR XML file. The cap is 2,500 posts and 100 MB. Some shortcodes come across, including [caption], [audio], and [code]. Uncommon ones do not. Custom post types do not. For bigger sites, Ghost points you at its Migrations team or the open-source migrate tools. Neville was already over that 2,500 cap.

A full import with redirects and SEO preservation would have been ongoing cleanup, more of the admin work he was trying to drop.

So he did not migrate everything. On 9 March 2025, nevillehobson.com became the archive. New posts go to Studio6. The old links still resolve because the old site is still there.

He had already published A New Beginning on 1 January on the Ghost site, while it was still private. The original go-live was the end of February. Last-minute work pushed the public switch to Sunday 9 March.

What he gained

He tried Ghost Pro’s free trial, then signed up for the Creator plan. In that first quarter of 2025 he put the bill at $300 a year, around £230. He says that saved him at least £100 a year against SiteGround plus premium WordPress plugins. Ghost later renamed Creator. I am quoting his 2025 number, not today’s pricing page.

He still pays to keep the WordPress archive online. He moved that hosting to Hostinger to cut the bill.

The new editor is a clean canvas. A published post can go out as a newsletter without a separate mail stack. His newsletter is free. He does not offer a paid tier. The dashboard shows who opened the mail and which links they clicked.

He says the new site loads faster. That is his reading of it. He did not publish a Lighthouse score, so I am not inventing one. A site without the old plugin pile is a lighter page.

He also ran Ghost locally on a Windows 11 PC so he could try themes without touching production. Ghost documents a local install for that. Ghost(Pro) hosting does not give you SSH. He said the same thing: a hosted Creator account does not hand you the server.

In September 2025 he customized a Neon theme in Docker Desktop, local Ghost, and VS Code, then uploaded the zip to Pro. That is the workaround when you want theme files and you do not have the box. At launch he used Ghost’s free Source theme.

What broke or got skipped

The archive stayed on WordPress because he chose to leave it there.

The February import still showed the cost of trying. Some featured images doubled, some disappeared, and permalinks did not match. He had to tweak CSS and JavaScript. Shortcodes and custom formatting would have needed hand edits across thousands of posts.

On launch, Google Search Console could not index the site. The robots.txt file blocked the whole thing. The Ghost site had been private for two months. There was no sitemap Google could use. As of 31 March he was still working that with Ghost support. I did not find a later public close-out.

Wrapping a small image so text flows around it is easy in WordPress. In Ghost he needed an HTML card, and the first version of that markup was a headache.

DNS for the new domain was the other scramble. Name servers and MX records at the registrar. He got it working just before launch. Ghost’s custom domain docs treat a root-domain CNAME as a non-standard setup that can interfere with email. His public URL is nevillehobson.io, not a www host. He did not name the root-domain setup as the cause. If you pick a new root domain, budget time for mail DNS before launch day.

Ghost has no WordPress-style media library. Hosted Pro also gives you fewer knobs than a self-hosted WordPress stack. He listed both as costs he accepted.

He still calls WordPress an excellent platform, and he says the move was about how he wanted to write.

What I would copy

Keep the old site up if the archive is the value. A live WordPress archive is a better fallback than a pile of redirects you have not tested. Old links keep working. You do not have to re-host thousands of CDN images on day one.

If you do want every post on Ghost, start with a WXR export and a database and file backup anyway. Then run a small import and look at featured images, shortcodes, and permalinks before you promise a date. Ghost’s migrator stops at 2,500 posts. Over that, you are in custom-script territory, which is where Neville stopped.

WordPress categories become tags in Ghost, and the first category becomes the primary tag. Ghost’s redirect tutorial has the usual /category/ to /tag/ and date-in-URL rules. He avoided most of that work by leaving the old URLs on WordPress.

Try Ghost Pro before you self-host. He did. Ghost’s hosting page is the same advice: Pro includes mail, CDN, backups, and weekly updates. Self-hosting means you buy those pieces, and you get SSH.

Tell readers the URL is changing before you cut over. He cross-posted from WordPress while Ghost was still private, and he gave a handful of people access for look-and-feel notes. On 9 March the archive post and the Studio6 welcome post went out the same day.

Run the WordPress → Ghost playbook. Use Neville’s posts for the archive-and-new-domain path. The reverse route is Ghost → WordPress if you need a way back.