AngularJS,混合语言和SEO的URL

时间:2015-05-13 15:15:55

标签: angularjs seo

我有一个AngularJS 1.0.7 Web应用程序。

在我的app.js中:

$routeProvider.when('/:language/alquiler-barcos-:departure', {templateUrl: 'partials/boat-rental.html', controller: 'Controller1Ctrl'});
$routeProvider.when('/:language/boat-rental-:departure', {templateUrl: 'partials/boat-rental.html', controller: 'Controller1Ctrl'});

这样可以使用以下正确的网址:http://domain/es/alquiler-barcos-mallorcahttp://domain/en/boat-rental-majorca。这是对的。

但是,它也会让http://domain/es/boat-rental-mallorcahttp://domain/en/alquiler-barcos-majorca出错(或者应该是,因为它会混合网址中的语言)。

我想避免这种情况,因为我认为从SEO的角度来看这并不好。首先,我想澄清在这种情况下从SEO的角度来看哪个是最佳实践:

  1. 要将http://domain/en/alquiler-barcos-majorca重定向到http://domain/en/boat-rental-majorca并显示结果

  2. 控制网址并重定向到301错误页面。

  3. 控制网址并重定向到主页。

  4. 之后,有没有办法在app.js中以AngularJS方式控制这些组合?或者只是解析控制器中的url并“手动”控制它。

1 个答案:

答案 0 :(得分:1)

  
      
  1. 要将http://domain/en/alquiler-barcos-majorca重定向到http://domain/en/boat-rental-majorca并显示结果
  2.   

这是最好的SEO选项,用301重定向。

  
      
  1. 控制网址并重定向到301错误页面。
  2.   

不是一个很好的选择,因为它是一个糟糕的用户体验。如果你实现它,你应该返回404或410。

  
      
  1. 控制网址并重定向到主页。
  2.   

这是一个软404,它比第二个选项更好,但不如第一个选项好。