Skip to main content
Meticulosity Global

Migration Reference

WordPress to HubSpot Migration


What actually transfers, what quietly does not, and what has to be rebuilt by hand.

We mapped WordPress against HubSpot feature by feature: 43 features, 3 synced objects, 13 documented traps and 20 items that have to be rebuilt. The whole map is on this page, ungated.

The PDF is the same reference, formatted for a procurement file.

Get The Reference And The Calculator

The full WordPress to HubSpot reference as a PDF, plus the Excel calculator we scope these migrations with: every one of the 43 features as a row, enter your counts, get hours.

Three files: the reference as a PDF, the same reference in Markdown for your AI tool, and the full Excel effort calculator.

PDF documentPDFMarkdown documentMDExcel workbookXLS
WordPress logoHubSpot logo

WordPress to HubSpot is a high migration, typically 4-20 weeks. Of the 43 features we mapped, 10 carry across as they are and 30 land with something lost: the 20 items nothing moves for you is what will actually set your timeline, not the sync.

Migration Scorecard

Complexity: High
Migration complexity
High
Typical timeline
4-20 weeks
Recommended method
Content import then rebuild
Native sync
Content import, source to hubspot
Smart transfer
Not supported
HubSpot subscription
The blog import tools themselves are free of any tier requirement, available on every product and plan. What actually gates the project is the destination tier: Content Hub Free caps out at 25 pages, HubDB and smart content need Content Hub Professional, and memberships, multi-site and any additional root domain need Content Hub Enterprise. Where custom post types are being replaced with custom objects, that too needs an Enterprise tier, so check the page count and the feature list against the plan before scoping the migration.

Feature parity across 43 capabilities

1023%
3070%
37%
  • Maps directly: 10 (23%)
  • Maps partially: 30 (70%)
  • No equivalent: 3 (7%)

3

Objects synced natively

13

Limitations and traps

20

Manual rebuild items

3

Source editions covered

Where this comes from: Our own research corpus, verified 2026-08-01, behind every number on this page.

The Three Objects That Sync Natively

What the connector moves for you, and which way each one flows.

Blog posts

Into HubSpotInto HubSpot

Becomes Blog posts

Three import routes exist, in HubSpot's own recommended order. WordPress connect reads the public REST API from the blog homepage URL alone and is the fastest and most accurate of the three, but it fails on any install where that API is disabled, restricted or heavily customised, which is common on a hardened or enterprise WordPress site. Smart copy scrapes a live post URL instead to infer the template structure and works against any CMS; XML import, built from a WordPress export file, is the documented fallback behind both. Whichever route gets you there, blog posts are the only content type any of the three actually import.

Pages

Two wayTwo way

Becomes Website pages

No page import exists at all, in any of the three routes: every website page has to be recreated by hand in HubSpot, built from templates and modules rather than carried over. This single gap is what makes a WordPress migration a rebuild project rather than a data transfer, and it should be named to whoever is approving the timeline before the project is scoped, not discovered once it is under way.

Form submissions (via HubSpot WordPress plugin)

Into HubSpotInto HubSpot

Becomes Contacts

The HubSpot WordPress plugin is a separate tool from the import routes above: it adds tracking code to the live WordPress site and starts feeding submissions from the existing forms into the HubSpot CRM while both systems keep running. It moves nothing about the site's content, but it is often the right first step, sometimes months ahead of any rebuild, for a site whose form submissions have been landing in a shared inbox or a plugin's own database table with nobody treating either as a system of record.

Thirteen Things the Sync Does Not Tell You

Each one is documented, and each one has ended a migration in a bad week.

Only Blog Posts Import. Pages Do Not.

Whichever of the three import routes you choose, all of them stop at the blog: website pages, landing pages and anything else beyond posts have to be rebuilt by hand inside HubSpot's templates and modules. A 200-page site does not shrink to an import with tidying at the end; it is a 200-page rebuild, and the proposal should say so plainly rather than let 'import' carry an assumption it cannot support.

Workaround: Scope the rebuild by template, not by counting pages: work out the distinct page types first, build one reusable template and module set for each, then populate. Rebuilding page by page is the costliest way to run this project, and it is usually the way a first-time quote defaults to without meaning to.

There Is No Plugin Ecosystem, and No Hooks System to Emulate One

There is nothing in HubSpot standing in for functions.php, because there is no hooks or filters system underneath it at all. Whatever a plugin was doing has to reappear as a native HubSpot feature, a marketplace app, a custom module, a serverless function or a third-party service, one decision per plugin, and HubSpot's own developer documentation says outright that it will not cover a theme built around complex plugins.

Workaround: Start with a full inventory of active plugins and sort each one into native equivalent, marketplace app, custom build, third-party service or drop, before a single quote goes out. That audit predicts the real cost of the project better than anything else available at scoping stage, and it usually surfaces the WhatsApp, local telephony or payment-gateway plugin that a page count would never flag.

HubSpot Has No Custom Post Type Concept, Though HubDB Covers Most Uses

Team members, case studies, locations and product directories are usually built in WordPress as custom post types, and HubSpot simply has no matching concept. HubDB tables can reproduce the outcome, generating one page per row with its own URL and analytics, but that route needs Content Hub Professional and is capped at 10 dynamic pages per table; CRM custom objects are the alternative and sit behind an Enterprise tier instead.

Workaround: Decide early, per custom post type, whether it becomes a HubDB table or a custom object, because that single decision sets the subscription tier the whole project needs. Several custom post types running alongside Advanced Custom Fields data is often, on its own, a Content Hub Professional project, and that is worth putting in front of whoever holds the budget before the quote is finalised, not after.

HubL Is Not PHP, and the Developer Pool Is Much Smaller

A WordPress theme is written in PHP; a HubSpot theme is written in HubL, with its own template inheritance through extends, its own drag-and-drop areas built from widget_container blocks, and its own asset loading through require_css, require_js and get_asset_url rather than wp_enqueue_style and get_template_directory_uri. A PHP developer does not carry straight across into that, and HubSpot developers are both scarcer and, on the whole, more expensive to bring on for the rebuild.

Workaround: Settle who is actually doing the build before the quote is written, not after. An existing WordPress team needs ramp-up time on HubL, and that time belongs in the estimate from the start rather than being absorbed quietly once the project is already under way.

Redirects Are the Whole SEO Risk, and They Are Manual

A HubSpot rebuild rarely keeps every URL exactly where it was, and every URL that moves needs its own 301 redirect in place before go-live. Skipping or rushing this is the single most common cause of a ranking drop after launch, and the damage tends to surface weeks later, once it is expensive to trace back to the missing redirect that caused it.

Workaround: Crawl the live site for a complete URL inventory before the rebuild starts, and treat redirect mapping as part of the build itself rather than a task left for launch day. Keep the WordPress site reachable in a staging environment for reference throughout, and expect performance to settle two to four weeks after a correctly executed cutover.

WordPress Connect Fails on Hardened or Customised Installs

The fastest of the three import routes only works if the public WordPress REST API is reachable and unmodified, and security plugins, headless setups, custom permalinks or general enterprise hardening routinely restrict or disable exactly that. When it fails, it tends to fail without telling you why, which is the moment a scoping call turns into a diagnosis.

Workaround: Test WordPress connect against the live blog during discovery, well before it becomes a build-week surprise. Falling back to smart copy, and then to XML export, is a real path forward, but each step down is progressively less accurate and needs more cleanup, which belongs in the estimate as soon as the first route is ruled out.

System Pages Are Consistently Forgotten

A 404 page, a 500 error page, search results, a password prompt and the subscription preferences page all need building fresh in HubSpot, and none of them show up in a sitemap-driven page count. That is exactly why they go missing from both the estimate and the launch checklist, and why the gap is only noticed once the site is already live.

Workaround: Name every system page explicitly in the template inventory at scoping time rather than assuming the sitemap already accounts for them. Each one is little effort on its own, and the whole set is an easy thing to be embarrassed by if it is missing on launch day.

WooCommerce Has No HubSpot Equivalent

Content Hub was never built as an ecommerce platform, and Revenue Hub covers payments, quotes, invoices and subscriptions without ever taking on a product catalogue, a cart, checkout, shipping, tax or inventory. A WooCommerce store simply has nowhere to be rebuilt inside HubSpot: that part of the site is not migrating, whatever the rest of the plan says.

Workaround: Leave the store on a dedicated ecommerce platform and integrate that platform with HubSpot rather than attempting to rebuild it there, or say plainly that the migration is not right for an ecommerce-led site. Product content and pricing pages can move across; the storefront itself cannot, and that distinction is worth stating before any commitment is made.

Advanced Custom Fields Data Has No Direct Destination

Advanced Custom Fields sits behind nearly every WordPress build worth the name, holding structured field data against posts, pages and custom post types alike. HubSpot has module fields for content that belongs to a single template and HubDB for tabular data, but nothing that plays the role ACF plays: arbitrary custom fields attached to any content record at all.

Workaround: Sort each ACF field group into module fields, where the data belongs to a single page, or HubDB columns, where it repeats across records. Repeater and flexible-content fields are the genuinely hard case here and usually need restructuring rather than a one-to-one mapping, so budget them separately from the simpler fields.

Tier Gates Land in Unexpected Places

Content Hub Free stops at 25 pages, and HubDB, smart content, A/B testing, SEO recommendations and custom reporting all sit behind Professional; memberships, multi-site support, extra root domains and partitioning sit behind Enterprise again above that. A site that cost next to nothing to host on WordPress can need a Professional or an Enterprise subscription simply to do again what it was already doing, and that gap is worth naming to whoever approves the budget well before it is discovered mid-build.

Workaround: Work out the required tier from the feature and content-structure audit, then put it in the proposal in plain terms. Finding out about the HubDB requirement halfway through the build is a commercial problem for the committee approving spend, not a technical one for whoever is building the site.

AJAX, Cron, and Server-side Logic Need Rearchitecting

Admin-ajax handlers and arbitrary server-side PHP have no direct equivalent on the HubSpot side. WP-Cron is the one exception worth knowing: Data Hub Professional runs schedule-triggered workflows using JavaScript or Python custom code actions, a pattern HubSpot's own documentation describes as writing cron jobs, and serverless functions cover a further slice of it within their own execution limits. What is left over needs an external service found for it.

Workaround: Surface every piece of server-side behaviour during the plugin and theme audit rather than during the build itself. This is where a migration finds work that simply cannot be done inside HubSpot at all and needs an external service, and that is a far cheaper discovery to make at scoping than midway through.

Multilingual Sites Need Restructuring, Not Translation Import

WPML and Polylang each store translations in their own data structure and their own URL scheme, and HubSpot's answer, a linked group of language variants on a page or post, has no import path from either plugin. A bilingual Arabic and English site built on either one is not migrating its translations; it is rebuilding them, and the URL structure underneath will usually change in the process.

Workaround: Rebuild each language variant by hand and map redirects separately for each language rather than assuming one redirect map covers both. Confirm the required language count sits inside the tier you intend to commit to before the timeline is agreed, since a bilingual Arabic and English pairing is the common case here but is not free at every tier.

Media, Tracking Codes, and WordPress-specific Markup Should Not Be Copied Across

HubSpot itself advises against carrying WordPress-specific code across, anything under wp-includes or wp-content included, and recommends re-exporting third-party tracking codes from the vendor rather than lifting them out of WordPress. Media has to be re-uploaded to the HubSpot Files tool separately, with every in-content image reference pointed at the new location.

Workaround: Treat the media migration as a task of its own, with a dedicated URL rewrite pass over every imported post body. A post still pointing at an old wp-content image URL keeps working right up until WordPress hosting is switched off, at which point it breaks all at once and without warning.

Three WordPress Features HubSpot Cannot Replace

No workaround closes these. Each one is a capability you would be giving up, so decide who in the business can live without it before you commit to a date.

Functions.php and Hooks

HubSpot's own documentation is direct about this one: there is no equivalent to functions.php, because HubSpot has no concept of actions and filters underneath it at all. Whatever functions.php was doing on the site has to be rebuilt through HubL macros, serverless functions or a custom app instead.

WooCommerce

Do not mistake Content Hub for a WooCommerce replacement: it is not an ecommerce platform and never was. Revenue Hub covers payments, quotes, invoices and subscriptions, which is real ground, but neither hub gives you a storefront, a cart or checkout, so the store itself needs a separate platform regardless of which HubSpot hub you buy.

LMS Plugins

No HubSpot equivalent.

Two Things a Migration Does Not Rebuild

These are WordPress's own code and products, and a HubSpot migration will not carry them across: they carry no hours in the estimate. They still need a decision before cutover, because you are the one giving something up.

Bespoke Custom Plugins

The highest-risk discovery item. Surface these during scoping rather than during build.

WordPress Multisite

Confirm the target tier before promising equivalent separation.

The 20 Items That Get Rebuilt by Hand

This is the list that separates a quote that holds from one that does not.

Data And Objects

Website Pages

Every page has to be rebuilt in HubSpot from the ground up, since none of the three import routes touches pages at all.

HubSpot: HubSpot Website Pages

Scope this by template and page type, never page by page: it is the single biggest lever on how much the rebuild costs.

Custom Post Types

Team members, case studies, locations and any similar structured content need rebuilding as HubDB tables driving dynamic pages, or as CRM custom objects, depending on which route was chosen for that content type.

HubSpot: HubDB (Content Hub) or Custom Objects

This is a tier decision as much as a technical one, so make it during scoping rather than once the build is already committed to a plan.

Advanced Custom Fields Data

Advanced Custom Fields groups need remodelling, not copying: module fields where the data belongs to a single page, HubDB columns where it repeats across records.

HubSpot: HubSpot module fields or HubDB columns

Repeater and flexible-content fields are usually the hardest part of this and typically need restructuring rather than a straight mapping across.

Media Library

Every image, PDF and document has to be re-uploaded to the HubSpot Files tool, with the folder structure rebuilt and every in-content reference pointed at the new location.

HubSpot: HubSpot Files tool

An imported post that still points at its old wp-content URL keeps rendering right up until WordPress hosting is switched off, and then it breaks all at once.

Blog Post Cleanup After Import

Every imported post needs author mapping, tag and category reconciliation, a featured-image check, meta description validation and internal link rewriting once the import is done.

HubSpot: HubSpot Blog

How much of this is actually needed depends on which import route was used: smart copy and XML export both leave more cleanup behind them than WordPress connect does.

Automation

Plugin-driven Functionality

Every capability a plugin was providing needs its own replacement: forms, SEO, caching, security, booking, maps, calendars, membership, live chat, analytics, and any IDX or feed integration the site was running. None of it comes along for free, and each item is its own decision rather than a single line item on the estimate.

HubSpot: Native HubSpot features, marketplace apps, custom modules, or third-party services

Nothing predicts the real cost of the project better than the plugin audit itself, which is why it belongs at the very start of scoping rather than somewhere in the middle of it.

Server-side Logic, AJAX Handlers, and Cron Jobs

Server-executed PHP, admin-ajax endpoints and WP-Cron scheduled tasks all have no direct equivalent on the other side and need rebuilding as serverless functions or moving out to an external service entirely.

HubSpot: HubSpot serverless functions, or an external service

Some of this genuinely cannot be done inside HubSpot at all, and the scoping stage is the place to find out which pieces those are, rather than the middle of the build.

Forms

Gravity Forms, Contact Form 7 and any similar plugin have to be rebuilt from nothing as HubSpot forms, with notification, routing and confirmation behaviour recreated rather than carried over. Rebuild them the way inquiries actually arrive here, too: a right-to-left Arabic form rather than an English one with translated labels bolted on, and phone fields that accept the local mobile formats people actually type.

HubSpot: HubSpot Forms

Historical submissions only survive the move if the HubSpot plugin was already capturing them beforehand; anything sitting only in the old form plugin's own database table is otherwise gone once the rebuild happens. Where those submissions were the closest thing the site had to a contacts database, worth confirming what, if anything, was actually being captured before the switch.

Reporting

Analytics Continuity

Analytics plugin configuration and any goal or event tracking that was running in WordPress needs re-establishing using HubSpot analytics and re-exported third-party tracking codes rather than carried over as configured.

HubSpot: HubSpot Analytics and Traffic Analytics

HubSpot's own guidance is to re-export tracking codes directly from the vendor rather than copy them out of the old WordPress install.

SEO Reporting Baseline

Rankings, indexed page counts and traffic baselines all need capturing before migration begins, so that any post-launch change can actually be attributed to something rather than argued over.

HubSpot: HubSpot SEO tools (Content Hub) plus Search Console

Skip the baseline and any ranking movement after launch becomes an argument nobody can actually win, in either direction.

Sales And Marketing Config

Templates, Modules, and Theme

The WordPress theme itself becomes a HubSpot theme: a base template, global header and footer partials, a page template per page type, drag-and-drop areas and custom modules, none of it inherited from what existed before.

HubSpot: HubSpot Theme, Templates, and Modules

Build the global header and footer first: everything else in the theme inherits from them, so getting them right early avoids reworking every page template later.

System Pages

The 404, 500, search results, password prompt and subscription preferences pages all have to be built as their own pages inside HubSpot.

HubSpot: HubSpot System Pages

None of these show up in a sitemap-driven page count, which is exactly why they are routinely missed from both the estimate and the launch checklist.

Navigation Menus

Every WordPress menu has to be rebuilt from scratch using HubSpot's advanced menu tool and menu modules, on both language versions of the site where the site runs bilingual.

HubSpot: HubSpot Advanced Menus

301 Redirect Map

Every URL that changes needs its own mapped redirect inside HubSpot's URL redirects tool, built from a complete pre-migration crawl rather than assembled after the fact from memory.

HubSpot: HubSpot URL Redirects

Of everything in the whole migration, this single task carries the highest consequence if it is rushed.

Domain, DNS, and SSL

The domain has to be connected to HubSpot with its DNS records updated and SSL provisioned, coordinated closely enough that there is no window where the site sits unreachable to a visitor.

HubSpot: HubSpot Domains and URLs

A second root domain, common enough for a group running separate Arabic and English properties, is plan-gated, so pull the actual tier requirement from the feature table before promising it is included.

Multilingual Variants

Whatever WPML or Polylang was doing has to be rebuilt as HubSpot's own multi-language page and post variants, with a separate redirect for each language rather than one shared map.

HubSpot: HubSpot multi-language content groups

Neither plugin has any import path into HubSpot at all, so treat this as a rebuild from the outset rather than something to attempt migrating first.

Users And Permissions

Users and Roles

WordPress roles, administrator, editor, author and contributor among them, need recreating as HubSpot users with their own permission sets, and blog post authors need mapping separately from user accounts entirely.

HubSpot: HubSpot Users, Teams, Permission Sets, and Blog Authors

Treat author mapping as a content task rather than a user-management one; the two get conflated easily, and doing so is how an author byline ends up wrong on launch day.

Gated Content and Memberships

A membership plugin gating content maps onto Content Hub memberships and access groups, but HubSpot memberships are access control rather than a membership platform in the fuller sense: no lesson delivery, no drip scheduler beyond a workflow-driven access group change, and no certificates.

HubSpot: HubSpot Memberships (Content Hub)

This frequently forces a choice between a higher HubSpot plan and a third-party platform bolted on beside it, and both options are worth pricing before either is promised to whoever is signing off the budget.

Integrations

WooCommerce or Ecommerce

Store functionality has no home inside HubSpot at all and has to stay on a dedicated ecommerce platform, integrated with HubSpot rather than replaced by it.

HubSpot: None for the storefront. Revenue Hub covers payments, quotes, and invoices only.

For a site built around ecommerce first, this on its own is reason enough to advise against the migration rather than promise a workaround that will not hold up.

Third-party Embeds and Feeds

IDX and MLS property feeds, booking systems, maps, review widgets and job boards all need re-embedding or replacing, and anything among them that depended on PHP needs rearchitecting entirely rather than simply re-pointing at a new address.

HubSpot: Marketplace apps, custom modules, or serverless functions

Document every third-party integration up front, at scoping, rather than letting the project discover them one at a time mid-build: that is the single most common cause of a real-estate or listings site running over its estimate.

The Sequence

Sync First, Then Migrate

Order is the content here. These steps form a dependency chain, and running them out of sequence is a documented way this kind of migration fails.

  1. 1

    Audit Every Active Plugin First and Sort Each Into Native Equivalent, Marketplace App, Custom Build, Third-party Service or Drop; This Alone Predicts Real Project Cost Better Than Any Page Count

    Audit every active plugin first and sort each into native equivalent, marketplace app, custom build, third-party service or drop; this alone predicts real project cost better than any page count

  2. 2

    Crawl the Live Site for a Full URL and Page Inventory, and Capture SEO Baselines for Rankings, Indexed Pages and Traffic Before Anything Changes

    Crawl the live site for a full URL and page inventory, and capture SEO baselines for rankings, indexed pages and traffic before anything changes

  3. 3

    Identify Every Distinct Page Type and Custom Post Type, and Settle HubDB Versus Custom Objects for Each, Since That Decision Sets the Required Subscription Tier

    Identify every distinct page type and custom post type, and settle HubDB versus custom objects for each, since that decision sets the required subscription tier

  4. 4

    Test WordPress Connect Against the Live Blog During Discovery, So an Import-route Failure Surfaces Before the Build Rather Than During It

    Test WordPress connect against the live blog during discovery, so an import-route failure surfaces before the build rather than during it

  5. 5

    Install the HubSpot WordPress Plugin to Start Capturing Form Submissions and Tracking Data Into the CRM While the Rebuild Is Still Under Way

    Install the HubSpot WordPress plugin to start capturing form submissions and tracking data into the CRM while the rebuild is still under way

  6. 6

    Build the HubSpot Theme Itself

    a base template, the global header and footer first, then a template per page type with its own drag-and-drop areas and custom modules

  7. 7

    Build Every System Page

    404, 500, search results, password prompt and subscription preferences, named explicitly rather than assumed

  8. 8

    Import Blog Posts Through WordPress Connect, Falling Back to Smart Copy and Then XML If It Fails, Then Clean up Authors, Tags, Featured Images and Meta Descriptions

    Import blog posts through WordPress connect, falling back to smart copy and then XML if it fails, then clean up authors, tags, featured images and meta descriptions

  9. 9

    Re-upload All Media to the Files Tool and Rewrite Every In-content Image Reference Away From Its Old Wp-content URL

    Re-upload all media to the Files tool and rewrite every in-content image reference away from its old wp-content URL

  10. 10

    Rebuild Every Page Against the Finished Templates, Then Populate HubDB Tables for Whatever Structured or Dynamic Content Needs One

    Rebuild every page against the finished templates, then populate HubDB tables for whatever structured or dynamic content needs one

  11. 11

    Rebuild Every Form as a HubSpot Form, and Re-embed or Replace Each Third-party Integration the Site Was Running

    Rebuild every form as a HubSpot form, and re-embed or replace each third-party integration the site was running

  12. 12

    Build the Complete 301 Redirect Map From the Pre-migration Crawl and Load It Into the URL Redirects Tool Before Anything Goes Live

    Build the complete 301 redirect map from the pre-migration crawl and load it into the URL redirects tool before anything goes live

  13. 13

    QA the Site Across Browsers and Devices, Validate Every Redirect Individually, and Check Metadata Page by Page Against the Pre-migration Baseline

    QA the site across browsers and devices, validate every redirect individually, and check metadata page by page against the pre-migration baseline

  14. 14

    Connect the Domain, Update the DNS Records, Provision SSL and Go Live in a Genuinely Low-traffic Window Rather Than the Middle of a Business Day

    Connect the domain, update the DNS records, provision SSL and go live in a genuinely low-traffic window rather than the middle of a business day

  15. 15

    Watch Search Console, Rankings and 404 Reports Closely for Four Weeks; a Correctly Executed Migration Stabilises Within Two to Four

    Watch Search Console, rankings and 404 reports closely for four weeks; a correctly executed migration stabilises within two to four

Typically 4-20 weeks end to end, depending on how much of the source configuration is actually in use.

Effort Estimator

How Big Is This Migration?

A handful of questions, no sign-up required. The ranges come from the research above: every feature we mapped carries an effort figure, and this totals the ones that apply to your instance.

Custom fields and properties across all records

Everything beyond the out-of-the-box fields, added up across contacts, companies, deals and anything custom.

Automations, workflows and rules

Anything that fires on its own: workflows, sequences, assignment and validation rules, approvals.

Marketing assets to rebuild

Email templates, forms, landing pages, lists and segments taken together.

Third-party integrations wired into the current system

Anything connected by API, webhook or installed package that has to keep working afterwards.

Users to move across

Seats, plus whatever permission structure sits behind them.

Roughly how many contact records

This affects the sync approach and the reconciliation effort, not the per-record work. The connector moves records; people do not.

Estimated Effort

Answer a couple of questions and an hours range appears here.

Built from our research on 43 WordPress features. It is a range, not a quote.

A planning range, not a quote. It is delivery effort only, with no project management line. What moves it most in practice is data quality.

What Goes Wrong Most Often

The failures that show up again and again, in roughly the order they bite.

Only Blog Posts Import Through Any of the Three Routes; Pages, Which Make up the Larger Share of Most Sites, Are a Manual Rebuild in Full

Only blog posts import through any of the three routes; pages, which make up the larger share of most sites, are a manual rebuild in full

WordPress Connect Fails Silently Wherever the REST API Is Disabled or Restricted, Which Is Common on a Hardened Site and Rarely Obvious Until the Import Is Already Attempted

WordPress connect fails silently wherever the REST API is disabled or restricted, which is common on a hardened site and rarely obvious until the import is already attempted

There Is No Plugin Ecosystem and No Hooks System on the HubSpot Side at All, So Whatever Functions.php Was Doing Has Nowhere Left to Go Without a Rebuild

There is no plugin ecosystem and no hooks system on the HubSpot side at all, so whatever functions.php was doing has nowhere left to go without a rebuild

Custom Post Types Have No Equivalent in HubSpot, and the HubDB-versus-custom-object Decision Made for Each One Sets the Subscription Tier the Whole Build Needs

Custom post types have no equivalent in HubSpot, and the HubDB-versus-custom-object decision made for each one sets the subscription tier the whole build needs

HubDB Sits Behind Content Hub Professional; Memberships, Multi-site Support and Extra Root Domains Sit Behind Enterprise Again Above That

HubDB sits behind Content Hub Professional; memberships, multi-site support and extra root domains sit behind Enterprise again above that

System Pages Are Invisible to a Sitemap-driven Page Count and Are Routinely Missing From Both the Estimate and the Launch Checklist as a Result

System pages are invisible to a sitemap-driven page count and are routinely missing from both the estimate and the launch checklist as a result

An Imported Post Still Pointing at a Wp-content Image URL Keeps Rendering Fine Right up Until WordPress Hosting Is Switched Off, Then Breaks All at Once

An imported post still pointing at a wp-content image URL keeps rendering fine right up until WordPress hosting is switched off, then breaks all at once

Redirects Are Entirely Manual and Are the Whole of the SEO Risk in This Migration; Rushing Them Is the Single Biggest Cause of a Post-launch Ranking Loss

Redirects are entirely manual and are the whole of the SEO risk in this migration; rushing them is the single biggest cause of a post-launch ranking loss

WooCommerce Cannot Be Rebuilt Inside HubSpot in Any Form, Full Stop

WooCommerce cannot be rebuilt inside HubSpot in any form, full stop

ACF Repeater and Flexible-content Fields Need Genuine Restructuring, Not a Straight Mapping Across, and That Work Is Easy to Underestimate at Scoping

ACF repeater and flexible-content fields need genuine restructuring, not a straight mapping across, and that work is easy to underestimate at scoping

A PHP Developer Cannot Move Straight Into HubL Without Ramp-up Time, and That Time Belongs in the Estimate Rather Than Being Discovered as a Delay Once the Build Has Started

A PHP developer cannot move straight into HubL without ramp-up time, and that time belongs in the estimate rather than being discovered as a delay once the build has started

How Quickly Your Side of the Business Can Actually Make Decisions, Not the Technical Complexity of the Build, Is Consistently the Biggest Single Factor in How Long These Projects Take, and a Decision Cycle That Slows Around Ramadan, Eid or the Deep Summer Is Worth Planning the Calendar Around Rather Than Treating as a Surprise

How quickly your side of the business can actually make decisions, not the technical complexity of the build, is consistently the biggest single factor in how long these projects take, and a decision cycle that slows around Ramadan, Eid or the deep summer is worth planning the calendar around rather than treating as a surprise

Questions

WordPress To HubSpot, Answered

Ready to Get Started?

Plan Your Migration

Tell us which platform you are leaving, how much of it is custom, and when you need to be live in HubSpot. We will tell you what transfers directly, what needs rebuilding, and how long the move actually takes.