在 WordPress 插件中避免過多 DOM 大小的 10 種方法
已發表: 2022-09-26過大的 DOM 大小可能會成為 WordPress 插件的問題,因為它會導致插件加載緩慢或根本不加載。 有幾種方法可以避免這個問題: 1. 使用設計為輕量級和快速的插件。 2. 避免向 DOM 添加大量代碼的插件。 3.使用緩存插件緩存插件輸出。 4. 盡量減少你使用的插件數量。 5. 保持你的插件是最新的。 6.刪除未使用的插件。 7. 使用與您的主題兼容的插件。 8. 避免使用多個做同樣事情的插件。 9. 使用與您的 WordPress 版本兼容的插件。 10. 遵循插件開髮指南。
高 DOM (文檔對像模型)可能會對您網站的性能產生負面影響。 一個乾淨的頁面應該包含不超過 900 個元素,不超過 32 個嵌套級別,或者任何父節點的 60 個節點後代。 是時候擺脫一個過於復雜或過於復雜的主題了。 根據 Google 的說法,如果您的 DOM 網頁過於結構化,可能會導致您的瀏覽器速度變慢。 如果有太多應用程序表現不佳(在主題代碼中也將它們刪除),您的主題將壓縮圖像並發送不合適的消息。 最好只在腳本所在的頁面(滑塊、視頻)上使用腳本。
如何減少 Dom 處理時間?

有許多方法可以減少 DOM 處理時間。 一是避免過度的 DOM 操作。 另一種方法是盡可能使用 documentFragment。 documentFragment 是一個可以容納其他節點的節點,但它本身不是文檔的一部分。 這意味著當您將 documentFragment 附加到文檔時,只會將 documentFragment 的子項添加到文檔中,而不是 documentFragment 本身。 這可以提高性能,因為它減少了瀏覽器需要處理的節點數量。
文檔對像模型 (DOM) 是一種 API,可用於構建 HTML 和 XML 文檔。 在大型 DOM 樹中運行您的頁面是不可能的。 越來越多的 DOM 元素可能是系統出現問題的跡象。 您應該進行徹底的審核以確定問題的根本原因,並在可能的情況下進行修復。 您可能會注意到用戶花費大量時間等待您的頁面加載。 當他們找到替代品時,他們幾乎肯定會選擇一個更符合他們期望的網站。 檢查問題頁面以確定哪個元素是多餘的。 最後,您必須減小 DOM 大小並加快加載過程(WP Rocket 插件)。
減少 Dom 處理時間
使您的 HTML 結構簡單且沒有不必要的組件,以減少處理數據所花費的時間。 檢查您的 DOM 樹並刪除對您的網站沒有價值的節點至關重要。 您不僅可以加快網站速度,還可以使其更加用戶友好。
什麼是最大 Dom 深度?

儘管瀏覽器可以處理更大的 DOM 樹,但它們針對最多 32 個元素進行了優化。 大型 DOM 樹可能會導致多個性能問題。 網絡效率和負載性能。
文檔根
文檔的根是這個。 此文件包含文檔的所有內容。
文檔節點是該節點的子節點。 文檔正文通常包含定義文檔結構的 HTML 標記。 此函數通常包含文檔的標題標籤。 通常,包含文檔頁腳的 HTML 標記包含在頁腳中。
WordPress 中的 Dom 元素是什麼?

在 WordPress 中,DOM 元素是可以操作的文檔樹的一部分。 通常,這些是 HTML 元素,但它們也可以是 XML 元素。 每個 DOM 元素都有一個唯一的 ID,可用於選擇它進行操作。
首先,您必須首先創建一個 Node 實例。 使用 Document 對象的 createObject() 方法,可以完成該過程。 節點對象通常被認為是高級的,在使用之前需要進行廣泛的檢查。
NodeType 是 Node.js 中最重要的屬性之一。 此處顯示對象的類型。 NodeTypes 可用於以下節點類型:文檔、元素、文本、註釋、CDATA 和處理指令。
使用 isNodeType() 方法,可以確定節點的節點類型。 此方法返回一個布爾值,指示節點是文檔、元素、文本、註釋、CDATA 還是指令。
當使用 nodeName() 方法時,節點的名稱將作為字符串返回。 節點名稱可用於 DOM 的其他部分來引用節點。
作為 Node 子節點的 Node 對像數組將返回到 Node 的 childNodes 屬性。
只要節點 parentNode 屬性存在,它就會返回節點的父節點。
當第一個子節點添加到一個節點時,它將繼承第一個子節點。
如果一個節點有多個子節點,則具有最多子節點的子節點將返回到該節點的屬性中。
使用 nextSiblingNode 屬性將節點返回到下一個兄弟節點。
節點的 previousSiblingNode 屬性返回該節點的上一個兄弟節點。
InsertBefore() 將使用 InsertBefore 方法將節點放在 childNodes 數組中給定節點之前。
insertAfter 方法返回插入 childNodes 數組中的節點後的節點。
由於 delete() 方法,該節點從文檔中刪除。
執行 appendChild 方法時,Node 會被添加到最後的 childNodes 數組中。
必須使用 removeChild() 方法從 childNodes 數組中刪除節點。
作為 Node 作為參數傳遞的結果,findAll() 方法返回一個 Node 對像數組。
使用 find() 方法時,將根據指定的參數返回 childNodes 數組中的第一個 Node。
如果一個節點是作為輸入傳入的節點的後代,則將為 contains() 方法返回一個布爾值。
該方法用於清空節點。
元素對象
元素對象的以下屬性描述了它的屬性。
元素的名稱是 HTML 文檔 *br> 中定義的 (string)。 String – 元素標籤實例的名稱 (br)。 NodeName(字符串)是其元素是該元素的子元素的節點的名稱。 元素的父節點是br>的父節點(node)。 子節點列表是所有元素子節點的列表。

避免使用過大的 Dom 大小的 WordPress Elementor
這個問題沒有明確的答案,因為它取決於許多因素,例如您使用的特定 WordPress 主題和插件,以及您的個人喜好。 但是,一個好的經驗法則是將 DOM 大小保持在 1 MB 以下。 這將有助於確保您的頁面快速順利地加載,並確保您的訪問者在您的網站上獲得積極的體驗。
具有大 Dom 大小的頁面構建器是 Pagespeed 最常標記的。 如果您需要使用插件將大型 DOM 添加到站點,請考慮使用更精簡的替代方案。 作為 LazyLoader,您可以在從插件中刪除資源的同時減小 iframe 和視頻的大小。 通過使用插件,您可以對您的網站進行大量更改。
Elementor:將頁面加載時間加快 30%
由於更快、更優化的 HTML 輸出,Elementor 已被證明可以將頁面加載時間減少多達 30%。 需要注意的是,Elementor 有一些標記更改可能會影響用戶在其網站中實現的任何自定義代碼,但它被設計為盡可能不引人注目。 如果您的網站運行緩慢,Elementor 並不是問題的唯一原因。
如何減小 Dom 大小
有幾種方法可以減小 DOM 大小:
1. 盡量減少頁面上的元素數量。 這可以通過合併元素、盡可能使用 CSS 而不是 HTML 以及使用更精簡的標記來完成。
2. 最小化元素本身的大小。 這可以通過使用較短的 ID 和類名、使用簡寫 CSS 屬性以及縮小 CSS 和 JavaScript 來完成。
3. 使用內容分發網絡(CDN)從更靠近用戶的服務器加載資源,可以減少延遲並提高性能。
PageSpeed Insights 會在 Google PageSpeed Insights 中標記太大的頁面。 過大的 DOM 大小會以多種方式對性能產生負面影響。 代替:,您可以使用: 而不是: 來減小 DOM 大小。 目標應該是消除所有可能的 HTML 元素。 一切都可以減少到可管理的負載,從而避免。 要劃分大頁面,請使用多個頁面。 加載元素時,請確保不要一次加載所有元素。
避免在 CSS 中隱藏不需要的元素。 主題和頁面構建器應該編碼良好。 使用分析、測量和重新分析等工具來執行此操作。 HotJar 或 Google Analytics 是您可以用來調查訪問者使用情況的兩個工具。 一些插件和主題設置可能需要太多 div 才能順利運行。
保持你的 Dom 樹小而深
對於 DOM 樹,需要一個小而深的樹,因為這將減少頁面加載時間。 此外,大型 DOM 樹可能會出現問題,因為它可能包含許多用戶無法立即看到的節點。 如果您的用戶使用更多數據,您可能會被迫提高他們的數據速率,這會減慢他們的加載時間。
什麼是 Dom 尺寸過大
當您的頁面有太多 DOM 節點(或 HTML 標記)或當它們嵌套太深時,您可能會遇到 DOM 過度處理。 結果,用戶的瀏覽器會消耗額外的電量來處理您的網頁,導致其加載緩慢並且無法提供足夠的頁面速度。
如果頁面上的 DOM 節點太多或者嵌套太深,就會出現 DOM 尺寸過大的問題。 當網站因此而表現不佳時,可能會導致滾動不順暢和頁面加載時間變慢。 理想的 DOM 大小將帶來更好的用戶體驗並增加轉化率。 由於過多的 DOM 大小,樣式變慢,內存使用更頻繁,佈局流程更耗時。 理論上,頁面上的大型 DOM 通常可以快速加載,但實際上並非總是如此。 您可以修改 DOM 對像以向用戶顯示您想要顯示的內容。 警告“避免過多的 DOM 大小”有幾個原因。
不要使用生成過多 HTML 的頁面構建器。 編碼不當的主題和模板也會影響您網站的有效性。 從 Microsoft Word 等富文本文件粘貼時,複製粘貼的代碼通常不會被 TinyMCE 等所見即所得編輯器清理。 在這種情況下,您可以通過首先從頁面中刪除臃腫的文本來避免將文本直接粘貼到編輯器中。 這種緩慢加載網站特定部分的方法有助於提高初始頁面的質量。 大型 DOM 樹會導致網站性能不佳並加載緩慢。 您的 HTML 頁面結構需要簡化,並且您應該能夠從中刪除任何不必要的元素。 如果 Google 的新內容可見性屬性可以改進以解決過多的 DOM 大小和延遲加載,它可能是一個強大的工具。
較小的 Dom 對您網站的性能更好
DOM 的最佳大小應該是大約 1500 個節點的大小,但大到足以擁有 32 個節點的最大深度。 考慮使用不超過 60 個子節點的節點,因為這會顯著增加 DOM 的大小並影響重要的燈塔指標,例如 LCP 和 CLS。
過大的 Dom 大小
過大的 DOM 大小會對性能產生負面影響,因為 DOM 越大,瀏覽器解析和呈現頁面所需的時間就越長。 此外,大型 DOM 還會增加內存使用量並導致頁面加載時間變長。
多少個 Dom 節點太多了?
具有超過 60 個子節點的節點被視為父節點。 由於它們的重要性,最大內容繪製 (LCP) 和累積佈局偏移 (CLS) 等燈塔指標可能會因 DOM 過大而受到影響。
減少您網站上的 Dom 處理時間
DOM 會佔用您網站的大量資源,因此您可以通過幾種方式減少其處理時間。 通過將不必要的組件保持在最低限度,使您的 HTML 結構盡可能簡單。 如果我們這樣做,我們可以減少渲染頁面所需的 DOM 操作量。 檢查您的 DOM 樹並刪除任何對您的站點價值沒有貢獻的節點。 結果,渲染過程將加快。 最後,使用緩存技術來提高您網站的性能。 因此,通過緩存呈現的頁面來加載頁面時,您將執行更少的 DOM 處理。
什麼是大型 Dom 樹?
在開發大型 DOM 樹時,當用戶首次加載頁面時,經常會有大量節點不可見,這會增加數據成本並減慢用戶的加載時間。 在運行期間,有高水平的性能。 當您與用戶和腳本交互時,瀏覽器必須不斷地重新生成頁面的節點和样式。
Dom:遍歷文檔樹
使用 DOM,開發人員可以訪問有關文檔的節點、屬性和子項的信息。 編輯者有必要理解和操作文檔的結構和內容。 文檔樹通常在 Web 開發中用於創建和操作 DOM 文檔。 Web 開發人員的主要職責是創建頁面並使用 DOM 與文檔內容進行交互。 DOM 樹可用於 Java 和 C#。 DOM 充當開發人員了解對象結構和屬性的渠道。