How to Migrate From Kentico to a Self-Hosted CMS
Escape the .NET DXP for a light self-hosted CMS
Kentico (the on-premise Xperience/Kentico DXP) is an enterprise .NET CMS and digital experience platform. It's powerful, with e-commerce, marketing automation, and deep .NET integration — and it carries enterprise licensing, .NET/Windows infrastructure, and real operational weight. Teams migrate off Kentico when they're over-scoped on a DXP, want off the .NET/Windows hosting, or want a lighter, self-hosted CMS at a fraction of the cost. This guide walks the move to a self-hosted CMS with SEO intact.
TL;DR: Export Kentico content via its REST/OData API or database, map page types to posts and pages, import into a self-hosted CMS like UnfoldCMS, preserve slugs, set up 301 redirects for changed URLs, and rebuild your front end. Expect to leave .NET and drop DXP-only features like marketing automation.
Why migrate off Kentico?
Clarify your reason:
- Enterprise cost. Kentico licensing plus .NET hosting and specialist staff add up fast.
- .NET/Windows infrastructure. Heavier and pricier than a LAMP or Node stack.
- Over-scoped. If you need a CMS and a blog, not e-commerce and marketing automation, a DXP is far more than the job.
- Complexity. Kentico is a platform to operate, not a CMS you spin up in a day.
If you genuinely use Kentico's DXP features at scale, staying is reasonable. If you're over-scoped or want off .NET, read on.
What you're moving to
This guide targets UnfoldCMS, a self-hosted CMS on Laravel (PHP) with a REST API at /api/v1/*, content in your own SQLite or MySQL database, and a one-time cost. It replaces a heavy .NET DXP with a focused, light CMS on ordinary hosting.
Set expectations: this is a stack change (.NET → PHP) and a scope change (DXP → CMS). You'll lose DXP-only features — marketing automation, personalization, built-in e-commerce. If you rely on those, this isn't a like-for-like move. For pure content, it's a big simplification.
Step 1 — Export your Kentico content
Kentico exposes content a few ways:
REST/OData API — Kentico's REST service returns page and content data as JSON/XML:
GET /rest/content/site/{site}/en-us/all/{pagetype}
Database — Kentico stores content in SQL Server; you can query the page and content tables directly, or use its export tooling.
Either way you get structured records. Export media from the Kentico media library / content tree attachments to rehost.
Step 2 — Map page types to posts and pages
Kentico organizes content into page types in a content tree. Map them:
| Kentico | UnfoldCMS |
|---|---|
| Page type (article/blog) | Post |
| Page type (page) | Page (content_type=page) |
| Rich-text field | Post body (HTML) |
| Structured/widget zones | Flattened into body HTML |
| Media library file | Media library (featured-image) |
| Category / taxonomy | Post categories |
| Publish date | posted_at |
| URL slug / alias | Slug (preserve for SEO) |
The transform work is flattening any widget/zone-based page layouts into HTML bodies.
Step 3 — Handle body and widgets
Kentico rich-text/editable regions output HTML, which drops into UnfoldCMS directly (it stores body as HTML). For pages built from widgets or page-builder zones, write a transform that renders each widget to HTML and combines them into a body. Verify a sample before bulk-importing.
Step 4 — Import into the CMS
Write a migration script that reads your Kentico export and creates a post or page per item. Preserve slugs (and URL aliases) for SEO, set posted_at from the publish date, map taxonomy to categories, and attach media to the library.
Step 5 — Preserve SEO with redirects
Kentico sites often have many URL aliases and a deep tree, so redirects matter here. Set up 301 redirects from old paths (including aliases) to new ones. UnfoldCMS ships a redirects system. Preserve slugs where possible and audit the full URL set — Kentico's alias feature can mean multiple old URLs per page. Carry over meta titles/descriptions to UnfoldCMS's SEO fields. See migrate a blog without losing SEO.
Step 6 — Rebuild your front end
Kentico renders via ASP.NET (MVC/Razor or its page builder). Moving to UnfoldCMS, you either use its built-in themes or build a headless front end that consumes the REST API. This is a front-end rebuild — the biggest single piece of leaving a .NET CMS. Plan for it: it's the price of changing stacks, and the payoff is far lighter hosting and cost.
Step 7 — Rebuild-on-publish
If you had rebuild automation, replicate with UnfoldCMS's outgoing HMAC-signed webhooks pointed at your deploy hook (for a headless front end).
Migration checklist
- [ ] Export content via REST/OData or the SQL database
- [ ] Export media library files and attachments
- [ ] Map page types to posts and pages
- [ ] Flatten widget/zone layouts into HTML
- [ ] Import content, preserving slugs and dates
- [ ] Map taxonomy, carry over SEO meta
- [ ] Attach media to the library
- [ ] Set up 301 redirects for all old URLs and aliases
- [ ] Rebuild the front end (themes or headless)
- [ ] Verify sample pages before go-live
FAQ
Can I export my content from Kentico? Yes. Use Kentico's REST/OData service or query its SQL Server database directly. Media is in the content tree and media library, exportable for rehosting.
Will I lose SEO migrating off Kentico? Not if you preserve slugs, set up 301 redirects for all old URLs and aliases (Kentico often has many), and carry over meta titles/descriptions. The alias handling is the part to be thorough about.
Do I lose DXP features moving to UnfoldCMS? Yes — marketing automation, personalization, and built-in e-commerce don't exist in a pure CMS like UnfoldCMS. Only migrate if you don't actually use those DXP features.
How big is the front-end work? Significant — Kentico renders via ASP.NET, so you rebuild the front end using UnfoldCMS's themes or a headless setup. It's the largest single piece of the migration.
Bottom line
Migrating off Kentico is both a stack change (.NET → PHP) and a scope change (DXP → CMS). Export via REST/OData or the database, flatten widget layouts to HTML, map page types to posts and pages, and import into a self-hosted CMS. Be thorough with redirects for Kentico's URL aliases, and plan for a front-end rebuild. You trade an enterprise .NET DXP for a light, self-hosted CMS at a fraction of the cost — worthwhile if you're over-scoped, not if you rely on DXP features.
See UnfoldCMS in the demo or read Sitecore alternatives for the wider enterprise-CMS picture.
Related: Sitecore alternatives · How to migrate a blog without losing SEO · Self-hosted vs SaaS CMS
Free & Open Source
Own your CMS. No subscriptions.
Unfold CMS is free to download and self-host. Built on Laravel + React, full source code included.
Share this post: