A-A+

优化inove主题的Meta信息

2011年05月14日 Wordpress 评论 7 条 阅读 1,656 views 次

  本博客一直使用的是MG12的inove主题,但是次主题的使用太过泛滥,为了让自己的博客主题能够和别人有所区别,于是我在去年对主题进行了一些修改,当时主要是修改了一下主题的配色和样式,然后就没有再折腾了,一直用到现在,最近在用一些站长工具检测博客的时候发现,博客的META信息除了标题(Title)正常外,关键词(KeyWords)和描述(Description)都不能正常显示,这应该非常影响博客的SEO,虽然本人对SEO不是很热衷,也没有去深入研究过,但是觉得一些基本的优化还是要做的。

  我另外一个博客使用了知更鸟的HotNews Pro2.4主题,感觉他的Meta信息优化做的很不错,就直接借用了一下,在HotNews Pro2.4主题文件里的“includes”文件夹里找到“seo.php”文件,这个文件就是Meta信息的PHP文件,把这个文件上传到inove主题的根目录,这个文件的全部代码如下:

< ?php if ( is_home() ) { ?><title>< ?php bloginfo('name'); ?> | < ?php bloginfo('description'); ?></title>< ?php } ?>
< ?php if ( is_search() ) { ?><title>搜索结果 | < ?php bloginfo('name'); ?></title>< ?php } ?>
< ?php if ( is_single() ) { ?><title>< ?php echo trim(wp_title('',0)); ?> | < ?php bloginfo('name'); ?></title>< ?php } ?>
< ?php if ( is_page() ) { ?><title>< ?php echo trim(wp_title('',0)); ?> | < ?php bloginfo('name'); ?></title>< ?php } ?>
< ?php if ( is_category() ) { ?><title>< ?php single_cat_title(); ?> | < ?php bloginfo('name'); ?></title>< ?php } ?>
< ?php if ( is_month() ) { ?><title>< ?php the_time('F'); ?> | < ?php bloginfo('name'); ?></title>< ?php } ?>
< ?php if (function_exists('is_tag')) { if ( is_tag() ) { ?><title>< ?php  single_tag_title("", true); ?> | < ?php bloginfo('name'); ?></title>< ?php } ?> < ?php } ?>
< ?php
if (!function_exists('utf8Substr')) {
 function utf8Substr($str, $from, $len)
 {
     return preg_replace('#^(?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$from.'}'.
          '((?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$len.'}).*#s',
          '$1',$str);
 }
}
if ( is_single() ){
    if ($post->post_excerpt) {
        $description  = $post->post_excerpt;
    } else {
   if(preg_match('/<p>(.*)< \/p>/iU',trim(strip_tags($post->post_content,"</p><p>")),$result)){
    $post_content = $result['1'];
   } else {
    $post_content_r = explode("\n",trim(strip_tags($post->post_content)));
    $post_content = $post_content_r['0'];
   }
         $description = utf8Substr($post_content,0,220);  
  } 
    $keywords = "";     
    $tags = wp_get_post_tags($post->ID);
    foreach ($tags as $tag ) {
        $keywords = $keywords . $tag->name . ",";
    }
}
?>
< ?php echo "\n"; ?>
< ?php if ( is_single() ) { ?>
<meta name="description" content="<?php echo trim($description); ?>" />
</meta><meta name="keywords" content="<?php echo rtrim($keywords,','); ?>" />
< ?php } ?>
 
< ?php if ( is_home() ) { ?>
</meta><meta name="description" content="<?php echo get_option('swt_description'); ?>" />
</meta><meta name="keywords" content="<?php echo get_option('swt_keywords'); ?>" />
< ?php } ?></meta></p>

然后找到inove主题文件夹根目录里的“header.php”文件,找到该文件里面的代码

<title>< ?php bloginfo('name'); ?>< ?php wp_title(); ?></title>

修改为

< ?php include('seo.php'); ?>

然后将“seo.php”文件里博客首页的Meta信息改成自己相关的description和keywords内容,代码如下

< ?php if ( is_home() ) { ?>
<meta name="description" content="相关description内容" />
<meta name="keywords" content="相关keywords内容" />
< ?php } ?>

  这样博客首页以及每篇文章都会生成自己的Meta信息,每篇文章的Meta信息里,keywords就是文章标签,description就是文章的摘要。这个方法应该在其他的主题里也可以使用,有兴趣的朋友可以试试。

7 条留言  访客:5 条  博主:2 条

  1. abaxiong

    找不到要替换的那段代码

  2. Andrew

    经典主题就需要小小的修改,正在准备使用这个主题

  3. 惆怅

    不行哦,改了代码后错位了。。。

  4. zwwooooo

    我只是简单处理一下,没搞这么复杂

    • insect

      你现在的主题我非常喜欢,嘿嘿

  5. Maxsailor

    虫子你的博客太绿了,看了很刺眼啊,所以我只能在RSS上看~ 要不然眼睛吃不消~

    • insect

      估计刺眼不是边框绿的缘故,而是字体太黑的缘故,其实刚改完黑色我也感觉太刺眼,看来还是改回去吧

给我留言

Copyright © 虫子窝 保留所有权利.   Theme  Ality

用户登录

分享到: