原因一:noindex 导致百度不收录内容
百度爬虫很傻的,看到 noindex 就 k 掉全部只留一个首页,或者最近的内容不收录。这就是坊间流传的所谓百度不收录 wordpress 的根源,其实罪在 All in One SEO。我在煎蛋和其它一些 bog 测试过,去掉 noindex 设置选项以后,百度收录就迅速恢复了。
原因二:自动描述导致丢失描述
煎蛋一度的 google 搜索存档信息里除了标题就剩下文章信息(日期作者什么的),然后就是评论。原因是启用了 All in One SEO 的自动 description,但是英文还好,对于大部分页面它压根无法生成中文 description,而你有一个空白 description 在这里搜索引擎就不给你自动 description 了。
原因三:All in One SEO 很耗资源
这个有待验证。
对于第一点,你大可以在插件设置页面把几个Use noindex选项给取消选择,这样就可以了吧。
对于第二点,如果你的WORDPRESS中文站点想用这个插件来做个一键SEO,那你就得改改,树是死的,人是活的,要活学活用。
对于第三点,我就没法验证了,因为咱流量没那么大,一天也就几个IP,所以没感觉出出来。
这样看来,第二个原因是部分博主舍弃这个插件的主要原因了。确实对于网站的SEO 来说,Title、Description、Keywords 是很重要的,尤其是前两者,它们直接反应在搜索引擎的条目中。对于英文博客来说 All in One SEO Pack 是做得很不错的,自动截取的描述完全能胜任。然而中文字符集的问题,依然按照英文那样来计算长度截取描述的话,你会发现在搜索引擎出来的条目中描述基本过短,有的干脆就没有,那是因为 UTF8 的字符基本是一个顶 3。
那么下面就来说说怎么来改它使之更好的支持中文,需要改动的文件只有一个,就是aioseop.class.php,共有三处需要改动(方法来自网络):
调整截取字数
var $maximum_description_length = 300;//160;
/** Minimum number of chars an excerpt should be so that it can be used
* as description. Touch only if you know what you’re doing
*/
var $minimum_description_length = 80;//1;
英文截取默认是 160,中文得加长, 350 到 400 差不多,不过我实践证明 300 是个不错的数字。合不合适,界时看看搜索引擎中你的文章描述就知道了。太长了搜索引擎也会给你………。
找到 代码中的$maximum_description_length 和 $minimum_description_length,分别由原来的 160,1 改为 300,80。
防止截取的中文摘要显示乱码
查找函数 trim_excerpt_without_filters($text) ,并将其内容完整替换为:
function trim_excerpt_without_filters($text) {
$text = str_replace(']]>', ']]>', $text);
$text = preg_replace( '|\[(.+?)\](.+?\[/\\1\])?|s', '', $text );
$text = strip_tags($text);
$max = $this->maximum_description_length;
if (ord($text[$max])>0x7f && ord($text[$max])<0xc0){
while(ord( $text[$max])<=0xc0) {
$max --;
}
}
$text = substr($text, 0, $max);
return trim(stripcslashes($text));
}一个字符的问题 比较时把大于号 > 改成大于等于号 >=,找到这一段
if (isset($description) && (strlen($description) > $this->minimum_description_length) && !(is_home() && is_paged())) {改为
if (isset($description) && (strlen($description) >= $this->minimum_description_length) && !(is_home() && is_paged())) {到这里一个完美的支持中文自动截取描述的的All in One SEO Pack 就改造完成了,这样第二个问题就完美解决了,现在你还能说这个插件不好吗?赶紧装上吧,来一个一键优化,至于你用不用,我反正是用了。
参考:1. 解决all in one seo pack自动取中文描述问题
2. 修改wordpress插件All in One SEO支持中文截断
有人说了,我比较懒,也怕改错了,OK,我提供一个修改好的aioseop.class.php,这个插件的作者实在是勤快,这几天又更新新版本了
2011.12.15日更新最新版本1.6.13.8下载
没有评论:
发表评论