想必了解 SEO 的人都知道,WordPress 在源码优化方面做的非常的到位,元老级的源码。当然,他的源码在 seo 方面做的并不是完美的。这就需 要我们对它的源码加以改进。
很多朋友选择 WordPress 的相关插件,All in One SEO Pack
中文版,就是其中一款非常流行的插件。网上很多文章在大篇幅的描述这款插件的优点,它的名字本身就很具有吸引力,All in One
SEO,可引申为 「一键优化」,就像很多电脑的优化软件一样,安装了这个插件,设定好,其他的优化都不需要了。
随着对 WordPress 了解的深入,渐渐的读到一些高手撰写的文章,用他们的话说,如果你在还在用 WordPress,那你就过时了!慢慢的读下 去,也许会改变你对 all in one seo 的看法。
这里,总结一下高手们不愿用 all in one seo 的三点原因。
原因 1:noindex 标签百度不喜欢
百度爬虫并不是你想象的那么聪明,或者,是太傲慢了,看到 noindex 就 K
掉你网站的所有页面,只留一个首页,它心情好了,可能会对你仁慈一点,不收录最近的内容。这就是网上流传的所谓百度不收录 WordPress
的根源,其实罪魁祸首就是 All in One SEO 。有人做过测试,去掉 noindex 设置选项以后,百度收录就迅速恢复了。
原因 2:自动描述导致中文博客丢失描述
大部分站长做的都在使用中文的 WordPress,但是 all in one
seo 恰恰是不能自动生成中文的 description 。如果你启用了它的自动 description,那么,结果可想而知,google
搜索存档信息里除了标题就剩下文章信息 (日期作者什么的),然后就是评论,既然你有了一个空白的 description,搜索引擎就会认为你的描述是空
白,但不是没有,当然就不会那么好心的帮你生成 description 了。但是英文的文章会好些,原因?估计是创作这款插件的人没有想到中国还有这么多使
用它的人吧!
原因 3:消耗资源
这个在流量小的博客体现不出来,但是流量一大,区别就出来了。
继续阅读,肯定有你想要的。
有朋友会说了,抛弃 all in one seo,我该怎么优化博客呢?继续往下看。
第一步:title 结构
保持原有 title 结构,在 header.php 里替换原有 title 部分:
<title><?php if (is_home() ) { ?>59 源码网 | digg digest<?php } else {?><?php wp_title(」); ?> | 59 源码网<?php } ?></title> |
第二步:关键字和站点描述
可以用下面这段代码来代替:
<?if (is_home()){ $description = 「站点描述」; $keywords = 「关键字」; } elseif (is_single()){ $description = $post->post_title ; $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=」<?=$keywords?>」 /> <meta name=」description」 content=」<?=$description?>」 /> |
第三步:文章的描述
这个有两个办法,一是用截断文章前多少字摘要作为描述,这里有一款插件,实在感觉修改代码麻烦,就用插件。 另一个就是利用 All in One
SEO 的原理,利用自定义关键字 (custom field) 定义 description 然后调用,具体操作可参考这篇,代码是:
<?php if ( is_single() ) { ?> <meta name=」description」 content=」<?php $key=」description」; echo get_post_meta($post->ID, $key, true); ?>」 /> <?php } ?> |
如果没用过 All in One SEO 插件的,可以先新建一个 description 关键字,下次就可以选择了。
第四步:NoIndex
这个是某大师的解决办法。既然百度爬虫太傻逼,那就针对 Google 爬虫写,在 header.php 里加这么一句:
<?php if ( !(is_home()) and !(is_single()) ) { ?><meta name=」Googlebot」 content=」noindex,follow」 /><?php }?> |
意思就是除了首页和文章,其它页面最好不要 index 。此外,这句话前面最好加个空行。
ok,就这么多,不当之处,敬请留下宝贵意见。