Launched:self-serve migrations intoSuperhuman Docs (Coda)
Try it now
01Agent-first
Runs where you already work
Plug it into Claude, ChatGPT or Cursor. Describe the move in plain English; the agent runs it.
02Engineer-led
Our production engine, unlocked
The pipeline our engineers use on managed enterprise migrations — the same code, now something you can drive yourself.
03Pricing
Try 10 pages free, then $1 a page
Credit-based, pay-as-you-go. No scoping call, no quote — sample it on your own docs before you spend anything.
04Sources
NotionSlabConfluenceSoonGoogle DocsSoon
Skip to content

Kentico vs Drupal: Architecture, TCO & Migration Guide

A technical comparison of Kentico and Drupal covering architecture, content models, TCO, Q4 2026 support deadlines, and the migration path between them.

Roopendra Talekar Roopendra Talekar · · 21 min read
Kentico vs Drupal: Architecture, TCO & Migration Guide
TALK TO AN ENGINEER

Planning a migration?

Get a free 30-min call with our engineers. We'll review your setup and map out a custom migration plan — no obligation.

Schedule a free call
  • 1,500+ migrations completed
  • Zero downtime guaranteed
  • Transparent, fixed pricing
  • Project success responsibility
  • Post-migration support included

Kentico vs Drupal: Architecture, TCO & Migration Guide

Info

TL;DR: Kentico is a commercial .NET/SQL Server DXP with built-in marketing tools and licensing starting around $12,000/year. Drupal is an open-source PHP CMS with a free core, an entity/field content model, and hosting costs that range from $50/month to thousands depending on provider. Both face Q4 2026 support deadlines: Kentico Xperience 13 ends support December 31, 2026, and Drupal 10 reaches end of life December 9, 2026. Choosing between them depends on your team's language investment (.NET vs PHP), budget structure (license-led vs infrastructure-led), and whether you need a bundled DXP or a composable stack assembled from separate tools.

If you're comparing Kentico and Drupal in 2026, you're likely in one of three situations: evaluating a new CMS for a greenfield project, deciding where to land after a platform's end-of-support deadline, or considering a migration between the two. This guide covers the architectural differences, real-world cost structures, content model mechanics, and the migration path between Kentico and Drupal — grounded in current vendor documentation and operational experience.

Disclosure: ClonePartner performs data migrations between Kentico and Drupal. Where our services are relevant, we say so explicitly. Platform assessments, pricing data, and technical comparisons are based on vendor documentation, public pricing pages, and third-party benchmarking data.

How do Kentico and Drupal differ architecturally?

Kentico is a .NET-based digital experience platform backed by Microsoft SQL Server. Drupal is a PHP-based open-source CMS backed by MySQL or PostgreSQL. That language and database split drives nearly every downstream difference in hosting, staffing, and operational cost.

Kentico's architecture

Kentico comes in two active product lines. Kentico Xperience 13 (KX13) is the legacy version — built on ASP.NET MVC 5 / .NET Framework 4.8 with ASP.NET Core support, using SQL Server as its sole data store. KX13 was originally launched in 2020 and is built around a traditional, tightly coupled .NET architecture with functionality for content management, digital marketing, and commerce within one unified solution.

Xperience by Kentico (XbyK) is a complete rewrite released officially in 2023, designed as a modern SaaS-first, cloud-native hybrid headless digital experience platform. It runs on .NET 8 through .NET 10 (per Kentico's official compatibility documentation) and still uses SQL Server under the hood. XbyK supports both traditional server-side rendering and headless delivery via REST and GraphQL APIs.

Kentico stores page content across three interconnected SQL Server tables, creating a rigid but predictable data model:

  • CMS_Tree stores the position of pages in the website content tree and basic page properties shared between all language versions.
  • CMS_Document stores page properties with unique values for each language version, the content of editable regions, and page builder widget data.
  • Coupled data tables store the fields of individual page types — for example, an Article page type generates a table named DancingGoat_Article with columns like ArticleTitle, ArticleSummary, and ArticleText.

This three-table model is fast for SQL queries but tightly binds content structure to the database schema. Every custom page type generates its own table. Because the platform runs on .NET, it requires Windows Server environments (or Azure) and SQL Server — an infrastructure stack that carries its own licensing overhead.

Xperience by Kentico: the channel pricing model

A critical architectural concept in XbyK that rarely gets explained clearly is channels. In XbyK, a "channel" is a distinct delivery surface — a website, an email channel, a headless channel, or a mobile app channel. Kentico licenses XbyK per channel count. A company running three branded websites, one email channel, and one headless API channel is running five channels. Channel count scales pricing directly: adding a new regional website means adding a new channel to your license. This differs fundamentally from Drupal's multi-site model, where additional sites share the same codebase and infrastructure without triggering per-site licensing fees.

XbyK also introduces the content hub — a shared repository of reusable content items that are not tied to the page tree. Unlike KX13's coupled-table model (where every page type must exist as a node in the site tree), XbyK content items can be created once and referenced across multiple pages and channels. A product description authored in the content hub can appear on a website channel, an email channel, and a headless API response without duplication. This is architecturally closer to Drupal's entity reference model than KX13's page-centric schema, and it matters significantly for the Drupal → Kentico migration path: complex entity reference structures in Drupal map more naturally to XbyK's content hub than to KX13's coupled tables.

Drupal's architecture

Drupal treats all content as an entity — nodes, taxonomy terms, media, users — with fields attached via a shared schema. Instead of generating a dedicated table per content type, Drupal's Field API creates separate tables for each individual field (e.g., node__body, node__field_image). When a page is requested, Drupal assembles the node by querying these discrete field tables.

This architecture is highly flexible. You can attach the same taxonomy field to an article, a user profile, and a product without altering the database schema. Content types are configuration, not database tables.

Drupal 11 integrates Symfony 7 and requires PHP 8.3 — two choices that significantly modernize the CMS's underlying architecture. Drupal 11.4.0, released July 2026, delivered measurable performance improvements: approximately one-third of the database and cache lookups compared to Drupal 11.0 and 10.6, 15–25% better compression of JS and CSS assets, and faster translation file handling. (These figures come from the official Drupal 11.4.0 release announcement and are specific to the improved caching and query optimization work in that release cycle.)

Key Drupal 11 capabilities relevant to this comparison:

  • Workspaces: A stable core module that creates copies of the production site where editors can make changes independently of the live version — a built-in staging layer without third-party tooling.
  • Single Directory Components (SDC): A UI component system allowing developers to keep all files for a single component — Twig template, CSS, JavaScript, configuration — in a single directory, improving front-end maintainability.
  • Automatic Updates: The system automatically installs security patches and other important updates without manual administrator intervention, reducing the patching burden that has historically been Drupal's operational weakness.
  • JSON:API in core: Native headless delivery without contributed modules for most use cases, available since Drupal 8.7.

Drupal runs on PHP, supports open-source databases (MySQL, MariaDB, PostgreSQL, SQLite), and deploys on standard Linux infrastructure.

Drupal distributions: out-of-the-box capability

A dimension frequently omitted in Kentico vs. Drupal comparisons is Drupal's distribution ecosystem. Distributions are pre-configured Drupal builds that include curated module sets and default configuration for specific use cases:

  • Drupal Commerce provides e-commerce functionality comparable (in scope, not UX) to Kentico's built-in commerce tools.
  • GovCMS (Australian government) and OpenPublic provide pre-configured content governance, accessibility, and permissions structures for public-sector deployments.
  • Lightning (Acquia-maintained) provides a media-rich editorial base with workflow management built in.

These distributions close part of the "no built-in tools" gap between Drupal and Kentico, but they require selection and configuration effort upfront — they are not installed by default.

Architecture comparison at a glance

Dimension Kentico (KX13 / XbyK) Drupal 11
Language C# / .NET PHP 8.3+
Framework ASP.NET Core Symfony 7
Database SQL Server only MySQL, MariaDB, PostgreSQL, SQLite
Content model Three-table: CMS_Tree + CMS_Document + coupled tables (KX13); content hub with reusable items (XbyK) Entity/field with shared schema
Headless delivery GraphQL + REST (XbyK); limited in KX13 JSON:API (core), GraphQL (contrib)
License Commercial (proprietary) Open source (GPL v2+)
Built-in marketing Yes — personalization, A/B testing, email, automation No — requires Acquia Campaign Studio, Acquia Personalization, or third-party tools
Multi-site pricing Per channel (XbyK) No per-site licensing fees
Distributions Single product line Commerce, GovCMS, Lightning, and others

What does Kentico actually cost vs Drupal?

The cost structures are fundamentally different. Kentico's cost is license-led: you pay for the platform, then add hosting. Drupal's cost is infrastructure- and labor-led: the software is free, but hosting, development, and maintenance carry the spend.

Kentico pricing

Kentico does not publish exact pricing on its site — all figures below are from third-party sources and should be treated as directional.

Third-party pricing trackers report Kentico Xperience 13 Business starting near $12,500/year and Enterprise near $22,300/year. Xperience by Kentico self-managed licensing starts around $990/month; SaaS plans start around $1,990/month. A more recent source puts the fully managed SaaS option at $2,900/month and the self-managed private cloud at $1,250/month. Enterprise configurations with advanced features can reach $100,000/year or more.

Pricing is configured through a sales conversation based on channel count, tier, and AI package selection — treat published figures as directional starting points, not final quotes.

Beyond the license, budget for implementation, content migration, and training. For a mid-size business, a full first-year investment typically falls between the tens of thousands and low hundreds of thousands of dollars — implementation is usually where the larger portion of Year 1 cost concentrates.

The channel pricing multiplier is a planning consideration that KX13 buyers evaluating XbyK often underestimate. A KX13 license covered a single website deployment. An XbyK license priced at $1,990/month for two channels scales to $2,990/month or more at four channels. Organizations with multiple brands or regional sites should model channel count before comparing XbyK pricing to Drupal multi-site configurations.

Drupal pricing

Drupal's core is free and licensed under the GNU General Public License (GPL v2+). There are no licensing fees, no artificial user limits, and no vendor lock-in on the application code. The cost centers are hosting, development labor, and contributed module maintenance.

Hosting ranges widely depending on the provider:

  • Pantheon: Entry tier starts at $41/month (annual) or $55/month (monthly) for Basic; Performance Medium at $275/month. A realistic mid-sized Drupal invoice (Performance Medium, New Relic, premium support, occasional overage) runs $1,200–$2,500/month — the headline tier price is rarely the operational price.
  • Acquia: Generally priced above Pantheon for comparable capacity, structured as negotiated annual contracts with environment-based pricing. Acquia provides FedRAMP-authorized hosting relevant for U.S. federal use cases.
  • Platform.sh: Mid-range managed hosting with strong multi-app support; pricing is environment- and resource-based.
  • Self-managed (AWS, DigitalOcean, etc.): Lower raw cost but shifts patching, scaling, and uptime responsibility to your team.

Staffing cost: a missing variable in most TCO models

.NET and PHP developers operate in different labor markets. As of 2025–2026, median U.S. salaries for mid-level .NET developers run approximately $110,000–$135,000/year; mid-level PHP developers with Drupal specialization run approximately $95,000–$125,000/year (sources: Stack Overflow Developer Survey 2024, Glassdoor, LinkedIn Salary). The gap is modest, but Kentico-specific .NET expertise is narrower than Drupal-specific PHP expertise — Kentico specialists command premium rates within the .NET pool. Agency retainer rates for Drupal development typically run $150–$250/hour; Kentico agency rates are similar but the vendor partner network is substantially smaller, which can affect availability and negotiating leverage.

Ongoing maintenance: a structural difference

Kentico maintenance involves applying vendor-provided hotfixes. Because the core CMS and marketing tools are built by a single vendor, updates are generally stable and self-contained.

Drupal maintenance requires active dependency management. A typical Drupal site relies on dozens of contributed modules maintained by the community. When a security vulnerability surfaces, your engineering team or agency must patch the core system and update affected modules via Composer. This requires an ongoing retainer with a Drupal agency or dedicated internal engineering hours. Drupal 11's Automatic Updates module reduces this burden for core security patches but does not cover contributed module updates.

Three-year TCO comparison

Cost element Kentico (XbyK, mid-market) Drupal 11 (Pantheon, mid-market)
Year 1 platform/license ~$15,000–$35,000 $0 (open source)
Year 1 hosting Included in SaaS; ~$3,000–$12,000 self-managed ~$5,000–$30,000 (Pantheon/Acquia)
Implementation $30,000–$150,000+ $30,000–$200,000+
Ongoing license (yr 2–3) ~$15,000–$35,000/yr $0
Ongoing hosting (yr 2–3) See above $5,000–$30,000/yr
Ongoing maintenance/dev $15,000–$50,000/yr $20,000–$60,000/yr

These ranges are directional estimates based on published pricing and industry benchmarking. Actual costs depend on site complexity, traffic, channel count (Kentico), and staffing model.

The pattern: Kentico front-loads cost in licensing; Drupal front-loads cost in implementation and hosting. For a mid-market site, three-year TCO often lands in a similar range ($100K–$300K), but the spend distribution differs. Kentico gives you a single vendor to negotiate with. Drupal spreads cost across hosting provider, development agency, and internal team.

Both platforms face Q4 2026 support deadlines

An unusual timing convergence makes late 2026 a decision point for teams on either platform.

Kentico Xperience 13 support ends December 31, 2026. After this date, Kentico no longer provides hotfixes, security patches, or technical support for Xperience 13. This is End of Support, not End of Life — the software continues to run after December 31, 2026 and is not remotely disabled. But from January 1, 2027, Kentico stops delivering product updates, security hotfixes, and technical support for the version.

Drupal 10 reaches end of life December 9, 2026 — the same week Drupal 12 is scheduled for release. After that date, Drupal 10 no longer receives security advisories, bug fixes, or official support.

If you're on Kentico Xperience 13, your options are:

  1. Upgrade to Xperience by Kentico (a replatform, not a version bump — affects content modeling, custom code, integrations, and editorial workflows)
  2. Migrate to Drupal or another CMS
  3. Stay on KX13 and accept the security risk

If you're on Drupal 10, your options are:

  1. Upgrade to Drupal 11 (a relatively smooth in-place upgrade — the cleanest major upgrade path Drupal has shipped)
  2. Migrate to Kentico or another platform
  3. Stay on Drupal 10 and accept the security risk

The Drupal 10 → 11 upgrade is substantially simpler than the KX13 → XbyK migration. The KX13 → XbyK path is a controlled replatform — not a version upgrade — affecting content modeling, custom code, integrations, and editorial workflows. Teams on KX13 evaluating XbyK should scope it as a new implementation project, not a software update.

For more on the Kentico timeline, see our Kentico Xperience 13 End of Support guide. For Drupal 10, see our Drupal 10 End of Life guide.

When should you pick Kentico over Drupal?

Choose Kentico when:

  • Your development team is invested in .NET and C#. Kentico integrates into an ASP.NET Core application via NuGet packages — it's native to .NET developers with no context-switching to PHP or Symfony conventions.
  • You need built-in marketing tools — personalization, A/B testing, email marketing, marketing automation — without assembling a separate stack. The equivalent Drupal stack requires Acquia Campaign Studio, Acquia Personalization, or third-party CDP integrations, each carrying its own licensing and integration cost.
  • You want a single vendor for the platform, support, and (with SaaS) hosting. One contract, one support queue.
  • Your editorial team values visual page building with drag-and-drop widgets out of the box, without contributed module configuration.
  • You operate in a .NET-standardized enterprise where PHP workloads would require new infrastructure, tooling, and hiring. (If you want to stay on .NET but avoid commercial licensing, see our Kentico vs Umbraco guide.)
  • You run a small number of distinct channels (1–3 websites). At low channel counts, XbyK's per-channel pricing is predictable. At high channel counts, Drupal's multi-site model becomes comparatively cost-efficient.

The trade-off: Higher licensing costs, vendor lock-in, a smaller community ecosystem, and channel-based pricing that scales less favorably for multi-brand or multi-regional deployments.

When should you pick Drupal over Kentico?

Choose Drupal when:

  • You need complex content modeling — deeply nested entity references, multi-site governance, granular access control. Drupal's entity/field system handles structures that Kentico's coupled-table model (and even XbyK's content hub) would require significant custom engineering to replicate.
  • You require open-source licensing for compliance, government procurement, or philosophical reasons. Drupal is GPL v2+, which satisfies open-source procurement requirements that disqualify commercial platforms. (If you are evaluating open-source PHP options, you may also want to compare Kentico to WordPress.)
  • You want to avoid recurring license fees and prefer to allocate budget to infrastructure and development labor.
  • You operate multi-site at scale. Drupal's multi-site and domain access patterns are mature and carry no per-site licensing overhead. Ten regional sites on Drupal add hosting cost; ten channels on XbyK add both hosting and licensing cost.
  • Your team has PHP and Symfony experience, or you can hire from the broader Drupal developer pool — which is substantially larger than the Kentico partner network.
  • You need FedRAMP, HIPAA-capable, or government-compliance hosting. Acquia provides FedRAMP-authorized infrastructure for Drupal; comparable infrastructure for Kentico exists but is less standardized in the vendor ecosystem.

The trade-off: Higher implementation complexity. No built-in marketing automation — you'll need Acquia Campaign Studio, Acquia Personalization, a third-party CDP, or custom development to replicate what Kentico delivers out of the box. The admin UX, while improved in Drupal 11, still requires more configuration than Kentico's editorial experience for non-technical content teams.

According to W3Techs data (March 2026), Drupal holds 0.7% of all websites and 1.0% of the CMS market. Among the top 1 million sites, 2.41% are built with Drupal; among the top 10,000 highest-traffic sites, 6.66% use Drupal. Drupal punches above its statistical weight in high-traffic, high-complexity deployments — government, higher education, media, and enterprise. Among the top 1,000 highest-traffic sites, Drupal powers 7.5% compared to WordPress's 47.5%.

Content model: where migration complexity lives

The deepest technical difference between Kentico and Drupal is how they model content — and this is where migration complexity actually concentrates.

Kentico KX13's model is schema-per-type. Each page type gets its own SQL Server table with columns matching the defined fields. A site with 15 page types has 15 coupled data tables plus the shared CMS_Tree and CMS_Document tables. Relationships between pages are stored in CMS_Relationship — a junction table with source/target node IDs and a named relationship type.

XbyK's model introduces reusable content items in a content hub. Content items are not page-tree-bound and can be referenced across channels. This is architecturally closer to Drupal's entity model than KX13's schema, but XbyK still uses SQL Server and a proprietary schema — it is not compatible with Drupal's entity storage layer. (If you are moving toward a pure API-first architecture, you may also want to compare Kentico against headless platforms like Contentful or Kontent.ai.)

Drupal's model is entity/field with shared storage. All content types share the same underlying table structure (node, node_field_data, plus node__field_* tables per field). Entity references are first-class fields that can point to any entity type. The Paragraphs module and Layout Builder allow nested, composable content structures that have no direct equivalent in Kentico's KX13 flat coupled-table model. XbyK's content hub is a closer analog but still not equivalent.

This structural gap means:

  • Kentico → Drupal: You gain structural flexibility but must design Drupal content types and field mappings upfront. KX13's flat page type fields map reasonably well to Drupal fields; relationships, widgets, and editable regions require architectural decisions.
  • Drupal → KX13: You lose structural depth. Deeply nested paragraph structures or entity reference chains need to be flattened or redesigned as KX13 page types with simpler field sets.
  • Drupal → XbyK: More viable than Drupal → KX13 because XbyK's content hub supports content items without page-tree binding, closer to Drupal's entity model. Complex entity reference chains still require manual mapping decisions.

How does a Kentico to Drupal migration work?

There is no native migration path between Kentico and Drupal. The two platforms share no database format, no API compatibility, and no import/export standard. Migration requires extraction, transformation, and loading as separate steps.

Step 1: Extract from Kentico

Direct SQL extraction is the most reliable method for bulk data export from Kentico, bypassing application-level bottlenecks.

Kentico provides a REST API, but it is rarely the right tool for bulk data extraction. The API is designed for lightweight integrations, not mass egress — it struggles with rate limits, complex hierarchical relationships, and binary file data at scale. For a site with 50,000+ records, direct database access is the preferred approach.

By querying the database directly, you can join CMS_Tree, CMS_Document, and coupled tables into a single, flat dataset:

SELECT 
    t.NodeAliasPath AS UrlSlug,
    d.DocumentName AS Title,
    c.ArticleSummary AS Excerpt,
    c.ArticleBody AS Content,
    d.DocumentCreatedWhen AS PublishDate
FROM CMS_Tree t
INNER JOIN CMS_Document d ON t.NodeID = d.DocumentNodeID
INNER JOIN CONTENT_Article c ON d.DocumentForeignKeyValue = c.ArticleID
WHERE t.NodeClassID = (
    SELECT ClassID FROM CMS_Class WHERE ClassName = 'Custom.Article'
)

This flattens the relational data into a structure you can export as JSON or CSV. Our transfer preference is API > JSON > CSV, with CSV being the least preferred option due to character encoding issues with rich text fields.

For more on extraction strategies, see our guide on How to Export Data from Kentico.

Step 2: Transform the data

Kentico's three-table join structure needs to be flattened and remapped to Drupal's entity/field model. This includes resolving page type → content type mappings, extracting inline media references, and handling multilingual variants stored in separate CMS_Document rows.

What maps cleanly: Page content fields, taxonomy structures, basic metadata (title, URL alias, publish date), and simple media references.

What doesn't map: Kentico page builder widgets, portal engine editable regions, marketing automation rules, A/B test configurations, form definitions, e-commerce catalog structures, and workflow state. These require re-implementation on the Drupal side — they are application architecture problems, not data migration problems. Plan for these separately from the data migration scope.

Step 3: Load into Drupal via the Migrate API

The Drupal Migrate API is a core framework that uses YAML configurations to map external data sources to Drupal entities.

To move JSON data extracted from Kentico into Drupal, you write a migration YAML file defining the source, the field mapping and transformation logic, and the destination entity type:

id: kentico_articles_migration
label: 'Migrate Articles from Kentico JSON'
source:
  plugin: url
  data_fetcher_plugin: http
  data_parser_plugin: json
  urls: 'https://staging.example.com/export/articles.json'
  item_selector: 0
  fields:
    - name: UrlSlug
      label: 'URL Slug'
      selector: UrlSlug
    - name: Title
      label: 'Title'
      selector: Title
    - name: Content
      label: 'Body Content'
      selector: Content
process:
  title: Title
  body/value: Content
  body/format:
    plugin: default_value
    default_value: full_html
  path/alias: UrlSlug
destination:
  plugin: 'entity:node'
  default_bundle: article

This configuration reads the flat JSON and translates it into Drupal's entity/field structure, populating the node__body and node_field_data tables. The Migrate API supports incremental imports (highwater marks) for delta syncs after the initial bulk load. You run migrations via Drush (drush migrate:import kentico_articles_migration) and validate imported nodes for referential integrity before cutover.

For a detailed technical walkthrough, see our Kentico to Drupal Migration guide.

What a real migration looks like: an anonymized example

To ground the timeline and complexity claims: a mid-market professional services firm running Kentico Xperience 13 with approximately 38,000 content nodes (12 page types, 3 languages, ~4,200 media assets) completed a Kentico data migration to Drupal 11 in 6 business days. The initial bulk migration ran over a weekend. Two delta syncs followed on successive business days to capture content edited during the migration window. Complications included: (1) Kentico's inline image references embedded as HTML strings in editable regions, requiring a regex transform pass to resolve to Drupal media entity IDs; (2) a custom page type with a many-to-many relationship table not documented in the CMS_Relationship schema, discovered during source analysis. The application replatform — new theme, module configuration, integration with a third-party marketing automation platform — was handled separately by the client's agency and took approximately 14 weeks.

This case is representative of medium-complexity migrations. Simpler sites (single language, fewer than 10,000 nodes, no custom relationship tables) complete in 1–3 business days. Sites with high media volume, legacy portal engine editable regions, or undocumented schema customizations extend toward 10–14 business days.

How does a Drupal to Kentico migration work?

Moving from Drupal to Kentico reverses the content model challenge. Drupal's entity/field data needs to be restructured into Kentico's page-type schema (KX13) or content hub model (XbyK).

The extraction side is straightforward — Drupal exposes content through JSON:API (core in Drupal 8+) or direct database queries. For Drupal sites with JSON:API enabled, API-based extraction is preferred over direct database access. For extraction options, see our guide to exporting data from Drupal.

The loading side depends on the target Kentico version:

  • Into XbyK: Use the Kentico content management APIs or direct inserts into the content hub structure. XbyK's reusable content item model accommodates entity reference patterns more naturally than KX13. XbyK still requires channel assignment and content type mapping — these decisions must be made before bulk import begins.
  • Into KX13: Requires populating CMS_Tree, CMS_Document, and the appropriate coupled data tables with correctly linked foreign keys. The DocumentForeignKeyValue and NodeClassID references must be consistent or the content tree breaks. KX13 has no API designed for bulk content import — direct SQL insertion with transaction management is the standard approach.

Edge cases that cause problems in both directions: Drupal's entity reference fields (which can point to any entity type), paragraph/block reference structures, Layout Builder configurations, and media entities with multiple file fields. These need manual mapping decisions — there is no automated translator between Drupal's entity graph and Kentico's page-type or content-hub schema.

Migration timelines: separating data from replatforming

When planning a move between Kentico and Drupal, keep two clocks apart: the time it takes to move the data, and the time it takes to rebuild the application.

How long does the data migration take?

Most migrations complete within 1–5 business days, depending on data volume, complexity, and API rate limits. Small datasets (under 10,000 records) can finish in under 24 hours. Full migrations typically run over a weekend to ensure the new system is populated by Monday morning.

For larger engagements (5,000+ documents with media assets, multiple languages, or complex relationship structures), the process involves an initial bulk migration followed by delta syncs, extending the timeline to 7–13+ business days.

How long does the replatform take?

A full replatforming project — redesigning templates, rebuilding integrations, configuring modules, and retraining editors — is a separate effort measured in months. ClonePartner moves the data; your internal engineering team or a dedicated agency handles the replatform.

Start scoping at least 3–4 months before your target deadline. For teams on either KX13 or Drupal 10 with Q4 2026 deadlines, the window to begin is now — not in September.

How does the developer ecosystem compare?

Drupal has a larger open-source contributor base and a deeper pool of contributed modules (approximately 50,000 on drupal.org, though the active and maintained subset is smaller — roughly 5,000–8,000 modules have releases compatible with Drupal 10/11). Kentico has a smaller but focused partner network and a marketplace of pre-built integrations.

Factor Kentico Drupal
Core contributors Kentico (single vendor) ~9,000+ active contributors (community)
Extension ecosystem Marketplace integrations + NuGet packages ~50,000 modules on drupal.org; ~5,000–8,000 actively maintained for D10/11
Managed hosting SaaS option from Kentico Acquia, Pantheon, Platform.sh, self-hosted
Commercial support Kentico direct + partner network Acquia, agency ecosystem, freelancers
Marketing tools (native) Personalization, A/B testing, email, automation None native — Acquia Campaign Studio, Acquia Personalization, or third-party
Learning curve Moderate (C#/.NET required) Steep (PHP, Symfony 7, Drupal conventions)
Hiring pool .NET developers (broad) + Kentico specialization (narrow) PHP developers (very broad) + Drupal specialization (moderate)
Multi-site pricing Per channel (XbyK) No per-site licensing

Security and compliance considerations

Both platforms support enterprise security requirements, but through different mechanisms.

Kentico provides security features within the platform — built-in authentication, role-based access, audit logging, and encrypted connections. XbyK's SaaS option handles infrastructure security, patching, and updates automatically through an evergreen model that delivers platform updates continuously without requiring major version upgrades.

Drupal relies on its security team and community for vulnerability disclosure and patching. Drupal has a formal Security Team (approximately 40 volunteer members) that coordinates responsible disclosure and releases security advisories via a consistent advisory process. Drupal 11's Automatic Updates module reduces the patching burden for core security patches. For compliance-heavy deployments, Acquia provides FedRAMP-authorized hosting and HIPAA-capable infrastructure.

For context on relative security posture: Drupal's security team publishes a public record of all security advisories at drupal.org/security. Kentico publishes security hotfixes on a rolling basis through its partner portal. Neither platform has a publicly comparable CVE severity distribution — organizations with formal vulnerability management requirements should request security disclosure records directly from each vendor.

Both platforms can be configured for GDPR, CCPA, and HIPAA-safeguarded environments. Neither platform is "HIPAA certified" — HIPAA has no certification scheme — but both can operate within HIPAA-compliant architectures with appropriate safeguards in place.

Making the decision

The choice between Kentico and Drupal is not about which platform is "better" in aggregate — it is about fit across three dimensions: team language investment, budget structure, and content modeling requirements.

A practical decision framework:

Situation Lean toward
.NET/C# team, no PHP capacity Kentico
PHP/Symfony team, no .NET capacity Drupal
Need marketing automation without third-party tools Kentico
Need deeply nested entity references or paragraph structures Drupal
1–3 channels, single brand Kentico (channel pricing favorable)
5+ sites or channels, multi-brand Drupal (no per-site licensing)
Open-source licensing required (government, compliance) Drupal
Single vendor support preferred Kentico
FedRAMP hosting required Drupal (via Acquia)
Budget front-loaded in licensing acceptable Kentico
Budget front-loaded in implementation acceptable Drupal

Pick Kentico if you're a .NET shop that wants marketing tools out of the box and prefers a single-vendor relationship. You'll pay more in licensing but less in assembling and integrating separate tools.

Pick Drupal if you need maximum content modeling flexibility, open-source licensing, and you're comfortable investing in implementation complexity upfront. You'll pay nothing in licensing but more in hosting, development, and ongoing maintenance labor.

If you're leaving one for the other, the data migration is the tractable part of the project. The harder work — redesigning templates, rebuilding integrations, retraining editors — is the replatform project that surrounds the data migration.

For teams evaluating alternatives beyond this pair, see our Kentico alternatives guide and Drupal alternatives guide.

ClonePartner handles data migrations between Kentico and Drupal at fixed price, starting at $500 per project. We charge one fixed price per project with no hourly billing, no hidden fees, and no per-record metering. We provide unlimited sample migrations until the data matches expectations, and re-migration after cutover is included at no additional cost.

Frequently Asked Questions

Is Kentico or Drupal cheaper to run?
Drupal's core is free but hosting and development labor drive costs ($5K–$30K/year for managed hosting alone). Kentico's licensing starts around $12,000/year for XbyK self-managed. Three-year TCO for mid-market sites often lands in a similar range ($100K–$300K), but the cost distribution differs: Kentico is license-led, Drupal is infrastructure- and labor-led.
Can you migrate from Kentico to Drupal?
Yes, but there's no native migration path. You extract from Kentico's SQL Server tables (CMS_Tree, CMS_Document, coupled data tables), transform the data to match Drupal's entity/field model, and load it using Drupal's Migrate API. The data migration itself takes 1–5 business days; the broader replatform project (templates, integrations, workflows) takes months.
Is Kentico Xperience 13 end of support in 2026?
Kentico Xperience 13 reaches End of Support — not End of Life — on December 31, 2026. Your site continues to run, but Kentico stops providing security patches, hotfixes, and technical support. Drupal 10 also reaches end of life on December 9, 2026.
What is the best way to extract data from Kentico?
Direct SQL extraction is the preferred method for bulk exports. Kentico's REST API is prone to rate limits and timeouts at scale, making direct database queries against the CMS_Tree, CMS_Document, and coupled data tables much more reliable for sites with thousands of records.
How does Kentico's content model differ from Drupal's?
Kentico uses a three-table SQL Server structure: CMS_Tree (page position), CMS_Document (language-specific properties), and one coupled data table per page type. Drupal uses a shared entity/field system where all content types use the same underlying table pattern, with entity references as first-class fields that support deep nesting.

More from our Blog