WordPress to HubSpot Migration: Step-by-Step Guide
What actually moves, what gets rebuilt, and how to keep your rankings. The full process we use on client migrations, including the traps nobody mentions.
Nikola, Founder at ZEROX
By Nikola, founder at ZEROX. We build HubSpot CMS themes, modules, and integrations for agencies and B2B teams across the US, UK, and Europe. Migrations are a weekly part of that work.
Last updated July 2026.

Moving a website from WordPress to HubSpot is not a plugin-and-click job. There is no importer that takes your whole site across. The blog moves mostly automatically. Everything else gets rebuilt.
That is not a reason to avoid the move. It is a reason to plan it properly. This guide covers the full process we use on client migrations: what transfers automatically, what gets rebuilt by hand, how to protect your search rankings, and the traps that catch teams doing this for the first time.
If you are still evaluating the move, read the whole thing. If you are mid-migration and something just broke, jump to the traps section.
Why teams move from WordPress to HubSpot
The pattern is almost always the same. The company already uses HubSpot for CRM or marketing, and the website is the last disconnected piece. The specific complaints we hear:
The marketing team needs a developer for every page edit
Plugin updates keep breaking things, and nobody knows which plugin did it
Form submissions land in a plugin database instead of on CRM contact records
Hosting, security, backups, caching, and CDN are four separate vendors and four separate bills
On HubSpot, the website sits inside the same platform as the CRM. Every form fill, page view, and chat message lands on a contact record with no integration work. Hosting, SSL, CDN, and security come with the platform. Marketers edit pages with a drag-and-drop editor built on top of the theme.
If you do not use HubSpot CRM and have no plans to, the case is weaker. The CMS is good, but the CRM connection is the real reason to move.
What a migration actually involves
A WordPress to HubSpot migration is six workstreams, not one:
Blog content. Posts, images, authors, tags, meta descriptions. Mostly automated through HubSpot's import tool.
Website pages. Home, services, about, landing pages. Rebuilt, not imported. There is no page importer.
Design. Your theme becomes a HubSpot theme: HubL templates, modules, and drag-and-drop areas.
Forms. Rebuilt as HubSpot forms so submissions create CRM contacts natively.
SEO. URL inventory, 301 redirect map, meta data, sitemap, Search Console.
Functionality. Everything your plugins did needs a HubSpot answer, a custom module, or a decision to drop it.
Anyone who tells you the whole site imports with one tool has not done this before.
Before you touch HubSpot: the pre-migration audit
Most migration horror stories trace back to skipping this part. Three tasks, half a day of work, and they decide whether you keep your traffic.
Crawl your current site
Run a full crawl of your WordPress site with Screaming Frog (free under 500 URLs). Export every URL: pages, posts, category and tag archives, images, PDFs. This list is your source of truth for the migration and, later, your redirect map.
Then pull your top pages from Google Search Console and GA4 for the last 12 months. You need to know which URLs actually carry traffic and backlinks, because those are the ones you protect first.
Benchmark your SEO
Export Search Console performance data, note your rankings for the keywords that bring customers, and save a copy of your current XML sitemap. Three months from now, when someone asks whether the migration hurt organic traffic, this is how you answer with data instead of feelings.
Decide what not to migrate
Every WordPress site that has been alive for a few years carries dead weight: thin posts, expired landing pages, tag archives with two entries. Tag every URL in your crawl as keep, merge, or drop.
Dropped URLs still get a 301 redirect to the closest relevant page. A typical result: a 400-URL WordPress install becomes a 120-page HubSpot site plus a redirect file. Smaller, faster, easier to maintain.
The migration, step by step

Step 1: Choose your Content Hub tier
HubSpot's CMS is sold as Content Hub. Starter handles simple sites but caps features. Professional is the standard tier for business sites: custom themes, dynamic content with HubDB, A/B testing, smart content. Enterprise adds memberships, serverless functions, and extra governance.
As of 2026, Starter runs around $25 per month and Professional around $500 per month. Check current pricing before you commit, and if you already pay for Marketing Hub Professional, check your contract. Some bundles include CMS features you are already paying for.
Step 2: Rebuild your theme
Two routes:
Marketplace theme. Pick a theme from the HubSpot marketplace ($0 to $500), set your colors, fonts, and logo, and adapt your content to its layouts. Fastest and cheapest. The tradeoff is that your site will look like the theme, not like your brand.
Custom theme. A developer builds your design as a proper HubSpot theme using the HubSpot CLI, HubL templates, and custom modules. This is a real development project. It is also the only route if you care how your site looks or if your current design took real money to produce.
Either way, pages get assembled from drag-and-drop areas that your marketing team can edit later without a developer. That editing experience is half the reason companies move.
Build everything on the temporary hs-sites.com preview domain HubSpot gives you. Your live WordPress site stays untouched until launch day.
Step 3: Import your blog
The one genuinely automated part. HubSpot's blog import tool (Settings > Content > Blog > Import) scans your live WordPress site or accepts an export file, then pulls in posts, featured images, authors, publish dates, tags, and meta descriptions.
Expect cleanup. Old posts carry inline styling from whatever editor wrote them, embeds sometimes break, and shortcodes come through as literal text (more on that below). Budget roughly an hour of review per 20 to 30 posts.
Step 4: Rebuild your pages
Saying it again because it surprises people: there is no page importer. Every website page gets rebuilt in the new theme.
In practice this goes faster than teams expect once the theme modules exist. A services page is a hero module, a feature grid, a testimonial row, and a CTA. Copy the content in, place the modules, set the title and meta description, done.
This step is also your one free shot at fixing the site. Weak copy, orphaned pages, three pricing pages saying different things: fix it now, while everything is open anyway.
Step 5: Rebuild forms and connect the CRM
Rebuild each WordPress form (Gravity Forms, WPForms, Contact Form 7) as a HubSpot form. Map every field to a contact property. Recreate notification emails and thank-you pages.
Test conditional logic carefully. HubSpot forms support dependent fields, but the logic model is different from Gravity Forms, and silent mismatches here are how leads get lost.
The payoff is the whole point of the migration: every submission creates or updates a CRM contact, with the person's full page-view history attached. No Zapier, no middleware, no sync jobs.
Step 6: Set up 301 redirects
This is the step that decides whether you keep your traffic.
Take the URL inventory from your audit and map every old URL to its new home. Upload the map as a CSV in Settings > Content > Domains & URLs > URL Redirects. For patterned structures like /2023/05/post-slug, HubSpot supports flexible pattern redirects, so one rule can cover an entire date-based archive.
The rules we never break:
Redirect every URL that has traffic or backlinks. Images and PDFs count.
Dropped pages redirect to the closest relevant page, never dumped on the homepage.
No redirect chains. Old URL to final URL in one hop.
Step 7: QA everything
Before launch, crawl the new site on its preview domain and check it against your keep list. Verify:
Every kept page exists and has its title tag and meta description
Forms tested end to end, with submissions landing in the CRM
Mobile layouts on real devices, not just the editor preview
Tracking scripts (GA4, ad pixels) added in site settings
XML sitemap generating and containing what it should
Favicons, 404 page, thank-you pages
Step 8: Go live
Connect your domain in HubSpot. It gives you the DNS records to set, usually a CNAME for www. Change only the web records. Do not touch MX records. Botched DNS changes that kill company email are the most common self-inflicted migration wound we get called in to fix.
SSL provisions automatically within minutes. Keep the old WordPress hosting alive for 30 to 60 days as a reference copy, then cancel it.
Step 9: Watch the first month
Submit the new sitemap in Google Search Console. Watch the Pages report daily for the first two weeks and fix any 404s with redirects the same day they appear.
Expect some ranking movement for two to four weeks. If the redirects and meta data were handled properly, positions come back, and often improve, because HubSpot's hosting is usually faster than a plugin-heavy WordPress install.
The traps nobody warns you about
This is the section we wish someone had written before our first migration.
HubSpot blog URLs live under the blog root. Posts publish at yourdomain.com/blog/post-slug (the root path is configurable, the structure is not). If your WordPress posts live at the domain root or under /year/month/slug, you cannot mirror that structure. Not a dealbreaker, just a guaranteed redirect job. Pattern redirects handle date-based archives in one rule.
Page builder content does not export. If your pages were built with Elementor, Divi, or WPBakery, the content is wrapped in builder-specific markup. Any automated export gives you soup. Those pages get rebuilt by hand, so count them before you estimate the project.
Shortcodes import as literal text. After a blog import, [contact-form-7 id="42"] just prints on the page. Search imported post bodies for "[" and replace each shortcode with its HubSpot equivalent.
Custom post types need a data model. Team members, locations, case studies built on custom post types and ACF fields have no direct HubSpot counterpart. The answer is HubDB (structured tables rendered through templates) or CRM custom objects. Both work well, but they are designed, not imported.
WooCommerce has no HubSpot equivalent. Content Hub is not an ecommerce platform. Your options: keep the store on a subdomain running WooCommerce, move the store to Shopify and use the HubSpot integration, or, for quote-driven B2B, replace the cart with quote request forms. Decide this before the project starts, not during.
Imported images can still point at your old server. Blog imports sometimes keep absolute image URLs aimed at wp-content on the old host. Everything looks fine until you cancel the old hosting, and then half the blog images 404. Verify imported images were rehosted in HubSpot's file manager before you cancel anything.
What happens to your WordPress plugins
Nothing moves. HubSpot has no plugin system. Every function gets a native equivalent, a custom module, or gets dropped.
WordPress plugin | HubSpot equivalent |
|---|---|
Yoast SEO / Rank Math | Built-in SEO recommendations and per-page meta fields |
Gravity Forms / WPForms / CF7 | HubSpot forms with native CRM sync |
WP Rocket / W3 Total Cache | Built-in CDN and caching, nothing to configure |
Wordfence / Sucuri | Managed hosting with WAF and SSL included |
MonsterInsights / GA plugins | HubSpot analytics, plus GA4 via a header script |
Redirection | URL Redirects tool with bulk CSV upload |
WPML / Polylang | Multi-language content groups |
Elementor / Divi | Drag-and-drop editor on top of theme modules |
WooCommerce | No equivalent, see the section above |
How long it takes and what it costs
Route | Timeline | Cost | Best for |
|---|---|---|---|
Do it yourself | 4 to 10 weeks part-time | Your hours plus the Content Hub subscription | Sites under ~30 pages with no custom features |
HubSpot's migration services | Weeks, template-focused | Priced per project by HubSpot | Copying an existing design into templates |
Specialized agency | About 2 weeks | Fixed quote, typically $4k to $15k by scope | Custom designs, builder-based sites, tight deadlines |
The honest version: DIY is realistic if the site is small, the design can come from a marketplace theme, and someone technical owns the project for a month or two. HubSpot's own migration services are template-focused and useful for straightforward copies.
An agency that does this regularly compresses the timeline because theme development, content migration, and redirect mapping run in parallel by people who have hit every trap on this page before. Our own migrations run about two weeks for a typical marketing site of 20 to 50 pages plus a blog.
Should you do it yourself or hire someone?
Do it yourself if: the site is under 30 pages, a marketplace theme is acceptable, there are no custom post types or ecommerce, and someone on the team can own it for several weeks.
Bring in help if: the design is custom, the pages live in Elementor or Divi, there are custom post types or integrations to rebuild, organic traffic drives revenue and a redirect mistake costs real money, or the site needs to be live this quarter.
The expensive failure mode is not paying an agency. It is a half-finished DIY migration where the old site is frozen, the new site is not done, and rankings are bleeding in between.
FAQ
Does HubSpot have a WordPress import tool? For blogs, yes. The built-in import pulls posts, images, authors, tags, and meta data. For website pages, no. Pages are rebuilt in the new theme.
Will I lose my SEO rankings? Not if the migration is done properly: complete 301 redirect map, preserved title tags and meta descriptions, matching URL structure where possible, and a new sitemap in Search Console. Expect minor fluctuation for two to four weeks, then recovery.
Can I keep my exact URLs? Website pages, yes. Blog posts must live under the blog root path, so posts published at the domain root or under date archives get 301 redirects to the new structure.
What happens to my WordPress plugins? They do not transfer. Each function is replaced by a HubSpot feature or a custom module. See the table above for the common ones.
Can HubSpot run my WooCommerce store? No. Keep the store on a subdomain, move it to Shopify with the HubSpot integration, or switch to a quote-based flow if your sales are B2B.
How long does a WordPress to HubSpot migration take? Doing it yourself, plan for 4 to 10 weeks part-time. A specialized team does a typical marketing site in about two weeks.
Do I need to keep paying for WordPress hosting afterward? Keep it for 30 to 60 days as a reference copy and a safety net, confirm all images and files were rehosted on HubSpot, then cancel.
Moving to HubSpot? We do it in two weeks.
ZEROX builds HubSpot CMS sites for agencies and B2B teams. A standard WordPress to HubSpot migration takes us about two weeks: theme build, content migration, forms, full redirect map, QA, and launch. Fixed quote, no traffic loss.
