Guide · updated
SEO parity during an AEM migration: URLs, redirects and metadata
A platform migration should be invisible to search engines. Most traffic losses after an AEM migration come from a handful of avoidable mistakes: URLs that changed without a redirect, metadata that did not survive a component rewrite, or a staging robots rule that went live.
1. Decide whether URLs change at all
The safest migration keeps every public URL identical. If the move to Cloud Service also changes the URL structure (for example dropping .html, shortening /content/brand paths through resource mapping, or merging sites), treat that as a site move and plan it as one.
2. Build the URL map before you build anything else
- Export every indexable URL: the current sitemap, Search Console's indexed pages, analytics landing pages and backlinks to deep pages.
- Map each old URL to exactly one new URL. Pages that disappear map to the closest relevant page, not the home page.
- Keep the map in version control and test it automatically against staging.
3. Redirect at the right layer
Google recommends server-side permanent redirects (301) from old to new URLs, kept generally for at least a year and longer if possible. On AEM as a Cloud Service there are two good places for them:
| Layer | Good for | Notes from Adobe's documentation |
|---|---|---|
| Adobe CDN (cdn.yaml) | A small number of host-level or pattern redirects | Deployed through the config pipeline; the whole CDN configuration is limited to 100 KB. |
| Dispatcher with a managed rewrite map | Large, business-maintained redirect lists | Pipeline-free: Apache reloads the map from the publish repository (every 300 s by default); can be maintained with ACS AEM Commons Redirect Manager; single entries are limited to 1024 characters. |
Handle each redirect in one layer only, to avoid chains and loops, and never chain more than one hop.
4. Carry metadata across component rewrites
- Titles, meta descriptions, canonical tags, hreflang, Open Graph tags and structured data often live in page components that get rewritten. Compare them page by page between old and new.
- Every new page should carry a self-referencing canonical tag.
- Keep heading structure and main body text equivalent; a migration is not the moment to rewrite copy.
5. Launch checks
- robots.txt on production allows crawling; staging and preview hosts stay blocked.
- The new XML sitemap lists only canonical, indexable URLs; submit it in Search Console.
- Internal links point to the new URLs directly instead of relying on redirects.
- If the domain or subdomain changes, submit a Change of Address in Search Console for the old site.
- Crawl the old URL list after go-live and confirm every one returns a single 301 to a 200 page.
6. Watch the first weeks
Monitor impressions, clicks and crawl errors daily for the first two weeks, then weekly. Fix any 404 from the old URL list the same day. A dip of a few days during reindexing is normal; a sustained drop usually points to missing redirects or changed metadata.