给wordpress每个页面添加独立的Description和Keywords

给wordpress首页,分类页,页面以及文章页添加单独的不同的Description和Keywords,以利于SEO。
设置keywords和description的代码,将以下代码添加至WordPress主题header.php的之间,最后用UTF-8编码另存为,否则中文会乱码:

<?php
$description = '';
$keywords = '';
if (is_home() || is_page()) {
   // 将以下引号中的内容改成你的主页description
   $description = "江宇的个人主页(jiangyu‘s weblog),主要关注网站运营,前端设计,用户体验以及网络视频安防技术,记录自己工作和生活上的感悟,分享互联网上的有用资源。";
   // 将以下引号中的内容改成你的主页keywords
   $keywords = "江宇,jiangyu,天一生水,#######,监控摄像头,视频监控,监控摄像机,ipc,网络摄像机,网络视频监控,网站运营,前端设计,用户体验,seo,wordpress,搜索引擎优化,web,UI,UED";
}
elseif (is_single()) {
   $description1 = get_post_meta($post->ID, "description", true);
   $description2 = str_replace("\n","",mb_strimwidth(strip_tags($post->post_content), 0, 200, "…", 'utf-8'));
   // 填写自定义字段description时显示自定义字段的内容,否则使用文章内容前200字作为描述
   $description = $description1 ? $description1 : $description2;

   // 填写自定义字段keywords时显示自定义字段的内容,否则使用文章tags作为关键词
   $keywords = get_post_meta($post->ID, "keywords", true);
   if($keywords == '') {
      $tags = wp_get_post_tags($post->ID);    
      foreach ($tags as $tag ) {        
         $keywords = $keywords . $tag->name . ", ";    
      }
      $keywords = rtrim($keywords, ', ');
   }
}
elseif (is_category()) {
   // 分类的description可以到后台 - 文章 -分类目录,修改分类的描述
   $description = category_description();
   $keywords = single_cat_title('', false);
}
elseif (is_tag()){
   // 标签的description可以到后台 - 文章 - 标签,修改标签的描述
   $description = tag_description();
   $keywords = single_tag_title('', false);
}
$description = trim(strip_tags($description));
$keywords = trim(strip_tags($keywords));
?>
<meta name="description" content="<?php echo $description; ?>" />
<meta name="keywords" content="<?php echo $keywords; ?>" />

以后在写博客文章时只需添加两个自定义字段即可,第一个自定义字段为keywords,值就是这篇文章的关键字;第二个自定义字段为description,值是这篇日志的描述。自定义栏目用过一次后,以后再写日志只需在下拉框中选择即可,这样每篇文章都有你自定义的keywords和description了。
分类(category)页和标签页(tag)的description直接取分类或标签的描述,这个可以根据需要在WordPress管理后台更改,keywords则取分类或标签的名称。如果你想手动给每个分类定义description和keywords,可以将第24-25行代码改成:

if (is_category('安防监控系统')) {
    $description = '这里填安防监控系统分类的描述';
    $keywords = '这里填安防监控系统分类的关键字,半角逗号隔开';
}
elseif (is_category('网站运营')) {
    $description = '这里填网站运营分类的描述';
    $keywords = '这里填网站运营分类的关键字,半角逗号隔开';
}
elseif (is_category('wordpress')) {
    $description = '这里填wordpress分类的描述';
    $keywords = '这里填wordpress分类的关键字,半角逗号隔开';
}
// 多个分类,复制9-12行代码,粘贴到13后面行,类似5-12行,改一下分类名称即可
// 使用UTF-8编码另存为,替换原来的文件,否则可能会乱码

主页(home)和页面(page)的description和keywords是用PHP代码直接写的,你可将上面的描述改成你的,当然你也可以仿照分类页和标签页,给不同的页面页(page)不同的description和keywords。

最近SEO经验总结 google被墙导致WordPress网站打开变慢的解决办法

  评论