六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 32|回复: 0

利用google translation api做URL命名的SEO优化

[复制链接]

升级  59.33%

118

主题

118

主题

118

主题

举人

Rank: 3Rank: 3

积分
378
 楼主| 发表于 2013-1-23 02:24:33 | 显示全部楼层 |阅读模式
这种优化的URL叫做slugs url,听说有很多的好处。

没有真正去实践过,不过大家都说有好处就实现试试。


首先得到googla translation api,编写翻译程序
具体可参考:http://www.java1995.com/blog/item/41
 
其次就是怎么与现有的URL进行结合。
如果使用了url rewrite 这时就很好办了,只要把规则重新规定一下就可以。
比如javaeye wiki使用的,就可以通过正则表达式 [\d]+[-]?\w* 来跳转,既不会使用过去的URL失效,新的url又能很好的工作。
 
最后就是怎么集成现有系统。
第一种方法就是使用客户端来完成这个功能,使用google的js api来实现,这样就增加了客户端的负担。
程序:
<script type="text/javascript" src="http://www.google.com/jsapi"></script> //载入Google的jsapi <script type="text/javascript">     function slugify(str) { //这个方法应该是将字符转为小写,并把一些特殊字符转为"-"    return str.toLowerCase().replace(/[^a-z0-9-_]+/g, '-').replace(/^-|-$/g, '');  }   google.load("language", "1"); //载入Google的language Ajax库   function translate_title() { //这里就是翻译文章标题了,里面的方法需要jQuery支持,之前要引入jQuery的包,这里就省略了    if($F("news_title").blank()) {      alert("请先填写标题");      return;    }    $("news_slug_url").value = "正在翻译中...";    google.language.translate($F("news_title"), "zh", "en", function(result) {      if (!result.error) {        $("news_slug_url").value = slugify(result.translation);      }    });  }  </script>第二种方法就是服务器端来完翻译工作,然后直接在页面。
为了增加灵活性,可以在数据库中增加一个字段,这样可以使用可以让用户自定义URL,没有输入时可使用google翻译得到URL,可控性比较好。
 
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表