首页 > 代码库 > thinkphp之url的seo优化

thinkphp之url的seo优化

1.网站url做seo优化的原因

  SEO是由英文Search Engine Optimization缩写而来, 中文意译为“搜索引擎优化”。SEO是指通过对网站进行站内优化(网站结构调整、网站内容建设、网站代码优化等)和站外优化,从而提高网站的关键词排名以及公司产品的曝光度。

  

  URL优化的效果跟站点在百度的权重关联性不大,但是对收录、蜘蛛爬行和传递权重有明显的提升。

 

  蜘蛛爬行原理:蜘蛛爬行原理有 深度优先和宽度优先了解:

  (1)深度优先:深度优先适用于一些大站,蜘蛛很渴望得到他的内容,比如新浪网易他们的目录很长,也能收录。假如我们给蜘蛛一个线程只能爬取一个页面,爬行轨迹:首页-封面页-频道页-内容页,那么你网站的结构是:首页=> xxx/a=> xxx/a/b=> xxx/a/b/c/1.html=>。蜘蛛会沿着你的深度爬行进去,但是无论多大的站,你的深度也必须有限,否则蜘蛛不可能无穷尽的挖掘进去,爬累了自然就会离开。并且内容也没带回去。

 

  (2)宽度优先:这个是我非常推崇的,而且我所有新站都是这种效果。效果说明在扁平化的今天,宽度优先是可以让蜘蛛非常高效的爬行和返回的。url结构 xxx/a/ xxx/b/ xxx/c/ 这类的叫宽度优化,爬行轨迹 :首页-频道页A-频道页B-频道页C/首页-频道页A-内容页A1-内容页A2-内容页A*

 

  综上所述。其实可以看出:宽度优先的效率明显高于深度优先。而且蜘蛛的任务类别也单一,非常容易识别。同一线程爬取的几乎是同一类型页面,页面样式,外观相同。蜘蛛不必花时间过于的去分析你的页面内结构,层次清晰。

 

  从蜘蛛爬行原理入手,现在讨论一下thinkphp框架的网站如何做url的seo优化

  1.1.设置URL伪静态

  在config.ini.php中设置,把URL做成伪静态,那么需要在config.php文件中设置:

  ‘URL_MODEL‘=>2,    //URL模式为REWRITE模式

   PATHINFO模式是Thinkphp系统的默认URL模式,提供了最好的SEO支持,系统内部已经做了环境的兼容处理,所以能够支持大多数的主机环境。


  ‘URL_HTML_SUFFIX‘ =>‘.html‘,  //配置文件中这句话的意思,在url的结尾以html后缀名结尾,这样可以看起来是静态文件,对seo有一定用处!

  例如:
  普通模式下URL:http://localhost/?m=home&c=user&a=login&var=value

  PATHINFO模式下URL:
http://localhost/index.php/home/user/login/var/value/
  其中‘URL_MODEL‘=>2设置url的方式,‘URL_HTML_SUFFIX‘ =>‘.html‘设置后缀。

  

  1.2.将index.php隐藏。

  http://localhost/index.php/home/user/login/var/value/
  通常的URL里面含有index.php,为了达到更好的SEO效果可能需要去掉URL里面的index.php ,通过URL重写的方式可以达到这种效果,通常需要服务器开启URL_REWRITE模块才能支持。
  下面是Apache的配置过程,可以参考下:
  1、httpd.conf配置文件中加载了mod_rewrite.so模块
  2、AllowOverride None 将None改为 All
  3、确保URL_MODEL设置为2
  4、把下面的内容保存为.htaccess文件放到入口文件的同级目录下

 

    <IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
    </IfModule>

   重启Apache之后,原来的
  http://localhost/index.php/home/user/login/var/value/
  就可以通过访问
  http://localhost/home/user/login/var/value/
  简化了URL地址。

 

  3.URL地址简化
  如果觉得我们以上的伪静态地址路径层次够深,想直接在根目录下的地址如:
  http://www.ipbia.com/index_index.html
  对搜索引擎更友好,那么可以在配置文件中设置:

  ‘URL_PATHINFO_DEPR‘ => ‘_‘,

 

  前提:PATHINFO模式下面,URL是可定制的,例如,通过下面的配置:

‘URL_PATHINFO_DEPR‘=>‘_‘,   

   那么上面的url就变成了:http://localhost/index.php/home_user_login_var_value

  根据百度蜘蛛爬行原理:宽度优先的效率明显高于深度优先,将url模式设置成 http://localhost/index.php/home_user_login_var_value这种模式,将更有利于百度蜘蛛爬行

 

 

2.配置url伪静态,那么设置静态缓存尤为重要

  静态规则的定义方式如下:

 

    ‘HTML_CACHE_ON‘     =>    true, // 开启静态缓存
    ‘HTML_CACHE_TIME‘   =>    60,   // 全局静态缓存有效期(秒)
    ‘HTML_FILE_SUFFIX‘  =>    ‘.shtml‘, // 设置静态缓存文件后缀
    ‘HTML_CACHE_RULES‘  =>     array(  // 定义静态缓存规则
         // 定义格式1 数组方式
         ‘静态地址‘    =>     array(‘静态规则‘, ‘有效期‘, ‘附加规则‘), 
         // 定义格式2 字符串方式
         ‘静态地址‘    =>     ‘静态规则‘, 
    )

 

  

  当我们的网站某个页面被百度蜘蛛爬行,收录以后,那么在搜索到相关页面的时候,就会默认访问我们缓存的这个静态页面

 

thinkphp之url的seo优化