用于 SEO 的非 SPA AJAX 部分
遗憾的是,101% 的 Angular SEO 示例假设使用单页应用程序 (SPA)。我的应用程序不是 SPA。目前,我的堆栈是:
Node/Express
- 用于路由和渲染 Jade 模板。这些 URL 是真实的,并且不使用 HTML pushstate、hash-bang 或任何类似的东西。因此,url-escaped-fragment 对我不起作用(我不认为)Angular
用于与我的 RESTful API 进行通信
我的问题是我的页面本身只包含通过 AJAX 加载的部分——页面的其余部分是在服务器端呈现的。Node/Express 不对这些逻辑负责,Angular 会提取我的第一个h1
.
谷歌机器人和类似的看到:<h1>{{this_unrendered_string}}</h1>
这不好。
有没有人想出任何巧妙的解决方案来解决这种情况?
FWIW 我发现了一个名为 SEO.js 的服务,它将托管我传递给它的任何页面的渲染版本。如果我可以告诉 GoogleBot 和类似的“嘿,不要使用此页面,请改用此页面”但我不完全确定 SEO 对不同主机提供内容的感觉如何。也许一些诡计可以在这里工作..