【问题标题】:AngularJS, URLs mixing languages and SEOAngularJS,混合语言和 SEO 的 URL
【发布时间】:2015-05-13 15:15:54
【问题描述】:

我有一个 AngularJS 1.0.7 网络应用程序。

在我的 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'});

这将使 URL 正确,例如:http://domain/es/alquiler-barcos-mallorcahttp://domain/en/boat-rental-majorca。这是对的。

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

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

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

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

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

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

【问题讨论】:

    标签: angularjs seo


    【解决方案1】:
    1. http://domain/en/alquiler-barcos-majorca重定向到http://domain/en/boat-rental-majorca并显示结果

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

    1. 控制 URL 并重定向到 301 错误页面。

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

    1. 控制 URL 并重定向到主页。

    那是软404,比第二种好,但不如第一种。

    【讨论】:

    • 知道了。但只是一个问题(我不擅长重定向和搜索引擎优化)。如果我得到选项 1,意味着 Google 将索引 domain/en/alquiler-barcos-majorca?因为,我们不想要这个。第二个问题,我应该在哪里做这个重定向 301?我的意思是,在服务器级别(Nginx 配置文件),或者通过代码,以某种方式在 app.js 中?
    • 不,它将索引domain/en/boat-rental-majorca。您可以在服务器或应用程序级别实现它。我的偏好是应用程序,但它对 SEO 没有任何影响。
    • 我宁愿在应用程序级别,因为我的一些网址是动态创建的,但你能指导我一点如何做吗?
    • 我不是角度专家,但这可能会对您有所帮助:stackoverflow.com/questions/11541695/… 如果您需要更多信息,您应该提出另一个问题。
    猜你喜欢
    • 2020-03-09
    • 1970-01-01
    • 2012-04-04
    • 1970-01-01
    • 1970-01-01
    • 2015-11-16
    • 1970-01-01
    • 2011-02-10
    • 1970-01-01
    相关资源
    最近更新 更多