|
发表于 2009-2-16 01:53:47
|
显示全部楼层
CI框架其实没有做到SEO
只是在一定程度上做到了防止重复页面而导致的搜索引擎惩罚
例如不用框架而手写底层代码的一个例子
www.xxx.com/project.php?uid=1&tid=4
www.xxx.com/project.php?tid=4&uid=1
对于以上两个URL,URL会被搜索引擎区分为两个,但是这得到的页面却是一样的,这就是不同URL指向相同页面的重复页面,这种情况在一个网站中多次出现的话搜索引擎会降低该网站的权重。
在CI中基本不会出现这个问题,构造器中的函数以参数传递必要的信息,参数的顺序是一定的,所以说CI只是做了这部分的工作。
于是我们在CI的基础上需要做些什么呢?
1、重写URL,利用APACHE的rewrite模块进行URL的重写。例如上面的查看一个project.php页面并且提交用户ID是1,附加参数是4.于是可以制定URL重写规则为
www.xxx.com/project-admin-ajax-1-4.html -> www.xxx.com/index.php/project/1/4
如上,利用重写规则将前面的非常友好的URL在提交时在服务器重写为后者CI风格的URL。其中admin是1号用户的用户名,ajax是4号附加参数的代号。于是在VIEW页面中我们可以使用前面的url定义锚点的链接,在URL中出现关键词ajax和admin。这对SEO是非常有利的。在CI中添加.html后缀和去除index.php没有什么实质性的效果。具体的怎么重写url请参考google,这其中涉及链接工厂函数的建立,模块的正则描述等步骤。
2、不知道你是否用php进行过页面抓取的工作。如果你做过你会发现抓取一个耗时很久的页面是很烦人的,搜索引擎的机器人对于速度很慢的页面也很厌烦。所以在CI的代码中要求你严格按照CI的规则编写,例如所有涉及数据库的操作放到model中处理,避免重复代码,使用系统函数而不是自己建立函数,避免不必要的循环,对于参数的检测,增强系统容错能力等,都是提高网页速度的要素,其中当然还有HTML代码的编写规范。
3、SEO是非常有趣的,非常有技巧性,但是作为一项技术还是有其基础的,建议你学习《搜索引擎优化高级编程PHP版》清华大学出版社的。收获匪浅。 |
评分
-
查看全部评分
|