提问人:Evgeniy 提问时间:11/10/2023 更新时间:11/10/2023 访问量:48
为什么 Google 在索引和缓存 Angular 构建的页面方面存在问题?[已结束]
Why Google has issues with indexing and caching of Angular-built pages? [closed]
问:
这个问题似乎不是关于特定的编程问题、软件算法或程序员主要使用的软件工具。如果您认为该问题在另一个 Stack Exchange 站点上是主题,您可以发表评论以解释该问题可能在哪里得到回答。
14天前关闭。
如果我理解正确的话,通常的 HTML 页面和 Angular SPA 之间的区别如下:
- HTML 页面:在用户从浏览器向服务器发出请求后,服务器会提供一个包含内容的 HTML 页面,
- Angular SPA:在用户从浏览器向服务器发出请求后,服务器会提供一个具有空 HTML 结构的页面。然后 AJAX 请求启动,服务器提供带有页面内容的 JSON。
Google 在 SPA 索引方面存在什么问题?问题是 JSON 到达的时间比 Googlebot 可以等待的时间晚(~5 秒)吗?
有人可以解释一下这个问题吗?
答:
一般来说,搜索引擎蜘蛛很简单。他们解析页面上的 HTML。如果他们来到 SPA(他们不知道这是 SPA)并且它的内容是空的......他们没有什么可以蜘蛛的。这是一个巨大的过度简化,今天也可能不是 100% 正确。
转到任何 Angular 应用程序并查看源代码(不是实时的 devtools),您会看到(通常)搜索引擎蜘蛛可能会看到的内容。
但是,Angular 对此有一个解决方案!Angular Universal/SSR(服务器端渲染)
对于没有外部数据的简单应用程序,您可以预渲染所有路由,以便它们以静态 HTML 页面的形式存在,然后 Angular 将在应用程序水合时将其用作起始状态。
对于更复杂的应用程序,您可以通过 Express 服务器在服务器端渲染 Angular 页面以用于 SEO(和其他)目的。
我有两个简单的 Angular 站点,它们不需要外部数据,并使用 SSR 预渲染所有路由以用于 SEO 目的。https://lyricconverter.net - 去那里查看源代码,你会看到一切都从一开始就在那里(尽管它被压缩了文件大小/速度)
评论