---
title: "Xperience by Kentico to Drupal Migration | ClonePartner"
description: "Xperience by Kentico to Drupal: Content Items → Node (Content): Headless content items lack direct equivalent; mapped to nodes. Engineer-led, zero downtime."
source: Xperience by Kentico
target: Drupal
canonical: "https://clonepartner.com/migrate/xperience-by-kentico-to-drupal"
---

# Xperience by Kentico → Drupal migration

Xperience by Kentico to Drupal migration — content items, media, and taxonomies moved with content fidelity.

## Entity mappings

- **Pages (Web Pages)** (Xperience by Kentico) → **Node (Content)** (Drupal)
- **Content Types (Page Types)** (Xperience by Kentico) → **Content Type (Node Type)** (Drupal)
- **Users** (Xperience by Kentico) → **User** (Drupal)
- **Roles** (Xperience by Kentico) → **Role** (Drupal)
- **Taxonomies (Tag Groups)** (Xperience by Kentico) → **Taxonomy Vocabulary** (Drupal)
- **Taxonomy Tags** (Xperience by Kentico) → **Taxonomy Term** (Drupal)
- **Media Library Files** (Xperience by Kentico) → **Media** (Drupal)
- **Form Definitions** (Xperience by Kentico) → **Webform** (Drupal)
- **Form Submissions (Records)** (Xperience by Kentico) → **Webform Submission** (Drupal)
- **Content Items** (Xperience by Kentico) → **Node (Content)** (Drupal)
- **Custom Module Data (Object Instances)** (Xperience by Kentico) → **Block Content (Custom Block)** (Drupal)
- **Workflows** (Xperience by Kentico) → **Drupal Workflows Module / Content Moderation Module** (Drupal)
- **Settings (Site Settings)** (Xperience by Kentico) → **Drupal Configuration System (config API) / State API / Custom Config Entities** (Drupal)

## Frequently asked questions

### Which Xperience by Kentico content types migrate cleanly to Drupal, and which ones need extra work?

Pages, Content Types, Users, Roles, Taxonomies, Media Library Files, and Form Definitions all have direct equivalents in Drupal and migrate without structural workarounds. Headless Content Items map to Drupal nodes as a workaround because Drupal has no native headless-content object, Custom Module Data maps to Block Content with significant structural variation per module, Workflows require a two-phase configuration-plus-data approach using Drupal's Content Moderation module, and Site Settings have no single Drupal counterpart and must be distributed across Drupal's Config API, State API, or a custom config form depending on each key's purpose. Plan extra time in your implementation project for those four; ClonePartner moves the data records, but the Drupal-side schema for workaround entities needs to be in place before migration runs.

### Can Xperience by Kentico workflow states and approval steps be migrated to Drupal automatically?

A fully automated one-to-one migration is not possible out of the box. Workflow definitions (steps, transitions, and role-based permissions) are recreated in Drupal's Workflows and Content Moderation modules as configuration YAML files imported via Drush, not as data records ClonePartner can write through an API. Once that configuration is in place, ClonePartner migrates the actual workflow state of each content item by reading Kentico's CMS_WorkflowStep and CMS_Document tables and writing to Drupal's content_moderation_state entity. If Kentico workflows include custom actions, email notifications, or approval chains, those automation behaviors require contrib modules such as ECA or Rules and must be rebuilt by your development team independently of the data migration.

### What happens to Xperience by Kentico Site Settings during the migration: do they just appear in Drupal?

Kentico's CMS_SettingsKey table has no single Drupal counterpart, so each setting must be categorized before migration begins: simple settings like site name and timezone map to Drupal core config objects such as system.site and can be imported via Drush, while custom application keys, feature flags, and SMTP values require either a lightweight custom Drupal module exposing a ConfigFormBase form or entries in Drupal's State API for runtime-only values. ClonePartner exports the settings data and migrates values into whichever Drupal destination your development team has prepared, using a custom Migrate API plugin that reads from Kentico and writes to Drupal config or state. Your team needs to build the receiving config schema in Drupal before the migration runs, because Drupal will reject config writes that reference an undefined schema.

### Will user passwords transfer from Xperience by Kentico to Drupal?

No. Xperience by Kentico passwords cannot be extracted through its APIs, and Drupal stores passwords as hashed values that cannot be imported in plaintext even if the source hashes were accessible. All migrated users will exist in Drupal with their accounts, roles, and profile data intact, but they must complete a password reset before they can log in. Plan a password-reset email campaign as part of your cutover checklist.

### Does Xperience by Kentico's Delivery API work for exporting content, or is the Management API required?

The Delivery API is read-only and works for reading published content, but ClonePartner's migration pipeline uses the Management API for structured export because it exposes draft states, language variants, media metadata, and workflow states that the Delivery API does not surface. The Management API requires authentication via scoped API keys, enforces rate limits and payload size limits, and requires individual calls per language variant: there is no batch language variant endpoint. Media files must also be uploaded individually to Drupal via a separate multipart POST request before the file entity can be linked to its parent node, so large media libraries are the most common source of rate-limit pressure during migration.

### Is Xperience by Kentico the same as Kentico Xperience 13, and does the migration path differ?

They are entirely separate products that do not share APIs or data formats. Xperience by Kentico is a ground-up rewrite; it uses a different Management API, a different content model, and a different CI/CD serialization format than Kentico Xperience 13. If you are currently on Kentico 13 and considering a move to Drupal, ClonePartner treats that as a distinct migration project from a different source platform, not a variant of an Xperience by Kentico migration. Confirm which product your instance actually runs before scoping the project, because the extraction tooling and entity mappings differ between the two.

### Do I need professional help for this migration?

Yes. Professional help ensures proper field mapping and preservation of relationships between records. Our engineer-led approach catches edge cases that automated tools miss.

### Does ClonePartner provide guidance before committing?

Yes. We provide a free consultation and assessment. We'll review your data structure, discuss your requirements, and provide a detailed migration plan and fixed-price quote before you commit to anything.

### Do you use an off-the-shelf tool to migrate from Xperience by Kentico to Drupal, or is this built for our data?

It is built for your data. Each migration is a set of custom scripts written for your data model, not a generic import tool. That is also why we start with a sample migration: you see your own records in Drupal before the full migration is committed.

### Can we see a sample of our Xperience by Kentico data migrated to Drupal before the full migration runs?

Yes. We run a sample migration on your own data first, so you can review how your records look in Drupal before the full migration goes ahead. We run validation scripts to confirm the record counts match your source, and you check the sample against your source records; if a field is missing or mapped wrong, or anything else needs adjusting, we fix it in the migration scripts and re-run the sample as many times as you need. The full migration only runs after you've approved the sample. On projects delivered in phases, each phase gets its own sample migration for you to approve.

### Will original ownership, authorship and created dates be preserved?

Yes. Created-time metadata is carried across, and ownership and authorship are carried across where the original users are set up in Drupal. Where Drupal cannot store one of them natively, it is kept as embedded metadata on the migrated record.

### If the new system can't natively support an old record type, what are my options?

We handle it case by case. While mapping your data, we identify every record type without a direct counterpart in Drupal, review sample records from it and propose how it can be represented, based on what Drupal supports: map it to the closest native object, create a custom field or object, fold it into the parent record as text or a note, attach it as a file, or keep it in a read-only archive. You choose the approach, we write the migration scripts to place the data there, so it comes across in the form you choose instead of being left behind, and you see how it looks in a sample migration before we run the full set.

### We've built custom modules and integrations on Xperience by Kentico. Can you migrate their content to Drupal?

We migrate the content and data your custom modules hold, as long as it can be read from Xperience by Kentico programmatically. Every migration we run is written as custom code for that project rather than pushed through an off-the-shelf tool, so unusual module data is not a blocker. During scoping we review each custom module and integration with you and agree how it will be handled before any work is committed.

### Will the migration set off automations or send emails or notifications to customers, our team or anyone else?

No. Before the sample or full migration starts, we confirm with you that nothing in Drupal will send messages about the migrated data: we import with notifications switched off wherever Drupal allows it, and either pause any automation that could send them for the migration window or give it a condition, such as a suppression tag, that skips migrated records, which lets your live automations keep running for new records. We only proceed once you have confirmed it. If you want anyone told about the move, that message is sent separately, once the migrated data has been checked.

### Can you migrate data that Drupal can't take in through an API?

In many cases, yes. Where something can't be written through an API, we recreate it through Drupal's user interface where the interface allows it, and where that work is repetitive we script and automate it. We tell you up front which items are handled this way, because recreating them through the interface can add time to the schedule.

### What happens if Drupal requires fields our Xperience by Kentico data doesn't have?

We check the destination for required fields your source data cannot fill and bring each one to you before those records are migrated. Together we agree how each one is handled, such as a mapping from an existing field, a default value, or, where Drupal lets that field be made optional, setting it to not required for the migration so you can make it required again once the migration is complete. The migration then runs with that rule applied, so no records are rejected or left behind.

### Can you change our URL structure when we move from Xperience by Kentico to Drupal, such as moving a blog or docs from a subdomain onto our main domain?

Yes, where Drupal and your site's front end support the structure you want. Each page is created in Drupal by the migration, so it can be given its new address, for example a blog moved from a subdomain to a path on your main domain, and you get a map of every old URL to its new one so redirects can be set up from the old addresses wherever they are served.

### How long does the Xperience by Kentico to Drupal migration take?

Most migrations complete within 1–5 business days, depending on data volume and complexity; very large migrations, such as several hundred thousand records, take longer. We provide a detailed timeline after the initial assessment and can often complete small migrations in under 24 hours.

### Will there be downtime when migrating from Xperience by Kentico to Drupal?

No. Our migration process is designed for zero downtime. Xperience by Kentico stays fully operational throughout: the bulk migration runs in the background and the cutover is fast, so there is no disruption to your live business operations.

### Can we whitelist a single IP instead of opening our network to your migration tool?

Yes. All migration traffic runs through a centralized system using one fixed IP, which your IT team can whitelist instead of opening broader network access.

### Is migration pricing a flat fee, or does it scale with data volume?

It's a flat fee with no hidden costs. The price we agree with you for your scope is the price you pay, and small variances in the final volume, a bit more or less, are included.

### How do I validate that everything migrated correctly?

Every client receives a Migration Validation Report with comprehensive metrics including record-count comparison, attachment integrity verification via checksum, and full audit logs of the migration run, showing every record created, skipped or failed. If any item didn't come across, the report names each one, the specific reason, and how to bring it across if you want it there. We also offer unlimited sample migrations, so you can check your data before the full migration runs.

### What support do you provide after the migration goes live?

At ClonePartner, we consider ourselves your partners in this journey. We take full accountability for your migration's success. Once your migration goes live, we provide 30 days of comprehensive post-migration support as standard, and longer support, such as 60 or 90 days, can be agreed for your project. During this period, we help with anything related to your migrated data, so your migration is a complete success.

### Will we get a migration report and a mapping sheet linking old record IDs to new ones?

Yes. We provide a comprehensive migration report along with an ID-mapping sheet that links each old Xperience by Kentico record ID to its new ID in Drupal. This ensures full traceability, simplifies post-migration verification, and helps your team validate that records have been migrated accurately.

### After migration, do I contact ClonePartner or the platform's own support if something looks wrong?

ClonePartner is the contact for anything about the migrated data itself. Questions about the platform itself, such as how its features and settings work, go to the platform's own support or to whoever administers it for you.

### Will our existing Xperience by Kentico page URLs and links keep working after we move to Drupal?

They can, through redirects and link rewriting. Links between your own pages are updated to point at their new URLs as part of the migration, and the files and images your pages use are re-hosted on Drupal, wherever it can host them, with their links rewritten. For every old URL we give you a map to its new address, so redirects can be set up where your site is served and old bookmarks, search results and external links open the right page.

## Get a fixed-price quote

[Talk to an engineer](https://clonepartner.com/talk-to-us?duration=30&utm_source=xtoy&utm_medium=button&utm_campaign=demo_bookings&utm_content=cta_click&utm_term=demo_button_click) about your Xperience by Kentico → Drupal migration.
