Hello Team,
We are planning to migrate 50+ websites currently hosted in Umbraco into Adobe AEM. These websites are distributed across multiple regions including AU, NZ, and the UK.
Key considerations:
We are evaluating two possible approaches:
Questions:
Any guidance, examples, or best practices would be highly appreciated — especially from teams who have migrated similar multi-site platforms from a monolithic CMS to AEM.
Thank you!
Solved! Go to Solution.
Views
Replies
Total Likes
Hello @bhushanKare ,
I hope you are doing well!
Given your description (“50+ sites, multi‑theme, multi‑region, API heavy, Angular is the standard”) the answer is:
Use AEM as a headless CMS for the core application surfaces, and keep the classic AEM Sites stack in reserve for brand/marketing experiences where in‑context authoring is genuinely required.
So not “headless everywhere by dogma”, but a headless‑first architecture with a clear escape hatch:
If you know the org is strongly committed to Angular and to owning the full rendering stack, then pure headless for all 50+ sites is a defensible choice.
Hello @bhushanKare ,
I hope you are doing well!
Given your description (“50+ sites, multi‑theme, multi‑region, API heavy, Angular is the standard”) the answer is:
Use AEM as a headless CMS for the core application surfaces, and keep the classic AEM Sites stack in reserve for brand/marketing experiences where in‑context authoring is genuinely required.
So not “headless everywhere by dogma”, but a headless‑first architecture with a clear escape hatch:
If you know the org is strongly committed to Angular and to owning the full rendering stack, then pure headless for all 50+ sites is a defensible choice.
Hello @bhushanKare
A few suggestions :
1. Headless vs server‑side AEM
For 50+ sites, multiple regions/brands, Angular front end and Java services, use AEM in headless or hybrid mode, not pure server‑side page rendering.
Pattern that works:
- AEM Content Fragments + GraphQL (persisted queries) as the canonical content store.
- Angular SPA as the rendering head.
- Use AEM Sites only where it adds clear value (MSM, translations, Experience Fragments, workflows, Universal Editor/SP A Editor).
2. Headless + Angular: theming & editorial flexibility
- Theming per site/region:
- Model a Site/Brand config in AEM (logo, colors, typography, feature flags).
- Expose it via GraphQL; Angular loads it at startup and maps to SCSS/CSS variables for per‑brand/per‑region themes.
“Umbraco‑like” flexibility:
- Use Content Fragment Models to represent “page” + “sections” (hero, text block, card grid, etc.).
- Authors build pages by ordering these section fragments; Angular maps them 1:1 to components.
- For in‑context editing, layer on SPA Editor (if SPA hosted in AEM) or Universal Editor for external Angular apps.
3. CDN, multi‑region caching & invalidation
Default: Adobe‑managed CDN (Fastly) → dispatcher → publish.
If you need Akamai/Azure CDN/CloudFront, put them in front of Adobe’s CDN and follow the documented BYO‑CDN pattern.
- For headless:
Use GraphQL persisted queries over GET; cache them at CDN and dispatcher.
Design for TTL‑based caching + stale‑while‑revalidate + ETag revalidation instead of purging on every publish; reserve explicit purges for truly time‑critical paths.
Dispatcher remains a second cache layer to protect publish on CDN cold‑cache or outages.
4. Further recommendation
- Authoring & content:
AEM CS Sites + Assets.
Content modeled as Content Fragments (with MSM and translations) exposed via GraphQL persisted queries.
- Front end:
Single Angular SPA codebase, configuration‑driven theming per brand/region, consuming AEM GraphQL + your Spring Boot APIs.
Optional SPA Editor / Universal Editor for visual editing where needed.
- Delivery:
Adobe CDN (or existing CDN in front of it) + dispatcher + publish.
Headless endpoints designed for cache‑friendliness and multi‑region TTLs.
Hi @bhushanKare ,
If you are using aem cloud, Please evaluate Adobe AEM Edge Delivery Services for fast, efficient and reliable sites
You can have all 3 flavors depending on the page complexity, integration needs and dynamic vs static natures.
Thank you @ManviSharma @Shashi_Mulugu and @muskaanchandwani for your resposne.
As we are new to AEM CMS, we would like to understand the recommended approach for implementing headless.We have 50+ sites that will include brochureware pages, and multiple dynamic pages with multiple themes. Based on this, we are considering the following options:
UI (Angular) + Cloud Headless CMS
UI (Angular) + BFF + Cloud Headless CMS
In both options, we are planning to keep static and brochureware pages in AEM for direct rendering.
Could you please suggest which approach would be more suitable for our use case?
Views
Replies
Total Likes
Views
Likes
Replies
Views
Likes
Replies
Views
Likes
Replies