Read cache status headers
HIT, MISS, BYPASS, EXPIRED — the diagnosis half of this workflow.
Open the topicCDN.com.tr Help
Every cached object is stored under a key built from the request — scheme, host, path, and query string. A purge only clears an entry when it addresses that exact key. Understanding this one idea explains nearly every "purge did not work" case.
Cache, security, WAF, and purge
Every cached object is stored under a key built from the request — scheme, host, path, and query string. A purge only clears an entry when it addresses that exact key. Understanding this one idea explains nearly every "purge did not work" case.
You purged a path after a deploy, but a visitor still reports the old version. In almost every case the purge worked — it just cleared a different cache entry than the one the visitor is being served (a query-string variant, or their own browser cache).
curl -I that exact URL and read X-Proxy-Cache-MT. HIT means the CDN served a cached copy; MISS or BYPASS means the CDN is not what is serving the old content.Almost certainly not. Diagnose with curl -I against the exact URL: if you see MISS on the first request after the purge, the CDN entry was cleared and the stale copy is elsewhere — another variant of the URL, or the viewer's browser cache.
Each query-string combination is its own cache entry. Purge the folder/prefix so every entry under the path is cleared, or purge the busiest variants explicitly.
If your HTML is cached with a long TTL, yes — purge the changed paths as a deploy step. The purge API and cdnctl exist exactly for this; a deploy script that ends with a scoped purge never has this class of problem.
When URL structure changed across the site (a migration, a redesign) and path-scoped purges would be a long guess-list. Use it deliberately: right after, every request is a MISS until the cache re-warms, so your origin briefly takes full traffic.