你应该懂的wp-super-cache优化技巧-

来源:互联网 发布:网络综合布线设计图 编辑:程序博客网 时间:2024/05/16 07:08

网上有一些批评wp-super-cache插件的声音,他们认为cos-html-cache或Hyper Cache两款插件优于wp-super-cache。还有人说使用缓存插件会降低网页速度等,ip至少要大于5000等。个人不敢苟同,我认为是他们不会使用强大的新版wp-super-cache插件,新版本中加入新选项,对搜索引擎seo更为有利。

相比其他wordpress缓存插件,wp-super-cache有几大突出特点:
1、功能强大。
wp-super-cache几乎可以完全静态化所有页面,即时你没有将固定链接修改成伪静态链接,cos-html-cache办不到。

2、可定制性强。
wp-super-cache的面板有多达几十处设置,这可以说优点,也可以说是缺点,cos-html-cache只有两项设置,所以很多朋友不会设置wp-super-cache,使用wp-super-cache速度反而变慢。在文章下面的部分将会告诉大家如何设置wp-super-cache使得大流量wordpress和小流量均适用。

3、兼容性强,这里有两层含义。
一、随着版本不断更新,wp-super-cache兼容的主机不断增多。
二、随着版本不断更新,wp-super-cache和其他wp插件之间协同工作能力更强大。甚至有专门针对wp-super-cache的优化插件,如Autoptimize、AskApache Crazy Cache等。另外wp-super-cache支持简体汉语等十几个语种,兼容性之优越,是其他插件无可比拟的。

4、负责任的作者。
wp-super-cache的作者常驻wordpress官方论坛,对大家的提出的问题及时回答。
论坛地址:wordpress.org/tags/wp-super-cache
插件下载地址:wordpress.org/extend/plugins/wp-super-cache/download/

灵活使用wp-super-cache教程:
1、过期时限 & 垃圾收集
这项设置,很多教程推荐是86400秒,也就是一天的时间。对于这项设置要注意的是,如果你网站文章、评论更新不频繁的话,可以设置为0,0默认为不启用状态。
为什么要设置为不启用?因为缓存生成后,时间超过过期时限的话,立即被标记成为垃圾,下次页面再有访问时将重新生存缓存。如果你网站更新不频繁,那就没必要设置作废时间,这样可以大大减少网站所在主机CPU负荷。
有朋友会问,这样一个页面是不是会永远不更新?
答:不会,当你有新文章发表时、新评论时,亦可自动刷新缓存。

2、Only refresh current page when comments made.
这项设置是在最新版本中才有的设置,有些博客评论比较频繁,但是新评论会触发已有缓存过期,如果不希望评论就触发缓存过期的话,可以把这项勾上。

3、Preload Cache
这项设置是在最新版本中才有的设置,之前wp-super-cache的工作原理是在一张页面被第一访问时(或过期后第一次被访问)才会生存缓存,这样对搜索引擎如果访问未缓存的页面,速度会比较慢,影响到搜索引擎排行。有了这个选项后,你可以一次性生成所有静态网页,你也可以设置一个周期,一旦到达这个周期后重新生成多有链接的缓存。对seo大大有利,不过会占用更多的存储空间。

4、其他设置
大部分选项都有良好的汉化,比如Super Cache 压缩、启用 WP Cache 与 Super Cache 这些和以往版本一样,勾上即可。

如果按照以上选项设置,相信你的网站不会慢。

 

但是如果 WordPress 的首页显示的不是最新日志,而是一个页面,并且这个页面包含实时更新的部分,那么就会存在一个问题,那么这个页面就不会实时更新。

这里我提供一个技巧,可以让你在使用 WP Super Cache 的这个静态缓存插件提速的同时,也能够让首页实时更新,WP Super Cache 是通过 wp_cache_post_edit 这个函数来编辑缓存的,它的参数是日志或者页面的 ID。

所以我们首先获取用于显示首页的页面的 ID,然后在日志更新或者删除的时候,或者有新留言的时候(如果首页没有包含最新留言,这个可不必),刷新首页。所以大致的代码如下:

<?phpadd_action('publish_post', 'refresh_front_page', 0); //发布或者更新日志时候刷新首页add_action('edit_post', 'refresh_front_page', 0); //有新留言或者留言被删除的时候刷新首页add_action('delete_post', 'refresh_front_page', 0); //删除日志时候刷新首页add_action('publish_phone', 'refresh_front_page', 0); //通过 email 发布日志之后刷新首页 function refresh_front_page(){    $front_page_id = get_option('page_on_front'); //获取显示首页的页面 ID    wp_cache_post_edit($front_page_id); //刷新该页}?>

把这段代码复制到主题的 functions.php 即可。

当然如果你想刷新某个页面,也可以是用 wp_cache_post_edit 这个刷新它,参数是页面的 ID。

阅读全文
0 0