Тестировал со включенным кэшированием во всех статических блоках в левой и правой колонках - удалось снизить время загрузки на 30-40%. Еще добавил кэширование к sitemap.php (у меня больше 400 категорий, поэтому поисковики из-за долгой загрузки вообще отказывались страницу загружать)
В официальной престе, думаю, кэширование еще не скоро сделают. Это связано с поддержкой мультиязычности.
Для страниц кэш сделать тоже легко, но нужно ли? Во-первых это вмешательство в движек, а во-вторых для каждой категории и для каждого товара будет создаваться своя страница в кэше. У меня 7000 товаров, так что лучше оставлю как есть.
Вот пример для кэширования категорий (используется множественное кэширование, в качестве ид кэша- идентификатор категории):
Код:
/*fix*/
$smarty->caching = true;
if (!$smarty->is_cached(_PS_THEME_DIR_.'category.tpl', Tools::getValue('id_category'))) {
/*fix*/
$errors = array();
if (!isset($_GET['id_category']) OR !Validate::isUnsignedId($_GET['id_category']))
$errors[] = Tools::displayError('category ID is missing');
else
{
...
if (isset($subCategories))
$smarty->assign(array(
'subcategories_nb_total' => sizeof($subCategories),
'subcategories_nb_half' => ceil(sizeof($subCategories) / 2)));
//$smarty->display(_PS_THEME_DIR_.'category.tpl');
/*fix*/
}
$smarty->display(_PS_THEME_DIR_.'category.tpl',Tools::getValue('id_category'));
$smarty->caching = false;
/*fix*/