945 次阅读  2 条评论  发布日期:十一 04, 2011   文章位于: WordPress  

为你的WordPress博客的每个页面自定义一个Description和Keywords

很多WordPress博客用户都在用插件来实现网站的Description(描述)Keywords(关键字),因为这样做有利于SEO,确实是个不错的选择。但是大家都知道,插件会影响WordPress网站的加载速度,如果你的博客内容很多的话,你可能就会感觉到这种影响带来的加载速度问题。所以冰博客尽量不用插件,能不用插件就不用插件。这里我就分享一个不用插件为每个页面都自定义一个Description和Keywords的方法。

你可能知道WordPress有一个自定义字段功能,就是写文章里的那个“自定义栏目”。但是你知道它的强大之处吗?有了自定义栏目这个功能,我们可以实现很多想要的功能,这要靠我们丰富的想象力了。好了,不多说,请看方法:

1、把以下代码放到你的主题的header.php文件中。

  1. <?php   
  2. if(is_home()){   
  3. $description = get_option('description');   
  4. $keywords = get_option('keywords');   
  5. }elseif(is_single() || is_page()){   
  6. $description1 = get_post_meta($post->ID,"description_value",true);   
  7. $description2 = mb_strimwidth(strip_tags(apply_filters('the_content',$post->post_content)),0,200,"...");   
  8. $description = $description1 ? $description1 : $description2;   
  9. $keywords = get_post_meta($post->ID,"keywords_value",true);   
  10. if($keywords == ""){   
  11. $tags = wp_get_post_tags($post->ID);   
  12. foreach($tags as $tag){   
  13. $keywords = $keywords . $tag->name .",";   
  14. }   
  15. $keywords = rtrim($keywords,',');   
  16. }   
  17. }elseif(is_category()){   
  18. $description = category_description();   
  19. $keywords = single_cat_title('',false);   
  20. }elseif(is_tag()){   
  21. $description = tag_description();   
  22. $keywords = single_tag_title('',false);   
  23. }   
  24. $description = trim(strip_tags($description));   
  25. $keywords = trim(strip_tags($keywords));   
  26. ?>  

2、在header.php文件的<head></head>标签中添加如下代码。

    1. <meta name="keywords" content="<?php echo $keywords; ?>" />   
  1. <meta name="description" content="<?php echo $description; ?>" />  

3、至此你已经为你的WordPress添加了这个功能,我们只需要在写文章的时候在自定义栏目中添加自定义栏目即可。如果你没有看到自定义栏目的框框,请面顶部的“显示选项”中勾选它。栏目名称分别为:description_value(这个是网页描述,在“值”里填上描述);keywords_value(这是关键字,在“值”里填写关键字)。你可以在发布文章后查看这篇文章,查看它的源代码,看看是不是已经如你所愿了。

好了,方法就这么简单,你完全可以不用插件实现这一功能。

更多

2 条评论 to “为你的WordPress博客的每个页面自定义一个Description和Keywords”

  1. 皮尼 说道:

    挺实用的,我用的是插件,看来得去掉一个插件了

发表评论