不见最好 免得神魂颠倒 不熟也好 省得相思萦绕

WordPress添加摘要和关键词

技术文档 11656浏览 0评论

Description出现在页面头部的Meta标签中,主要作用是记录该页面的内容摘要或者描述。而Keywords当然就是页面的关键词了。在 WordPress中默认没有添加这两个标签,考虑到它们在SEO中还是能够起一点作用,所以我们应该自己的模板加上它们,这样对自己的SEO还是有好处的。
每篇文章的内容不同,我们该如何让WordPress自动添加文章描述和关键词呢?其实办法很简单,我们只需要在模板头部添加如一段PHP代码,让WordPress自动识别页面是首页还是文章页,当然也可以识别分类页、标签页这些。再分别为不同的页面添加不同的Description和Keywords。如果是文章页面,Description就自动截取文章的前220字符作为页面的描述,文章的tag就作为页面的关键词。
操作如下:
打开模板文件header.php,在最前面添加如下PHP代码:

<?php
if (is_home()) {
$description = "欢迎光临我的家园–自由的风|关注 技术,情感,生活,blog,网络";
$keywords = "自由的风,技术,情感,生活,blog,网络";
} else if (is_single()) {
if ($post->post_excerpt) {
$description     = strip_tags($post->post_excerpt);
} else {
$description = mb_strimwidth(strip_tags($post->post_content),0,200);
}

$keywords = "";
$tags = wp_get_post_tags($post->ID);
foreach ($tags as $tag ) {
$keywords = $keywords . $tag->name . ", ";
}
} else if (is_category()) {
$description = category_description();
$keywords =single_cat_title('', false);
}
else if (is_page()) {
$description = $post->post_title;
$keywords =$post->post_title;
}
elseif ( is_search() ) {
echo 'Search Results for &lsquo;'.get_query_var('s').'&rsquo;';
}
else{
$description = "欢迎光临我的家园–自由的风|关注 技术,情感,生活,blog,网络";
$keywords = "自由的风,技术,情感,生活,blog,网络";
}
?>
<meta name="keywords" content="<?php echo $keywords; ?>" />
<meta name="description" content="<?php echo $description; ?>" />

ps:
网上有些文章提到的用如下代码截断文章办法其实不行,对于中文来说会产生乱码,甚至导致整个页面乱码:
$description = substr(strip_tags($post-&gt;post_content),0,220);

而如果用mb_strimwidth函数就不会了:
$description = mb_strimwidth(strip_tags(apply_filters('the_content',$post-&gt;post_content)),6,220);

转载请注明:自由的风 » WordPress添加摘要和关键词

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (10)

  1. 按照你这个思路在改我现在做的主题了,可以不用all in one seo这个插件了

    上善若水2009-11-18 22:01 回复
  2. 呵呵,这个还比较有用,插件太多了也麻烦

    自由的风2009-11-20 23:13 回复
  3. 能否分享你网站的快速导航是如何做的?

    超人2009-11-26 23:12 回复
  4. 不错,准备收藏了

    Timothy2010-07-02 13:24 回复
  5. 跪求修改后的header.php 我菜鸟,所以改了好多次还是不行。 邮箱:deebiu@yahoo.cn 博主一定要救我。

    安、2010-11-23 00:30 回复
  6. @安、
    这个不同主题的header.php 是不太一样的。
    你的有报错吗?

    自由的风2010-11-24 08:24 回复
  7. 不错,这样的话就更利于SEO了。

    为什么wordpress不自己加入这个功能呢?

    真子琴2011-02-28 13:16 回复
  8. 跪求修改后的header.php 我菜鸟,所以改了好多次还是不行。 邮箱:87432651@qq.com 博主一定要救我 谢谢了

    weiweigbasp2012-01-12 20:14 回复