---
title: "Optimizely to Xperience by Kentico Migration | ClonePartner"
description: "Optimizely to Xperience by Kentico: Blocks map to reusable content items without direct block concept. Engineer-led, zero downtime."
source: Optimizely
target: Xperience by Kentico
canonical: "https://clonepartner.com/migrate/optimizely-to-xperience-by-kentico"
---

# Optimizely → Xperience by Kentico migration

Optimizely to Xperience by Kentico migration — pages, media, and taxonomies moved with content fidelity.

## Entity mappings

- **Content Pages** (Optimizely) → **Pages (Web Pages)** (Xperience by Kentico)
- **Blocks** (Optimizely) → **Content Items** (Xperience by Kentico)
- **Media Assets** (Optimizely) → **Media Library Files** (Xperience by Kentico)
- **Content Types** (Optimizely) → **Content Types (Page Types)** (Xperience by Kentico)
- **Categories** (Optimizely) → **Taxonomy Tags** (Xperience by Kentico)
- **Sites** (Optimizely) → **Channels (Websites)** (Xperience by Kentico)
- **Languages** (Optimizely) → **Languages** (Xperience by Kentico)
- **Scheduled Content (Versions)** (Optimizely) → **Workflows** (Xperience by Kentico)
- **Content Versions** (Optimizely) → **Content Item Language Variants** (Xperience by Kentico)
- **Forms** (Optimizely) → **Form Definitions** (Xperience by Kentico)
- **Tags** (Optimizely) → **Taxonomy Tags** (Xperience by Kentico)
- **URL Slugs / Routing** (Optimizely) → **Web Page Items** (Xperience by Kentico)
- **Catalog Entries (Commerce)** (Optimizely) → **Custom Module Data (Object Instances)** (Xperience by Kentico)
- **Catalog Categories (Commerce)** (Optimizely) → **Taxonomies (Tag Groups)** (Xperience by Kentico)
- **Prices (Commerce)** (Optimizely) → **Custom Module Class (e.g., 'ProductPrice' custom object) or Product SKU custom fields** (Xperience by Kentico)

## Frequently asked questions

### What happens to my Optimizely Blocks when they move to Xperience by Kentico?

Optimizely Blocks have no direct equivalent in Xperience by Kentico, so they are migrated as reusable Content Items rather than a dedicated block object. The structured field data is preserved, but the presentation layer—including any widget or WidgetController rendering logic tied to those blocks—must be rebuilt in Xperience by Kentico's ViewComponent-based admin. ClonePartner moves the data; your development team will need to wire the resulting Content Items to the appropriate page builder components after migration.

### Can my Optimizely Commerce catalog, categories, and prices be migrated to Xperience by Kentico?

Xperience by Kentico ships with no native commerce engine, so Catalog Entries, Catalog Categories, and Prices all require workarounds. Catalog Entries land as Custom Module Object Instances, Catalog Categories are restructured as Taxonomy Tag Groups, and Prices must be modeled in a custom module class (such as 'ProductPrice') that mirrors fields like currency, price list, min-quantity tiers, and validity dates—because no 1:1 Xperience object exists for Optimizely's price list model. ClonePartner builds the custom target schema and populates it via the Kentico Admin or Management API; if you require a full commerce capability you should also plan for a third-party layer such as CommerceTools or Stripe to handle pricing logic at runtime. Note also that Optimizely Commerce requires a separate license on the source side, so confirm that catalog data is accessible before scoping begins.

### Will my Optimizely content version history and scheduled publishing survive the migration?

Version history and scheduling metadata cannot be fully reconstructed through the Optimizely API, and Xperience by Kentico handles versioning through Content Item Language Variants rather than standalone version records. Scheduled content from Optimizely is mapped to Xperience Workflow steps as a workaround, meaning the scheduling intent is preserved where the API exposes it, but granular draft-over-draft history is not guaranteed to carry over intact. All imported content items land in Draft state in Xperience by Kentico and must be explicitly published; we flag items that had an active schedule in Optimizely so your team can reprioritize publication queues after cutover.

### Do my Optimizely internal content links still work after migration to Xperience by Kentico?

No—Optimizely identifies content references with GUIDs that are assigned fresh on import into Xperience by Kentico, so every internal link and cross-content reference will point to a stale identifier unless it is explicitly remapped. ClonePartner's migration pipeline builds a GUID translation table during import and rewrites stored references before finalizing each record, covering page-to-page links and content item relations. References embedded in rich-text fields or custom field formats require the same remapping pass; we identify those fields during scoping so none are silently broken at cutover.

### What Optimizely data has no public API and must be handled at the database level?

Several Optimizely objects are inaccessible through the REST or Content Delivery/Management APIs and require direct database access: Access Control Lists and ACLs, Form submission records, and Visitor Group or personalization rule configurations. Optimizely's Content Management API also does not expose A/B test setups. ClonePartner accesses the Optimizely source database directly for these objects under a read-only connection; Visitor Groups and A/B test configurations have no equivalent in Xperience by Kentico and will need to be recreated manually using Xperience's native personalization tooling.

### What prerequisites does my Xperience by Kentico environment need before ClonePartner can write data into it?

Xperience by Kentico's Management API requires API keys with the correct scopes configured per object type—Content Items, Media Library, Taxonomies, Form Definitions, and any custom modules each need separate authorization. Content Types (Page Types) must exist in the target environment before content records can be imported, but Xperience by Kentico does not accept Content Type definitions via API; they must be deployed through code or CI/CD serialization files ahead of the data migration. ClonePartner will provide a pre-migration checklist during scoping that lists every Content Type and custom module class that must be present, along with the required API key scopes, so the environment is ready before we begin writing records.

## 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 Optimizely → Xperience by Kentico migration.
