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优化的更多相关文章
- 网站URL如何SEO优化
前言 本文讲解网站的URL如何进行SEO优化,并在自己的WordPress博客echeverra中优化URL. 起因 对于SEO我了解的并不多,只知道SEO做的好,那么各大搜索网站搜索你网站相关内容时 ...
- 最详细的网站改版SEO优化指南:如何让排名不降反升
我知道,网站改版很是让人头疼.首先,这个过程需要很长时间还有大量工作要做,并且通常结果不会如你的预期.其次,改版确实有破坏之前为 SEO 所做努力的风险. 但不要因为通常网站改版带来排名下降就认为这是 ...
- 一个网站完整详细的SEO优化方案
根据自己的个人经验完成了这篇文章,希望对SEOer有点帮助,高手直接跳过,请勿喷水... 一个完整的SEO优化方案主要由四个小组组成: 一.前端/页编人员 二.内容编辑人员 三.推广人员 四.数据分析 ...
- 大型网站seo优化之行业网站seo优化具体操作思路
第一部分:站内优化 第二部分:站外优化 第三部分:内容建设 第四部分:网站完善 一.站内优化 1.站内结构优化 2.内链策略 3.站内细节优化 4.网站地图设置 5.关键词竞争度分析 5.关键词部 ...
- 总结的一些网站利于搜索引擎优化的小常识及SEO优化
网站利于搜索引擎优化的小常识 1. 尽量用独立IP和空间原因:同IP下其他网站受罚,可能会对你站有影响.如果你的站和很多垃圾.色情站同在一个服务器,搜索引擎会喜欢吗? 2. 做不同内容网站时,避免使用 ...
- 网站SEO优化之添加Sitemap文件。
Sitemap.xml 故名思意就是站点地图文件,可以指引Google spider 收录相应网页.正确地使用Google Sitemap,可以确保让Google spider 不遗漏网站内的任何页面 ...
- 网站seo优化--jsoup 批量分析相关网站 标签,描述,关键词.
网站seo优化--jsoup 批量分析相关网站 标签,描述,关键词. 因为自己写了一个磁力搜索网站Btgoogle,准备进行优化一下,需要分析其他的网站的优化情况. Java的Jsoup类库和PHP的 ...
- 织梦dedecms网站六大SEO优化技巧(转帖)
一个排名好的网站离不开好的cms,当然不同cms各有各的好处,因此我们在上线新网站的时候,要针对不同的情况因地制宜,选择不同的网站管理系统来做seo优化,现在使用比较流行的cms是织梦dedecms, ...
- 移动端页面SEO优化需要注意的10个要点
如今,移动互联网已经成为互联网组成的非常重要的一个分支,如果说以前对移动页面没有很规范的优化和高质量内容评判划分标准,但现在随着各大搜索引擎发布了移动建站指南,图文并茂的描述了如何提高移动站在百度质量 ...
随机推荐
- 温习js中对象的继承
温故而知新 XD 1. 关于原型和构造函数的几个知识要点: 使用new 操作符调用构造函数,会经历以下四个步骤: 1.1. 创建一个新对象: 1.2. 将构造函数的作用域赋给新对象(因此 this 就 ...
- java web中resources路径
UserBean.class.getClassLoader().getResource(filePath).getPath() 或者 Thread.currentThread().getContext ...
- MySQL新建用户,授权
登录MySQL mysql -u root -p 添加新用户 允许本地 IP 访问 localhost, 127.0.0.1 create user 'test'@'localhost' identi ...
- [洛谷P2704] [NOI2001]炮兵阵地
洛谷题目链接:[NOI2001]炮兵阵地 题目描述 司令部的将军们打算在NM的网格地图上部署他们的炮兵部队.一个NM的地图由N行M列组成,地图的每一格可能是山地(用"H" 表示), ...
- 通过java客户端连接hbase 注意事项
1.通过Java客户端连接Hbase,其中hbase通过zookeeper去管理,需要注意的是客户端端口. 通过在浏览器端输入地址查看:http://192.168.3.206:60010/maste ...
- c# bootstrap-table 知识
bootstrap-table 提供手机端,电脑端访问,提供分页,筛选等. bootstrap-table说明文档:http://bootstrap-table.wenzhixin.net.cn/zh ...
- mysql 多列唯一索引在事务中select for update是不是行锁?
在表中有这么一索引 UNIQUE KEY `customer_id` (`customer_id`,`item_id`,`ref_id`) 问1. 这种多列唯一索引在事务中select for upd ...
- bzoj 1696: [Usaco2007 Feb]Building A New Barn新牛舍 ——中位数排序
Description 经过多年的积蓄,农夫JOHN决定造一个新的牛舍.他知道所有N(2 <= N <= 10,000)头牛的吃草位置,所以他想把牛舍造在最方便的地方. 每一头牛吃草的位置 ...
- ajax post请求json数据在spring-controller解析
1.前端post请求数据: userInfo=[{"id":"5","uname":"小李","phone&q ...
- Windows下基于python3使用word2vec训练中文维基百科语料(一)
在进行自然语言处理之前,首先需要一个语料,这里选择维基百科中文语料,由于维基百科是 .xml.bz2文件,所以要将其转换成.txt文件,下面就是相关步骤: 步骤一:下载维基百科中文语料 https:/ ...