停止使用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 }?>

已有6条评论 发表评论

  1. 爱美网 /

    楼主说的很抽象啊

  2. 沙渺 /

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

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

    1. Syna / 本文作者

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

      1. 沙渺 /

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

  3. Ania /

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

  4. Pharme287 /

    Very nice site!

发表评论

*

code