How to migrate from another headful CMS to AEM Headless | Community
Skip to main content
September 1, 2025
Question

How to migrate from another headful CMS to AEM Headless

  • September 1, 2025
  • 3 replies
  • 424 views

Hello everyone,

 

I'm looking to migrate from an old, headful CMS to AEM Headless. The database of our current headful CMS is PostgreSQL 15, and the content is marked up with a proprietary template.

 

We plan to distribute information to multiple devices, such as native apps and IoT devices, and therefore want to use GraphQL.

Does anyone have information on how to migrate from a third-party CMS like this?

 

I understand that the Content Transfer Tool (CTT) is for data migration between AEM instances, but what's the best practice for migrating data from another CMS?


https://experienceleague.adobe.com/ja/docs/experience-manager-cloud-service/content/migration-journey/cloud-migration/content-transfer-tool/overview-content-transfer-tool

 

Thanks.

3 replies

Level 4
September 23, 2025

There isn't any OOTB solution for such a migration. I would treat this as a standard ETL process and follow below steps-

 

  • Prepare data model in AEM
  • Create mapping from old data model to the new one.
  • Write custom utility to migrate data.
  • Transform data either during migration or after migration. I would prefer to transform the data at the destination to make sure the migration performance is not impacted.

I hope it helps. Thanks!

rk_pandian
Level 4
March 9, 2026

@JunyTana if this is still unsolved, I would add the below checkpoints to the previous answer:

  1. If there is any export API provided by your current CMS, I would try to fully utilize that.
  2. Use CFs as your destiny in AEM as you want to use Graph.
  3. Make all fields optional during migration so that the process doesn’t break in the middle.
  4. Also do things in batches so that we dont overuse the resources.

Once we migrated some stuff from Django to Bloomreach and we used this sort of approach.

Thanks!

AmitVishwakarma
Community Advisor
Community Advisor
March 9, 2026

Hi ​@JunyTana 

There's no Adobe tool that will "lift‑and‑shift" a third‑party CMS into AEM Headless. The recommended pattern is to treat this as a classic ETL project into Content Fragments, then expose everything via GraphQL.

  1. Design the AEM headless model first
  2. Export from the legacy CMS using its APIs or DB
    • From PostgreSQL/templates, produce a neutral format (JSON or CSV) that already matches or can be mapped to your new Content Fragment Models.
    • If your old CMS has an export API, use that instead of reading tables directly; it usually encodes business rules for you.
  3. Map old schema -> Content Fragment Models
  4. Import as Content Fragments via APIs or scripts
    • Use AEM Assets HTTP APIs or a small migration tool (Java / Node / Groovy) that:
      • Creates Content Fragments in the right folders and
      • Sets fields + references according to your mapping.
    • This is the "transform + load" step; test on a small subset, then run in batches.
  5. Expose everything via GraphQL and persisted queries
  6. CTT is only AEM->AEM
Amit Vishwakarma - Adobe Commerce Champion 2025 | 16x Adobe certified | 4x Adobe SME
Adobe Employee
March 16, 2026

Hi ​@JunyTana ,

Is headless given? Our recommendation for 3rd party CMS sites is to move to Edge Delivery Services. We have an AI-assistant transfer tool[0] that will heavily reduce the effort to move content and build the experience. Also omnichannel use cases are possible with Edge Delivery.

 

Let me know your thoughts.

 

Martin

[0] https://experienceleague.adobe.com/en/docs/experience-manager-cloud-service/content/ai-in-aem/agents/brand-experience/modernization/getting-started