关注互联网与Web前端技术,这里是我记录网上折腾与生活感悟的地方.

WordPress加速之减少数据库查询

Yusky折腾很久没折腾上去.失败。明天继续折腾。

童鞋们有木有看到分类旁边多了一个“转载自”

 

减少数据库查询次数在某些情况下会加速wordpress的反映速度,特别是加载页面的时候. 为什么这里说是在某些情况下呢? 因为某些主机的数据库是单独分离出来的,并不是和主机空间在一起的. 所以会存在访问数据库的速度和访问主机空间的速度存在差异. 像那些数据库空间很慢的, 就要尽量减少数据库的查询次数. 据我说知道的像000webhost就是单独分离的数据库空间. 如果你的数据库和主机空间是在一起的, 这个加速效果不会太明显, 可能几百毫秒的提速吧. 速度控的同学可以尝试一下. 下面我就来说说如何通过减少数据库查询次数来提速wordpress.

第一步,开启wordpress自带的缓存功能. 如何开启呢? 很简单. 在wp-config.php中加入一句代码:

// Enable the WordPress Object Cache:define(‘ENABLE_CACHE’, true);

然后在新建 /wp-content/cache目录, 设置权限0777, 下载object-cache.php上传到/wp-content/目录下. 这样就设置好了wordpress自带支持的数据库缓存功能.

第二步, 静态化wordpress的页面. 所谓的静态化, 就是将那些数据库查询函数换成固定的值.

比如<?php bloginfo(‘name’); ?>直接换成你的博客站点标题就好了. 这样就减少了一次数据库查询. 下面我将列出一些常见的函数, 并注明是什么函数, 大家可以自己手动去替换这些查询函数. 基本上需要替换这些函数的包括header.php, footer.php, index.php, single.php这些页面.

<?php bloginfo(‘name’); ?>用于输出博客的”站点标题”,至于站点标题,可以在WordPress后台 – 设置 – 常规那里找到,将这段代码全部替换成你的”站点标题”即可;

<?php bloginfo(‘description’); ?>用于输出博客的”副标题”,可以在WordPress后台 – 设置 – 常规那里找到,将这段代码全部替换成你的”副标题”即可;

<?php bloginfo(‘url’); ?>用于输出博客的”站点地址(URL)”,可以在WordPress后台 – 设置 – 常规那里找到,将这段代码全部替换成你的”站点地址(URL)”即可;

<?php bloginfo(‘stylesheet_url’); ?>用于输出博客的”style.css文件的网址”,如果你不知道这个网址是什么,可以打开你的博客主页,然后用浏览器的”查看源代码”功能来查看网页的源代码,查找style.css,应该可以找到http://example/wp-content/themes/default/style.css,用这个网址替换掉这段代码即可;

<?php bloginfo(‘stylesheet_directory’); ?>用于输出博客的”style.css文件所在的目录”,也就是上面style.css网址去掉/style.css,如http://example/wp-content/themes/default,记住后面没有 / ;

<?php bloginfo(‘rss2_url’); ?>用于输出你的feed的网址,一般形式如: http://example/feed/,如果你用Feedsky之类的托管了feed,可以用Feedsky提供的网址代替;

<?php bloginfo(‘pingback_url’); ?>用于输出你的pingback的网址,一般形式如: http://example/home/wp/xmlrpc.php,查看源代码,查找rel=”pingback”,可以找到这个网址;

<?php bloginfo(‘charset’); ?>这个函数用于声明网页的编码,一般出现在这个文件开头header.php,这个编码可以在WordPress后台 – 设置 – 阅读,最后一个选项”页面和 feed 编码”那里设置,一般都是 UTF-8,你可以这段代码替换成:UTF-8

<?php bloginfo(‘version’ ); ?>用于输出WordPress的版本号,但是鉴于安全原因,不建议使用该函数,你可以将该段代码替换成不存在的版本号,在一定程度上还可以起到迷惑的作用。

get_option(‘home’)这个用于获取博客主页的网址,需要注意的是这个函数的所有参数形式都不能像上面的bloginfo()那样用网址直接代替,因为它不直接输出值,而是要用引号括起来代替。如:你可以将echo get_option(‘home’);替换成echo ‘http://www.microhu.com/’

如果是<?php echo get_option(‘home’); ?>,你可以直接将这段代码直接替换成http://www.microhu.com/,这都是一些简单的PHP编程方式,相信下面说的内容你也可以举一反三了。

get_option(‘blogname’)用于获取博客名称。

get_option(‘blog_charset’)用于获取页面的编码,如UTF-8。

未经允许不得转载:Yusky » WordPress加速之减少数据库查询

分享到:更多 ()

评论 11

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #5

    這個設定很有用

    蘇丞泰6年前 (2011-11-15)回复
  2. #4

    我还是用Super Cache的好,代码什么的会死人的说= 。= 不敢弄

    雨帆6年前 (2011-09-18)回复
    • 在用这插件咯~~

      Yusky6年前 (2011-09-19)回复
  3. #3

    还有自带缓存功能!

    蓝色离子6年前 (2011-08-13)回复
    • 嗯。哪个开启了好些

      Yusky6年前 (2011-08-14)回复
  4. #2

    很多时候都提到加速,加速的方法也是很多种。期待回访,快乐每一天!

    广州SEO6年前 (2011-08-13)回复
    • 确实很多种。慢慢折腾中

      Yusky6年前 (2011-08-14)回复
  5. #1

    发现了,如何做到的呢

    蓝飞Blue6年前 (2011-08-13)回复
    • 帮我把友链的名字改成石家庄SEO吧。据说这么做能增加点权重。 😎

      蓝飞Blue6年前 (2011-08-13)回复
      • OK。已改好

        Yusky6年前 (2011-08-14)回复
    • 看我首页文章“为Wordpress添加“转载自”字段”

      Yusky6年前 (2011-08-14)回复