默认的wordpress都没有带keywords和description信息,这两个属性是写在<meta>标签中的,通常一个网页的meta标签用来提供网页的元信息(meta-information),比如给搜索引擎收入和更新频率的描述以及关键词。很显然一个完整的页面也应当加上keywords和description,这对seo来说是必备,不追求seo的加上也无妨。
在wordpress中,可以用插件来自动处理,试用了几个都太满意,干脆直接修改主题文件得了,也就这么两句话:
<meta name=”keywords” content=”dorole,blog,…” />
<meta name=”description” content=”dorole’s blog,…” />
不过在众多的页面中,这样写死肯定不妥,这就要用到wp提供的函数来动态的输出关键字和描述。以我博客为例,分为这几种页面:
- 博客首页
- 自定页面(比如about页)
- 文章内页
- 分类页面
- 标签页面
- 存档页面
还有些时间、日期、作者什么的就不管了。在首页和自定页面固定关键字和描述。文章内页关键字取自文章的tag,描述截取正文的前220个字符,这样做比较方便,更好的是在编写文章的时候在custom fields(自定义字段)中加入,觉得麻烦就没有用,需要的可以参考后面给出的代码注释部分。分类页面就取分类名和分类描述,在添加分类的时候写上即可。标签页面关键字和描述都写成一样就是标签本身,严格来说在wp中创建标签都可以加上标签描述,不过很少加。存档页面关键字取页面标题,描述固定为“文章存档页”。
找到主题的header.php文件,将代码插入到标题结束标签后面:
ID);
foreach ($tags as $tag )
{
$keywords = $keywords.$tag->name.',';
}
if($post->post_excerpt)
{
$description = $post->post_excerpt;
}else
{
$description = mb_strimwidth(strip_tags(apply_filters('the_content',$post->post_content)),0,220);
}
//$keywords = get_post_meta($post->ID, "keywords", true);
//$description = get_post_meta($post->ID, "description", true);
}
elseif (is_category()) //分类页面
{
$keywords = single_cat_title('', false);
$description = category_description();
}
elseif (is_tag()) //标签页面
{
//$description = tag_description();
$keywords = single_tag_title('', false);
$description = single_tag_title('', false);
}
elseif (is_archive()) //存档页面
{
$keywords = wp_title( ',', false, 'right');
$description = "文章存档页";
}
$keywords = trim(strip_tags($keywords));
$description = trim(strip_tags($description));
?>