西门的后花园

一个热爱网络的年轻人的博客

WordPress博客添加首页、文章页、页面、分类页、标签页的关键字和描述进阶版

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

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

WordPress博客关键字描述

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

接下来就是实现方法:

一、下载压缩包解压,把seobox.php文件放到你的主题文件夹里。->点击下载<-

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

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

这句话的意思就是在functions.php里引入上面seobox.php的代码。

三、用编辑器打开header.php,在<head></head>之间任意地方(一般加到<title>下面比较美观)加上如下代码:

<?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; ?>" />

我相信你会把代码里那个首页的关键字和描述手动改成你自己的吧。

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

20120630更新《WordPress博客添加首页、文章页、页面的关键字和描述高级版

评论列表

  1. 看起来好犀利的样子,已水 =。=

  2. 这样做有什么效果

  3. 我来围观,我的新站已建成,可惜不用wp了。。。大哥的主机嗖嗖的。。。赞一个!!!

  4. 😛 实在太需要了

  5. 主题设置中没有?

    • 可以往主题设置里加首页的关键字和描述,但我也没主题发出来啊。 ➡
      文章页和页面,必须得在文章编辑框下面编辑的。

  6. 只需要第三步就够了 之前我也折腾过

  7. 呵呵 看我之前的 Wordpres添加meta标签设置关键词和描述 稍微修改了下 所以每篇文章的问题可以搞定 页面 确实没有 因为考虑页面一般比较少 而且有不确定因素

  8. 貌似就是关键字和描述自动截取吧

  9. 这个好,用起来很方便了 😉

  10. 这个SEO做得很足呀..连tag和category都有..

  11. 😉 好东西!学习了!求自动截取。。。

  12. 不错哦,这个好用多了

  13. 💡 你早说不得了么~~害我在群里闹了半天。用差不多的方法实现的。 :mrgreen:

  14. 这样的话,岂不是每个文章,每个页面都要手动的输入?有自动截取的,为啥要手动来弄呢?

  15. 果然是这样,看样子我得多研究下这方面,谢谢博主,果断收藏了~~真心不错

  16. 你这个太麻烦了,我还有更简洁的代码。

  17. 不研究了,顺其自然就好。

  18. 現在沒有動力了 :mrgreen:

  19. 投奔typecho了,不用wordpress了。

  20. 我不得不说,你这个真是我所需要的!但是我的主题很早以前的文字,都是自动读取文章前面一段文字,用了你这个,以前的说明,还会在吗?

    • 我看你最新一篇的文章,关键字和描述是空的。
      因为我不知道你以前是用的什么原理,建议看我昨天发的高级版那篇,试试如果把以前的弄没了,就不要用吧。
      你自己取舍吧。

  21. 这篇顶顶,前面那篇够用了。这个太复杂了。

  22. 很好很实用,博主好人啊

  23. 谢谢分享,已经使用中,但不知道效果如何。

  24. 一找就找到篇极品的,感谢楼主,测试了,非常不错。刚装的时候居然碰到create_meta_box函数相冲、、不知道是不是太幸运了、、

  25. 已经用上~替换了主题自带的默认截取~
    小建议:seobox.php中的默认值建议为空,移到描述中,否则每次都要删除那几个字挺麻烦的,偶已自己DIY~ ❗

  26. 雨天晴

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

    “?>” 这个在哪里,我的代码里最下面怎么没有

  27. 博主我按你的步骤下载下上传上去,也改了头部文件了,但是文章那里和你的不一样 就一个自定义。。。。

    • functions.php里引用了那一段代码没?没引用的话,seobox.php当然没起作用啦

      • 加入了那段代码了 然后头部也加上了 但是依然不行…..现在只有首页显示。描述和关键字,文章那里只显示一个自定义的…

        • 额,我也看不到效果。您填写的网站不是WordPress……
          这个东西加了之后,要去文章里填写那2个值,才有关键字和描述的,不写就是空的。

  28. 风行雪落

    你好 按你说的做了 怎么文章页编辑框下面没有出现关键字和描述这两个自定义栏目,在显示里面我也勾选了

    • 检查下前两步是否有问题,一,把seobox.php放到主题文件夹里;二,functions.php里要调用这个。

  29. 谢谢,已经实现,不用插件的感觉就是爽啊

  30. 我下了个主题 默认写了个首页的关键字,但没有描述 很不爽,分页page也元重复,我不能修改你的代码进去,因为一复制进去 就打不开网页,白屏。。新手求助

  31. 单独页面的添加方式 采用中… :mrgreen:

  32. “用编辑器打开functions.php,在最下面“?>”之前,加入:”
    我打开function.php ,怎么找不到“?>”呢?

发表评论

分类目录