SEO大殺器rendertron安裝

飛翔碼農發表於2021-01-25

前段時間做SEO的優化,使用的是GoogleChrome/rendertron,發現這個安裝部署的時候還是會有一些要注意的地方,做個記錄

為什麼要使用rendertron

目前很多網站都是使用 vue、recat等框架開發的網站,一般都是在伺服器上只有一個index.html,index.html引入JS,通過JS在客戶端的瀏覽器上渲染出頁面。
如果是搜尋引擎的爬蟲,它不像瀏覽器可以直接渲染,它只能拿到一段無意義的JS程式碼,這些程式碼對SEO的收錄沒有任何意義。
所以Google就做了rendertron。流程就變成這樣了。

rendertron服務會呼叫Chromium瀏覽器,瀏覽器會將渲染結果返回給rendertron,然後rendertron會將結果返回給爬蟲客戶端

rendertron安裝

安裝流程

git clone https://github.com/GoogleChrome/rendertron.git
cd rendertron
npm install

安裝的時候發現rendertron安裝瀏覽器的時候,有時候由於牆的原因,有時候由於網路時長的問題,非常容易安裝失敗,所以需要忽略瀏覽器的安裝,安裝完rendertron的依賴之後再安裝瀏覽器。

env PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true
npm install --loglevel verbose

安裝完其他依賴之後再去安裝瀏覽器。
先找到Chromium的版本
在以下檔案中

node_modules/puppeteer/lib/esm/puppeteer/revisions.js

export const PUPPETEER_REVISIONS = {
    chromium: '818858',
    firefox: 'latest',
};

需要chromium 的版本號 818858
然後去 https://npm.taobao.org/mirrors/chromium-browser-snapshots/
下載現在相應的版本。
我的系統是centos,所以我下載的就是
https://npm.taobao.org/mirrors/chromium-browser-snapshots/Linux_x64/818858/chrome-linux.zip
下載完成之後解壓,拷貝到相應系統的地址,我這邊的地址就是這裡

node_modules/puppeteer/.local-chromium/linux-818858/chrome-linux
win64的可能是這樣的
node_modules/puppeteer/.local-chromium/win64-818858/chrome-win32

規則是這樣的
node_modules/puppeteer/.local-chromium/系統-版本號/下載解壓後的資料夾

這些都做完之後直接編譯執行

npm run build
npm run start

具體的使用和安裝可以看下官方的說明
https://github.com/GoogleChrome/rendertron

也可以先試用下網頁版的
https://render-tron.appspot.com/

相關文章