現今的動態網站,廣泛的應用到 Javascript 及 Ajax 相關技術,但這些技術對 Google 搜尋引擎的爬蟲並不是這麼的友善,從Google 官方文件指南得知,Google 爬蟲是非常了解 HTML 結構,但在爬取 Javascript 及 Ajax 時仍會有問題,如果要提昇對 Google 爬蟲的友善度,Google 還是建議將內容指向 Html。
前面提到了,動態網站對於爬蟲來說不是這麼友善,那身為前端工程師,我們可以透過下列幾種渲染技術,來優化動態網站的 SEO
網頁頁面的數據渲染完全由伺服器端渲染完成才回傳給用戶端。
常見的前端 SSR 框架:
React 生態的 Next.js
Vue 生態的 Nuxt.js
Angular 生態的 Universal
優點
缺點
爬蟲訪問網站時,網頁伺服器或程式依據爬蟲的 UserAgent,預先將渲染好的網頁,返回給爬蟲。
優點
缺點
優點:
缺點:
Rendertron 是 Google Chrome 團隊 利用 node js 及 Puppeteer 所開發的專案,可以用來解決任何 搜尋引擎無法爬取的動態網站內容。
運行原理
網頁服務器,依據搜尋引擎的 bot useragent,將請求轉向 自己架設的 rendertron server ,此時rendertron,有cache 就會使用 cache ,沒有 cache 就會去和啟動 Puppeteer 爬蟲去將網站爬回來。
優點
缺點
P.S. 進階的情境,虛擬列表及 Lazy load ,及更細部的瀏覽器操作,並不支援,但有開放源原始碼,且蠻好改的,可以自己擴充。
測試
https://render-tron.appspot.com/render/欲動態渲染的網址