AngularJS 具有动态异步内容的元数据

AngularJS Metadata with dynamic async content

我在 .net 应用程序中有一个 angular 应用程序 运行,我正在尝试为 SEO 和其他目的实施元标记。我遇到的问题是在调用外部站点之前我不知道页面标题等。

例如,我可能导航到的 URL 是 www.mywebsite.com/people/1234。 这将调用 www.apiwebsite.com/api/person/get?id=1234,然后 return 信息,例如要在页面标题中使用的名称和其他重要元数据。

这里的问题是,虽然从用户的角度来看这是可行的,但爬虫和开放网格不会等待该信息,因此只有网站默认元数据可见。

我已经查看了 angularjs (angular 1) 的服务器端渲染作为一个选项,但找不到任何可用的东西,有没有人熟悉我可以用来确保正确的东西该页面的数据已提供给搜索引擎等?

根据您的应用程序和要求,有几种方法可以做到这一点。

  1. 您可以使用 prerender.io
  2. 等服务
  3. 您可以设置 rendertron or puppeteer 来预呈现您的页面
  4. 如果您升级到 Angular 6+,您可以使用 Angular Universal

我使用 puppeteer 作为构建步骤,当时大多数重要信息都不太动态,而且效果非常好。很多人似乎也对 Rendertron 和 prerender.io 非常满意。