为什么要显示摘要信息?
关于第三点,很多博客默认设置为显示全文,并未受到搜索引擎“复制网页”的惩罚。显示摘要为了解决搜索引擎的“复制网页”问题,是一种“精益求精”的行为。我倒认为显示摘要信息重点是基于前面两个吧!
关于“文章列表”页面
内 容网站的结构一般是“文章列表—->文章内容”,对于搜索引擎来说,一个“无序”的“文章列表”对其索引是没有意义的,只有“文章内容”才 是有意义的。为什么要说“无序”呢?因为对于一个专题性比较强的“链接集合”,对于用户来说是有“用处”的,这体现了制作网页者的思考和整理过程。诚然, 搜索引擎对于某个关键字的SERP也提供了这样的一个“链接集合”,但是它完美吗?它只是“关键字”的集合,一个关键字可以引申很多的关键字,这要人类的 “发散性思维”或者“相关联想”加上其本身的知识结构才能做到,机器算法的搜索引擎是帮不到的。这就能搜索引擎为啥要收录那些很多链接的页面,如果它自身 有人类的智慧,早就把文章列表全部noindex。
我看到有的文章为了解决“复制网页”问题,他们建议在网页的meta里面加上robots,对这些“列表网页”加上 “follow,noindex”,意思是搜索引擎的机器人可以爬行,但不要索引这个网页,可惜百度是不支持这个的,对于中文网页来说,只能弃用这种方 式。直接在robots文件里面设置,发现很难。方法就只有一个了,对“文章列表”页采取显示摘要的方式。
WordPress文章列表页显示摘要信息
网上有很多wordpress显示摘要信息的插件,都不是太好,如“点石博客”就采取了,他的功能主要是截取第一段作为摘要信息,这个有两大缺陷:
其实wordpress本身已经提供了这个功能,可以在选项Optional Excerpt里面填入相关html代码,然后在模板里面修改一下即可。这样就做到了摘要自由撰写,rss全文输出。(不推荐使用more标签,因为它不 自由,只能截前面,不能截中间或者最后的文字。)
模板修改代码示例:
要修改的三个文件:
index.php 首页文件以及首页开始的上一页下一页等页面;
archive.php 存档页,如按月份、分类存档等;
search.php 搜索结果页。
上述页面里面遇到
改成
说明,the_excerpt()表示显示摘要信息,the_content()表示显示全文,the_content(__(’(more…)’))表示启用more标签。
$excerpt_length = 55;
$words = explode(’ ‘, $text, $excerpt_length + 1);
if (count($words) > $excerpt_length) {
array_pop($words);
array_push($words, ‘[…]’);
$text = implode(’ ‘, $words);
}
更改为
$excerpt_length = 3;
$words = explode(’\n’, $text, $excerpt_length + 1);
if (count($words) > $excerpt_length) {
array_pop($words);
array_push($words, ‘<p />……<a href=”’ . get_permalink($post->ID) . ‘”>[阅读全文]</a>’);
$text = implode(’\n’, $words);
}
就可以了,WordPress默认的生成摘要是用空格来判断的,就是取到55个空格结束,这适用于西方采用空格作为词间隔的语言,但中文是不分词的,所以我使用读取3行的方式,取前3行,对哪种语言都是适用的。
This article is from http://www.newsundays.com/?p=86&&