CooL.泪猪 发表于 2012-4-29 21:32:42

seo优化基本设置

目前来说,使用WordPress系统搭建的网站越来越多,特别是个人的独立博客。因为wp系统使用起来非常方便,又对搜索引擎比较友好。wp博客seo优化设置方面也相当不错。当然,因为笔者近段时间才刚刚使用wp搭建了博客,之前也听说过Z-Blog系统,但是在建立博客之时朋友强烈推荐了wp。
    笔者本人建立独立博客的主要目的还是为了学习seo优化,在接触wp一段时间之后,来简单的讲讲一些wp博客seo优化的基本设置方法。    1.seo基本设置
    a.站点标题以及副标题设置。标题对网站seo优化的重要性不言而喻,具体设置方法如下:进入网站后台控制板,单击左边设置下拉菜单中的“常规”选项,在右边的相应栏目内输入标题和副标题。
    b.伪静态页面设置。大家也都知道搜索引擎喜欢简单易懂的静态页面,但是一个网站一般来说不会以纯静态页面构成,大多存在着大量的动态页面。要实现伪静态的设置方法是:同样是设置下拉菜单,点击“固定连接”,选择“自定义结构”,输入“/%category%/%post_id%.html”。这样就设置了文章页面的url格式,实现了伪静态的目的。
    注释:%category%——显示文章所属分类目录名称;%post_id%——显示文章编号。
    c.主题自带设置。有些主题对seo优化设置更加简单、便捷。在外观设置栏中可能会有该主题的相关自带设置,其中就会包括一些针对seo的功能设置。但是主题不同,所自带的设置功能也不尽相同。
    2.seo插件
    强大的wp博客seo优化插件——“All in one seo”。在插件栏点击“添加新插件”,搜索该插件,安装之后启用就可以了。安装完了之后,在建立每一个页面、分类目录、文章时,在原本的操作栏下方会出现相关的seo设置,包括title(标题)、description(描述)、keywords(关键词)的设置。同时,该插件还可以对首页进行seo相关优化设置。
    另外,必须要说明的是,有些seoer认为该插件原本是针对谷歌开发的,对百度似乎并不是十分友好。是否选用该插件还是请各位自己取舍。
    3.修改和添加代码
    a.修改title、keywords、description。在header.php文件中修改或添加相关标签。代码格式如下:



<P><head>

<title>填入标题</title>

<meta name=”description” content=”填入描述”>

<meta name=”keywords” content=”填入关键词”>



</head></P>
复制代码但是header.php是打开wp网站每一个网页时都会调用的文件,这样的设置就导致所有页面的title、description和keywords都相同了。
    b.提取文章页面上的某些内容作为相关标签,或者直接采用手工设置方法。在header.php中找到:



<BLOCKQUOTE>

<P><title><?php wp_title(‘&laquo;’, true, ‘right’); ?> <?php bloginfo(‘name’); ?></title></P>
复制代码
    这句代码的意思大致就是在读取header.php时,调用desc.php这一文件。然后再建立一个desc.php文件,保存到当前使用的主题目录下。当然,你不一定非要将这个文件命名为“desc.php”。你可以命名为“1.php”或者“2.php”都可以。那么在header.php中所修改的代码就应写成:



<P><?php include_once(“1.php”); ?></P>
复制代码或者:



<P><?php include_once(“2.php”); ?></P>
复制代码在你建立的这个文件中写上以下代码:



<P><?php if ( is_home() ) { ?><title> <?php bloginfo(‘description’); ?> – <?php bloginfo(‘name’); ?></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><?phpsingle_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,’,'); ?>” /></P>
复制代码以上代码大致就是首页description和keywords手动填写,标题读取wp相关设置。文章页面将提取文章标题以及博客标题作为title,并提取文章第一段作为描述,而将提取tag(标签)作为关键词。至于目录页面的那一段代码,笔者还未搞懂。笔者自己目前的文章页面以及分类页面都也与首页一样,手工填写description和keywords标签,代码如下:



<P><?php if ( is_home() ) { ?><title> <?php bloginfo(‘description’); ?> – <?php bloginfo(‘name’); ?></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><?phpsingle_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(19) ){

    $description = “填入id为19的页面描述”;

    $keywords = “填入id为19的页面描述”;

}

###可自行添加更多文章页面相关标签设置

elseif ( is_single(29) ){

    $description = “”;

    $keywords = “”;

}

###这里是分类页面。自行改变is_category的ID。###

elseif ( is_category(seo) ){

    $description = “填写seo分类描述”;

    $keywords = “填写seo分类关键词”;

}

###可自行添加更多分类页面相关标签设置

elseif ( is_category(microblog) ){

    $description = “填写microblog分类描述”;

    $keywords = “填写microblog分类描述”;

}

###这里是Page页。同上。多个页面的话自行添加就是###

###elseif ( is_page() ){

    ###$description = “”;

    ###$keywords = “”;

###}

?>

<?php echo “\n”; ?>

<meta name=”description” content=”<?php echo trim($description); ?>” />

<meta name=”keywords” content=”<?php echo rtrim($keywords,’,'); ?>” /></P>
复制代码以上代码中的single对应的单篇文章的意思,is_single(19)和is_single(29)中的“19”和“29”是在完成上文中的固定url设置之后,单篇文章产生的id。具体文章id可以在文章编辑页面中文章标题输入框下方的固定连接中看到。
    而is_category(seo)和is_category(microblog)中的“seo”和“microblog”是分类目录的别名,也就是该分类的id。在分类目录设置中可以进行相关的设置,不过分类目录别名只能为英文和数字。
    以上代码原编写者为lc(柳城),在这里特别说明一下。以下提供lc编写的完整原代码:
    title覆盖所有页面,description和keysords按页面内容提取的通用版如下:

<P><!–Title Begin, By Lc.–>

<?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><?phpsingle_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 = “我们身处急速上涨的数据海洋中…我们如何避免信息的没顶之灾呢?柳城博客(Lc.)∷关注生物信息学,分享学习Linux、PHP+Mysql、Perl/BioPerl等的心得,努力在数据的海洋里畅游。”;

    $keywords = “生物信息学,Perl,Bioperl,PHP,Mysql,Linux,NCBI,摄影”;

}

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 End, By Lc.–></P>
复制代码在以上代码的基础上加入page页面和分类页面的Description和Keywords版本如下:<!–###Title Begin, By Lc.###–>

<?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 = “我们身处急速上涨的数据海洋中…我们如何避免信息的没顶之灾呢?柳城博客(Lc.)∷关注生物信息学,分享学习Linux、PHP+Mysql、Perl/BioPerl等的心得,努力在数据的海洋里畅游。”;

$keywords = “生物信息学,Perl,Bioperl,PHP,Mysql,Linux,NCBI,摄影”;

}

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 . “,”;

}

}

###这里是分类页面。自行改变is_category的ID。###

elseif ( is_category(34) ){

$description = “生物信息学(Bioinformatics)是一门利用计算机技术研究生物系统之规律的学科。通过实例分析,介绍生物信息学的入学知识,包含生物信息学的数据库等。重点是NCBI的中文教程。”;

$keywords = “生物信息学,Bioinformatics,NCBI,影响因子”;

}

###这里是Page页。同上。多个页面的话自行添加就是###

elseif ( is_page(2) ){

$description = “关于柳城博客(Lc.)的介绍,联系方式,以及网站历程。柳城博客(LIUCHENG.NAME)∷努力在数据的海洋里畅游。”;

$keywords = “生物信息学,Perl,Bioperl,PHP,Mysql,Linux,NCBI,摄影”;

}

elseif ( is_page(135) ){

$description = “柳城博客(Lc.)的留言板。有什么问题或建议请在这里留言! 我会尽快回复~ 感谢您的支持!!”;

$keywords = “柳城博客,Lc.,留言板,留言本”;

}

?>

<?php echo “\n”; ?>

<meta name=”description” content=”<?php echo trim($description); ?>” />

<meta name=”keywords” content=”<?php echo rtrim($keywords,’,'); ?>” />

<!–###Description & Keywords End, By Lc.###–>




复制代码以上就是目前笔者所了解并使用的wp博客seo优化的一些设置了,第三点关于代码的设置由于代码的原因,篇幅相当的长。为了大家都能看明白,笔者讲的过于细致,请各位见谅。当然,以上这些设置是属于站内优化以及页面优化,仅仅只是网站seo优化的一小部分而已。但是也不能小看这一小部分,毕竟做seo的拼的就是细心和执行力嘛。
页: [1]
查看完整版本: seo优化基本设置

欢迎您的光临,如果您觉得本站做得不错的话,请把本站介绍给您的好友,谢谢大家的支持!