Adovo

Adobe Experience Cloud

AEM GraphQL content stays stale after publish: prove which cache owns it

A published Content Fragment can be fresh in AEM and stale at a persisted-query URL. Trace the response through every cache layer.

October 21, 2026

An editor publishes a Content Fragment, sees the update in AEM, and the headless site still serves yesterday's value. A recent Experience League case describes a persisted query remaining stale at the CDN. The operational mistake is treating “published” as the same event as “every cached response replaced.”

Compare one query along its path

Use the same persisted-query path, variables and headers for each probe. Record response body, status, Age, Cache-Control and surrogate cache headers at the public URL and at an origin route available to your operations team. Avoid comparing a GET persisted query with a POST ad hoc GraphQL query: they can have different cache behavior. Adobe's persisted-query documentation explains why GET results can be cached at Dispatcher and CDN layers.

Set a freshness contract

Write down the acceptable delay between publication and customer visibility. Adobe documents browser max-age, CDN s-maxage, stale-while-revalidate and stale-if-error controls for persisted queries. Measure the actual published response headers, then change the supported cache settings at the level that owns the stale response. A shorter TTL can bound staleness, but it also changes cache hit rate and origin load. Test both.

Verify the publishing runbook

Give editors a check using one known fragment and one public persisted-query URL. Record the publication timestamp and first fresh response at the edge. If the business needs near-immediate freshness, assess the supported invalidation path for the deployed CDN and AEM configuration with the platform owner; do not assume that a Dispatcher flush automatically invalidates every GraphQL edge response.

Adovo’s view

Publishing is an intent; freshness is a measured customer experience. Put a time promise on the content boundary and make the edge response observable. Without that, teams repeatedly “fix” Author or Publish while the stale copy sits somewhere else.

Continue exploring

Adobe Experience Cloud

Adobe Experience ManagerAEM as a Cloud Service

AEM CDN cache changes: how to prove the right pages are uncached

An AEM page that looks fresh once can still be served stale elsewhere. Use a route-by-route cache test before changing CDN rules or declaring the problem fixed.

Read more

Adobe Experience Cloud

Enterprise CMSHeadless CMS

Your headless CMS is only as good as its editor experience

Headless architecture can improve delivery flexibility while making everyday publishing harder. The right evaluation starts with editorial work, not an API demo.

Read more

Adobe Experience Cloud

Adobe Experience ManagerContent operations

AEM is not the problem—unmanaged content operations are

When AEM feels slow or overcomplicated, the root cause is often an unmanaged content operating model: unclear ownership, workflow sprawl, weak taxonomy and customisation without lifecycle discipline.

Read more
Explore Adobe services →