動態渲染對 SEO 的好處

已發表: 2022-03-16

JavaScript 網頁使搜索引擎優化變得非常複雜,這非常棘手。 SEO被認為是數字營銷的基礎部分。 但是如果你打開你的想像力,它會讓你想起一個著名的馬戲團表演,其中有一個雜耍演員在一根桿子上旋轉幾個盤子。 技術搜索引擎優化呢? 讓我們把它想像成走在鋼絲上……和雜耍。

SEO的動態渲染

那麼什麼是 JavaScript SEO? 如果這是一場馬戲表演,那會是什麼? 也許,走鋼絲,玩雜耍……和火球。 這將是一個準確的定義。 由於這些可以理解的關聯,您可以看到這是一個棘手的平衡過程。 您的網站應該易於搜索引擎處理,同時比競爭對手運行得更好並且加載速度更快。

現在好消息是技術搜索引擎優化是您可以控制的排名因素之一。 畢竟,它使您的 JavaScript 網站易於 Google 閱讀和理解,並為訪問者提供良好的網絡體驗。 這是一個很大的好處,你不同意嗎? 此外,我們將詳細介紹動態呈現對 SEO 的好處、它對您網站的 SEO 健康的重要性以及實現它的方法。 但首先,簡單來說什麼是動態渲染?

Google 訪問您的網頁。 下一步是什麼?

如您所知,Google 的最佳幫手是一個自動化程序或機器人,它可以索引和編目萬維網上的每個網頁。 Google 會嘗試為用戶提供給定請求的最佳結果。 為此,它會仔細分析給定網頁上的 SEO 動態內容,並評估其與同一主題的其他網頁相比的相對重要性。

大多數現代 Web 開發使用三種主要的編程語言:HTML 和 JavaScript。 Google 通過抓取 HTML 並將其編入索引來處理 HTML。 首先,Googlebot 會查看頁面上的 HTML。 然後,它關注文本、頁面上的傳出鏈接和關鍵字。 下一步是索引頁面。 Google 和其他搜索引擎優先考慮以靜態 HTML 呈現的內容。

渲染 JavaScript 渲染更複雜,因為它包含三個步驟:

  • 爬行
  • 使成為
  • 指數

Google 會多次處理 JavaScript 內容以完全理解其內容。 這就是網站渲染的本質。 當 Google 在網頁上遇到 JavaScript 時,它會將其放入隊列中。 然後,當 Google 有資源時,它會呈現它。

JavaScript SEO 的難點是什麼?

HTML 充當 Web 開發的標準。 首先,搜索引擎可以有效地處理基於它的內容。 例如,Javascript 資源更密集,因此搜索引擎更難處理。 這表明搜索引擎的預算都花在了 JavaScript 網頁上。 谷歌聲稱其搜索引擎可以處理 JavaScript。 然而,這仍然不是事實。

JavaScript 搜索引擎優化

抓取、索引和頁面呈現需要更多的資源。 對於 Bing 和 DuckDuckGo 等其他搜索引擎,情況更糟。 這是因為他們根本無法處理 JavaScript。 因此,搜索引擎需要更多資源來呈現您的 JavaScript 頁面。 不幸的是,這意味著您頁面的許多元素根本不會被索引。

例如,谷歌和其他搜索引擎可能會錯過您的元數據和規範標籤,這對 SEO 至關重要。 事實上,Javascript 提供了出色的用戶體驗,允許您創建動態網站,讓用戶感到難以形容的興奮。 然而,問題仍然存在。 您如何在不損害 SEO 的情況下創建現代網絡體驗? 很多開發者選擇服務端渲染方式。

客戶端/服務器端渲染 VS。

許多 JavaScript 框架(如 Angular、Vue 和 React)都使用客戶端渲染。 他們等待您的網頁內容完全加載,然後在用戶端的瀏覽器中執行。 簡而言之,他們將內容呈現給用戶,而不是在服務器上供搜索引擎查看。 因此,客戶端渲染比其他替代方案更便宜。 隨著價格的上漲,服務器和開發人員的負載也在下降。

但是,並非一切都順利,因為用戶體驗可能會惡化。 例如,它會增加頁面加載時間,從而導致高跳出率。 客戶端渲染也會影響機器人。 Googlebot 使用兩波索引系統。 第一步是抓取和索引靜態 HTML,第二步是抓取 JavaScript 內容。 同樣,機器人可能會在索引過程中錯過您的 JavaScript 內容。

那麼該怎麼辦呢? 對於大多數開發團隊來說,它是服務器端渲染:配置 JavaScript 以便內容在您站點的服務器上呈現,而不是在客戶端瀏覽器中。 JavaScript 內容會提前呈現,使其對機器人可讀。 SSR 還具有性能優勢。 機器人和用戶可以獲得更快的體驗,而不會出現索引不完整或內容丟失的風險。

服務器端渲染:是還是不是?

要回答這個問題,首先要思考:服務器端渲染對SEO來說容易嗎? 答案是不。 否則,JavaScript SEO 不會成為問題,每個網站都會這樣做。 不幸的是,實施 SSR 需要一個稱職的 Web 開發團隊,而且實施過程本身會很昂貴、冗長且複雜。 另外,它不適用於第三方 JavaScript。

使用服務器端渲染的網站通常需要難以設置的外部 JavaScript 庫或插件。 例如,Angular 需要 Angular 通用庫來啟用服務器端渲染。 因此,在 Angular 中啟用 SSR 涉及很多活動部分。 這是一個很大的風險,因為一個不合適的部分可能會導致搜索結果失敗。

另一方面,React 使用 Next.JS 庫來提供服務器端渲染。 因此,開發人員將需要額外的服務器來產生額外的成本。 那麼,如何使 React 等框架對 SEO 友好,以取悅您的客戶和搜索引擎呢? 再一次,動態渲染來拯救。

簡而言之動態渲染

動態渲染是根據用戶代理的請求來交付內容。 換句話說,它是一種通用的解決方案,可以兩全其美。 它充當機器人的靜態 HTML 和用戶的動態 JavaScript。

結果,機器人獲得了您網頁的機器可讀、精簡、僅包含文本和鏈接的版本。 這使他們更容易抓取和分析頁面。 反過來,用戶獲得了一個可用的、完全優化的網頁,從而增加了他們與網站的交互時間。

實現動態渲染的方式

實現動態渲染包括三個步驟。

  1. 安裝動態渲染器以將動態內容轉換為靜態 HTML。
  2. 選擇應接收靜態內容的用戶代理(Googlebot、Bingbot、LinkedInbot 等)。 附帶說明一下,實現緩存或增加存儲內容的 HTTP 請求的數量將解決服務器工作緩慢的問題。 同樣值得考慮的是您的客戶是否需要桌面或移動設備的內容。 使用動態服務將幫助他們提供適當的解決方案。
  3. 配置服務器以提供靜態 HTML。

檢查您的配置

要驗證動態渲染是否正常工作,您需要執行:

  • 移動友好測試:這是 Google Search Console 工具套件的一項功能。 2020 年 9 月,谷歌開始為所有網站建立移動優先索引。 換句話說,Google 會先考慮您網站的移動版本,然後再考慮桌面版本。 因此,您應該針對移動設備優化您的網站。
  • URL 檢查工具:您需要確保您的網站被適當地編入索引。 URL 檢查器工具將幫助您解決此問題。
  • Fetch as Google:需要確定動態渲染的有效性。 它使您可以確保正確發送各個 URL 以進行索引。
  • 結構化數據測試工具:在您的網站上使用模式標記會很方便。 它確保您的動態呈現不會破壞架構標記。

用例

動態渲染完美解決了所有 JavaScript SEO 問題。 這是一個顯著的優勢。 動態渲染快速解決抓取預算問題,同時具有成本效益。 好處是它不需要先進的技術知識。 那麼什麼時候應該使用這個有用的工具呢?

  • 具有大量內容且經常更改的大型網站將非常適合動態渲染。 這是因為大型網站經常被快速索引。 因此,所有頁面都必須被索引並充分反映在 SERP 中。 動態渲染在這方面做得很好。
  • 動態渲染也將成為嵌入社交媒體牆或小部件的網站的救星。

動態渲染是否隱藏?

偽裝是向搜索引擎機器人和人類提供明顯不同的內容的做法。 這是一種黑帽 SEO 策略。 雖然隱身的短期好處很有吸引力,但潛在的風險仍然不值得。 如果動態呈現向搜索引擎和用戶提供相同的最終內容,則它不是屏蔽。 但是,如果您為每個內容提供完全不同的內容,這就是一種偽裝。

如何為搜索引擎優化 JavaScript 網站

許多過程與 SEO 專業人員習慣的過程相似,但有一些不同。

頁面搜索引擎優化

內容的常用頁面 SEO 規則:標題和元描述標籤、alt 屬性、元機器人標籤和更多應用程序。 開發人員在使用 JavaScript 網站時遇到的幾個問題是標題和描述標籤可以重複使用,並且圖像很少設置為 alt 屬性。

允許爬行

不要阻止對資源的訪問。 Google 需要訪問和加載資源才能正確呈現頁面。

網址

更新內容時更改 URL。 您應該知道 JavaScript 框架使用允許映射到純 URL 的路由器。 不要使用八角魚(# 符號)進行路由。 這主要是在 Vue 和一些早期版本的 Angular 中存在的問題。 在像 abc.com/#something 這樣的 URL 中,服務器通常會完全忽略 # 符號後面的部分。

重複內容

在 JavaScript 的情況下,多個 URL 可能指向相同的內容,從而導致重複內容的問題。 這可能是由不同的寄存器、標識符、標識符中的參數引起的。 以下所有變體都可以存在。

  • domain.com/Abc
  • domain.com/abc
  • domain.com/123
  • domain.com/?id=123

解決方案很簡單。 選擇一個您想要索引的版本並設置規範標籤。

搜索引擎優化插件

在 JavaScript 框架中,這些通常稱為插件。 大多數流行的框架都有版本,例如 React、Vue 和 Angular。 您可以通過搜索“框架+模塊名稱”找到它們,例如“React Helmet”。 元標記、Helmet 和 Head 是具有類似功能的流行模塊的示例,它們允許您安裝 SEO 所需的許多流行標籤。

錯誤頁面

因為 JavaScript 框架不在服務器端運行,所以它們不會導致服務器端錯誤,例如 404。對於錯誤頁面,您有幾個不同的選項:

  • 使用 JavaScript 重定向到響應 404 狀態代碼的頁面
  • 向無響應頁面添加無索引標籤和一些錯誤消息,例如“404 頁面未找到”。

網站地圖

JavaScript 框架通常具有用於映射到純 URL 的路由器。 這些路由器中的大多數都有一個額外的模塊,也可以創建站點地圖。 您可以通過搜索“您的系統+路由器站點地圖”找到它們,例如“Vue路由器站點地圖”(Vue路由器與站點地圖)。 此外,許多渲染解決方案可能還具有站點地圖選項。 所以再一次,用谷歌搜索“系統+站點地圖”,例如“蓋茨比站點地圖”,你肯定會找到一個已經存在的解決方案。

重定向

SEO 專業人員習慣於在服務器端進行 301/302 重定向。 另一方面,JavaScript 通常在客戶端完成。 這不是問題,因為 Google 會處理重定向接收到的頁面。 但是,重定向仍然會傳遞所有信號,例如 PageRank。 這些重定向通常可以通過“window.location.href”在代碼中找到。

國際化

不同框架有幾個選項可以支持國際化所需的一些功能,例如hreflang 這些通常被移植到其他系統,包括本地化和國際化或用於標題標籤的所有相同模塊,如 Helmet,可用於添加所需的標籤。

延遲加載

有處理延遲加載的模塊。 如果你還沒有註意到,在使用 JavaScript 框架時,幾乎所有你需要的模塊都有。 Lazy 和 Suspence 是最流行的延遲加載模塊。 延遲加載圖像是明智之舉,但不要延遲加載內容。 這可以通過 JavaScript 完成,但搜索引擎可能無法以這種方式正確構建內容。

結論

JavaScript SEO 是一種非常複雜的數字營銷機制。 否則,JavaScript 是一個明智使用的工具,而不是 SEO 需要避免的東西。 但是,如果你付出努力,你總能找到解決方案。 在這裡,它是動態渲染,它將減輕您的 Web 開發團隊的負擔並節省您的預算。 所以讓谷歌最終與你合作而不是反對你。

進入頂級谷歌排名