I’m planning to move my Wordpress site over to Ghost… everything is done now except the redirects. I have around 2000 redirects on the WordPress site using the Redirection plug-in. I can export data from the WordPress plug-in and I can see how to create redirects on Ghost.
Has anyone been through the process of migrating many WordPress redirects to a Ghost site?
I have about a decade of accumulated redirects… a few regex redirects such as when I changed the permalink structure from day, month and postname to postname. I think these would be easy to recreate in Ghost.
Others are old stories that died or were updated.
The main problem is the sheer scale of the task… there are more than 2000 to deal with.
I’m interested to know if anyone else has been through a similar process and how they dealt with it.
It may be time to declare redirect bankruptcy… launch the Ghost site and live with the broken links. Or maybe prioritise the most used redirects.
What format are your exported redirects in? I’m not sure about the performance implication of uploading 2000 redirects (maybe RyanF knows?), but it might not be too hard to convert whatever your export format is to yaml…
I can export in CSV, Apache .htaccess or Nginx formats. There’s also something called Redirection JSON formats which looks like it might be hard to deal with. I made a CSV export because that’s the easiest to read and maybe editor for Ghost, but the others are possible.
The way I’d approach this would be to set up a Node script to parse the CSV/JSON file and write it to a YAML file (the format Ghost requires). If you’re familiar with JavaScript, this wouldn’t be too difficult to do (or would be something you could hire a developer for that wouldn’t break the bank.)
There may be some other options that others have used.
Hi @BillBennett I helped someone move their WordPress site to a new domain on the Ghost side - (they also used the Redirection plugin). Exporting that out to an .htaccess file was a huge win and then added some other scripting to do the URL re-writes to the new domain. If you need some help, drop me a message and I’ll share what I did.