WordPress使用经验(一)独立的Description 和 Keywords

2009年05月12日

     你下载的 WordPress 主题提供的keywords和description这两个meta标签一般都做得很差,或者根本就不提供,这样不利于SEO。本文将指导你如何给主页、分类、页面以及文章页添加单独的Description 和 Keywords。

     很多人都在用All in One SEO插件解决这个问题,但是又有很多人说这个插件不好。大不了咱就自己用代码实现吧。

     下面提供露兜博客设置keywords和description的代码,将以下代码添加至WordPress主题header.php的<head></head>之间:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
if (is_home() || is_page())
{
    // 将以下引号中的内容改成你的主页description
    $description = "露兜博客描述";

    // 将以下引号中的内容改成你的主页keywords
    $keywords = "WordPress, 博客, 编程,php,ludou";
}
elseif (is_single())
{
    $desc = "description";
    $key = "keywords";
    $description = get_post_meta($post->ID, $desc, true);
    $keywords = get_post_meta($post->ID, $key, true);
}
elseif (is_category())
{
    $description = category_description();
    $keywords = single_cat_title('', false);
}
elseif (is_tag())
{
    $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直接取分类或标签的描述,这个可以根据需要在WordPress管理后台更改,keywords则取分类或标签的名称。

露兜博客博主,计算机科学与技术专业本科在读,男生,儒家思想受益者。文采不佳,不喜欢聚光灯,不喜欢吹牛,不喜欢无序的做事方式。闲时喜欢写些代码自娱自乐,并在博客中分享一些个人技术经验。

点击支持作者 1
标签: ,
Advertising
  1. 2010年8月27日 12:07 | #1

    这篇文章我转载了,我会做好链接与出处,谢谢!

    [回复]

  2. Tony
    2010年8月8日 18:39 | #2

    谢谢分享,这个方法已经用上了
    还有个问题想提问下,就是我想在文章页面每篇文章之前加一个本篇文章的简介,然后我想通过调用每篇文章的description来实现,结果在论坛还有搜索引擎找了很久都没有找到,不知道博主可不可以帮忙看下,先谢了

    [回复]

    Ludou 回复:

    single.php 查找:
    the_content();

    在它之前加上自定义字段的调用代码:
    get_post_meta($post->ID, "description", true);

    注意:自定义字段的名称为description

    [回复]

  3. 2010年7月13日 20:45 | #3

    很好,我要试一下,嘻嘻,顺便问一下,那个插件不好在哪里了??

    [回复]

    Ludou 回复:

    至于哪里不好,自己上网搜搜!

    [回复]

    简单 回复:

    我昨天装了个插件,还行,马上再试试你这种方法,我还是百度一下吧

    [回复]

  4. 2010年6月21日 10:22 | #4

    很好的东西,谢谢分享

    [回复]

  5. 2010年6月16日 11:21 | #5

    谢谢!用上了!!

    [回复]

  6. 2010年6月11日 15:35 | #6

    不错,很好

    [回复]

  7. 2010年5月23日 11:41 | #7

    那个似乎不能回复了
    不是文章的过错,老衲不会表达,阿弥陀佛….

    [回复]

    Ludou 回复:

    哪篇文章不能回复?

    [回复]

  8. 2010年5月22日 22:07 | #8

    虽然文章很老了,但是值得用力顶一下。

    [回复]

    Ludou 回复:

    文章老,但是内容仍然适用!

    [回复]

  9. 萨达
    2010年5月7日 16:59 | #9

    因为我不太懂,就继续留言给您,希望您不要嫌烦,我在header.php里只找到</head>没看到
    <head>,就加在它前面了。我后台Blog 副标题已经设置了。可是首页一直只显示网站的名字,不显示副标题,怎么回事啊?

    [回复]

    Ludou 回复:

    这里只教你修改博客的Description 和 Keywords,并没有告诉你修改首页标题。
    如果你想修改博客标题,</head>之前应该有类似代码:
    <title>….</title>

    将其改成:
    <title><?php if ( is_home() ) {
    bloginfo('name'); echo " – "; bloginfo('description');
    } elseif ( is_category() ) {
    single_cat_title(); echo " – "; bloginfo('name');
    } elseif (is_single() || is_page() ) {
    single_post_title(); echo " – "; bloginfo('name');
    } elseif (is_search() ) {
    echo "搜索结果"; echo " – "; bloginfo('name');
    } elseif (is_404() ) {
    echo '页面未找到!';
    } else {
    wp_title('',true);
    } ?></title>

    [回复]

  10. 萨达
    2010年5月6日 12:36 | #10

    <head></head>的任意地方吗?

    [回复]

    Ludou 回复:

    是的!

    当然,如果学过html的话,你应该知道不能随便插到其他标签中。

    不懂的话,放到</head>之前就可以。

    [回复]

    老衲 回复:

    有疑问都不知道怎么问…

    [回复]

    Ludou 回复:

    那只能说明我的文章写得很失败了。

    [回复]

  11. 2010年4月26日 08:56 | #11

    很感谢这里分享的方法,我正需要这样的功能

    [回复]

    Ludou 回复:

    不必客气,有什么问题可以给我留言。

    [回复]

  12. 2010年4月20日 11:52 | #12

    如果这样子,每一写文章都要加入这两个字段,还是有一点麻烦的~

    [回复]

    落5秋 回复:

    俺自己搞错老。。。呵呵~

    [回复]

    Ludou 回复:

    如果你不想搞SEO的话,你可以不用填

    [回复]

  13. 2010年4月9日 09:51 | #13

    谢谢,楼主,我用上了。

    [回复]

  14. 2010年3月16日 15:21 | #14

    这段代码俺找了好久,你提供的最有效,正好用上了

    [回复]

  15. 2010年3月10日 01:15 | #15

    按照您提供的方法修改了。但是不行.查看源代码。里面的汉字都边成乱码了。不知道是怎么搞的。

    [回复]

    Ludou 回复:

    将你的文件编码改成utf-8即可

    [回复]

  16. 2010年3月10日 00:20 | #16

    按照你说的试试看。

    [回复]

  17. 2010年3月7日 16:12 | #17

    照此修改,特表感谢

    [回复]

    Ludou 回复:

    不客气

    [回复]

  18. 2009年10月28日 21:27 | #18

    博主可否告知你的联系方式啊

    QQ呢,嘿嘿,那样似乎效率点 share@vip.qq.com 方便的话邮箱告诉我呢

    [回复]

    Ludou 回复:

    我的邮箱可以在这个页面看到 http://www.ludou.org/about

    [回复]

  19. 2009年10月28日 21:26 | #19

    以后在写博客文章时只需添加两个两个自定义字段即可,第一个自定义字段名称为keywords,字段值写上这篇文章的关键字。接着再添加第二个自定义字段,自定义字段名称为description,后面的字段值写上这篇日志的描述。自定义字段用过一次后,以后再写日志只需在下拉框中选择即可。这样每篇文章都有你自定义的keywords和description了,你完全可以抛弃All in One SEO插件了。

    这一段应该怎么理解啊

    写博客文章时只需添加两个两个自定义字段即可 这两个字段应该添加在哪呢

    自定义字段用过一次后,以后再写日志只需在下拉框中选择即可。这个下拉框又是在哪呢

    不好意思博主,太菜了,相同SEO但是又不想用插件来的,正好看到博主这篇文章可又不能完全吸收

    [回复]

    Ludou 回复:

    你在WordPress后台添加文章的时候,页面下面有个“添加新自定义域:”,名称那里填上“description”,后面的字段值写上这篇日志的描述,最后点击“添加自定义域”即可,其他类同!以后再写日志只需在下拉框中选择即可,就是在“添加新自定义域”下的那个“选择”下拉框!

    [回复]