• WordPress — 突破性能瓶颈,使用 WordPress 站群做 SEO 推广


    WordPress本身的并发很低。在一台双核2.5G+,2G内存的Linux机器上。使用Apache的ab命令测试下来。并发在6-10个左右。这样的速度对于做站群的SEO策略来说,就是拿钱开玩笑,一台Server部署个50个WP博客,基本上也算是极限了。一旦Google来,基本上博客就无法访问了,很多情况下会报数据库的连接错误。这对google蜘蛛来说是灾难性的。(网站的访问速度也被参与了网站的排名)。

    那么有没有什么办法能提高单台Server上安装的WP博客的数量,还能在Google来的时候,保持良好的访问速度?

    本文将探讨如何在一台Server上部署上超过100,甚至超过200个WordPress博客(在Google蜘蛛来或是大访问量的情况下,能正常的打开博客)

    需要解决的问题

    * 数据库的最大连接数

    WP的硬伤就是Mysql。Mysql5.1+后的版本,默认的最大连接数为151,之前的才100。这点并发在有50个博客的服务器上,真的不够用。google蜘蛛以来,基本上就会有个别博客出现数据库无法连接的问题。

    我一般会修改 /etc/my.cnf 文件,修改Mysql的最大连接数为1000,其实这个数值太大了也不好,Linux服务器以及Apache在内存的限制下,能打开的有效连接数也不是很大。超过300以上就能危险了。如果真要是到了1000个情况下,我想你SSH也无法登录了。只能听天由命了~~~

    OK,修改数据库的最大连接数只是第一步,最简单的一步。其实这个修改不能改变什么,我们只是将Mysql预计会出现的问题先处理掉。下面就是专心优化WP了。

    * WP博客文章静态化

    通过ab命令,在启用了WP super cache插件的情况下。相同Server的并发在1300+左右。这和并发10来说,简直就是天壤之别啊。

    (具体如何安装WP super cache,可参阅其它资料。或者我下次补一篇文章

    我这里要说的是:

    安装了WP super cache后,首先需要开启预处理所有的文章页面(建立永不过期的缓存文件)

    为每个博客添加一个robots.txt文件,屏蔽对tag/, category/, 2012/等URL的抓取。

    为每个博客添加Google Sitemap工具,生成站点地图。

    对于新添加的文章而言,缓存系统需要在访问一次后才能生成静态缓存文件。对于做推广来说的博客,通常一个站长手里有数百个博客,发布博客也通常是使用伪原创软件自动发布的。一个博客每天可能会发布几十篇文章,不可能在所有的博客发布文章后,一个一个页面的去点击(让WP缓存静态文件)。所以这里需要一个类似于蜘蛛的程序,在发布文章后,去模拟蜘蛛去采。这样当蜘蛛来采集的时候,WP已经为它准备好了静态页面,瞬间让对WP博客的访问速度提高好几个等级)。但是有些博客的Google来的很快,可能发布了一篇文章后5分钟,蜘蛛就来了。所以最好的策略就是在发布了一篇文章后,程序能访问一次当前发布的文章,这样就算蜘蛛在5分钟内来采,我们的WP也已经缓存好了对应的静态文件。


    对于做推广的WP博客,在配置的时候需要注意。

    * 为博客添加robots.txt,屏蔽Tag,分类,存档的抓取

    user-agent: *
    disallow: /wp-
    disallow: /feed/
    disallow: /comments/feed
    disallow: /trackback/
    disallow: /sample-page/
    disallow: /hello-world/
    disallow: /category/
    disallow: /tag/
    disallow: /2012/

    * 禁用博客文章的评论

    * 对文章的评论需要登录的用户才可以

    * 取消PingBack等

    * 取消发布文章Ping文章中的URL(这点很关键,如果你是用WP博客做推广的,那么文章里面难免会出现你需要推广的网站的URl,如果这个选项没用禁用,那么在发布一篇文章后,WP会在Ping文章中出现的URL。如果你服务器上很多的博客在使用程序自动发布文章的话,那么可能对于被推广的服务器来说。在短期内连接数很飙升,严重是会导致被推广的服务器无法访问)

  • 相关阅读:
    不支持ie9一下代码
    jquery ajax done 函数 异步调用方法中不能给全局变量赋值的原因及解决办法
    WaitMe是一款使用CSS3来创建加载动画的jQuery插件
    Masked Input这个jQuery插件让用户能够按照预先设定好的固定格式输入数据(如日期、电话号码等)
    Autosize插件允许textarea元素根据录入的内容自动调整元素的高度
    两个列表选项插件bootstrap-duallistbox.js
    jquery滚动插件slimscroll
    modernizr.custom.js应用
    bootbox基于bootstrap的扩展弹窗
    洛谷P3503 [POI2010]KLO-Blocks 单调栈
  • 原文地址:https://www.cnblogs.com/bruceleeliya/p/2424456.html
Copyright © 2020-2023  润新知