这篇文章转自西门的后花园,这个早就用上了,只不过最近在折腾另一个博客,找了半天才找到,留着以后备用。

刚开博客的时候写过同样一篇文章《帮你的WordPress博客添加主页、文章页的关键字和描述》,是因为这种方法加关键字和描述对搜索引擎最友好,比“All In One SEO”之类的插件要好很多,至于你信不信,我反正是信了。而居然让我没想到的是,很多新手朋友居然不知道“自定义栏目”(以前较“自定义域”)在哪……其实就在编辑文章页面的右上方,有个“显示选项”的下拉,把“自定义栏目”(之前版本叫“自定义域”)勾选即可。

正好Sola同学跟我留言,建议我做个meta box,所以上午在家无聊就搜了一下相关文章把这个效果改进,最终效果如下图:

这种在文章编辑框下面可见的形式,我想再没有哪个新手还不会的吧?

接下来就是实现方法:

一、下载压缩包解压,把seobox.php文件放到你的主题文件夹里。[Downlink href=”https://blce.me/wp-content/uploads/2013/04/seobox.zip”]点击下载[/Downlink]

二、用编辑器打开functions.php,在最下面“?>”之前,加入:

[cceL_php]
//首页、文章页、页面加关键字和描述
include dirname(__FILE__) . '/seobox.php';
[/cceL_php]

这句话的意思就是在functions.php里引入上面seobox.php的代码。
三、用编辑器打开header.php,在<head>与</head>之间任意地方(一般加到<title>下面比较美观)加上如下代码:

[cce_php]
<?php
//首页
if (is_home()){
	$keywords = "你网站首页的关键字";
	$description = "你网站首页的描述";
}
//文章页、页面
elseif (is_single() || is_page()){
	$keywords = get_post_meta($post->ID, "keywords", true);
	$description = get_post_meta($post->ID, "description", true);
}
//分类页
elseif (is_category()){
	$keywords = single_cat_title('', false);
	$description = category_description();
}
//标签页
elseif (is_tag()){
	$keywords = single_tag_title('', false);
	$description = tag_description();
}
$keywords = trim(strip_tags($keywords));
$description = trim(strip_tags($description));
?>
<meta name="keywords" content="<?php echo $keywords; ?>" />
<meta name="description" content="<?php echo $description; ?>" />
[/cce_php]
我相信你会把代码里那个首页的关键字和描述手动改成你自己的吧。

OK,这样就大功告成了。这段代码可以使用在五个页面里:首页(直接修改上面代码)、文章页(新建或编辑文章时,编辑框下面)页面(新建或编辑页面时,编辑框下面)、分类页(关键字是分类名,描述是分类目录描述)、标签页(关键字是标签名,描述是标签描述)。分类目录描述和标签描述,点击后台每个分类名和标签名里有。此方法兼容我以前写的文章方法。

如果有代码洁癖,或者不想在模板文件夹里多加seobox.php之类的文件,可以打开seobox.php,复制除第一排“<?php”和最后一排“?>”之外中间的代码,到functions.php的“?>”之前,同样也是可以的。

参考文章:http://www.itfen.com/bbs/thread-535-1-1.html

http://www.solagirl.net/meta-box-vs-custom-fields.html

http://www.ludou.org/wordpress-exp-1.html