我正在使用Express和AngularJS构建一个网站,但我对这项技术还不熟悉,而且我来自旧的普通PHP / HTML / JS。我理解这种新方法的基础知识,但我对SEO的最佳实践感到好奇。
假设我有一个像这样构建的网站:
这是草稿:
- /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相关的最先进的最佳做法是什么?
我已经阅读了很多关于它的文章,但它们都被弃用或者基于预渲染(我想避免)。
非常感谢你给我的任何帮助和建议。