独立博客大多数人选择了wordpress,但功能强大的WP并非每位博主都能操纵自如的,发觉很多WP新手博主连最基本的标题及细节都没设置好,导致博客在搜索引擎的地位大受影响,下面来谈谈wordpress博客标题与优化的正确设置方法。
可能很多博主认为,最简单的方法就是使用插件,因为WP的插件实在太强太全了。但插件用得较多时,不仅会拖慢博客访问速度,还会造成服务器资源的过度消耗,且某些搜索引擎对有些插件很不友好,不当的使用会使博客在其权重大打折扣。例如All in one SEO pack,它本是很多人推崇的SEO最佳插件,后来经过不断的实践证明,它不仅对服务器消耗太大,百度还对其非常不友好,之后才有人分析说这是一款针对谷歌设计的插件,所以才会遭百度的白眼。
那么在不使用插件的情况下如何做出一样效果的标题优化呢,来看看本人现在的设置,此方法是出自柳城的文章分享(柳城是谁?去年博百优SEO大赛的NO.1),操作方式有两种:
1、先把原来header.php里的<title><?php……</title>间这段代码改为<?php include_once("desc.php"); >再把以下新的代码保存在desc.php就OK了(如果有中文的话,记得另存为文件的编码是UTF-8。切记),把desc.php上传到你的主题的目录下。
2、(本人自己的做法)把header.php里含<meta……></title><?php ……title>的代码用以下新的代码覆盖即可,但有些主题的无法使用,因为有些主题的header.php里并无<meta……><title><>php ……</title>之类。
新的代码为:
<?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_home() ){ $description = "这里填写你博客的描述"; $keywords = "这里填写你博客的关键词"; } elseif ( is_single() ){ if ($post->post_excerpt) { $description = $post->post_excerpt; } else { if(preg_match('/<p>(.*)<\/p>/iU',trim(strip_tags($post->post_content,"<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"; ?> <meta name="description" content="<?php echo trim($description); ?>" /> <meta name="keywords" content="<?php echo rtrim($keywords,','); ?>" /> |
以上代码的用意在于,手工填写的description 与keywords 会成为博客首页的描述与关键词,文章的描述与关键词会提取每篇文章摘要与标签自动形成。代码中的“|”是主标题与副标题间的隔号,如果不习惯,可以换成自己喜欢的“-”“>>”等等,不太明白的朋友可以观察一下我博客的各处标题。
温馨提醒,在做每一处修改前请做好代码备份,不成功时还可以恢复原形。至于有没有设置成功,可把博客及文章地址复制到chinaz的META信息检测查询http://tool.chinaz.com/Tools/MetaCheck.aspx。
感谢 姜敏 的投稿