All in one seo被彻底抛弃!
All in one seo被我彻底抛弃了,首先是原因,为什么要抛弃它。
中立博客最近一直在更新,Wordpress我也是这几天不断的倒腾,但是使用的感觉超爽,不断地给我带来惊喜。反而只有All in one seo,却给我惹了麻烦。在All in one seo设置好了以后,使用非常麻烦,从Title,description到keywords,都需要一一填写,我武断地以为Title如果不重写就会使用默认,这直接导致的结果就是我的刚被Google收录的文章全部没有标题!还有一个问题,如果我想使用Live Writer这样的桌面端或者手机的话,因为这个插件的存在就成了不可能的事情。再者,这个插件的升级等都挺麻烦,而且运行这个插件很占资源。所以,All in one seo,很烦!
虽然不是旧爱,但是抛弃之后总归要寻个新欢,这个新欢的基本标准就是:1)保留原有的目录结构,这非常重要,否则会被搜索引擎处罚;2)给文章添加正确的description和keywords;3)给存档、分类、标签页填加noindex。
一、保留目录结构
在header.php中替代原有的title语句,
<title><?php if (is_home() ) { ?>中立博客|关注互联网创业和IT技术<?php } else {?><?php wp_title(''); ?> |中立博客<?php } ?></title>
这里大家就别使用函数了,直接把你的标题写进去,这样更节省资源。
二、关键字和描述
这有几种方法,首先看使用自定义域的方法,
<?php
if(is_single()||is_page()) :
$description = get_post_meta($post->ID, “description”, true);
if($description!=”") echo(“<meta name=\”description\” content=\”".$description.”\” />”);
$keywords = get_post_meta($post->ID, “keywords”, true);
if($keywords!=”") echo(“<meta name=\”keywords\” content=\”".$keywords.”\” />”);
endif;
?>
这段代码的好处是避免了打开主页、存档页等多日志的页面时会输出第一篇文章的description和keywords的问题。
下面的这个方法则更简单,如国给日志添加了摘要就把摘要做为 Description,如果没有设置摘要,则把文章标题作为Description,而标签直接作为 Keywords。
<?if (is_home()){
$description = “中立博客是一个关注互联网创业和IT技术的博客,主要提供互联网创业资讯、评论,it技术和数码技术、网络赚钱等”;
$keywords = “创业,互联网,Wordpress,数码,网络赚钱”;
} elseif (is_single()){
if ($post->post_excerpt) {
$description = $post->post_excerpt;
} else {
$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?>” />
这个方法好在简单,方便,值得推荐,还逼着自己不滥用标签,好好把握关键词。
三、关于解决存档页、作者页、标签和分类页的“noindex”的问题
以下引用 shawn 大师的解决办法。既然百度爬虫太傻,那就针对 Google 爬虫写,在 header.php 里加这么一句:
<?php if ( !(is_home()) and !(is_single()) ) { ?><meta name=”Googlebot” content=”noindex,follow” /><?php }?>
意思就是除了首页和文章,其它页面最好不要 index。另外这句话前面最好加个空行。
好了,彻底抛弃了All in one seo!
下面附录一份完整的:
<!– SEO START –>
<title><?php if (is_home() ) { ?>电脑租赁,笔记本租赁,显示器租赁等专业IT租赁供应商|锐连租赁<?php } else {?><?php wp_title(”); ?> |锐连租赁<?php } ?></title>
<?if (is_home()){
$description = “锐连租赁是中国领先的IT租赁供应商,主要提供电脑租赁,笔记本租赁,显示器租赁和其他IT租赁专业供应商,是客户选择出租电脑,出租笔记本和显示器出租的第一选择”;
$keywords = “电脑租赁,出租电脑,笔记本租赁,出租笔记本,显示器租赁”;
} elseif (is_single()){
if ($post->post_excerpt) {
$description = $post->post_excerpt;
} else {
$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();
}
?>
<?php if (is_single()||is_home()) {?>
<meta name=”keywords” content=”<?=$keywords?>” />
<meta name=”description” content=”<?=$description?>” />
<?php } ?>
<?php if (is_page()):
$keywords = get_post_meta($post->ID, “keywords”, true);
if($keywords!=”") echo(“<meta name=\”keywords\” content=\”".$keywords.”\” />\n”);
$description = get_post_meta($post->ID, “description”, true);
if($description!=”") echo(“<meta name=\”description\” content=\”".$description.”\” />\n”);
endif;
?>
<?php if ( !(is_home()) and !(is_single()) and !(is_page())) { ?><meta name=”robots” content=”noindex,follow” /><?php }?>
<!– SEO END –>
本文链接:http://yesmyidea.com/all-in-one-seo-have-been-completely-abandoned/
我的英文CMS站还在用这个插件。。
[回复]
补充,在填加noindex的时候,原代码没有排除page页,需要加上,改成这样:
< ?php if ( !(is_home()) and !(is_single()) and !(is_page())) { ?>< ?php }?>
[回复]
以下引用 shawn 大师的解决办法。既然百度爬虫太傻,那就针对 Google 爬虫写,在 header.php 里加这么一句:
意思就是除了首页和文章,其它页面最好不要 index。另外这句话前面最好加个空行。
请问是在什么地方加个空行
[回复]
就是这句前面:
< ?php if ( !(is_home()) and !(is_single()) and !(is_page())) { ?>< ?php }?>
< !– SEO END –>
~_~我好象觉得没有影响。
[回复]
我现在想去掉all in one seo中的noindex,不知道如何操作?请博主指教,谢谢
[回复]
Kudos! What a neat way of tihkning about it.
[回复]