Long story short you have to use a RSS 2.0 feed. Here is the flow I followed recently and that worked for quite well. This actually did not import images. It was not a big issue in my case since I did have very few of them and doing a quick review was enough. If you find better ways to do this please drop a comment and let me know.
Install RSS 2.0 feed in your Jekyll site
My installation didn’t have an RSS feed, it had an Atom feed which unfortunately didn’t seem to work for this purpose. Find an RSS 2.0 pluign and install it into your
_plugins directory. If you don’t have a plugins directory make one.
I used this https://github.com/agelber/jekyll-rss/ one. It requires two configuration items in _config.yml wich I didn’t have: name and URL. Be sure to have those in your config. Restart Jekyll and visit
/rss.xml on your local site.
You don’t even need to push this change to production, since the WordPress importer we’ll see next will ask you to upload a file.
So download this file from your local instance doing something like
Keep the resulting rss.xml file ready for the next step.
Install an RSS import plugin on WordPress
This import process is going to use an RSS feed file as source. Install this plugin https://wordpress.org/plugins/rss-importer/
Not much to say here. Move to the RSS import tool and upload the file you generated at the previous step.
You should see a long list of
imported successfully lines.
This is boring part. If you find more clever ways to do that please let me know.
Your images are likely to be in your Jekyll
images folder. Open that folder, select all relevant images and drag them into the WordPress media library. You can image what the next step is: relink images by visiting each post. Delete the image placeholder which will be broken at this point, and add back the corresponding media item from the library.
As I said this was not much an issue for me because I didn’t have many images. If you have tons of images and this step is not a viable solution I’d suggest a couple of possibilities:
- Work on the rss.xml file, so that once the images are uploaded in the WordPress media library, the path will match and they won’t be broken paths.
- Spend some more time to find a more clever importer so that linked images from your domain as actually imported in the library, and maybe the image src changed according to the new path.
I found posts to have line breaks where there shouldn’t be. I don’t know why, but anyway I had to review the posts by hand and fixed it during the process.
Another thing you may want to check is the code blocks (code samples and the like) which you may find are not appearing as the were used to. I’m using the Crayon code highlighter now.
Let me know how your migration goes and if you found this post useful. If you catch me in coffee time I’d be happy to help you out.