WordPress 无插件 描述关键字优化极限版

2011-07-1635,87746
  1. <?php  
  2.   
  3. /*附件*/  
  4. if (is_attachment()) {  
  5. $description = wp_title('',false) .','. substr(strip_tags($post->post_content),0,200);  
  6. $keywords = "" ;  
  7. }  
  8. /*文章||页面*/  
  9. else  if (is_single()|| is_page()) {                                 //文章页的关键字描述  
  10. if ($post->post_excerpt) {  
  11. $description     = $post->post_excerpt;  
  12. else {   
  13. $description = substr(strip_tags($post->post_content),0,200);//取前180个字做描述  
  14. $description = str_replace(array("\r\n""\r""\n"" ""\t""\o""\x0B"".""�"),"",$description);  
  15. $description = str_replace(array("\""), ""$description);  //过滤符号等  
  16. }   
  17. $keywords = "";       
  18.     $tags = wp_get_post_tags($post->ID);  
  19.     foreach ($tags as $tag ) {  
  20.         $keywords = $keywords . $tag->name . ",";  
  21.     }  
  22. $keywords =  rtrim($keywords,',');  
  23. }   
  24. /*分页*/  
  25. else if(is_category()) {                                  //分类页的关键字描述,目的是取分类下所有的tag  
  26. foreach((get_the_category()) as $category) {  
  27. $catname = $category->category_nicename  ;    //取分类名  
  28. $description  = $category->category_description;  
  29. $cat = $category->cat_name;  
  30. }  
  31. query_posts('category_name='.$catname);  
  32. if (have_posts()) : while (have_posts()) : the_post();  
  33. $posttags = get_the_tags();  
  34. $count=0;  
  35. if ($posttags) {  
  36. foreach($posttags as $tag) {  
  37. $count++;  
  38. if ($count <= 1){  
  39. $all_tags_arr[] = $tag -> name; //用 $tag 把 $all_tags_arr 变成多维数组,再由array_unique函数进行处理  
  40. } } }  
  41. endwhile;endif;  
  42. wp_reset_query();  
  43. if(!emptyempty($all_tags_arr)){  
  44. $tags_arr = array_unique($all_tags_arr); //去除重复的tag  
  45. $keywords =  $cat.',' .implode(',',$tags_arr) ; $category->cat_name;  
  46. } }  
  47. /*首页*/  
  48. else if (is_home()) {  
  49. $description =描述;   
  50. $keywords = 关键字;  
  51. }  
  52. /*标签*/  
  53. else if (is_tag()) {  
  54. $description =wp_title('',false) ."标签存档页面";   
  55. $keywords = wp_title('标签,存档,',false) ."";  
  56. }  
  57. else {}  
  58. if (!emptyempty($keywords)){    echo '<meta name="Keywords" content="'.$keywords.'" />'; }  
  59. echo "\n";   
  60. if (!emptyempty($description)){    echo '<meta name="description" content="'.$description.'..." />'; }  
  61. echo "\n";  
  62. ?>  

把上面的代码放到 header.php 文件的合适的位置...
ps 本代码不是本人原创 好像 没人转载过我也不知道哪发布的了,发布了那时候标点符号全部 被WordPress自动转换了..失效 本人只转换回来修改了下优化了点...

0 0
  • 晓泽2011-07-18 下午 9:18 回复

    意思是不能用其他的SEO插件?

    #21  
  • 雨丸2011-07-19 下午 12:34 回复

    有点复杂~~秉持着能用插件就用插件的原则路过~ :gl:

    #22  
  • 2011-07-19 下午 2:42 回复

    新主题只带这功能 :oops:

    #23  
    • 恋月2011-07-19 下午 2:46 回复

      ….. 那主题做来给喜欢写 心情那些的功能多了没用.. 简介嘛

      #231
  • steve2011-08-07 下午 6:22 回复

    不敢给力,博主的这些代码只是说了一半,还有一半就是,$keywords和$description两个函数没有给大家讲清楚,这两个参数是需要定义,如果不定义,这些代码等于没用,我的网站是使用meta_key来实现这些功能的,在发布文章时自定义这两个选项。

    #24