您现在所在的位置: 首页 >> Wordpress 教程 >> WordPress添加文章及目录关键词keywords和description
刚对博客皮肤的更新完毕就想到了百度和谷歌会对我站的重新收录(从PJ转入WP),于是乎立刻就想到了本站SEO的问题上。查看了一下源代码,发现没有keywords和description,于是乎搜索到了这篇教程,不敢独享。。
原文标题:《赶紧了,抛弃 All in One SEO》 转载至煎蛋。
All in One SEO 一度被认为是必备 WordPress 插件,它的标准化 title 结构、自动用 tag 作为关键字(keywords)自动生成页面描述(description)和分类等页面的 noindex 功能几乎是大家的标准化设置。但是恰恰是这些,让你的 blog 在 SEO 上减分。
原因一:noindex 导致百度不收录内容
百度爬虫很傻的,看到 noindex 就 k 掉全部只留一个首页,或者最近的内容不收录。这就是坊间流传的所谓百度不收录 wordpress 的根源,其实罪在 All in One SEO。我在煎蛋和其它一些 bog 测试过,去掉 noindex 设置选项以后,百度收录就迅速恢复了。
原因二:自动描述导致丢失描述
煎蛋一度的 google 搜索存档信息里除了标题就剩下文章信息(日期作者什么的),然后就是评论。原因是启用了 All in One SEO 的自动 description,但是英文还好,对于大部分页面它压根无法生成中文 description,而你有一个空白 description 在这里搜索引擎就不给你自动 description 了。
原因三:All in One SEO 很耗资源
这个有待验证。但是对于大流量的煎蛋来说,昨天我去掉它以后,很多人包括我自己在内都感觉到马上速度快了很多(煎蛋日 pv 30w)。
———————————分割线———————————
那么,去掉以后,如果保证必要的 SEO 措施?
解决办法,让Wordpress支持keywords和description
之一:title 结构
这个很重要,如果你一直用“标题 | 站名”这样的结构千万别改,否则可能被搜索引擎惩罚。保持原有结构我们在 header.php 里加了(或替换原有 title 部分)这么一句:
1<title><?php if (is_home() ) { ?>折子戏 | digg digest<?php } else {?><?php wp_title(''); ?> | 折子戏<?php } ?></title>意思很简单。blog 名和描述直接写的目的是尽量减少执行函数。
之二:关键字和站点描述
可以参考水煮鱼同学写的这篇,可以用下面这段代码来代替:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16<?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 然后调用,具体操作可参考这篇,代码是:
1 2 3<?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
这个是 shawn 大师的解决办法。既然百度爬虫太傻逼,那就针对 Google 爬虫写,在 header.php 里加这么一句:
1<?php if ( !(is_home()) and !(is_single()) ) { ?><meta name="Googlebot" content="noindex,follow" /><?php }?>意思就是除了首页和文章,其它页面最好不要 index。另外据我个人的经验,这句话前面最好加个空行。
说完了。
感谢不断教我优化的 shawn 同学、无比勤勉的 lampdrive 管理员 paveo、参考了其文档的水煮鱼等等等。此文为小青蛙 scavin 而写,当我听说他还在用 All in One SEO 时很震惊。
» 原文链接:WordPress添加文章及目录关键词keywords和description
» 版权声明:自由转载-非商用-非衍生-保持署名 | Creative Commons BY-NC-ND 3.0






























我再试试