Google 可以毫无问题地获取和呈现我所有 Angular SPA 页面的动态加载内容。所以这很好。但是爬虫会在我的模板中识别微数据和/或 RDFa 标记吗?我想按照Google 的文档为我的产品页面创建一些丰富的片段。
Angular 目前没有创建动态脚本的能力(参见这个问题),所以我打算尝试实现 Microdata 和/或 RDFa 标记。
这行得通吗?我是否必须在服务器端进行适当的渲染才能让谷歌识别丰富的产品片段?或者,如果没有服务器端渲染,Google 是否足够聪明?
Google 可以毫无问题地获取和呈现我所有 Angular SPA 页面的动态加载内容。所以这很好。但是爬虫会在我的模板中识别微数据和/或 RDFa 标记吗?我想按照Google 的文档为我的产品页面创建一些丰富的片段。
Angular 目前没有创建动态脚本的能力(参见这个问题),所以我打算尝试实现 Microdata 和/或 RDFa 标记。
这行得通吗?我是否必须在服务器端进行适当的渲染才能让谷歌识别丰富的产品片段?或者,如果没有服务器端渲染,Google 是否足够聪明?
ng2 中的微数据和 RDFa 听起来比 JSON-LD 更难实现。走这条路意味着您在所有组件视图中传播 SEO 关注点,这将导致更多的复杂性并降低您在 SEO 方面的可扩展性。
Google也推荐JSON-LD 而不是 Microdata 和 RDFa,这意味着从长远来看,它可能是更好的选择,因为他们很可能会专注于对 JSON-LD 进行进一步的 SEO 优化。
我已经有一段时间没有在 ng2 中工作了,但是这个与您链接到的 github 问题相关的原始问题的答案表明惰性脚本标签不再被剥离?
在选择移动到 MD 或 RDFa 标签之前,我会进行测试以确保惰性标签仍然是条带化的,或者它是否已在框架中修复。
至于回答您关于谷歌是否会在没有 SSR 的情况下索引 MD 的原始问题,我不能从经验中说,但我会说它很有可能工作,因为他们正在渲染网站的 JS 版本所以它对他们来说阅读它是有意义的。