Hello @ch4ye,
Thanks for the really detailed write-up. This is genuinely useful feedback, and you’ve identified the behaviour correctly on all three points. Let me go through them.
- Paginated and archive pages keeping stale content
This is a real limitation in how the free version scopes purges. When you update or publish a post, we purge that post’s URL plus a set of related pages, but the paginated tail of the homepage and archives (/page/2, /page/3, and so on) isn’t reliably included. Since the disk (fallback) cache is what serves those stale pages, clearing Cloudflare alone won’t fix it, which matches what you saw.
The premium version has tag-based purging, which handles this case: home, blog, and archive pages are tagged and invalidated together rather than just clearing “the last post on the page.” If you’re on the free version, a full cache purge is the reliable workaround for the paginated pages until the granularity improves there too.
- “Delete cache for a single URL”
We don’t have this today. It’s a reasonable request, type in a URL and drop its disk cache, and it covers the cases where the toolbar purge falls short (deleted URLs, pages that aren’t related to anything). I’ve logged it.
- The list of cached (disk) URLs
That list still exists. On the plugin Dashboard, the Cached Objects card has a View link that opens a “Cached Pages” panel listing your disk-cached URLs with timestamps and a per-URL copy button.
It appears when “Purge HTML pages only” is enabled (Settings → Advanced), and it shows up to the most recent 1,000 URLs.
I hope this helps! Have a great day ahead!
Thread Starter
ch4ye
(@ch4ye)
Hi, thank you for your answer.
1. Paginated and archive pages keeping stale content
I looked into multiple options how to achieve the goal of having updated paged content.
One of those was using something like this
add_filter( ‘swcfpc_post_related_url_init’, function($listofurls) {return array_merge($listofurls,[‘https://domain.com/page/2′,’https://domain.com/page/3′,’https://domain.com/page/4′,’https://domain.com/page/5’,]);});
But sadly that is hardly a good solution. This adds those home paged pages to every related posts purge. Which seems to work, but most of the time no need to clear those pages to be honest.
The perfect solution would be clear only paged pages if they exist as fallback cache. As in most cases if fallback cache exists then there might be CF cache, but if it doesn’t there will be no CF cache. The same issue exists for related paged pages like tags categories, it clears up to 10th page, which can be changed, but it does not check if cache exists it just adds the list of all possible options. So lets assume post would have 10 tags and categories it might put up 100 urls to be purged with one click. While most won’t be cached in the first place.
It seems simple, but not sure how hard it would be to change it or even just modify with some filter. As additional check when urls are added to purge or preload, it checks if they exists in fallback cache and if they aren’t it skips them.
2. Tag-based Purging
That sounds interesting, i looked into this feature, seems it’s what CF itself uses to allow purging as alternative to purging by url. Based on the doc, when activated in SPC it adds tag headers to all the pages. But as i looked it does not say anything about replacing regular clear cache by url, which happens on every post update. Can you confirm how it works? Because i can see that it can be used in SSH to clear cache based on tags, but what would be useful is if it actually replaced regular purge by url, so when i update post, all related tags would be cleared. Which would be much less requests, and would be better at clearing paged pages. But if it does not replace purge by url then its much less useful.
3. Purge Whole Cache
In the first place this whole thing is an issue to me because clear all cache fails to clear all cloudflare cache because of the CF limits of the urls to be purged at once. It happens because there are thousands of urls as fallback cache.
I tried ‘Disable cache purging using queue’, as YES/NO. But somehow it fails me. It might delay initiation of the request but still kinda clears too many at once. And if that happens the next step is to use Force full cache which will destroy all cached images as well.
4. The list of cached (disk) URLs
In the older version before the bigger visual change in Version 5.1.0. There was a simple list of all urls not just 1000, and i was able easily copy paste the list. Then it was just simple script for clearing this list in cloudflare without hitting limits of requests. I cannot do that with this version when it shows only 1000. I think some time ago i did test that once rolled back to the earlier version it still shows all urls, so the urls are there, the plugin just chooses to only show 1000.
If there was maybe simple button like download all cached urls as txt. That would be useful. Think it would be simple to add.
5. Delete cache for a single URL
That would be very useful because there are times that i would want to clear just one url, i cannot do that now. There are also sometimes some rogue urls, that are close to impossible to clear without full clear. Even the home page paged pages could be easily updated this way even though it’s not really fix of the issue but it solves the worst case of having outdated page. That would be nice feature to have.