Moving existing site to Ghost: Best approach?

Hi lovely folks,

I’m a new member here!

I’d like to move my existing WordPress site (let’s call it to Ghost.

Is it better to use the migration plugin and move the entire site or create a copy of existing WordPress site on Ghost sub-domain ( manually first, and then redirect ( to show the Ghost site once it is ready?

My WordPress site currently only has pages. I would like to use posts in Ghost once I move my site. And so, I do not know how the migration plugin will handle this. I do not have a very big site, and so I want to go with what would serve me the best.

Also, I do not want to lose my url paths or Google ranking.

Can anyone please suggest what should I do?

Thank you in advance!

1 Like

The migration tool is going to turn pages into pages. If you want those to be posts, you’ll need to manually copy them over or use some custom code, I think.

You’re going to need to use a redirects.yaml file to redirect your old urls to the new ones. (Most WP sites have post urls like /wp/23/03/postslug, while Ghost sites typically use /postslug or /blog/postslug. That way the Google bot will find your new pages.

1 Like

Another thing to consider is categories and tags. Ghost only has tags, so you need to decide what you want to carry over before migrating. If needed, use a WordPress plugin to convert tags to categories or vice versa.

1 Like

Thank you @Cathy_Sarisky and @mjw for your responses.

I do not have posts or categories activated on my WordPress site right now.

I have set-up the pages as following:

sample . com/Topic-1
sample . com/Topic-1/page-url-1
sample . com/Topic-1/page-url-2

sample . com/Topic-2
sample . com/Topic-2/page-url-1
sample . com/Topic-2/page-url-2

sample . com/Topic-3
sample . com/Topic-3/page-url-1
sample . com/Topic-3/page-url-2

Here, Topics 1, 2, and 3 are all pages and so are the other urls (nested under the main Topics).

Now, I’m thinking of getting a Ghost sub-domain and creating the following urls:

sample . ghost . io/Topic-1
sample . ghost . io/Topic-1/page-url-1
sample . ghost . io/Topic-1/page-url-2

sample . ghost . io/Topic-2
sample . ghost . io/Topic-2/page-url-1
sample . ghost . io/Topic-2/page-url-2

sample . ghost . io/Topic-3
sample . ghost . io/Topic-3/page-url-1
sample . ghost . io/Topic-3/page-url-2

And once, I have ‘cloned’ my current WordPress site on the Ghost sub-domain, I will connect my sub-domain (sample . ghost . io) to my actual domain (sample . com). This way I do not lose the urls (and Google ranking) and have the site ready.

What do you think?

1 Like

yes your approach make sense.

You could also install ghost on your computer locally and do all the migration test on your ghost local to see if the url structure is respected.

1 Like

Thank you @jeremielondon

I looked at the link you gave, and it went over my head :( I’m not a tech-savvy person (which is one of the main reasons I want to move to Ghost haha)

Can you also please suggest if I can change the tags into topic names so that the urls show these:

sample . ghost . io/news/post-1
instead of
sample . ghost . io/tag/news/post-1


sample . ghost . io/business/post-2
instead of
sample . ghost . io/tag/business/post-2

so that both sample . ghost . io/news/ and sample . ghost . io/business/ are pages, but the others are post.

So, instead of displaying ‘tag’ in the url, it shows the actual label instead. How can this be achieved?


I’d rather answer to you in a global way since i’m not exactly sure of what you need. Most of the time what you need to organise / structure your content or url you can do it with the routes :

I usually fix those things locally, you can do it in a subdomain if you feel better with it. bellow find the way to access the route

CleanShot 2023-04-17 at 09.20.04

1 Like

As mentioned earlier, Ghost only supports tags, but note that these are closer to WordPress categories.

Nonetheless, you can create custom routes to achieve what you need. You’ll need to setup dynamic routing for your examples.

Take a look at these:

Finally, if you intend to use Ghost(Pro) for hosting, you can contact support directly using the email found in the footer of this forum.

1 Like

Hi @mjw, @Cathy_Sarisky, and @jeremielondon

I finally joined Ghost!

I’m now trying to figure out how to create sub-pages under main page.

Main pages:

example . com/destination
example . com/news

And then, I would like to create sub-pages under them:

example . com/destination/asia
example . com/destination/africa

example . com/news/sport
example . com/news/politics

After I create the main pages (primary topics) and subpages (secondary topics), I then want to create posts/blogs under them:

example . com/destination/asia/5-ways-to-travel-on-a-budget
example . com/destination/africa/top-destinations-to-visit

example . com/news/sport/how-to-play-soccer
example . com/news/politics/what-happened-to-voting

How do I do this? I have chosen the Headline theme.

Please advice.