你下載的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()) {
// 將以下引號中的內(nèi)容改成你的主頁description
$description = "露兜博客描述";
// 將以下引號中的內(nèi)容改成你的主頁keywords
$keywords = "WordPress, 博客, 編程,php,ludou";
}
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時顯示自定義字段的內(nèi)容,否則使用文章內(nèi)容前200字作為描述
$description = $description1 ? $description1 : $description2;
// 填寫自定義字段keywords時顯示自定義字段的內(nèi)容,,否則使用文章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插件了,。(如果你嫌自定義字段麻煩,,可以添加一個自定義字段面板,錄入更簡單:詳見:WordPress添加自定義字段面板) 主頁(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編碼另存為,替換原來的文件,,否則可能會亂碼
-- 完 --
|