Wordpress非常慢的wp-super-cache

时间:2011-12-01 22:20:23

标签: wordpress caching wordpress-plugin

我在wordpress中使用插件wp-super-cache来缓存文件。 缓存之后,插件运行良好,文件服务速度非常快。

但是,在第一次访问时,wp-super-cache插件至少需要7秒才能缓存页面(有时会超过20秒)。 像这样工作真是太可怕了。

当我禁用插件时,每个页面需要2或3秒。 我不明白为什么这个插件需要这么多时间来缓存我的页面。

你对此有什么想法吗?

感谢。

3 个答案:

答案 0 :(得分:0)

一些事情:

初始页面加载总是比第二次加载慢,因为WPSC必须第一次生成缓存页面。

如果可能的话,我会使用mod_rewrite而不是PHP模式。根据WPSC文档,这是最快的缓存/服务方法。

您还可以尝试使用“使用Google图书馆”插件卸载一些请求。

您的几个.js文件都有一个?ver参数,可以防止它们被缓存。我使用此代码将其从我的网站中删除,添加到functions.php:

/* remove query strings from js files, to allow for caching */
add_filter( 'script_loader_src', '_remove_script_version', 15, 1 );
add_filter( 'style_loader_src', '_remove_script_version', 15, 1 );
function _remove_script_version( $src ){
    $parts = explode( '?', $src );
    return $parts[0];
}

您可能还想将一些Javascript请求移动到页脚,而不是将它们加载到页眉中。您可以使用“Javascript to footer”插件,或将其添加到您的functions.php:

remove_action('wp_head', 'wp_print_scripts');
remove_action('wp_head', 'wp_enqueue_scripts', 1);
remove_action('wp_head', 'wp_print_head_scripts', 9);
add_action('wp_footer', 'wp_print_scripts', 5);
add_action('wp_footer', 'wp_enqueue_scripts', 5);
add_action('wp_footer', 'wp_print_head_scripts', 5);

您可能还想考虑从标题中删除额外的链接,它们是时间汇。用于删除标题中“wlwmanifest”和“generator”元链接的函数.php的更多代码:

remove_action('wp_head', 'wp_generator');
remove_action('wp_head', 'wlwmanifest_link');
remove_action('wp_head', 'rsd_link');
remove_action('wp_head', 'index_rel_link');

您的博客首页也会加载推文 - 这些外部调用可能需要一些时间。您的主题还添加了许多内联CSS。为什么主题使用CSS文件?

这些是微优化,但它们可以为您节省一些加载时间。

答案 1 :(得分:0)

您是否尝试过使用hypercache?如果资源不足,这也很好。

对于wp超级缓存,这种情况经常发生。您必须启用了浏览器缓存,因此加载速度非常快。这实际上是正常的。

答案 2 :(得分:0)

我尝试了很多不同的缓存插件。它们在开始时似乎都运行正常,但随后它们会使您的网站慢慢爬行。 W3C和Super Cache是​​最严重的违规者。所有这些缓存插件的问题在于它们太复杂了。根据您的主机和其他百万个因素,可能会也可能不会起作用的部件过多。你启用一个小东西,或设置你认为会加速你的网站的不同参数,但它会进一步弄乱你的网站,并导致与其他插件冲突。我认为缓存应该是WP核心的一部分,因为所有这些缓存插件都是灾难。例如,在超级缓存中,我将一些页面设置为静态页面缓存,因为它们永远不会更新,低,请注意,其中一些页面加载为空白页面,其他页面加载正常,有些页面需要永久加载。

我的网站在禁用超级缓存后加载速度要快得多,它实际上让我问,无论如何我还需要一个缓存插件?