rendora是一種為網路抓取工具提供零配置伺服器端動態渲染的SEO工具

banq發表於2018-12-12

Rendora是一個動態渲染器,主要為網路爬蟲提供零配置伺服器端渲染,以便毫不費力地改進在現代Javascript框架(如React.js,Vue.js,Angular.js等)中開發的網站的SEO ... Rendora完全獨立於您的前端和後端堆疊。
Rendora可以看作是位於後端伺服器(例如Node.js / Express.js,Python / Django等等)之間的反向HTTP代理伺服器,也可能是您的前端代理伺服器(例如nginx,traefik,apache等)。 ..)或甚至直接到外部世界,除了當它根據配置檢測到白名單請求時,除了傳輸請求和響應之外什麼都沒有。在這種情況下,Rendora指示無頭Chrome例項請求並呈現相應的頁面,然後將伺服器端呈現的頁面返回給客戶端(即前端代理伺服器或外部世界)。這個簡單的功能使Rendora成為一個強大的動態渲染器,而無需在前端和後端程式碼中實際更改任何內容。

rendora是一種為網路抓取工具提供零配置伺服器端動態渲染的SEO工具

主要特點

  • 前端和後端程式碼需要零更改
  • 基於使用者代理和路徑的過濾器
  • 用Golang編寫的單快速二進位制檔案
  • 多種快取策略
  • 支援非同步頁面
  • 普羅米修斯指標
  • 選擇您的配置系統(YAML,TOML或JSON)
  • 容器準備好了

什麼是動態渲染?
動態呈現意味著伺服器將伺服器端呈現的HTML提供給Web爬蟲(如GoogleBot和BingBot),同時為普通使用者提供典型的初始HTML,以便在客戶端呈現。動態渲染旨在改善用現代javascript框架(如React,Vue,Angular等)編寫的網站的SEO ..

Rendora如何運作?

對於來自前端伺服器或外部世界的每個請求,根據Rendora的配置檔案,根據頭和/或路徑測試一些檢查或過濾器,以確定Rendora是否應該只傳遞從後端伺服器返回的初始HTML或使用無頭Chrome提供伺服器端呈現的HTML。更具體地說,對於每個請求,有2條路徑:

  1. 如果請求被列入白名單作為SSR的候選者(即透過所有使用者代理和路徑過濾器的GET請求),Rendora會指示無頭Chrome例項請求相應的頁面,呈現它並返回包含最終伺服器端的響應呈現HTML。您通常只想將GoogleBot,BingBot等網路抓取工具列入白名單......
  2. 如果請求未列入白名單(即請求不是GET請求或未透過任何過濾器),Rendora將只是充當透明的反向HTTP代理,只是按原樣傳達請求和響應。您通常希望將真實使用者列入黑名單,以便將來自後端伺服器的常用客戶端呈現的HTML返回給他們。

Github

相關文章