SEO之WordPress标题关键字和描述优化技巧

摘要介绍WordPress标题、关键字和描述的优化技巧,做好title、keywords和description的优化,对提升网站的用户体验和搜索引擎排名都是大有益处的。在这里,小拼不推荐使用如All in One SEO Pack一类的SEO插件,会让你的WordPress变得更臃肿。

WordPress是套很出色的博客系统,目前已更新至3.1.2版本。不过,WordPress的SEO部分做得不太理想,尤其是网站标题(title)、META标签(关键字keywords和描述description)的部分。虽说现在有很多插件,如All in One SEO Pack,就是流行的WordPress搜索引擎优化解决方案,但是小拼不推荐,因为使用WordPress插件多少会对系统的性能有些影响。言归正传,今天小拼就教你如何手动优化WordPress的标题、关键字以及描述。

WordPress标题title优化

WordPress标题title的调用是通过wp_title()函数实现的,以WordPress 3.1.2为例,你可以打开/wp-includes/general-template.php,约528行左右进行查看:

function wp_title($sep = '»', $display = true, $seplocation = ''){
...
}

wp_title()函数主要包括三个参数,简单说下它们的意义,其中$sep是当前页面标题和其它部分的分隔符,默认值是>>(»);$display是个bool变量,默认值是true,意思是显示标题,而值为false时则不显示;$seplocation是定义分隔符的位置,值为right时表示分隔符在标题之后,其它值都表示分隔符放在标题之前。

wp_title()函数使用方法:<?php wp_title( '|', true, 'right' ); ?>,意思是显示标题,以“|”作为分隔符,并放在标题的右边。

如何针对WordPress标题进行优化呢?小拼认为,WordPress标题优化有一个原则,即标题应当精简、生动、有趣,避免标题过长、过短或重复标题的产生,当然标题也不能包含无用信息,更不能是空缺。一个好的网页标题,对提升网站的用户体验和搜索引擎表现都是大有益处的。事实上,这点在谷歌网站管理员工具中的“HTML建议”中就有很好的体现,比如“Title 标记”一栏就详细地记录了这些问题。

WordPress META标签关键字和描述优化

WordPress META标签优化主要包括关键字keywords和描述description优化。随着搜索引擎排名算法的更新,网页关键字和描述的权重已经没有以前高了,不过,小拼认为,网页关键字和描述还是要写好,否则META标签的keywords和description属性有何存在意义?如果有一天,HTML淘汰了它们,那就真的没什么关注的必要了,至少在HTML5中还是能看到关键字keywords和描述description的身影。当然,我们不排除网页关键字和描述会出现在搜索引擎的搜索结果中,这有助于提升你网站的用户体验以及搜索引擎排名

下面分享下WordPress的关键字和描述的优化心得,打开/wp-content/themes/你的主题目录,找到模板的header.php文件,将META标签的keywords和description部分替换为如下代码:

<?php
if (is_home())//首页关键字和描述,可以换成你网站的
{
    $description = "小拼:致力于搜索引擎营销(SEM)研究,关注搜索引擎优化(SEO),医院网络营销,SEO技术和电子商务.";
    $keywords = "SEM,搜索引擎营销,SEO,搜索引擎优化,医院网络营销";
}
elseif (is_page())//单独页面关键字和描述,WordPress默认是不显示的,考虑到单独页面也不多,这种判断形式还算快速,只要取得页面对应ID即可
{
 if ($post->ID == 1)//数字1是页面的ID,查看方法:鼠标移至对应页面的“编辑”字样上,状态栏出现的链接,形如post.php?post=1&action=edit,其中post=后面的数字1就是对应页面ID
 {
  $description = "小拼,80后草根站长,兴趣颇丰,喜欢写作,关注SEM和医院网络营销,擅长SEO,注重SEO策略和方法,实战经验丰富;此外,小拼对网站设计,DIV+CSS,PHP+MYSQL等也有涉猎.";
  $keywords = "小拼是谁?,联系小拼";
 }
 elseif ($post->ID == 46)
 {
  $description = "...";
  $keywords = "...";
 }
 //可以是多个判断条件下来,按这个逻辑写就行
}
elseif (is_single())//文章页关键字和描述
{
    $description = $post->post_excerpt ; //这里调用文章的摘要作为描述(description)
    $keywords = get_post_meta($post->ID, "keywords", true);//注意,这里调用的是文章的“自定义栏目”,不是文章TAG标签。你可以添加一个名称为“keywords”的自定义栏目作为每篇文章的关键字(keywords)
}
elseif (is_category())//分类目录关键字和描述
{
    $description = category_description();
    //5.29更新,防止描述为空时导致多个分类目录元描述重复,不利于SEO    
    if (!empty($description) && get_query_var('paged')) {//针对分类描述存在分页时的描述优化,避免“重复的元说明”情况,这是谷歌网站管理员的HTML建议中很重要的概念
    $description .= '(第'.get_query_var('paged').'页)';
    }
    $keywords = single_cat_title('', false);
}
elseif (is_tag())//TAG标签关键字和描述
{
    $description = tag_description();
    //5.29更新,防止描述为空时导致多个分类目录元描述重复,不利于SEO 
    if (!empty($description) && get_query_var('paged')) {
    $description .= '(第'.get_query_var('paged').'页)';
    }
    $keywords = single_tag_title('', false);//这里调用TAG标签名称作为关键字(keywords)
}
$description = trim(strip_tags($description));
$keywords = trim(strip_tags($keywords));
?>
<meta name="description" content="<?php echo $description; ?>" />
<meta name="keywords" content="<?php echo $keywords; ?>" />

注:以上PHP代码中的“//”之后的文字注释部分都可以删除,只是方便你了解它们的含义。

通过上面的介绍,是不是清楚了WordPress的标题、关键字(keywords)和描述(description)优化技巧呢?!WordPress很强大,但它并不完美,尤其是搜索引擎优化的部分。将SEO的策略和方法融入到WordPress中,你的站点会给你更多惊喜:-)

目前留言:11   其中:访客:11   博主:0

  1. 梦天边

    这个帖子很好用哦~改天试试!

  2. smart

    你好!
    我想用每一篇文章的tags作为文章的关键字、
    我尝试使用<meta name="keywords" content="” />来用、但是出现错误
    能否指教一下应该怎么样自动获取文章的tags来作为文章的关键字
    O(∩_∩)O谢谢

    • 小拼

      @smart
      你好,解决办法如下,对应替换即可,感谢你的关注!
      elseif (is_single())
      {
      $description = $post->post_excerpt ; //这里的意思就是如果是single页面,那么文章的摘要就定义为描述description
      $keywords = '';
      $tags = wp_get_post_tags($post->ID);
      foreach ($tags as $tag ) {
      $keywords = $keywords.$tag->name.',';
      }
      $keywords = substr($keywords, 0, strlen($keywords) - 1);//去除关键字最后一个逗号
      }

  3. smart

    您好!
    很感谢您这么及时的给予我回复。
    由于我原来的主题是没有关键字的,所以我现在添加到了下面。但是在首页显示错误,请问应该如何解决捏?O(∩_∩)O谢谢!

    • 小拼

      @smart
      嗯,解决了就好。个人建议你使用自定义栏目添加关键字功能,这样就避免了TAG和关键字重复。另外,你首页的显示错误问题,方便的话就把完整的header.php发到我邮箱里,我帮你检查下,很多时候可能是粗心或是COPY代码时字符问题导致的:-)

  4. 侯永禄

    博主您好,您的代码写得很好,我已经使用您写的代码修改模板了。在这里,我想问您一个问题:
    wordpress拥有强大的自定义域,本人觉得利用wordpress的自定义域进行single页的优化比较好。例如在自定义字段的名称里面分别定义keywords和description(当然可以自己另取名称),在值里面填入该文章的 keywords、description信息,然后就可以调用了。
    下面是代码:

    ID, 'keywords', true) ) : ?>
    <meta name="keywords" content="ID, $key, true); ?>" />

    ID, 'description', true) ) : ?>
    <meta name="description" content="ID, $key, true); ?>" />

    我想知道,如何将这段代码整合进您写的代码里面。本人只了解一点点PHP知识,所以请博主帮忙。谢谢你。

  5. 侯永禄

    评论中不能完整显示代码,不知道博主在后台能否看到完整代码。

  6. 小拼

    @侯永禄
    谢谢你的关注!single页,如果你自定义了keywords和description。那么你的META标签就可以这么写:

    <meta name="description" content="< ?php echo get_post_meta($post->ID, "description", true); ?>" />
    <meta name="keywords" content="< ?php echo get_post_meta($post->ID, "keywords", true); ?>" />

  7. 云飛

    不错不错,拿到我的博客试试!

  8. 李颖

    您好小拼:请问给WordPress单独页面设置META标签关键字和描述如何写,我想通过WordPress的自定义栏目设置description和keywords。 如果不麻烦给我下你的Q我加你吧,谢谢!

  9. 唯美

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

评论加载中...

给我留言

图片 表情