你應該知道的關於SEO和Javascript的6個事實
你應該知道的關於SEO和Javascript的6個事實
瞭解JavaScript的基礎知識已成為SEO專家的一項重要技能,儘管到目前為止,這兩個學科之間的關係一直存在爭議。
關於SEO和JavaScript的關鍵問題是發現搜尋引擎機器人是否可以正確地感知網站內容並實際評估使用者體驗。
雖然可以通過爬蟲直接讀取與PHP,CSS等一起使用的HTML,但是基於JavaScript的網站不能系統地訪問。百度的抓取工具必須首先分析DOM,然後才能瀏覽網站。
一般定義
在深入研究JavaScript優化的最佳實踐之前,讓我們先看一下基本術語:
JavaScript是一種用於使網頁動態和互動的程式語言。您可以將JavaScript放在HTML文件中,連結到它或引用它。
HTML代表超文字標記語言。簡單來說,這是一個內容組織者:HTML提供網站結構(列表,標題,副標題,段落等)並定義靜態內容。
AJAX是非同步JavaScript和XML。基本上,這允許在不重新整理整個頁面的情況下更新內容。AJAX允許Web應用程式和伺服器進行通訊,而不會干擾正在顯示的頁面。
但是,您應該注意到,百度將不再需要AJAX來瀏覽基於JavaScript的網站。
SEO專家也應該對DOM(文件物件模型)有基本的瞭解。您應該將DOM視為百度用於瀏覽和分析網頁的工具。
首先,百度收到HTML文件並識別其JavaScript元素。然後,導航器啟動DOM,允許搜尋引擎呈現頁面。
1.讓搜尋引擎看到你的JavaScript
robots.txt檔案配置為搜尋引擎提供適當的探索可能性。如果你阻止他們看到JavaScript,那麼對於探索機器人而言,頁面的顯示方式將不同於使用者。
這意味著搜尋引擎無法獲得完整的使用者體驗,百度可能會將這些操作解釋為隱藏。
最好的方法是為爬蟲提供他們檢視網頁所需的所有資源,方式與使用者相同。
2.內部連結
內部連結是強大的優化工具,用於向搜尋引擎顯示您的網站架構並將其指向最重要的網頁。
這裡最基本的建議是:使用內部連結。
最好通過在HTML或DOM中使用常規錨標記來實現內部連結,以便為使用者提供更好的體驗。
3. URL結構
基於JavaScript的網站用於在URL中包含片段識別符號,
正確的URL也稱為SEO友好的URL,由簡單的文字組成,非專家使用者可以輕鬆理解。
考慮使用pushState()進行無限滾動,以便每次使用者訪問頁面的新部分時URL都會更新。在完美的場景中,使用者可以重新整理頁面並保持完全相同的位置。
此外,探索SEO和URL的最佳實踐,並開始使用它們來改善使用者體驗。
4.測試您的網站
baidu能夠探索和理解許多形式的JavaScript,儘管其中一些可能比其他形式存在更多困難。
但是,預測可能的錯誤和問題並避免它們仍然更好,那麼為什麼不進行測試呢?
按照以下兩個基本步驟來檢測可能的破裂:
- 檢查您的網頁內容是否出現在DOM中。
- 測試一些頁面以確保百度能夠為您的內容編制索引。
瞭解百度是否能夠在robots.txt中檢視您的內容和JavaScript以及正確分析它至關重要。因此,請考慮手動檢查您的內容元素並使用百度恢復它們以檢視內容是否顯示。
您還可以使用一些將JavaScript考慮在內的抓取工具,例如seoorsem。
5. HTML快照
這是一個長篇故事和熱門話題。
首先,我們來看看HTML快照是什麼。
快照包含完整分析,解釋和呈現後的頁面內容。HTML快照的角色是可解釋的,無需執行JavaScript程式碼。
您需要知道的是,百度仍然支援HTML快照,儘管它已經宣告這是一個要避免的元素。
在某些情況下,HTML快照可能是必需的,因此您至少應該熟悉它們。
例如,如果搜尋引擎無法檢索您網站上的JavaScript,則可以為其提供HTML快照,這比根本沒有索引內容更好。
在完美的世界中,網站將在伺服器端使用某種型別的使用者代理檢測,並向機器人和使用者顯示HTML快照。
您應該注意到百度正試圖看到與使用者完全相同的體驗。因此,最好將HTML快照返回給搜尋引擎機器人。
6.網站延遲
當瀏覽器從接收到的HTML文件建立DOM時,它會按照HTML文件中提到的順序載入大部分資源。
如果HTML文件頂部存在一個海量檔案,瀏覽器將首先載入這個巨大的檔案,所有其他資訊只會在顯著延遲之後出現。
百度“關鍵渲染路徑”的關鍵思想是首先為使用者載入基本資訊。換句話說,為使用者提供最重要的內容。
如果您的JavaScript檔案或某些無用的資源阻止了頁面載入時間,您可能會阻止渲染JavaScript,這稱為感知延遲。
這意味著您的網頁可能會更快顯示,但JavaScript程式碼會降低它們的速度。
以下是解決此問題的2種解決方案:
- 在HTML中新增屬性“async”以非同步呈現JavaScript。
- 減少HTML文件中的JavaScript元素。
當您嘗試改善這種情況時,請記住JavaScript的基本規則。
例如,指令碼必須按特定順序進行分類。如果某些指令碼引用檔案,則只能在載入引用的檔案後使用它們。
您應該經常與IT團隊保持聯絡,以確保修改不會破壞使用者體驗。
結論
搜尋引擎不斷髮展,因此他們很有可能在未來更好,更快地解釋您的JavaScript。
目前,請確保您可以使用合理的網站延遲瀏覽和獲取現有內容。
相關文章
- 【譯】關於JavaScript 陣列你應該知道的事情JavaScript陣列
- 關於Git小白應該知道的事Git
- 關於 jwt ,你應該知道的JWT
- 【譯】關於 JavaScript 的原型你應該知道的所有事情JavaScript原型
- 關於 jwt 你應該知道的事情JWT
- 關於JavaScript的作用域你應該瞭解的那點事!JavaScript
- 關於WSL2你應該知道的
- 你應該知道的Redis事務Redis
- 關於前端模組化你應該知道的前端
- 關於字元編碼你應該知道的事情字元
- 關於理財你最應該知道幾個問題
- 初識python你應該知道的6個知識點!Python
- Laravel 你應該知道的幾個最佳實踐Laravel
- 關於前端應該知道的5個小知識前端
- 中科三方:關於SSL證書你應該知道這些事
- 每個綠帶都應該知道的事
- 關於JavaScript物件,你所不知道的事(一)- 先談物件JavaScript物件
- 6 件你應該用 Emacs 做的事Mac
- JS 總結之關於 this 應該知道的幾個點JS
- 你應該知道的16個linux命令Linux
- DOM和Diff演算法你應該知道的那些事,快收藏!演算法
- 關於CSS Transition,你需要知道的事CSS
- 關於JavaScript物件,你所不知道的事(二)- 再說屬性JavaScript物件
- 關於註解我們應該知道的
- 中小企業幾個關於seo的小常識問題,你是否知道?
- 關於 JavaScript 中的特殊函式,你應該這樣看JavaScript函式
- [譯]關於Angular髒值檢查你應該知道的最新指南Angular
- Linux 中關於 known_hosts 檔案,你所應該知道的Linux
- 你應該知道的FlutterFlutter
- 你應該知道的RocketMQMQ
- 關於機器學習,你應該知道的3個熱門專業術語機器學習
- 你應該知道的6大資料中心趨勢大資料
- 你應該知道的ip地址相關知識
- 關於Unicode,字符集,字元編碼,每個程式設計師都應該知道的事Unicode字元程式設計師
- 關於Mysql事務,你必須知道的幾個知識點!MySql
- IT職場:每個黑帶都應該知道的事
- 用友雲開發者中心,你應該知道的那些事
- 你應該知道的JS —— 物件JS物件