> ## Content Index
> Fetch the complete content index at: https://www.workroom-productions.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# Clearing Cloudflare's Cache
- URL: https://www.workroom-productions.com/clearing-cloudflares-cache/
- Published: 2025-04-24T09:28:13.000Z
- Updated: 2025-04-28T19:33:10.000Z
- Description: Diagnosing and acting on a cacheing problem
- Author: James Lyndsay
- Tags: Articles, Cacheing, Exploration

*Swift note, more for me than for you. But still for you. As a tryout, I thought I'd read it out loud. Let me know if that's nice.*

Clearing Cloudflare's Cache

0:00

/470.64

1×

I was working on a web page [https://exercises.workroomprds.com/comparing\_generated\_code/D/](https://exercises.workroomprds.com/comparing%5Fgenerated%5Fcode/D/src/js/main.js), and found that ~~hacks on~~ changes to the underlying javascript [src/js/main.js](https://exercises.workroomprds.com/comparing%5Fgenerated%5Fcode/D/src/js/main.js) didn't seem to stick. 

Initially, I noticed because the app on the page gave me an error message, right there in the output, and the app wasn't usefully responsive. Digging into the error, I saw that a necessary function was being called without parameters – and it was doing that because I'd uploaded an old version of some code. Or, rather, I'd uploaded that version to the wrong place. It was an evening of mistakes. I re-uploaded the right file (which might, just might, have had a timestamp before that of the wrong one...).

The problem persisted.

I looked a the file via the browser's devtools, and saw the old version. I looked at the file via ftp, and found the new version. I'd not made another mistake in my upload.

I requested the file directly via its url in the browser, and got an old version. I requested the file with a suffix `?a=1` and got the new version. I suspected a cache.

I looked at the behaviour on a different device, and on a different browser, and saw that the error persisted. I looked at the file via devtools on that device, and saw the old version of code. I suspected a non-local cache.

I changed the time on the file / re-uploaded the file. Nothing made an immediate difference. I wondered what cacheing was on, that didn't pay attention to file changes.

I took stock. There are several caches – likely more than I imagine. Caches are obscure by design, and change over time, so this would need to be an opportunistic search, rather than a painstaking process. 

I considered:

- a local cache (in my browser, or on my machine). I looked here first, and stopped considering it seriously when I saw seen the error persist when on a different machine.
- a server-side cache (this site is served by apache). I looked here second, and put it to one side because cacheing is complex and I thought I'd try to discount another before looking here.
- a CDN cache (this site goes through Cloudflare). I looked here next. I've not looked at Cloudflare's cacheing before: I was interested by the novelty and wondered what it might do to make things simple.

On Cloudflare's site, I found cacheing information when I went to look at the configuration for `workroomprds.com`. Within *configuration* I saw *Purge Cache.^*

![](https://storage.ghost.io/c/7e/30/7e30843b-2abb-494a-ab80-0e931d8ae9a9/content/images/2025/04/image-1.png)

I chose *Custom Purge*, entered the problem URL (you'll see that in my 'recently purged' below), and waited a few seconds as recommended. 

![](https://storage.ghost.io/c/7e/30/7e30843b-2abb-494a-ab80-0e931d8ae9a9/content/images/2025/04/image-2.png)

The problem persisted.

I did the same again, and the problem was gone.

That may, of course, be a coincidence. The cached file might have been replaced without any direct action by me – and the cache that needed a nudge might not have been Cloudflare's cache. But now I have a note on how to purge Cloudflare's cache. 

---

Why is this important to me?

I have workshops where code can change, on this server, *during* my workshop. I want participants to have a friction-free experience. I don't want to be faffing about with caches, or with unnecessary problems, when I'm trying to give my attention to a room full of people. So I want to give some thought to all the caches that might banjax the experience for me and for them, if I insist on having code that can change while we work in the workshops.

Also... I want testers to understand more about cacheing, and I want to give them something to play with. I don't want them to play with my site, but perhaps I can think of something.

---

Pottering further through Cloudflare's cache configuration for `workroomprds.com`, I notice that I turned this *off* in 2016\. 

![](https://storage.ghost.io/c/7e/30/7e30843b-2abb-494a-ab80-0e931d8ae9a9/content/images/2025/04/image-3.png)

Perhaps I should turn it *on* for workshops where the code changes. And then manage the server cache and any triggers to local caches...