Import your blog into HubSpot

Last updated: July 31, 2020

In Beta

Applies to:

Marketing Hub  Professional, Enterprise
CMS Hub  Professional, Enterprise
Legacy Marketing Hub Basic

To migrate your blog content into HubSpot, all you need is the URL of a live blog post. The smart copy feature will scan your live blog to collect the blog post content, authors, and titles to import them into your new HubSpot blog. After your entire blog is scanned, you'll confirm the mappings for your blog post title, author, publish date, featured image, post body, and any categories or tags you want to import. 

Before you get started

  • When you create your HubSpot account, there will be a new default blog in your account you can use to import your blog posts.
  • You'll use a URL from an existing blog post to import all of your existing blog content into your HubSpot blog. To make the import process easier, use a sample blog post with a distinctive title, featured image, and opening paragraph so these elements are easy to recognize when you confirm your blog post mappings.

Import your blog posts into HubSpot

  • In your HubSpot account, click the settings icon settings in the main navigation bar.
  • In the left sidebar menu, navigate to Websites Blog.
  • In the upper right, click Import blog. This will bring you to the blog importer dashboard.
  • In the upper right, click Import new blog.
  • Select the Smart Copy option, then click Next.
  • Recent blog post: paste the URL of a recent blog post from the blog you're importing. Then click Copy blog posts.
  • Which blog platform are you currently using: click the dropdown menu and select the platform the blog you're importing is currently hosted on, like WordPress.
  • HubSpot blog: click the dropdown menu and select the HubSpot blog you want to import your blog content into.
  • In the lower right, click Copy blog posts.

It will take some time for your blog posts to be scanned and copied into the importer tool. Check back in about an hour to complete the process. You'll also receive an email to confirm the scan is complete.

Review results

After the tool has finished scanning your blog posts, you'll see Scan completed in the Status column. If your blog encountered any errors or hit the limit of 10,800 pages, you'll see details about your import in the Status column. To import more than 10,800 pages with the blog importer tool, import an XML file instead.

To finish the import process, click Review results to confirm the mappings for your blog content. The smart copy tool will suggest any field mappings it can find, based on the HTML of your live blog post.

If the correct content isn't displayed, select [Mapping] exists but it's not listed as an option. You can tell the smart copy tool exactly where to locate this feature of your blog using a CSS selector from the live blog post for the HTML element you want to target.

Please note: learn how to identify and submit the CSS selector for each blog mapping in the Troubleshoot mappings: add HTML or CSS Selector section below.

  • Title: select the title of the blog post. This is a required field.
  • Author: select the author of the blog post. This is a required field. If you prefer to not display your blog post authors, you can select Author isn't displayed, use "Admin" instead. You can customize this default value before you import your posts.
  • Publish date: select the publish date of the blog post. This is a required field. If you prefer to not display your blog post publish date, you can select Publish date isn't displayed, use [Today's Date] instead. You can customize this default value before you import your posts.
  • Featured image: the tool will identify any images in your blog post body that might be the featured image. Select the featured image for this blog post to tell the smart copy tool where to locate the featured image for the rest of your posts. If you don't want to import any featured images for your blog posts, select Featured image isn't displayed, don't import it.
  • Post body: the tool will scan different bodies of text on your blog post. Confirm the text that appears in the first paragraph of your blog post body. This field is required.
  • Categories/Tags: select the categories or tags applied to this blog post. If you don't want to import the categories or tags of this blog post, select Category/tag isn't displayed, don't import it.

To scan a different blog post as the source for your blog import, select Change URL and enter a new blog post URL. This will restart the field mapping process from the beginning.

Troubleshoot mappings: Add CSS selector

If the blog import tool doesn't map parts of your blog post content correctly, you can tell the smart copy feature exactly where to locate the information on the live blog post. Learn how to inspect your live blog post and identify the CSS selector for a specific HTML element on the page.

The instructions below document how to find the CSS selector on your blog post in a Chrome browser. For instructions on Safari, Firefox, or any other web browser, see their respective developers documentation.

  • Navigate to the URL of the live blog post you submitted during the Import process.
  • Right click your cursor directly on the blog post, then select Inspect element.


  • To identify the CSS element for an HTML element:
    1. In the upper left, click the selector arrow to isolate a specific element on the page.
    2. Click the blog post title, author, publish date, featured image, post body, or categories/tags on the live blog post to inspect it. You'll see this element highlighted on the live page, and within the Elements panel.
    3. Right click the highlighted element in the inspector, the select Copy Copy element. This action automatically copies the CSS selector to your clipboard.


  • Within HubSpot, paste this element in the Add CSS and or HTML element field. The click Next to continue your mappings.

enter-selectorFinish your import

After completing all your mappings, your blog import will change to Preparing posts for import status. When your blog status updates to Posts ready for import, you can complete the final steps of the process.

Please note: if you selected any default values for blog post author or publish date, you can customize those values at the top of the dashboard.

  • To complete your import, click Review results. You'll see a listing of blog posts, and any other web content scanned on your website.
  • Click Preview to see a live preview of how your blog post will look in HubSpot, and a listing of all the values the importer tool identified for that post.
  • All blog posts are selected for import by default. Deselect the checkbox on the left for any blog posts that you want to omit from your import.
  • After you've finalized your selection, click Import.
  • In the Publishing status dialog box, select whether to import these blog posts as drafts or as live published posts. Then click Save.

Your blog import will update to Import in progress status. Once the import is complete, the status will update to Import completed. 

If there are any errors during the import process, the status will update to Import succeeded with some errors. You can review the details by clicking More > View details.

Next steps: set up your blog in HubSpot

After you've imported your blog posts, finish setting up your blog in HubSpot: