How to import your WordPress blog posts into a HubSpot COS blog

Last updated: January 12, 2017

Available For:

Marketing: Basic, Pro, Enterprise
Sales: N/A

You can import your existing WordPress blog into your HubSpot COS blog by following the simple steps below. The components of your blog that will be imported into HubSpot are: title, author, post body, meta description, categories and/or tags, published date, comments, and images. 

This Blog Importer tool currently only works with and custom WordPress blogs. The exported Squarespace XML files are also compatible with the blog import tool. Once you've exported your Squarespace files, skip to Step 2 below. 


Follow these steps to export your WordPress blog posts and import them into a HubSpot COS blog.

1. Sign in to your WordPress website and export your blog posts.

Sign in to your WordPress website as a WordPress Admin and go to Tools > Export to select your blog posts for export.

If you're using, you can follow these instructions for a step-by-step explanation of how to export your posts from

--- OR ---

If you're using a custom WordPress website, you can follow these instructions for a step-by-step explanation of how to export your posts from your custom WordPress website.

Please be sure the exported file contains the Absolute URLs of your blog images. Relative URLs for your images will prevent the Blog Importer tool from actually importing the images.

Additionally, if you use featured images in your WordPress blog, the featured image designation for your images is not included as a part of the blog post in the .xml file you export, and therefore these images will not automatically be selected as featured images in the imported blog posts. Using Absolute URLs, however, will import your images, and you can then go into the individual post and choose which image to use as a featured image. 

HubSpot will look to select the first image from the post body of each blog post and grab its "src" attribute to set the featured image URL.

Please note that WordPress Shortcodes are not compatible with HubSpot. If you import posts that include Shortcodes, HubSpot will not be able to reference the callback function in WordPress.

Blog post comments will automatically be imported along with the blog posts themselves. There are no additional selections to be made for importing blog post comments.

2. Go to your "Content Settings"

After you've exported your WordPress posts, sign in to your HubSpot account and navigate to Content > Content Settings.

3. Click on "Blog Importer"

Click on the Blog Importer link under Content Optimization System Tools.

4. Choose the WordPress export file to import into HubSpot

Click on the Select Import File button.

Then click on the Upload a file... button in the Select a Document pop-up.

Select the WordPress export file from your computer that you downloaded in Step 1 and then click the Open button.

Select the recently uploaded file and then click on the Use document button.

5. Select the HubSpot COS Blog that you want to import the WordPress posts to

You'll then select the HubSpot COS Blog that you want to import your WordPress posts to. Choose the blog using the Select a Blog drop-down menu.

6. Click the "Start Import" button

To finish up, click on the Start Import button.

You'll then be redirected to the blog import processing screen. Wait a few minutes and then click on the Blog Importer link.

HubSpot Help article screenshot

When you return to the Blog Import Manager and see the Status for your import is set to INITIALIZED, click the gear icon and select Import Posts to choose which blog posts you want to publish.

HubSpot Help article screenshot

You'll then see the Import Posts dashboard.

HubSpot Help article screenshot

7. Choose which posts to import

Use the checkboxes next to each post to eliminate any posts that you don't want to import, or use the checkbox at the top of the column to check all posts for import.

HubSpot Help article screenshot

8. Choose the publish status for imported posts

Then use the status drop-down menu to choose the publish status for your imported posts.

  • Default (Keep Publish Status) - This option will preserve the publish status from your WordPress blog and keep any draft posts as drafts, and any published posts as published.
  • Draft - Similarly, this option will also override the publish status from your WordPress blog, but will automatically save any posts that are imported as draft blog posts.
HubSpot Help article screenshot
To bulk import and set status, you can uncheck a group of posts during one import, and then go back through Steps 7 through 11 on the same import file to import the rest of the posts.

9. Choose whether or not to import blog topics

You can choose to import your WordPress categories and tags as HubSpot COS blog topics so that you can preserve the categorization and organization of your posts. You can use the topics tool to group these into a smaller number of topics as well. Check the Import blog topics box to import topics from WordPress to your HubSpot blog.

HubSpot Help article screenshot

10. Choose to overwrite existing blog posts

Check this option if you have previously imported any of these blog posts and want to overwrite those posts with this new import.

HubSpot Help article screenshot

11. Import your posts

Once you've set your import options, click the Import Posts button to begin the import. 

HubSpot Help article screenshot

12. Set up redirects from the old blog URLs to the new blog URLs that live in HubSpot

There are most likely live links that direct traffic to the old URLs of your blog posts. Setting up URL mappings, often called redirects, allows you to redirect the traffic from the old blog post URL to the new blog post URL so that the visitor can find your content. This is also very important for maintaining any SEO rankings you have tied to your existing blog posts. If you do not redirect your traffic, search engines will see your new blog post URL as a "new" page, and thus will not transfer any of the SEO rankings you have built up on the post at its old URL.
When you return to the Blog Import Manager and see the Status for your import is set to SUCCEEDED, click on the name of your import. Here you'll be able to see any errors that occurred during your import. You'll also see messaging with a link to the new URLs for your blog, which you can use to set up redirects from your old blog URLs. Click the export a list of your redirects link to download a file with the URLs for your blog posts in HubSpot. 
Depending on whether or not your are moving your entire website from Wordpress to HubSpot or if you are just moving the blog, the place where you'll need to set up the URL mappings will differ.

For example, your website is hosted on Wordpress at, your old blog URLs were at{rest-of-post}, and you migrate only your blog to HubSpot where it will exist at{rest-of-URL}. Because the old blog URLs were at and the rest of the content of your website (other than the blog content that you migrated) is still hosted on Wordpress, you have to set up the URL mappings in Wordpress, since the domain of the original URLs is managed there.

In this example, you can copy the URL mappings from the section in your redirect download and paste them into the appropriate place in Wordpress. We have found that HubSpot users have found success in setting up these URL Mappings in Wordpress using a Wordpress plugin called Eggplant 301 Redirects. Please note that you may need to modify the exported file you receive from HubSpot before implementing this in Eggplant 301 Redirects.

If you've moved your entire website to HubSpot, you can set the redirects in HubSpot. For example, your website was hosted on Wordpress at, your old blog URLs were at{rest-of-post}, and you migrate all of your content to HubSpot and your blog will now exist at{rest-of-URL}. You can add these redirects by going to Content Content SettingsCOS URL Mappings and adding the URL mappings in bulk. For instructions on this process, please check out this article

Previous article:

Next article: