优化一下HotNews Pro主题SEO代码

知更鸟
知更鸟
知更鸟
站长
2511
文章
0
粉丝
HotNews主题11,170阅读模式
摘要  HotNews Pro主题本身已集成SEO优化代码,所以不需要安装类似All in One SEO Pack的插件,不过主题集成的SEO代码并没有为分类列表及页面文件提供描述(...

HotNews Pro主题本身已集成SEO优化代码,所以不需要安装类似All in One SEO Pack的插件,不过主题集成的SEO代码并没有为分类列表及页面文件提供描述(description)及关键字(keywords),有童鞋问如何加上此功能,所以简单修改一下SEO代码,补上此功能,就是不知道加上这个有什么实际意义。具体方法很简单:

打开HotNews Pro主题includes目录的seo.php模版文件,用下面代码替换其中的所有。

  1. <?php if ( is_home() ) { ?><title><?php bloginfo('name'); ?> | <?php bloginfo('description'); ?></title><?php } ?>
  2. <?php if ( is_search() ) { ?><title>搜索结果 | <?php bloginfo('name'); ?></title><?php } ?>
  3. <?php if ( is_single() ) { ?><title><?php echo trim(wp_title('',0)); ?> | <?php bloginfo('name'); ?></title><?php } ?>
  4. <?php if ( is_page() ) { ?><title><?php echo trim(wp_title('',0)); ?> | <?php bloginfo('name'); ?></title><?php } ?>
  5. <?php if ( is_category() ) { ?><title><?php single_cat_title(); ?> | <?php bloginfo('name'); ?></title><?php } ?>
  6. <?php if ( is_month() ) { ?><title><?php the_time('F'); ?> | <?php bloginfo('name'); ?></title><?php } ?>
  7. <?php if (function_exists('is_tag')) { if ( is_tag() ) { ?><title><?php  single_tag_title("", true); ?> | <?php bloginfo('name'); ?></title><?php } ?> <?php } ?>
  8. <?php if ( is_author() ) {?><title><?php wp_title('');?>发表的所有文章 | <?php bloginfo('name'); ?></title><?php }?>
  9. <?php
  10. if (!function_exists('utf8Substr')) {
  11.  function utf8Substr($str$from$len)
  12.  {
  13.      return preg_replace('#^(?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$from.'}'.
  14.           '((?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$len.'}).*#s',
  15.           '$1',$str);
  16.  }
  17. }
  18. if ( is_single() ){
  19.     if ($post->post_excerpt) {
  20.         $description  = $post->post_excerpt;
  21.     } else {
  22.    if(preg_match('/<p>(.*)<\/p>/iU',trim(strip_tags($post->post_content,"<p>")),$result)){
  23.     $post_content = $result['1'];
  24.    } else {
  25.     $post_content_r = explode("\n",trim(strip_tags($post->post_content)));
  26.     $post_content = $post_content_r['0'];
  27.    }
  28.          $description = utf8Substr($post_content,0,220);
  29.   }
  30.     $keywords = "";
  31.     $tags = wp_get_post_tags($post->ID);
  32.     foreach ($tags as $tag ) {
  33.         $keywords = $keywords . $tag->name . ",";
  34.     }
  35. }
  36. ?>
  37. <?php echo "\n"; ?>
  38. <?php if ( is_single() ) { ?>
  39. <meta name="description" content="<?php echo trim($description); ?>" />
  40. <meta name="keywords" content="<?php echo rtrim($keywords,','); ?>" />
  41. <?php } ?>
  42. <?php if ( is_page() ) { ?>
  43. <meta name="description" content="<?php $description = get_post_meta($post->ID, 'description', true);{echo $description;}?>" />
  44. <meta name="keywords" content="<?php $keywords = get_post_meta($post->ID, 'keywords', true);{echo $keywords;}?>" />
  45. <?php } ?>
  46. <?php if ( is_category() ) { ?>
  47. <meta name="description" content="<?php echo category_description( $categoryID ); ?>" />
  48. <?php } ?>
  49. <?php if ( is_tag() ) { ?>
  50. <meta name="description" content="<?php echo single_tag_title(); ?>" />
  51. <?php } ?>
  52. <?php if ( is_home() ) { ?>
  53. <meta name="description" content="<?php echo get_option('swt_description'); ?>" />
  54. <meta name="keywords" content="<?php echo get_option('swt_keywords'); ?>" />
  55. <?php } ?>

其中:

分类列表页面,直接调用分类描述为该分类的页面描述,无关键字。

标签页面,直接调用标签名称为描述

页面文件,需为该页面分别添加自定义栏目:

名称:description,值为:该页面描述

名称:keywords,值为:该页面关键字

本来也可以自动截取页面文件部分内容为该页面描述,不过原SEO代码是提取标签为关键字,貌似WP并没有为页面文件提供添加标签功能,所以直接使用自定义栏目实现。

具体效果可以通过查看我的最近留言页面源文件

提示:复制上面的代码后需手动删除一下多余的空格,不然查看页面源代码会有大面积的空段,或者直接下载已修改好的seo.php模版文件,替换主题原文件。

《优化一下HotNews Pro主题SEO代码》一文的补充

HotNews Pro 2.7版发布也有段时间了,之后断断续续写了一些修改优化的文章,也到了该升级主题的时机,希望大家提出优化合理化建议,让升级后的主题更加完美。

本站文章大部分为原创,用于个人学习记录,可能对您有所帮助,仅供参考!

weinxin
我的微信
微信号已复制
版权声明
本站原创文章转载请注明文章出处及链接,谢谢合作!
 
知更鸟
评论  72  访客  58  作者  11