AngularJS,混合语言和 SEO 的 URL

标签 angularjs seo

我有一个 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 的 Angular 来看这不太好。首先,我想澄清在这种情况下,从 SEO 的 Angular 来看最佳做法是什么:

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

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

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

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

最佳答案

  1. To redirect http://domain/en/alquiler-barcos-majorca to http://domain/en/boat-rental-majorca and show the results

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

  1. To control the URL and redirect to a 301 error page.

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

  1. To control the URL and redirect to home page.

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

关于AngularJS,混合语言和 SEO 的 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30218975/

相关文章:

javascript - 将 jsonarray 分割成 block 数组到另一个数组中

angularjs - Angular 2 : Component input/output or updating a service property

angularjs - Ionic-单击标题按钮未获取表单数据

javascript - angularjs $httpProvider 拦截器文档

html - 根据用户所在国家/地区制作双语 SEO

google-analytics - 将您的 Google Analytics(分析)代码放在哪里

angularjs - 对于 SEO,我可以在我的 Angular 应用程序旁边提供一个静态 HTML 替代版本吗?

seo - 搜索引擎机器人可以抓取需要登录的页面吗?

php - Yii clean url 带有 id 和 name

wordpress - 我想在 WordPress 的第一页之后阻止搜索引擎索引类别