Removed an HTML page but it's still showing up on my website

Hi, my blog runs on Cloudflare Pages. Source code is here: https://github.com/AleksandrHovhannisyan/aleksandrhovhannisyan.com/. I'm using a static site generator called Eleventy but that's not relevant. My most recent commit removed the following page from my source code: https://www.aleksandrhovhannisyan.com/blog/javascript-game-loop/. However, after pushing up that commit and redeploying, I'm still seeing the page. - Build cache is disabled under Settings > Build. - My build command cleans the dist folder: https://github.com/AleksandrHovhannisyan/aleksandrhovhannisyan.com/blob/885d107789014d139c04e466fb827382c5a339c8/packages/web/package.json#L10 - I verified in Cloudflare's build logs that the page was not written to dist/. - I verified under build settings that dist/ is my output folder. - Under Caching > Configuration, I purged my website's cache. - I enabled Development Mode from the dashboard to temporarily disable caching. - I forced a redeploy. - I opened the site incognito and also did a manual reload to rule out browser caching. None of this worked. I'm seeing an HTTP response header of cf-cache-status: DYNAMIC. Is that why I'm still seeing the page? If so, why did purging the cache not fix it? Is there a way to purge Cloudflare's CDN caching?
5 Replies
aleksandr
aleksandrOP2mo ago
Interestingly, the page is not up on the deploy preview. It's only up on my live published site. So this URL 404s: https://f8a15d9c.aleksandrhovhannisyan-com.pages.dev/blog/javascript-game-loop/ Headers for the problematic page:
HTTP/2 200
date: Wed, 20 Nov 2024 17:05:38 GMT
content-type: text/html; charset=utf-8
cf-cache-status: DYNAMIC
access-control-allow-origin: *
age: 40439
cache-control: public, s-maxage=604800
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
x-robots-tag: noindex
report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=USFAt0H4o3FHML2abB9WTn6INLSL4B2hqOSjldYrXbctQbXCuaZbS79Qr1drDhup30XOmEwKMlzYUir3RFbSe8T%2F6ePGJQxJ434DPLY8UtquJgTc0b%2FoueErChoPAZhRocbHyFSTdG1DCKmYEudgZQ%3D%3D"}],"group":"cf-nel","max_age":604800}
nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
vary: Accept-Encoding
server: cloudflare
cf-ray: 8e5a06a85f55ad23-MSP
alt-svc: h3=":443"; ma=86400
server-timing: cfL4;desc="?proto=TCP&rtt=56235&sent=6&recv=9&lost=0&retrans=0&sent_bytes=3405&recv_bytes=857&delivery_rate=47610&cwnd=33&unsent_bytes=0&cid=f9237eb999df216e&ts=145&x=0"
HTTP/2 200
date: Wed, 20 Nov 2024 17:05:38 GMT
content-type: text/html; charset=utf-8
cf-cache-status: DYNAMIC
access-control-allow-origin: *
age: 40439
cache-control: public, s-maxage=604800
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
x-robots-tag: noindex
report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=USFAt0H4o3FHML2abB9WTn6INLSL4B2hqOSjldYrXbctQbXCuaZbS79Qr1drDhup30XOmEwKMlzYUir3RFbSe8T%2F6ePGJQxJ434DPLY8UtquJgTc0b%2FoueErChoPAZhRocbHyFSTdG1DCKmYEudgZQ%3D%3D"}],"group":"cf-nel","max_age":604800}
nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
vary: Accept-Encoding
server: cloudflare
cf-ray: 8e5a06a85f55ad23-MSP
alt-svc: h3=":443"; ma=86400
server-timing: cfL4;desc="?proto=TCP&rtt=56235&sent=6&recv=9&lost=0&retrans=0&sent_bytes=3405&recv_bytes=857&delivery_rate=47610&cwnd=33&unsent_bytes=0&cid=f9237eb999df216e&ts=145&x=0"
Shadow Gaming
Shadow Gaming2mo ago
hard refresh it shows 404 for me
Chaika
Chaika2mo ago
It's Pages Asset Preservation: https://developers.cloudflare.com/pages/configuration/serving-pages/#asset-retention
We will insert assets into the cache on a per-data center basis. Assets have a time-to-live (TTL) of one week but can also disappear at any time. If you do a new deploy, the assets could exist in that data center up to one week.
It's from the underlying pages.dev, so not going to reflect in cf-cache-status on a custom domain, since that's now your custom domain's cache status It's cached based on the received url, which means it's different cache between custom domain and pages.dev/previews, ex: https://www.aleksandrhovhannisyan.com/blog/javascript-game-loop/ It's per data center so depends where you're viewing it from, and you have no way to clear it since it lives on the underlying pages.dev.
aleksandr
aleksandrOP2mo ago
Oh, I see. Thanks for clearing that up! Not sure if there are any plans to implement this, but I think it would be helpful to be able to purge that cache too.
Chaika
Chaika2mo ago
I haven't heard of any plans for it on the Pages side of things, Pages is soft replaced by Worker Assets now as well, and it looks like Workers Assets just doesn't have that logic at all so far

Did you find this page helpful?