This is the best migrator for migrating WordPress export to Hugo. It handles several weird edge cases that I encountered while trying to migrate my personal website to Hugo-based site.
- Download the
wp2hugo
tool from releases - Export your WordPress website via
Tools -> Export
in your admin dashboard - Let's say the downloaded file is
wordpress-export.xml
generate the website using$ wp2hugo --source wordpress-export.xml --download-media
Now, run this
$ wp2hugo
Usage of wp2hugo:
-download-media
download media files embedded in the WordPress content
-font string
custom font for the output website (default "Lexend")
-media-cache-dir string
dir path to cache the downloaded media files (default "/tmp/wp2hugo-cache")
-output string
dir path to the write the Hugo generated data to (default "/tmp")
-source string
file path to the source WordPress XML file
$ git clone [email protected]:ashishb/wp2hugo.git
$ cd wp2hugo/src/wp2hugo
$ make build_prod
# `./bin/wp2hugo` will contain the binary and you can use it as `$ ./bin/wp2hugo --source wordpress-export.xml --download-media`
- Migrate posts
- Migrate pages
- Migrate tags
- Migrate categories
- Migrate all the URL including media URLs correctly
- Migrate iframe(s) like YouTube embeds
- Migrate "Excerpt"
- Migrate "catlist"
- Set WordPress homepage correctly
- Migrate RSS feed with existing UUIDs, so that entries appear the same - this is really important for anyone with a significant feed following, see more details of a failed migration
- favicon.ico
- YouTube embeds
- Google Map embed via a custom short code
googlemaps
- Migrate
caption
(WordPress) tofigure
(Hugo) - Migrate "Show more..." of WordPress ->
Summary
in Hugo - Support for parallax blur (similar to WordPress Advanced Backgrounds)
- Migrate WordPress table of content -> Hugo
- Custom font - defaults to Lexend
- Use draft date as a fallback date for draft posts
- Maintain the draft status for draft and pending posts
- Migrate code blocks correctly - migrate existing code class information if available
- Download embedded photos while maintaining relative URLs
- Map WordPress's
feed.xml
to Hugo'sfeed.xml
- Featured images - I tried this WordPress plugin but featured images are simply not exported
- Jekyll Exporter always times out for me
- Various options can be seen here that are partially good.
- Export via
https://<website>/wp-admin/export.php
- The problem is that there is no good tool to perform a proper import into Hugo
- Export via
Note:
- To migrate comments, use Remark42