版权声明: 转载时请以超链接形式标明文章原始出处和作者信息
本文来自: Domety»《添加keywords和description》
本文链接: http://domety.com/archives/206/
本文作者: DDBug
发表时期: 2010-01-01
关键字: description, keywords, The Loop, WordPress
看到很多人的网站head部分都有keywords和description,据说是seo优化的方法之一。我对seo一窍不通,所以一直也没有在head部分添加keywords和description。还有另外一个原因就是听说现在搜索引擎已经不会考虑keywords了,不知是否属实,还请有seo经验的朋友们指点一二。
想想本站虽然被百度收录,但一直都没有从百度来的流量,不知道会不会是没有keywords和description的原因呢?不管怎么样,还是决定了把这两样都添加到head中,顺便也作为wordpress循环的实例篇之一吧,加强对wordpress循环的理解。
使用文章标签作为keywords
由于上面提到原因,所以我对keywords也没太上心的去做,除了单篇日志使用日志的标签来作为keywords之外,其它页面一律使用固定的keywords。下面是单篇日志页面使用标签作为keywords的方法
<meta name="keywords" content="<?php echo strip_tags(get_the_tag_list('' , ',' )); ?>" />
稍微对代码做一下解释:get_the_tag_list函数获取日志的标签列表(形如 <a href=”标签链接”>标签名</a> 这样的标签组合),然后使用php的strip_tags方法过滤掉html标签(比如<a href=”"></a>这些),从而得到的是只包含标签名的字符串。
description的内容
可能每个人对description的要求都有所不同,以下只是我个人的想法。
一、对于首页,使用固定的description。
<?php $des = "分享软件、互联网应用技巧以及开发技能"; ?>
二、对于单篇的日志页面,我使用日志的摘要作为description,但考虑到摘要的内容可能会太长的原因,所以决定使用字符串截取的方式,以日志的前100个字作为description
<?php $des = mb_strimwidth(strip_tags($post->post_content),0,100); ?>
三、对于其它页面,比如分类、标签、搜索等,使用页面内所有文章的标题作为description
if(have_posts()){
$titles = array();
while(have_posts()) {
the_post();
$titles[] = get_the_title();
}
$des = implode(',',$titles);
}
这里我使用了一个循环,有趣的是这个循环并不会影响页面内的主循环,这是为什么呢?自己思考一下吧,我在前两篇文章中有做过解释。
附完整代码
<?php
$keywords = "wordpress,html,css,php,windows,程序设计,软件应用,网络应用";
$des = "分享软件、互联网应用技巧以及开发技能";
if(is_single() || is_page()){
$keywords = strip_tags(get_the_tag_list('',','));
$des = mb_strimwidth(strip_tags($post->post_content),0,100);
}
elseif(!is_home()){
if(have_posts()){
$titles = array();
while(have_posts()) {
the_post();
$titles[] = get_the_title();
}
$des = implode(',',$titles);
}
}
?>
<meta name="keywords" content="<?php echo $keywords; ?>" />
<meta name="decription" content="<?php echo $des; ?>" />
vsweb
2010-01-02 星期六 00:25
vela
2010-01-02 星期六 17:39
DDBug
2010-01-02 星期六 17:56
think
2010-02-01 星期一 19:11
DDBug
2010-02-01 星期一 20:56
she_you_咖啡
2010-06-02 星期三 20:19