[老杨]关于实现ecshop url目录格式的提醒,以及正确思路
老杨发现url自定义这个功能很能比较流行,其中有一个Url自定义成目录格式,需要在此强调提醒一下:
现在主流实现方式因该不外乎下面的流程:
以老杨官网http://wwww.lyecs.com/为例,重写商品目录为http://wwww.lyecs.com/moban/
1、添加重写规则
2、修改url生成的函数
3、头部加入<base href="http://wwww.lyecs.com/" />标签
前两个思路是对的,第三个其实也是对的,它的作用是将类似href="index.php"这样的不完整的域名达到href=“http://wwww.lyecs.com/index.php”的效果。当前页面如果为http://wwww.lyecs.com/moban/时,如果没有base标签,访问index.php的超链接时,会打开http://wwww.lyecs.com/moban/index.php。
功能实现上,没有任何问题,可是在于没有经验的开发人员会忽略一个严重的问题:引擎蜘蛛不能识别<base />标签。照成的问题也是显而易见的。以百度为例,http://wwww.lyecs.com/products/下的页面,百度快照下,类似http://wwww.lyecs.com/moban/index.php的死链会层出不穷。使用站长工具也可以检测出大量死链。这样造成的后果显而易见,别说重写是为了优化seo,现在看来,不被百度拉黑就算万幸了。
解决方法:
很无奈的是,方法很简单但很费时间,就是将所有href=""、src=""的链接加入{$site_path}这样的全局变量,将$site_path定义为你的网站域名。即将所以的链接定义为完整链接。这样做的话工作量还是比较大的,而且会产生一些延伸问题和额外的工作量,比如原本的href="#"无法再用,你需要先获取当前页面链接$url,写成href="{url}#"。
总结:
seo是门大学问,用不好或误用都会造成负面作用。对于商城来说,老样经过大量的比,发现原有的ecshop重写规则对于seo来说,比目录型的更加有效!
目录型ecshop url重写暂时只适合较大型的项目开发!