Akeeba Backup for Joomla!

#38986 "cache-control" header

Posted in ‘Akeeba Backup for Joomla! 4 & 5’
This is a public ticket

Everybody will be able to see its contents. Do not include usernames, passwords or any other sensitive information.

Environment Information

Joomla! version
PHP version
Akeeba Backup version

Latest post by nicholas on Monday, 15 May 2023 09:18 CDT


EXTREMELY IMPORTANT: Please attach a ZIP file containing your Akeeba Backup log file in order for us to help you with any backup or restoration issue. If the file is over 10MiB, please upload it on your server and post a link to it.


According my host, SiteGround, my site has a "cache content issue".

Here is what they say:

- Since the cache issue is caused by the Joomla functionality I highly recommend you contact your website's developer who can check your Akeeba Backup functionality and remove the cache-control header. Once your developer has done that, the dynamic cache should be working as expected for your Joomla application which will improve its performance and reduce its server resource usage.

I checked the Akeeba configuration but could not find this setting.

So could you tell me what to do ?

Thank you for your support.

Best regards,

Alain Badan


Akeeba Staff

I don't know what they are smoking over there at SiteGround, but Akeeba Backup has absolutely nothing to do with caching headers in the frontend of your site. Akeeba Backup is a site backup software.

If they meant Admin Tools, ditto. We do not touch the caching headers for Joomla–generated content. Quite the contrary, our .htaccess Maker allows you to enable caching for static media files by setting their expiration time into the future. That is to say, it will help your server serve the site more efficiently and make your visitors' browsers perform fewer requests to your site.

Your issue with the dynamically generated pages, however, is unrelated to any extension.

Joomla itself always sends Cache-Control headers (also in \Joomla\Application\AbstractWebApplication::respond which is part of the Joomla! Framework) to bust the cache of any page unless you enable Joomla's cache in Global Configuration and enable the “System - Page Cache” plugin. This has been the case since Joomla 1.5 — not a typo, one point five, released sixteen years ago.

Of course is you set Joomla's Cache to Conservative and enable the “System - Page Cache” plugin you will indeed be allowing Joomla's dynamically generated pages to be cached. In this configuration SuperCache will be able to cache the pages just fine.

Please note that using their SuperCache (which is nothing more than Varnish HTTP Cache in front of the web server) you will get exactly what you are asking for: all public pages will essentially perform as if they are static pages, their contents keyed to the URL. Pagination may not work on all extensions, definitely not if they are using the user state to determine which page of information to display without modifying the URL at all. Dynamic content for guest users depending on external attributes (e.g. showing different content to guests depending on whether they have accepted cookies, without using JavaScript) will not work. Any form on your page which uses an anti-CSRF token including Joomla's login module itself will not work (they will fail with an “invalid token” error). Modules or plugins which pull dynamic content at the server side, before rendering a page, such as random articles, random images etc will not work. This kind of setup only makes sense when you have a fairly static public site such as a news site.

Nicholas K. Dionysopoulos

Lead Developer and Director

🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

Support Information

Working hours: We are open Monday to Friday, 9am to 7pm Cyprus timezone (EET / EEST). Support is provided by the same developers writing the software, all of which live in Europe. You can still file tickets outside of our working hours, but we cannot respond to them until we're back at the office.

Support policy: We would like to kindly inform you that when using our support you have already agreed to the Support Policy which is part of our Terms of Service. Thank you for your understanding and for helping us help you!