西门的后花园

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

帮你的WordPress博客添加主页、文章页的关键字和描述

不知道为什么,WordPress博客居然没有添加关键字keywords描述description的设置…因为我之前也有个博客,需要搜索引擎收录他,所以请教到一个方法,这里就向大家分享一下。本博客已经使用此方法,大家可以查看主页、文章页的代码查看效果。查看方法:右键页面–查看源文件。

打开博客根目录,wp-content/themes/你的主题目录下面的header.php文件,在

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

下面加上:

<?php if (is_home()) { ?>
<meta name="keywords"  content="你网站的关键字" />
<meta name="description"  content="你网站描述" />
<link rel="canonical"  href="<?php echo get_settings('home'); ?>" />
<?php } ?>
<?php if ( is_single() ) { ?>
<meta name="keywords" content="<?php $key="keywords"; echo get_post_meta($post->ID, $key, true); ?>" />
<meta name="description"  content="<?php $key="description"; echo get_post_meta($post->ID, $key, true); ?>" />
<link rel="canonical" href="<?php echo get_permalink($post->ID);?>" />
<?php } ?>

这段代码你可以适当修改,当然,前提是你要懂他是什么意思。

还没完,修改“你网站的关键字”为你自己想要的首页关键字,修改“你网站描述”为你自己想要的首页描述,首页搞定!

下面是文章页。每次发文章的时候,在自定义域那里,添加两个自定义域:

名称一:keywords,值一:这个页面的关键字。

名称二:description,值二:这个页面的描述。

帮你的WordPress博客添加主页、文章页的关键字和描述

这样,你发表的文章页面,也会出现对应的关键字和描述啦~~~你可以看看本页面的代码里面keywords和description是不是图片上面的值了。

友情提示:关键字keywords里面,需要用英文逗号分开,搜索引擎才认得出来。

自定义域在编辑文章页面的右上方,有个“显示选项”的下拉,把“自定义栏目”(之前版本叫“自定义域”)勾选即可。

20120624更新《WordPress博客添加首页、文章页、页面的关键字和描述进阶版

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

评论列表

  1. 笑客

    😛 谢谢!

  2. 不错 我去试试 哈哈 😀 3ks

  3. 蓝永哲

    我的文章页怎么没有效果呢?是不是还需要插件~请教一下~希望收到邮件

  4. 很有用,在自己网站帖出了,www.imyxz.com

  5. 西门我是没有文章页,我的全是分类,怎么做?

    • 不行,因为这方法是通过自定义域来加关键字和描述的,我只知道文章页和新建页面这两个地方都可以加自定义域。

  6. 文章页面还能加,我去试试。。这样收录效果更好。嘻嘻

  7. 🙄 加上没效果,页面还乱码了,大哥帮帮忙。QQ370749921

  8. 感谢楼主的好文,学习了!~ 😳

  9. 哇哈哈
    正是我要找的东西~~
    在留言板一路看下来,你真是什么都回复了,RP很好,嗯,以后逮着你问问题了,哈哈
    我的博刚开,放了个你的链接,不介意吧

  10. 还是有的寒,今天刚改header.php 改得页面不显示了。。。害的我重装主题。

  11. 每次写文章都要自定义关键字字段,很麻烦。有没有自动把tags作为这个文章页的关键字的方法?

    另外,我在head.php加上代码后,在火狐浏览器3.X下,网站会错位,求助!

  12. 你好,我想问一下我加进去代码之后还是没有。。我用CNZZ这个工具查自己的关键字和描述依然没有。。请问怎么解决?

  13. 有这类的插件么?All in one SEO?

  14. 看来这个代码也有好几种的。我的用法跟你一样,但是代码不一样。

  15. 说得不错,我就是用这样的方法。

  16. 感谢楼主伟大的分享胸怀!!! 😎

  17. 西门兄,那么分类目录和页面的关键字,如何设置呢?
    这样只有主页和文章页了。

  18. 你说自定义域在哪里,能截图吗

  19. 谢谢,我用的all in one SEO 插件,不知道怎么了,快照也更新了,就是没收录描述!所以用您的方法试试看看行不行。再次感谢

  20. 学习下,正在想找这个呢

  21. 谢谢你的东东

  22. 非常感谢,终于弄好了,主机格调空间怎么样啊,和那个小邓主机比如何啊,最近好纠结换哪个

    • 额,这叫我怎么说呢?『主机格调』是我的,质量肯定是无话可说的,如果你要买,就是和我这个博客同一台服务器了。

  23. 不错,我用了,行了 ,谢谢博主了

  24. 哇。我的也好了。找了好久。才找到你的有用。。太感谢你了。

  25. tyj

    西门大哥 那个自定义域在哪里啊 我找半天就是没找到啊

  26. tyj

    西门大哥 那个自定义域在哪里啊 我找半天就是没找到啊。。。。。。。

  27. tyj

    😛 谢谢西门大大

  28. tyj

    西门大哥 非文章页的内页怎么设置描述和关键词啊

  29. 不错不错,学习了 嘿嘿

  30. 吉祥鸟

    我的分类目录成了关键词
    跟这个有点矛盾 不知道咋弄

  31. 小小

    请问,写文章时已经设置好两个值,页面代码却不显示,什么原因呢? 首页设置的都显示正常

  32. 请问西门那个添加文章时 的自定义域.我的模板木有哦!
    这样还有其它的办法不?不用插件

  33. 我今天再爱站网上查了一下,我的博客连关键字都没有,这是怎么回事,有点小迷茫,是不是我刚开始的时候没有设置好,博主?

  34. 西门兄,我的网站按照你说的办法去做了,可百度的“URL优化”那里说描述标签不完整啊,希望你加我QQ123456,谢谢你咯

  35. 🙄 有个All in One SEO插件,可以实现http://www.liangjun.org/wordpress%E5%8D%9A%E5%AE%A2%E6%B7%BB%E5%8A%A0%E4%B8%BB%E9%A1%B5%E3%80%81%E6%96%87%E7%AB%A0%E9%A1%B5%E7%9A%84%E5%85%B3%E9%94%AE%E5%AD%97%E5%92%8C%E6%8F%8F%E8%BF%B0.html

    • 关键字插件相当影响性能,如果你不担心的话也可以用。

      • <link rel="canonical" href="<?php echo get_permalink($post->ID);?>" />
        这个wordpress默认就会输出,还需要再写一遍么?

        • 你值得默认会输出,是输出canonical的本网页链接么?
          貌似不行啊,你试试查看首页源代码。
          另外,<?php wp_head(); ?>好像可以自动在文章页输出canonical

          • 应该是吧,至少源代码里写的和你的应该没区别,default-filters.php里面有
            add_action( 'wp_head', 'rel_canonical' );
            然后这个函数最后是
            $link = get_permalink( $id );
            echo "<link rel='canonical' href='$link' />\n";
            至少我感觉,如果不是在主题或插件里remove_filter,这个应该是默认输出的

            • 我是用的the_permalink,和你的get_permalink一样,只能输出文章的固定链接。如果可以找到一个函数,可以输出当前网页链接是最好。
              不过现在不是怎么输出分类和页面的链接。

          • PS.看了下你网站的头部,canonical输出了两遍

            • 发现了,我也好奇,看到有介绍:
              在 WordPress 2.9 发布之后,WordPress 已经默认支持这一标签了,我们无需做任何动作,主题就支持这一标签。我们可以在 WordPress 的源文件 wp-includes/default-filters.php 看到如下的代码:
              add_action( 'wp_head', 'rel_canonical' );

  36. 😛 感谢分享,不知道有没有自动生成 关键字、简介的插件或者其他方法? 嘿嘿

  37. 请问下您的wordpress是哪个版本的呀?我的好像不一样哎!

  38. 我用了你推荐的代码之后,在首页的代码里还是找不到 keyword和description,看来我是代码文盲了呀,最后还是用了All in One SEO插件来实现了。http://fangxingw.com/newsview.php/2

  39. 感觉把custom field换成meta box会更友好一下,不过自己用,也无所谓了

  40. 现在好像都不怎么这样加了吧。

  41. 首页算是用上了,但文章页面里面,我没有找到那个自定义域哦

  42. 学习了,果断去改

  43. 😛 又发现了好多技术文 😆 收藏之 感想分享

  44. 这个我试过了,但是首页的添加的中国描述显示的是乱码,如果把编码改为UTF-8的话,其他内容页则会靠左对齐,很郁闷,请问怎么解决呢?

  45. 不错的方法,很有用。我想问一下我的博客每个文章页面的title默认就是文章标题,请问这里是不是需要修改?怎么修改?谢谢

  46. 我的可以用了,现在我想在主题分类和存档页也想放关键词和描述怎么办?

  47. 文章页的自定义域 在哪里呢?没看到呀 亲 麻烦告诉下 谢谢!!

    • 自定义域在编辑文章页面的右上方,有个“显示选项”的下拉,把“自定义栏目”(之前版本叫“自定义域”)勾选即可。

  48. 我的主题头部找不到<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />怎么办……

  49. 大山路

    我和上面这位同学情况一样,没有那段代码,按照你说的我把那段代买放到了title,我不知道放的对不对,放上后用SEO检测还是检测不到,麻烦给看下是哪没弄对。
    <head>
    <meta charset="<?php bloginfo( 'charset' ); ?>" />
    <title><?php
    /*
    * Print the <title> tag based on what is being viewed.
    */
    global $page, $paged;

    wp_title( '|', true, 'right' );

    // Add the blog name.
    bloginfo( 'name' );

    // Add the blog description for the home/front page.
    $site_description = get_bloginfo( 'description', 'display' );
    if ( $site_description && ( is_home() || is_front_page() ) )
    echo " | $site_description";

    // Add a page number if necessary:
    if ( $paged >= 2 || $page >= 2 )
    echo ' | ' . sprintf( __( 'Page %s', 'twentyten' ), max( $paged, $page ) );

    ?></title>
    <?php if (is_home()) { ?>
    <meta name="keywords" content="互联网,创业,商业模式,移动互联网,产品,笔记,推广,运营,团队,产品经理,投资,思考,大山路" />
    <meta name="description" content="一名创业者,在大山路上记录关于互联网,创业,商业模式,移动互联网,产品,推广,运营,团队,产品经理,投资等等的笔记和思考" />
    <link rel="canonical" href="<?php echo get_settings('home'); ?>" />
    <?php } ?>
    <?php if ( is_single() ) { ?>
    <meta name="keywords" content="<?php $key="keywords"; echo get_post_meta($post->ID, $key, true); ?>" />
    <meta name="description" content="<?php $key="description"; echo get_post_meta($post->ID, $key, true); ?>" />
    <link rel="canonical" href="<?php echo get_permalink($post->ID);?>" />
    <?php } ?>
    <link rel="profile" href="http://gmpg.org/xfn/11&quot; />
    <link rel="stylesheet" type="text/css" media="all" href="<?php bloginfo( 'stylesheet_url' ); ?>" />
    <link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>" />
    <?php
    /* We add some JavaScript to pages with the comment form
    * to support sites with threaded comments (when in use).
    */
    if ( is_singular() && get_option( 'thread_comments' ) )
    wp_enqueue_script( 'comment-reply' );

    /* Always have wp_head() just before the closing </head>
    * tag of your theme, or you will break many plugins, which
    * generally use this hook to add elements to <head> such
    * as styles, scripts, and meta tags.
    */
    wp_head();
    ?>
    </head>

  50. 使用了此代码
    查询出 首页 还是无关键词 http://www.ctobu.com
    但是内容页上面已经有了

  51. 谢谢博主的分享咯,已经按照你的方法试了下,不知道效果如何,直接将你的文章转载过去咯。

  52. 博主,还想问下,你那个自定义区域里的keywords和description后面对应的值必须是要自己来根据当前页的文章来写的吧?

    加入了你上面所说的代码后,要怎样才能检测出自己主页的关键词和描述有写上去了?

  53. 😥 按你说的添加了,可是还是无法显示出来~我加你QQ,让你帮我看看~西门兄

  54. 来感谢了,后来又试验了几次ok了!!
    真是太感谢了!!

  55. 有帮助,谢谢博主分享

  56. 有没有什么插件啊?博主?

  57. 按你说的做了以后页面出现了俩个keyword和description,其中有一个我原来的页面就有,加上你的方法又出现了一个,请问怎么解决啊。

    • 你好,你这种情况,不能直接复制我的代码。必须要找到原来的方法,然后自己按照我的代码思路来优化代码。尽信书不如无书

  58. 这是代码,可否给看下,谢了!

  59. 如果我把摘要加上的话,原来的那个description标签就是摘要中的信息,但是keywords总没有东西的,一个页面可以有多个keywords标签吗?

  60. 不用了,问题解决了,哈哈。

  61. 讲得很细致,学习了。

  62. 😳 很不错啊,我正愁这个问题呢,我的网站http://www.skywhat.com希望你能指教 ❗

  63. 多谢多谢,刚好看到这个,感谢站长分享.

发表评论

分类目录