CKAN vs PortalJS Cloud: An Honest Comparison for Organizations Considering Migration
Yoana Popova
Datopian built CKAN. We still maintain it. It powers thousands of data portals worldwide, including portals run by the UK government, the US federal government, and major international institutions. We are not going to pretend PortalJS Cloud is the right choice for every organization.
This is an honest breakdown of what you gain and what you give up when you move from a self-hosted CKAN instance to PortalJS Cloud. The audience searching for this comparison is typically technical and already skeptical of vendor-produced content. You deserve a straight answer.
For the full feature-by-feature comparison table, see the PortalJS vs CKAN Classic comparison page.
What PortalJS Cloud Actually Is
PortalJS Cloud is not a replacement for CKAN at the data layer. It is a modern, managed frontend and hosting platform that runs on top of CKAN's proven APIs. When you move to PortalJS Cloud, CKAN continues to power the data backend: your datasets, metadata, organizations, and APIs remain CKAN-compatible. What changes is everything your users see and interact with, plus who manages the infrastructure.
This distinction matters for understanding what you are actually comparing. For a deeper look at how the two work together, see the PortalJS CKAN integration page.
What You Gain
Frontend performance. PortalJS Cloud uses Next.js with Static Site Generation (SSG), Server-Side Rendering (SSR), and Incremental Static Regeneration (ISR). Page loads are significantly faster than CKAN's Flask-based UI. For public-facing portals where citizen experience matters, this is the most visible difference.
Fully managed hosting. No DevOps overhead, no infrastructure maintenance, no server patching or upgrades. The platform is managed for you, including hosting, security, and availability. For teams that currently spend significant engineering time on infrastructure, this is a substantial operational reduction.
AI-generated metadata. Upload a file and the system reads it and writes the title, description, and tags automatically. This alone meaningfully reduces the publishing burden for data officers managing large catalogs.
Natural language data exploration. Users can ask questions about datasets in plain English and get structured answers and charts instantly, without SQL or technical skills. Available on the Institution plan and above, this changes what non-technical users can actually do with your portal. You can try it live at demo.portaljs.com.
5-minute setup. A new portal from zero to live without an IT project. Start a free trial here.
Standards compliance out of the box. WCAG 2.2 AA, DCAT metadata, DCAT export in JSON-LD, RDF, and TTL, and SEO optimization are all built in. On a self-hosted CKAN instance, achieving this level of compliance typically requires extension work and ongoing maintenance.
MCP server integration. An out-of-the-box MCP server lets users explore your datasets directly from AI assistants like Claude or ChatGPT. This is an early-access feature with active reliability improvements underway.
What You Give Up
Back-office customization. This is the most significant trade-off. A self-hosted CKAN instance gives you full control over the admin interface: you can install any CKAN extension, modify workflows, and customize the publisher experience extensively. PortalJS Cloud's admin interface is more constrained. If your team has invested in custom CKAN extensions for the back office, some of that functionality may not carry over directly.
The exception is the Enterprise plan, which includes bespoke development and can accommodate custom back-office requirements. See PortalJS Cloud pricing for a full plan comparison.
Full infrastructure control. PortalJS Cloud is managed by design. If your organization has security or compliance requirements that mandate on-premise hosting or specific server configurations, you will need the Enterprise plan, which supports private and hybrid cloud deployment.
Deep CKAN extension compatibility. Hundreds of CKAN extensions exist in the open-source ecosystem. PortalJS Cloud is compatible with CKAN's API layer, but frontend extensions written for CKAN's Flask UI do not transfer to the Next.js frontend. If your portal relies on specific CKAN frontend extensions, you will need to evaluate whether equivalent functionality is available or needs to be rebuilt.
When PortalJS Cloud Is the Right Choice
If your team is spending significant time maintaining infrastructure, your portal's frontend feels dated and affects citizen engagement, users struggle to find the data they need, or you are standing up a new portal and do not want to build the DevOps capability to manage it, PortalJS Cloud is likely the better choice.
Organizations like SSEN, Lincolnshire County Council, and Transport Data Commons chose PortalJS Cloud specifically because the managed infrastructure let their teams focus on the data rather than the platform. See the full case studies for more detail.
When Staying on CKAN Makes More Sense
If your organization has deep back-office customization requirements, critical CKAN extensions that are central to your publishing workflow, or infrastructure mandates that require on-premise control beyond what the Enterprise plan provides, staying on self-hosted CKAN may be the right call.
We would rather you make the right decision for your organization than the wrong one for us. If self-hosted CKAN is genuinely the better fit, we will tell you that.
The Migration Path
If you decide to move, the migration is designed to minimize disruption. API compatibility means existing integrations continue to work. See our full guide to PortalJS Cloud APIs for detail. The areas that require the most attention during migration planning are back-office workflows that depend on custom CKAN extensions, any frontend customizations built on the CKAN UI, and authenticated API integrations that may have CKAN-specific requirements.
Bringing those into scope early makes the process predictable.
Want to talk through your specific situation before making a decision? Reach out to the Datopian team or try PortalJS Cloud free for 14 days, no credit card required.