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

Ludou

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

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

     下面提供露兜博客设置keywords和description的代码,将以下代码添加至WordPress主题header.php的<head></head>之间,最后用UTF-8编码另存为,否则中文会乱码:

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
32
33
34
35
36
37
38
<?php
if (is_home() || is_page()) {
    // 将以下引号中的内容改成你的主页description
    $description = "露兜博客描述";

    // 将以下引号中的内容改成你的主页keywords
    $keywords = "WordPress, 博客, 编程,php,ludou";
}
elseif (is_single()) {
    $description1 = get_post_meta($post->ID, "description", true);
    $description2 = mb_strimwidth(strip_tags(apply_filters('the_content', $post->post_content)), 0, 200, "…");

    // 填写自定义字段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 = 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则取分类或标签的名称。

本文版权归露兜博客所有,转载引用请完整注明以下信息:
本文作者:Ludou
本文标题:WordPress使用经验(一)独立的Description 和 Keywords
本文地址:http://www.ludou.org/wordpress-exp-1.html

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

标签: , ,

73 条评论

我来说两句
1 2 5
  1. 酷剑

    最近突然想其要是没有手动输入自定义字段keywords的时候,但是有输入关键词,我要如何调用关键词,同时要是有手动输入自定义字段keywords的时候可以输出呢?自己试了一下。失败了。请教你。

  2. 荆轲博客

    非常实用,非常感谢!

  3. low

     <?php wp_head(); ?>
    博主你好,我在header.php中用了上面的那段代码,网页头部和尾都会前后缩进一截,不知道博主有没解决办法?

    • Ludou

      请使用utf-8编码保存,还不行请逐一禁用插件,检查插件冲突

      • low

        多谢露兜大哥!!我试试看,不过我是用utf-8保存的!

      • low

        已排除不是插件冲突,utf-8编码保存也不管用!!而且用utf-8编码保存,网页靠边了,CSS错位。
        应该属于浏览器不兼容,在火狐、谷歌上是正常的,IE7.0上不正常,另外,删除<?php wp_head(); ?>这个代码会好点,不知道它有什么作用,删除后有何影响?

        • Ludou

          你可以使用浏览器的查看源代码功能,查看添加<?php wp_head(); ?>后,到底添加了哪些html代码。

          • low

            在本地测试的,添加<?php wp_head(); ?>后,在源代码中多出了很多html代码.

            不加<?php wp_head(); ?>时是没有这些代码的,其它代码都完全一样,那我可不可以删掉这句,应该没什么影响吧!!还请Ludou 大哥有空解答!!

        • Ludou

          你可以上网搜索:wordpress 去除 工具栏

  4. WP初学者

    怎样给每篇文章添加两个自定义字段keywords和description,不太懂,能说的更详细些么??

  5. losable

    小菜鸟学习了,顺带转载到我的博客http://losable.org/1274.html
    注明了出处的!

  6. m_in2

    谢谢!已经用上了。

  7. 无无

    请问分类怎么设置关键词呢?要给term_taxonomy增加字段吗?

  8. gci

    真的不错,这些代码我也要研究一下,可惜水平不高,但是看得出来博主写的很用心,不错不错!

  9. 经典电影网

    我的小站用上了,效果不错,非常感谢!

  10. 传令兵

    非常好用,感谢分享!
    ——
    有个问题求教,我用的主题比较特殊,本身除了博客文章页面还有一个作品展示页面,

    作品展示页面不能调用TAG作为页面关键词,文章页面倒是可以!

    是不是文章页面使用的标签(tag)和作品展示页面使用的作品集标签(Portfolio Tag)不一致导致的呢?

    又拍图片链接 http://pic.yupoo.com/mumta/BOp52Is8/kuWGx.jpg

    如果是的话,怎样修改代码可以让作品展示页面调用作品集标签呢?

    多谢!!!

  11. 指南者

    TAG页面如果添加 求代码

1 2

发表评论

订阅评论