建站经验 experience
当前位置:首页 > 网站建设专题 > 建站经验
wordpress博客标题与优化的正确设置方法
发布日期:2011-05-17 阅读次数:638 字体大小:

独立博客大多数人选择了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。

感谢 姜敏 的投稿