Skip to content

Conversation

@Fedik
Copy link
Member

@Fedik Fedik commented Nov 23, 2025

Pull Request for Issue #45403.

Summary of Changes

Cache Control: allow caching for Content views: articles, categories etc

Testing Instructions

Check browser dev. console network tab for the response for the page HTML of any article.
Also check that Content views works as before.

Actual result BEFORE applying this Pull Request

There is cache-control with no-store, no-cache ...

Expected result AFTER applying this Pull Request

There is no cache-control

Link to documentations

Please select:

  • Documentation link for docs.joomla.org:
  • No documentation changes for docs.joomla.org needed
  • Pull Request link for manual.joomla.org: TBD
  • No documentation changes for manual.joomla.org needed

@alikon
Copy link
Contributor

alikon commented Nov 23, 2025

before pr

image

with pr no cache-control

image

with firefox 145.0.1

@alikon
Copy link
Contributor

alikon commented Nov 23, 2025

I have tested this item ✅ successfully on 071936c


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/46486.

@HLeithner
Copy link
Member

looks like the wrong approach for the linked issue. Also could lead to unexpected caching on frontend proxies for random content for example in random image module.

my suggestion would be to remove the no-store from the default caching policy and only add it if the user is logged in.

@gilbertococchi
Copy link

+1 about what @HLeithner said.

@alikon I am not saying that Caching article would be a bad thing, but in order to make Joomla pages BFCache elgible it would be sufficient to remove only no-store, leaving the rest unchanged as default.

@Fedik
Copy link
Member Author

Fedik commented Nov 26, 2025

Currently we have only On/Off option for caching and nothing in between.

When we remove no-store we will lose possibility to really prevent the caching. This is not an option without bigger changes in Application class.

What I suggest is to allow the cache for all "static views" (article listing, categories etc).
When any extension want to prevent it then they always can switch it Off with $app->allowCache(false).

@HLeithner
Copy link
Member

Currently we have only On/Off option for caching and nothing in between.

When we remove no-store we will lose possibility to really prevent the caching. This is not an option without bigger changes in Application class.

What I suggest is to allow the cache for all "static views" (article listing, categories etc). When any extension want to prevent it then they always can switch it Off with $app->allowCache(false).

no-store is not needed for normal no-cache, no-store means 2 things (afaik). It doesn't allow to to store the content on disk, which actually means you need also no-cache in the cache-control header. We would not remove the no-cache part.

We remove the no-store directive if the logged in user is guest / not logged in. This means you need to revalidate but the backward / forward history cache could load the page from the internal cache.

Technically I should/could add a $app->cacheAllowStore(); and $app->cacheNoStore() method or similar... but would do this in the document and not in the application tbh.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[BFCache][Performance] Remove if not limit Cache-Control: no-store usage preventing BFCache on Chrome

5 participants