渲染策略
靜態網站生成 (SSG)
靜態網站生成 是指在建置時生成 HTML,隨後每個請求都會使用此 HTML。靜態網站生成可能是最適合 SEO 的渲染策略,不僅因為頁面載入時已具備所有 HTML(由於是預渲染),同時也有助於提升頁面效能——這如今也是 SEO 的排名因素之一。
伺服器渲染 (SSR)
與 SSG 類似,伺服器渲染 (SSR) 也是預渲染的,這同樣使其對 SEO 非常有利。不同於 SSG 在建置時生成 HTML,SSR 的 HTML 是在請求時生成的。這對於動態性極高的頁面非常適用。
增量靜態再生 (ISR)
如果您擁有大量頁面,在建置時生成所有頁面可能不可行。Next.js 允許您在網站建置後創建或更新靜態頁面。
增量靜態再生 讓開發者和內容編輯者能夠以頁面為單位使用靜態生成,而無需重新建置整個網站。透過 ISR,您可以在擴展至數百萬頁面的同時,保留靜態生成的優勢。
客戶端渲染 (CSR)
客戶端渲染 允許開發者讓網站完全透過瀏覽器中的 JavaScript 進行渲染。初始頁面載入時,通常會提供一個幾乎沒有內容的單一 HTML 文件,直到取得 JavaScript 並由瀏覽器編譯所有內容。
如前所述,一般情況下,客戶端渲染 不 推薦用於最佳 SEO 實踐。
CSR 非常適合數據密集的儀表板、帳戶頁面或任何不需要被搜索引擎索引的頁面。
總結
對於 SEO 最重要的是,頁面數據和元數據在頁面載入時無需 JavaScript 即可取得。在這種情況下,SSG 或 SSR 將是最佳選擇。
Next.js 的一大優勢在於,上述每種渲染方法都可以按頁面進行選擇。您可能希望部落格文章採用靜態生成,客戶帳戶儀表板採用客戶端渲染,而新聞動態則採用伺服器渲染。
延伸閱讀
- Next.js: 資料獲取
- Smashing Magazine: Next.js 增量靜態再生完全指南
- Vercel: Next.js:伺服器渲染 vs. 靜態生成