停止使用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查询。我使用风格是“内容 - 博客名”,可以更换。

<title>
<?php if (is_home()) {bloginfo('name');} else {wp_title(''); ?> - <?php bloginfo('name'); } ?>
</title>

2、Description部分和Keyword部分

主要思想是输出文章内容前100个字符。

<?php if (is_home()){$description = "博客描述";$keywords = "关键字";}
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进行处理。

<?php if ( !(is_home()) and !(is_single()) ) { ?>
<meta name="Googlebot" content="noindex,follow" />
<?php }?>
Syna 发表于 2009-9-6 类别: 「互联网络」 | 标签: ,

若未注明,本博客文章均为原创,转载请以链接形式标明本文地址
本文地址:http://skday.com/archives/252/

  1. 其实在效率上深有同感 停了all in one之后马上速度就是个飞越

    真想要拦着存档页、日历页之类的,我更推荐robots.txt :grin:

    • 主要是用了 All in One SEO 以后,数据库查询次数明显增加了。主机性能不是很好的话就明显感觉慢了……嗯,之前我也用 robots.txt 拦截存档页的,后来干脆也不拦截了。让搜索引擎判断了 = =||

      • 最近换了主机才发现,我旧主机真正的问题是HTTP巨快,但是MySQL性能令人发指…… :arrow: :twisted:

  2. 好像很早的文章了啊,使用了all in one seo但是百度跟google的收录差不多,感觉没什么影响了

无觅相关文章插件,快速提升流量