首页 > 解决方案 > 在 Angular 4/5 中,是否可以只预呈现来自 Facebook 和 Twitter 爬虫的请求,而不是预呈现每个请求

问题描述

在 Angular 4/5 中,不是预呈现每个请求,而是可以只预呈现来自 Facebook 和 Twitter 爬虫的请求,即当用户在 Facebook 或 Twitter 上共享这些 URL 时。我在想我们是否可以使用反向代理来实现这样的事情,如果请求来自 Facebook 或 Twitter 机器人,那么我可以从预渲染 Angular 代码的不同环境中为它们提供服务。

我有一个无法缓存的动态网站,而且由于流量大,预渲染每个请求效率低下。

标签: angularangular5reverse-proxyfacebook-sharetwitter-share

解决方案


好的,所以我找到了 2 个解决方案。

  1. Google、Facebook、Twitter 等爬虫有自己的用户代理,即
谷歌机器人
冰机器人
推特机器人
facebookexternalhit
联动机器人

因此,在 apache 或 nginx 中,我们可以编写条件以仅预渲染来自机器人的请求。

  1. 使用任何语言创建一个应用程序,以仅动态服务于 Angular 应用程序的 index.html 文件,您可以在运行时针对请求的 url 嵌入 og 元标记。

    希望这个解决方案对某人有所帮助。


推荐阅读