HubSpot to WordPress Blog Migration Tool
This tool allows you to export all pages from your HubSpot blog into a JSON file, download all media, and then import into WordPress.
.envand add your HubSpot API key.
Wordpress API requires Basic Authentication, which can be achieved using the Application Passwords plugin.
First, download all blog posts from HubSpot and export in JSON format.
php bin/console hubspot:blog:export > blogs.json
Then, go through and download all images mentioned in the blog post or marked as the featured image. Create new blog post
export with updated paths ready for WordPress
php bin/console hubspot:media:download blogs.json > blogs_with_updated_image_paths.json
Copy downloaded images into your WordPress install
rsync -avz downloaded-images/ user@server:/var/www/html/wp-content/uploads/migrated/
Use WordPress API to create blog posts, specifying a default author name.
php bin/console -vvv wordpress:blog:import blogs_with_updated_image_paths.json "Default Author Name"
- All blog posts are imported as status “published” as we deleted anything that wasn’t already published in HubSpot before starting.
- Pretty permalinks have been enabled, see here https://developer.wordpress.org/rest-api/#routes-endpoints (otherwise wp-json URL does not work)
- Any pre-existing WordPress users have their full name set as “Display name publicly as”