我试图让我的prestashop网站更快。我的问题是:有没有办法让AT ONCE缓存所有产品页面。我已经启用了缓存。但是,如果您第一次访问页面,则需要花费太多时间来加载。然后,第二次访问要快得多。
我没有在管理页面中看到任何功能来获取此功能。
感谢。
答案 0 :(得分:1)
没有,但你可以创建一个脚本,它将加载你网站上的每个产品页面。
将此脚本放在Prestashop安装/test.php
的根目录下。并通过浏览器www.mywebsite.com/test.php
调用它:
<?php
// The script will not timeout for 10 hours
set_time_limit(36000);
// Set the right path to config.inc.php
include_once (__DIR__ . '/config/config.inc.php');
// Set a default controller to remove unwanted warnings.
$context = Context::getContext();
$context->controller = new FrontController();
// Get all products
$products = Product::getProducts(1, 0, 1000000, 'id_product', 'DESC', false, true, $context);
foreach ($products as $product)
{
// Load the product page
$link = $context->link->getProductLink($product['id_product']);
file_get_contents($link);
// Print this to screen right away
print "loaded: " . $link . "<br />";
ob_flush();
flush();
// Stop for 0.2 seconds
usleep(200000);
}