服务支持
从seo角度看zencart的多语言实施方案
新闻添加时间:2008-06-29 20:35:21
一般来说,网站的多语言实施有四种方法,详述如下(假设公司名称为abc,要实现中文和英文两种语言版本,语言代码分别为cn和en) 1,注册两个域名,比如:www.abc-cn.com和www.abc-en.com,或用子域名,比如:cn.abc.com和en.abc.com。两种语言的网站前台独立,后台可以独立,可以统一。阿里巴巴就是用的子域名方式。 2,只用一个域名,比如:www.abc.com,两种语言版本分别放在两个子目录中,www.abc.com/cn为中文网站, www.abc.com/en为英文网站。www.abc.com可以做成一个引导页,或直接301跳转到默认语言网站。两种语言的网站前台和后台都是统 一的。微软用的是这种方式。 3,只用一个域名,比如:www.abc.com,两种语言是通过url中传递参数来切换的,可以设定默认语言。比如默认语言为中文,打开 www.abc.com/test.php是中文页面,打开www.abc.com/test.php?language=en是对应的英文页面,打开 www.abc.com/test.php?language=cn是同样的中文页面。如果session被有效启用,url中附加的语言选项会用来改变 session中的语言变量,同一个session中访问同样的不带语言选项的url时,语言自动切换,比如访问完 www.abc.com/test.php?language=en后,再访问www.abc.com/test.php,就变成英文页面了。 zencart用的就是这种方式。 4,只用一个域名,比如:www.abc.com,两种语言是通过客户端的js脚本语言实现切换的,这种方式最简单,基本不需要改动程序。现在有些网站繁体中文页面的html源代码是简体中文,就是这种方法。 从seo角度来看,这四种方式如何评价? Ethan认为,第一种和第二种方式都可以,各有千秋,第三种方式和第四种方式不可取。 先说为什么不可取。第四种,由于搜索引擎抓取页面时是略过js的,所以在搜索引擎眼里根本不存在切换过的语言页面,网站只有默认语言的页面。 第三种,以zencart为例,zencart的后台sessions菜单里有两项:强制使用cookie和阻止机器人sessions。这里面可以细分为三种情况: 1,如果强制使用cookie,由于搜索引擎机器人不接受cookie,不管是否阻止机器人sessions,机器人都无法启动session。 2,如果不强制使用cookie,同时阻止机器人sessions,则机器人无法启动session。 3,如果不强制使用cookie,同时允许机器人sessions,虽然机器人可以启动session,但程序会在页面里链接的后面会附上一长串 sessionid,这样机器人反复抓取一个网站后,会抓到大量内容一样而url不同的页面。这是一种普遍的情况,为了应付这种情况,搜索引擎机器人会自 动略去url里的sessionid,这就造成了机器人可以启动session,却无法获取sessionid的情况,等效于无法启动session,服 务器资源还被浪费了。 zencart一般设置为:关闭强制使用cookie,打开阻止机器人sessions,属于上述第二点,机器人无法启动session。但是由上 述分析可以看出,不管怎么设置,机器人都无法有效启用session,所以机器人只有在url中传递语言参数时才会抓取到该语言的页面。但从链接结构看,“搜索引擎机器人会自动略去url里的sessionid”和“至少有两个不同的链接指向一个页面时,这个页面才有可能被搜索引擎收录”这两点只是seo界的常识,并没有严格的证明,但足以做为网站设计的标准看待。 再说说可取的做法。第一种和第二种都可取,因为同一个页面的不同语言版本分别对应了不同的并且是唯一的URL。zencart通过适当改造可以实现第一种或第二种方式,并且后台统一为一个管理界面,不同语言的产品信息统一在一个数据库中,便于管理和操作。
|