伺服器端渲染 (SSR) & 客戶端渲染 (CSR) 對 SEO 的影響│鼠年全馬鐵人挑戰 #11

CHEN
4 min readApr 11, 2020

--

上篇文章 淺談 SEO 白帽 & 黑帽有提到如何使用正規白帽的手法讓 SEO 網站排名靠前,增加使用者的觸擊率。今天要聊的主題也是做 SEO 當中常遇到的取捨問題,那就是網頁渲染的問題,到底伺服器端渲染 & 客戶端渲染的優缺點又是什麼呢?!

前端三劍客 : HTML 、 CSS 、 JavaScript ,是現在做網站最基本的元素,也比以前只靠 HTML 、 CSS 做網站讓使用者跟網頁更有互動。

什麼是 JavaScript ?

JavaScript 是一種程式語言,可以創建動態內容,讓網站使用上更豐富。

Photo by Clément H on Unsplash

JavaScript 可以讓網站更加有互動性,當然網站做得好就是要吸引顧客來用,希望流量衝高、關鍵字排名靠前,但是 JavaScript 竟會對 SEO 有影響?!所以在做網頁結構規劃時就要把 JavaScript 對 SEO 的利與弊做平衡的考量,才能兼顧網站體驗以及 SEO 。

JavaScript 是由瀏覽器(客戶端)的引擎做執行,會等 HTML 與 CSS 都生成好後才開始運行,這樣才能確保網頁的結構與樣式在 JavaScript 運行時就全部到位了。

前端框架對 SEO 有影響嗎?

雖然透過伺服器端渲染能讓 SEO 效果不錯,但是使用者體驗較不佳。而近年來前端的技術不斷更新,不少網站開始透過前端三大框架( React、 Vue 、 Angular )來開發,使用者體驗也比以前好,維護速度又快,但也因為是客戶端渲染的關係,讓搜尋引擎的爬蟲更不好爬取,導致 SEO 效果更差。

伺服器端渲染 ( Server-side render )

伺服器端渲染 — wiki

資料在後端渲染,是傳統的渲染方法

Photo by Hal Gatewood on Unsplash

請求頁面後,由伺服器端把渲染的完整頁面返回給客戶端,伺服器端只負責解析 HTML,減少了一次客戶端到伺服器端的 http 請求,加快了相應速度,一般用於 above the fold 的性能優化。但是維護上不方便,通常前端改 HTML 、 CSS 程式碼,後端也要跟著改,所以不好維護。

優點

  1. 爬蟲容易了解,對 SEO 有利
  2. 渲染速度快
  3. 生成緩存片段、靜態化文件
  4. 省電

缺點

  1. 用戶體驗差
  2. 不好維護

客戶端渲染 ( Client-side Render )

資料在前端渲染,新的渲染方式

Photo by Domenico Loia on Unsplash

客戶端(瀏覽器)這邊的 HTML 僅作為靜態檔,當客戶端做請求時,伺服器端不需做任何處理,就可以直接以原檔返回到客戶端,最後根據 JavaScript 生成 DOM 來插入 HTML。體驗好規好,但大規模使用 JavaScript 來做網頁渲染是非常耗能的。

優點

  1. 前後端分離,維護上也方便
  2. 部屬較簡單
  3. 不需要每次都請求頁面重新整理刷新
  4. 用戶體驗好

缺點

  1. 對 SEO 的效果差,搜尋引擎的爬蟲不好理解
  2. 下載完 JavaScript 、 CSS 才渲染,速度比較慢
  3. 耗能

不過去年 Google 提到現在搜尋引擎的爬蟲更新後已經可以看得懂客戶端渲染了,更厲害的是能夠看懂 ES6 語法,雖然還是有不少人對伺服器渲染的 SEO 優化方法比較有信心。但是 Google 宣布的這個消息一釋出讓不少網頁開發者感到開心,使用客戶端渲染可以兼顧用戶體驗,將來也不必擔心 SEO 的問題。

附上 The new evergreen Googlebot 官方文章,此文有提到新版 Googlebot 可以理解 ES6 以及 新版 JavaScript。

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

--

--

CHEN
CHEN

No responses yet

Write a response