AngularJS和SEO - 单页应用程序中的404错误

时间:2016-04-20 15:56:44

标签: angularjs html5 express seo single-page-application

我正在使用Express和AngularJS构建一个网站,但我对这项技术还不熟悉,而且我来自旧的普通PHP / HTML / JS。我理解这种新方法的基础知识,但我对SEO的最佳实践感到好奇。

假设我有一个像这样构建的网站:

  • 用于与之交互的REST ish API,用于处理身份验证,会话和提供正确的数据
  • 首次加载并静态提供的单页应用程序,负责使用AngularJS加载内容

这是草稿:

- /api (dynamic content returns JSON)
  |
  + /login
  + /logout
  + /register
  + /music/:title
  + /music/:title/upvote
  + /user/:name
  + /user/:name/subscribe
  + /tag/:name
  + /search/:query
  + ...
- / (everything is static here)
  |
  + index.html
  + /templates
    |
    + music.html
    + user.html
    + search.html
  + ...

现在,只要用户访问某个页面,就会返回index.html,然后继续使用Angular“组合”自己。

因此,如果找不到资源,API将发送404 NOT FOUND(使用JSON),或者将调用AngularJS .otherwise但是爬虫如何理解它是404(如果在打开URL时返回的第一页是索引且状态代码是200,则删除链接并删除链接?

手动解决方案可能是在首次需要索引时解析URL,调用API以查看资源是否有效并在必要时抛出错误,但在这种情况下,如果请求的资源有效,那么将会是对API的双重调用,它并不好。

处理此问题和其他类似SEO相关的最先进的最佳做法是什么?

我已经阅读了很多关于它的文章,但它们都被弃用或者基于预渲染(我想避免)。

非常感谢你给我的任何帮助和建议。

0 个答案:

没有答案