Why do I get cf-cache-status EXPIRED while my cache control already set for 1 year?



I’m using page rule to cache everything, but I don’t put any specific Edge TTL because I want it to respect my origin header, my control header is for 1 year. For browser cache setting on CF, I also set it to respect my origin header as well. I’m also using W3TC extension for Cloudflare. On general setting for this extension, I set my Edge TTL for a week (because I can’t set it to respect my origin header, no option to it). Problem is, within 1 day I get cf-cache-status EXPIRED for my static files (media files especially, I don’t know about CSS and JS, not really pay attention to those 2). Where did I go wrong?



Sorry for the delay. Are you still having issues? Have you submitted a support ticket yet?


Hi, I’m no longer use CF. I tried for 1 week, my Google Search Console on crawl stats not satisfying, it took longer time to download a page, previously on average I got about 150ms, with CF I got 250ms-600ms. For cf-cache-status expired, I have no clue what the problem is, but my guess is because CF deleting cache that not frequently requested, but it was only 1 day old. Let’s say I cleared cache on 15th, immediately requesting that files, so it’s now cached, on cache status it’s cached. Next day on 16th at the same time I requested that file, now it says expired. Re-requested it again now it says cached. I gave up, losing too many rank and visitors for that week.


Hard to say. But if you decide to try Cloudflare again it would be worth a ticket to support for some additional investigation (should the issues return).