首页 > 代码库 > 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优化