停止使用All in One SEO
在我刚开博时,All in One SEO被大多人认为是必备 WordPress 插件,它的标准化 title 结构、自动用 tag 作为关键字(keywords)自动生成页面描述(description)和分类等页面的noindex功能几乎是大家的标准化设置。大家都认为这样会为SEO加分。但是恰恰是这些,让你的blog在SEO上减分了。
那么All in One SEO,你现在还在用吗?
一、All in One SEO的问题
1、自动描述导致丢失描述
我经常发现Google管理员工具中警告,出现短的描述,这都是因为正文开头不远处出现了空格,于是被莫名其妙的截断。此外大部分页面它压根无法生成中文description,一个空白description,可能导致搜索引擎展示页面内容是空白。
2、noindex问题
这个问题不是我发现的,也是看别人写的,据说百度爬虫不认noindex,出现noindex就全都不收录,只留一个首页。这就是坊间流传的所谓百度不收录wordpress的原因。这个我没有测试,因为我的博客到目前为止百度都没有收录。
3、All in One SEO耗资源
其实,对于一个博客,只要是插件都会耗资源。因此我一直在说插件越少越好。All in One SEO做的事,我们完全可以通过修改主题目录下 head.php 来实现。(在后文会介绍方法)这样无疑更节省了服务器的资源。
二、手动优化SEO方案
1、title部分
以下代码是Title部分。其中 bloginfo('name'); 部分可以换成自己的博客名称,以减少SQL查询。我使用风格是“内容 - 博客名”,可以更换。
<?php if (is_home()) {bloginfo('name');} else {wp_title(''); ?> - <?php bloginfo('name'); } ?>
</title>
2、Description部分和Keyword部分
主要思想是输出文章内容前100个字符。
elseif (is_single()){$description = mb_substr(strip_tags($post->post_content),0, 100,'utf-8');
$keywords = "";$tags = wp_get_post_tags($post->ID);foreach($tags as $tag ) {
$keywords = $keywords . $tag->name . ", ";}}
elseif(is_category()){$description = category_description();} ?>
<meta name="keywords" content="<?php echo $keywords ?>" />
<meta name="description" content="<?php echo $description ?>" />
3、NoIndex问题
也就是针对Google进行处理。
<meta name="Googlebot" content="noindex,follow" />
<?php }?>
若未注明,本博客文章均为原创,转载请以链接形式标明本文地址
本文地址:http://skday.com/archives/252/


楼主说的很抽象啊
其实在效率上深有同感 停了all in one之后马上速度就是个飞越
真想要拦着存档页、日历页之类的,我更推荐robots.txt
主要是用了 All in One SEO 以后,数据库查询次数明显增加了。主机性能不是很好的话就明显感觉慢了……嗯,之前我也用 robots.txt 拦截存档页的,后来干脆也不拦截了。让搜索引擎判断了 = =||
最近换了主机才发现,我旧主机真正的问题是HTTP巨快,但是MySQL性能令人发指……
好像很早的文章了啊,使用了all in one seo但是百度跟google的收录差不多,感觉没什么影响了
Very nice site!