WordPress 4.0給分類和頁面單獨添加Description和Keywords

2014-10-17 09:20:32來源:露兜博客作者:

你下載的 WordPress 主題提供的keywords和description這兩個meta標簽一般都做得很差,或者根本就不提供,這樣不利于SEO。本文將指導你如何給主頁、分類、頁面以及文章頁添加單獨的Description 和 Keywords。

你下載的 WordPress 主題提供的keywords和description這兩個meta標簽一般都做得很差,或者根本就不提供,這樣不利于SEO。本文將指導你如何給主頁、分類、頁面以及文章頁添加單獨的Description 和 Keywords。

很多人都在用All in One SEO插件解決這個問題,但是又有很多人說這個插件不好。大不了咱就自己用代碼實現(xiàn)吧。

下面提供露兜博客設置keywords和description的代碼,將以下代碼添加至WordPress主題header.php的<head></head>之間,最后用UTF-8編碼另存為,否則中文會亂碼:

<?php
$description = '';
$keywords = '';

if (is_home() || is_page()) {
   // 將以下引號中的內容改成你的主頁description
   $description = "露兜博客描述";

   // 將以下引號中的內容改成你的主頁keywords
   $keywords = "WordPress, 博客, 編程,php,ludou";
}
elseif (is_single()) {
   $description1 = get_post_meta($post->ID, "description", true);
   $description2 = str_replace(" ","",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了,你完全可以拋棄All in One SEO插件了。

主頁(home)和頁面(page)的description和keywords是用PHP代碼直接寫的,你可將上面的露兜博客的描述改成你的。

分類(category)頁和標簽頁(tag)的description直接取分類或標簽的描述,這個可以根據(jù)需要在WordPress管理后臺更改,keywords則取分類或標簽的名稱。如果你想手動給每個分類定義description和keywords,可以將第27-28行代碼改成:

if (is_category('音樂')) {
    $description = '這里填音樂分類的描述';
    $keywords = '這里填音樂分類的關鍵字,半角逗號隔開';
}
elseif (is_category('電影')) {
    $description = '這里填電影分類的描述';
    $keywords = '這里填電影分類的關鍵字,半角逗號隔開';
}
elseif (is_category('戲。)) {
    $description = '這里填戲劇分類的描述';
    $keywords = '這里填戲劇分類的關鍵字,半角逗號隔開';
}

// 多個分類,復制9-12行代碼,粘貼到13后面行,類似5-12行,改一下分類名稱即可
// 使用UTF-8編碼另存為,替換原來的文件,否則可能會亂碼
 

關鍵詞:WordPress