Открыл этот модификатор посмотрел.
$response->addHeader('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0');
$response->addHeader('Pragma: no-cache');
Так это ж жесть просто. Я плохо разбираюсь в архитектуре Opencart, но если такой заголовок будет ставиться на все, то получается ничего кешироваться вообще не будет.
Не проще и настроить что кешировать, что не кешировать.
@Baston
Тут проблема не движка, а настроек кеша сайта.
Вот к примеру очень хорошая статейка на эту тему и особенно этот раздел https://developer.mozilla.org/ru/docs/Web/HTTP/Caching#обновление_статических_ресурсов_revved_resources
Вот еще одна https://html5.by/blog/cache/
1. Если кратко то нужно настроить хотя бы в .htaccess кеширование
2. Для редко обновляемых файлов используют особый способ именования: в их URL, обычно в имя файла, добавляют номер релиза или версии. Например, widgets.css?v2.2.1
К примеру, я в своем шаблоне немного модифицировал код, и у меня картинки, css и js генерируются с припиской в имени даты изменения оригинального файла. Тем самым я могу их кешировать на стороне клиента хоть вечно, т. к. новый HTML будет генерироваться с новыми именами, когда те изменятся.