WordPress设置description和keywords代码


WordPress主题提供的keywords和description这两个meta标签一般都处理的不好,或者根本就不进行处理优化。像WordPress Deve主题就只有主页和文章页面的keywords和description有内容,其他页面竟然都为空,这样不利于SEO。

本着能不用插件就不用的原则(其实什么All in One SEO啥的我从来木用过额)。本文将介绍如何给主页、分类目录、自定义页面、标签页面以及文章页添加Description 和 Keywords。本文代码是本人正在使用的,在实际的过程中请根据自己的主题情况进行必要的代码修改。

下面开始贴代码,将以下代码添加至WordPress主题header.php的<head></head>之间

<?php $options = get_option('deve_options'); ?> //取得后台“主题设置”里对keywords和description的设置
<?php
if(is_home() || is_page()) {
	$description = $options['description_content'];
	$keywords = $options['keyword_content'];
} elseif (is_single()) {
	$description = cut_str(strip_tags(apply_filters('the_content',$post->post_content)),200);
	$keywords = "";
	$tags = wp_get_post_tags($post->ID);
	foreach ($tags as $tag ) 
	{$keywords = $keywords . $tag->name . ",";}
} elseif (is_category()) {
	$description = category_description();
	$keywords = single_cat_title('', false);
} elseif (is_tag()) {
	$keywords = single_tag_title('', false);
	$description = "关于标签 " . $keywords . " 的相关文章";
}
$description = trim(strip_tags($description));
$keywords = trim(strip_tags($keywords));
?>
<meta name="description" content="<?php if (is_home()) { echo ($options['description_content']);} else echo $description;?>"/>
<meta name="keywords" content="<?php if (is_home()) { echo ($options['keyword_content']);} else echo $keywords;?>"/>

效果请点击本站各种页面后查看页面源代码。

22 Responses Comment (22) Trackback (0)
  1. coins league :

    我也是查这个查到这个博客,不过,keywords真没用了吗?

  2. 小梦 :

    感谢指导,,稍微修改了一些,全站通用。非常感谢

  3. 鲜活 :

    很不错的wordpress seo教程 :o

  4. 阿声 :

    你好!
    代码第一行是针对deve主题取参数(已经修改),但只有分类页能显示,文章页面都打不开,请教是什么原因??

    1. SingleX Post author :

      @阿声 : 您会改代码就好说很多,代码第6行开始的if是判断文章内容页,试着改改里面的语句吧,可以慢慢一句一句的加,看看到底那一句出问题

  5. lady :

    @SingleX : 我仔细看了月光博客,发现他的文章也有我这种问题,标点会出现在行首,应该是wordpress系统本身的问题,不纠结了,哈哈!

  6. lady :

    Disallow: /?
    Disallow: /*?*
    这两句有何区别呢?第二句不是包含了第一句的内容吗?

    1. SingleX Post author :

      @lady : 以前真没注意过说有什么不同O(∩_∩)O,看了一会百度的搜索帮助信息,第二句应该是可以包含第一句的。但是很多博客就这么写了,可能出于其他比如安全或者保证不出问题的目的

      1. lady :

        @SingleX : 谢谢大师,已经改好了robots文件。还有个问题请教一下哈,我的网站显示文章时,中文标点符号会出现在行首,百度了好久也找不到答案,不知道该怎么解决?

        1. SingleX Post author :

          @lady : 贵站网址?

  7. lady :

    大师,我用的是Twenty Eleven主题,我在后台自定义栏目给每篇文章都添加了keywords和description,为什么用站长工具检测meta信息这两个值都显示为0呢?

    是不是还要同时改header.php的代码啊?

    1. SingleX Post author :

      @lady : 后台自定义栏目的内容一般是放在body标签内,是不起作用的。网页的keywords和description只能加在head里,只要修改好header.php就行了

      1. lady :

        没有改动,直接插入你的代码后,文章页面都打不开,其他页面可以正常显示,为什么呢?
        是不是因为我已经在自定义栏目给每篇文章设置了关键词和描述?

        1. SingleX Post author :

          @lady : 噢,你直接用上面的代码肯定会出错的(除非你也用的Deve主题),代码第一行是针对deve主题取参数,你的如果不是deve主题,肯定取参数错误。按照自己的主题再适当修改下吧

          1. lady :

            我修改了代码,现在页面能正常访问了,谢谢你:)

            另外,我还想问一下,我之前用的是默认的固定链接,最近才改成伪静态链接,那么需要屏蔽之前的动态链接吗?

            百度目前只收录了我的首页。搞不懂这些名堂

            1. SingleX Post author :

              @lady : 是的你需要设置自己网站的robots.txt文件来屏蔽/?等带动态参数的链接,参考我的http://www.singlex.net/robots.txt

              1. lady :

                @SingleX : 大师,请问你给的robot文件我还需要改动吗,还是直接全盘采用?

                1. SingleX Post author :

                  @lady : 根据自己网站的优化情况做适当修改,如果直接用我也没什么要说的O(∩_∩)O哈哈~

  8. 前瞻 :

    关键词设置还需要特意进行设置??

    1. SingleX Post author :

      @前瞻 : SEO优化,那必须的

  9. 大发 :

    keywords现在已经没什么用了

    1. SingleX Post author :

      @大发 : 在百度统计的功能里看着建议说缺少这个就给补上了,有点强迫症O(∩_∩)O哈哈~

发表评论