gpt4 book ai didi

server-side-rendering - Angular Universal-仅针对Web爬虫进行预渲染吗?

转载 作者:行者123 更新时间:2023-12-04 08:24:57 25 4
gpt4 key购买 nike

我打算将Angular Universal用于服务器端渲染(SSR),但这仅应用于来自选定搜索引擎的爬虫和漫游器。

我想要的是以下架构:

enter image description here

资料来源:https://dingyuliang.me/use-prerender-improve-angularjs-seo/

按照the official instructions设置SSR之后,我现在可以验证Googlebot(最终)“看到”了我的网站,并且应该能够对其进行索引。

但是,目前所有请求都已呈现在服务器上。有没有一种方法可以确定传入的请求是否来自搜索引擎,并仅为它们预渲染网站?

最佳答案

您可以使用Nginx来实现。

在Nginx中,您可以通过将请求转发到通用服务的角度应用程序。

        if ($http_user_agent ~* "googlebot|yahoo|bingbot") {
proxy_pass 127.0.0.1:5000;
break;
}
root /var/www/html;

..假设您正在提供角度通用 via 127.0.0.1:5000

如果出现浏览器用户代理,我们将通过 root /var/www/html提供页面

因此,完整的配置将类似于..
server {
listen 80 default;
server_name angular.local;

location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $http_host;

if ($http_user_agent ~* "googlebot|yahoo|bingbot") {
proxy_pass 127.0.0.1:5000;
break;
}

root /var/www/html;
}

}

关于server-side-rendering - Angular Universal-仅针对Web爬虫进行预渲染吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53895461/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com