Rendertron/Prerender.io 云端预渲染方案,这是在解决出海SPA网站Google SEO问题的最优解

非常好!你选择了Rendertron/Prerender.io 云端预渲染方案,这是在中国大陆环境下解决 SPA 网站 Google SEO 问题的最优解,且无需改动你的前端代码

图片


方案一:Rendertron 本地/云端部署(推荐,完全免费)

1. Rendertron 简介

Rendertron 是 Google 官方开源的无头 Chrome 渲染服务,可以自己部署在本地服务器、云服务器或 Docker 容器。
你只需让 Nginx 检测到爬虫流量时,反代到 Rendertron 服务即可。


2. Rendertron 快速部署

A. 用 Docker 一键启动 Rendertron

docker run -d --name rendertron -p 3000:3000 ghcr.io/rendertron/rendertron
  • 这会在本地 3000 端口启动 Rendertron 服务。

B. Nginx 配置(核心)

假设你的前端站点是 hk.newoceanmachines.top,Rendertron 服务在 localhost:3000

server {
    listen 80;
    server_name hk.newoceanmachines.top;
    root /path/to/your/dist;
    index index.html;

    location / {
        set $is_bot 0;
        if ($http_user_agent ~* "googlebot|bingbot|yandex|baiduspider|twitterbot|facebookexternalhit|rogerbot|linkedinbot|embedly|quora link preview|showyoubot|outbrain|pinterest|slackbot|vkShare|W3C_Validator") {
            set $is_bot 1;
        }
        if ($args ~ "_escaped_fragment_") {
            set $is_bot 1;
        }
        if ($http_user_agent ~ "Rendertron") {
            set $is_bot 0;
        }
        if ($uri ~* "\\.(js|css|xml|less|png|jpg|jpeg|gif|pdf|doc|txt|ico|rss|zip|mp3|rar|exe|wmv|doc|avi|ppt|mpg|mpeg|tif|wav|mov|psd|ai|xls|mp4|m4a|swf|dat|dmg|iso|flv|m4v|torrent|ttf|woff|svg|eot)$") {
            set $is_bot 0;
        }

        resolver 8.8.8.8;
        if ($is_bot = 1) {
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Original-User-Agent $http_user_agent;
            proxy_set_header X-Forwarded-Host $host;
            proxy_pass http://localhost:3000/render/https://$host$request_uri;
            break;
        }

        try_files $uri $uri/ /index.html;
    }
}
  • 这样,只有爬虫流量会被 Rendertron 渲染,普通用户访问不受影响。

C. 重启 Nginx

sudo nginx -s reload

D. 验证

curl -A "googlebot" http://hk.newoceanmachines.top/

你应该能看到完整的 HTML 内容。


图片

方案二:Prerender.io 云服务(有免费额度)

  1. 注册 Prerender.io,获取 Token。

  2. 按照前述 Nginx 配置,将爬虫流量反代到 Prerender.io 服务。

  3. 免费额度每月 2500 次,超出需付费。


方案对比

方案

费用

维护

适合场景

Rendertron

免费

需自部署

服务器有 Docker/Node

Prerender.io

免费额度

云端

服务器能访问外网


结论

  • Rendertron 推荐自部署,完全免费,适合有服务器/云主机的团队。

  • Prerender.io 适合不想自己维护服务、流量不大的网站。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端组件开发

你的钟意将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值