10 วิธีในการหลีกเลี่ยงขนาด DOM ที่มากเกินไปในปลั๊กอิน WordPress

เผยแพร่แล้ว: 2022-09-26

ขนาด DOM ที่มากเกินไปอาจเป็นปัญหาสำหรับปลั๊กอิน WordPress เนื่องจากอาจทำให้ปลั๊กอินโหลดช้าหรือไม่โหลดเลย มีสองสามวิธีในการหลีกเลี่ยงปัญหานี้: 1. ใช้ปลั๊กอินที่ออกแบบมาให้มีน้ำหนักเบาและรวดเร็ว 2. หลีกเลี่ยงปลั๊กอินที่เพิ่มโค้ดจำนวนมากลงใน DOM 3. ใช้แคชปลั๊กอินเพื่อแคชเอาต์พุตของปลั๊กอิน 4. ลดจำนวนปลั๊กอินที่คุณใช้ให้น้อยที่สุด 5. ทำให้ปลั๊กอินของคุณทันสมัยอยู่เสมอ 6. ลบปลั๊กอินที่ไม่ได้ใช้ 7. ใช้ปลั๊กอินที่เข้ากันได้กับธีมของคุณ 8. หลีกเลี่ยงการใช้ปลั๊กอินหลายตัวที่ทำสิ่งเดียวกัน 9. ใช้ปลั๊กอินที่เข้ากันได้กับ WordPress เวอร์ชันของคุณ 10. ปฏิบัติตามแนวทางการพัฒนาปลั๊กอิน

ประสิทธิภาพของเว็บไซต์ของคุณอาจได้รับผลกระทบจาก DOM (Document Object Model) ที่สูง หน้าที่สะอาดควรมีองค์ประกอบไม่เกิน 900 รายการ ลึกไม่เกิน 32 ระดับที่ซ้อนกัน หรือโหนดย่อย 60 รายการของโหนดหลักใดๆ ถึงเวลากำจัดธีมที่ซับซ้อนเกินไปหรือธีมที่ซับซ้อนเกินไป ตามที่ Google กล่าว หากหน้าเว็บ DOM ของคุณมีโครงสร้างมากเกินไป อาจทำให้เบราว์เซอร์ของคุณทำงานช้าลง หากมีแอพที่ทำงานได้ไม่ดีมากเกินไป (ให้ลบออกในโค้ดของธีมด้วย) ธีมของคุณจะบีบอัดรูปภาพและส่งข้อความที่ไม่เหมาะสม เป็นความคิดที่ดีที่จะใช้เฉพาะสคริปต์ของคุณบนหน้าที่เปิดอยู่ (ตัวเลื่อน, วิดีโอ)

ฉันจะลดเวลาในการประมวลผล Dom ได้อย่างไร

เครดิต: quantumassocinc.com

มีหลายวิธีในการลดเวลาในการประมวลผล DOM หนึ่งคือการหลีกเลี่ยงการจัดการ DOM ที่มากเกินไป อีกประการหนึ่งคือการใช้ documentFragment เมื่อเป็นไปได้ documentFragment เป็นโหนดที่สามารถเก็บโหนดอื่น ๆ ได้ แต่ไม่ได้เป็นส่วนหนึ่งของเอกสาร ซึ่งหมายความว่าเมื่อคุณ appendChild documentFragment กับเอกสาร จะมีการเพิ่มเฉพาะชายน์ของ documentFragment ลงในเอกสาร ไม่ใช่ documentFragment เอง สิ่งนี้สามารถเพิ่มประสิทธิภาพได้เนื่องจากช่วยลดจำนวนโหนดที่เบราว์เซอร์ต้องประมวลผล

Document Object Model (DOM) เป็น API ที่สามารถใช้สร้างเอกสาร HTML และ XML เป็นไปไม่ได้ที่จะเรียกใช้เพจของคุณในแผนผัง DOM ขนาดใหญ่ องค์ประกอบ DOM ที่เพิ่มขึ้นอาจเป็นสัญญาณบ่งบอกถึงปัญหาของระบบ คุณควรดำเนินการตรวจสอบอย่างละเอียดเพื่อหาสาเหตุของปัญหา และหากเป็นไปได้ ให้แก้ไข คุณอาจสังเกตเห็นว่าผู้ใช้ใช้เวลานานมากในการรอให้หน้าเว็บของคุณโหลด เมื่อพวกเขาพบสิ่งทดแทน พวกเขาเกือบจะเลือกไซต์ที่ตรงกับความคาดหวังของพวกเขามากกว่า ตรวจสอบหน้าปัญหาเพื่อพิจารณาว่าองค์ประกอบใดที่ซ้ำซ้อน สุดท้าย คุณต้องลดขนาด DOM และเพิ่มความเร็วในกระบวนการโหลด (ปลั๊กอิน WP Rocket)

ลดเวลาการประมวลผลของ Dom

ทำให้โครงสร้าง HTML ของคุณเรียบง่ายและไม่มีส่วนประกอบที่ไม่จำเป็นเพื่อลดเวลาที่ใช้ในการประมวลผลข้อมูล การตรวจสอบแผนผัง DOM และลบโหนดที่ไม่มีคุณค่าสำหรับเว็บไซต์ของคุณเป็นสิ่งสำคัญ คุณจะไม่เพียงแต่ทำให้เว็บไซต์ของคุณเร็วขึ้นเท่านั้น แต่ยังทำให้เว็บไซต์ใช้งานง่ายขึ้นอีกด้วย

ความลึก Dom สูงสุดคืออะไร?

เครดิต: medium.com

แม้ว่าเบราว์เซอร์จะสามารถจัดการ แผนผัง DOM ขนาดใหญ่ ได้ แต่ก็ได้รับการปรับให้เหมาะสมสำหรับองค์ประกอบสูงสุด 32 องค์ประกอบ ปัญหาด้านประสิทธิภาพหลายประการอาจเกิดขึ้นจากแผนผัง DOM ขนาดใหญ่ ประสิทธิภาพเครือข่ายและประสิทธิภาพการโหลด

รูทเอกสาร

รูทของเอกสารคือนี่ ไฟล์นี้มีเนื้อหาทั้งหมดของเอกสาร
โหนดเอกสารเป็นโหนดลูกของโหนดนี้ เนื้อหาของเอกสารโดยทั่วไปประกอบด้วยแท็ก HTML ที่กำหนดโครงสร้างของเอกสาร โดยทั่วไปฟังก์ชันนี้จะมีแท็กส่วนหัวสำหรับเอกสาร โดยทั่วไป แท็ก HTML ที่มีส่วนท้ายของเอกสารจะรวมอยู่ในส่วนท้าย

องค์ประกอบ Dom ใน WordPress คืออะไร?

เครดิต: dumbitdude.com

ใน WordPress องค์ประกอบ DOM คือชิ้นส่วนของโครงสร้างเอกสารที่สามารถจัดการได้ โดยปกติสิ่งเหล่านี้เป็นองค์ประกอบ HTML แต่ก็สามารถเป็นองค์ประกอบ XML ได้เช่นกัน องค์ประกอบ DOM แต่ละรายการมี ID ที่ไม่ซ้ำกัน ซึ่งสามารถใช้เพื่อเลือกสำหรับการจัดการ

ในการเริ่มต้น คุณต้องสร้างอินสแตนซ์ของโหนดก่อน การใช้เมธอด createObject() ของอ็อบเจ็กต์ Document ทำให้กระบวนการเสร็จสมบูรณ์ได้ โดยทั่วไปแล้ววัตถุโหนดจะถือว่ามีระดับและต้องมีการตรวจสอบอย่างละเอียดก่อนใช้งาน
NodeType เป็นหนึ่งในคุณสมบัติที่สำคัญที่สุดใน Node ประเภทของวัตถุจะแสดงที่นี่ NodeTypes พร้อมใช้งานสำหรับประเภทโหนดต่อไปนี้: เอกสาร องค์ประกอบ ข้อความ ความคิดเห็น CDATA และคำสั่งในการประมวลผล
เมื่อใช้เมธอด isNodeType() คุณจะสามารถกำหนดประเภทโหนดของโหนดได้ เมธอดนี้คืนค่าบูลีนที่ระบุว่าโหนดเป็นเอกสาร องค์ประกอบ ข้อความ ความคิดเห็น CDATA หรือคำสั่ง
เมื่อใช้เมธอด nodeName() ชื่อของโหนดจะถูกส่งกลับเป็นสตริง ชื่อโหนดสามารถใช้ในส่วนอื่น ๆ ของ DOM เพื่ออ้างถึง Node
อาร์เรย์ของอ็อบเจ็กต์โหนดที่เป็นลูกของโหนดจะถูกส่งกลับไปยังคุณสมบัติ childNodes ของโหนด
ตราบใดที่คุณสมบัติโหนด parentNode มีอยู่ มันจะส่งคืนโหนดหลักของโหนด
เมื่อโหนดชายน์แรกถูกเพิ่มไปยังโหนดหนึ่ง โหนดดังกล่าวจะสืบทอดโหนดชายด์ตัวแรก
หากโหนดมีโหนดชายน์มากกว่าหนึ่งโหนด childNode ที่มีชายด์มากที่สุดจะถูกส่งกลับไปยังคุณสมบัติของโหนดนั้น
โหนดจะถูกส่งกลับไปยังโหนดพี่น้องถัดไปโดยใช้คุณสมบัติ nextSiblingNode
คุณสมบัติ PreviousSiblingNode ของ Node จะคืนค่าพี่น้องก่อนหน้าของ Node นั้น
InsertBefore() จะวางโหนดก่อนโหนดที่กำหนดในอาร์เรย์ childNodes โดยใช้เมธอด InsertBefore
เมธอด insertAfter ส่งคืนโหนดหลังจากโหนดในอาร์เรย์ childNodes ถูกแทรก
โหนดจะถูกลบออกจากเอกสารอันเป็นผลมาจากวิธีการ delete()
เมื่อดำเนินการวิธี appendChild โหนดจะถูกเพิ่มไปยังอาร์เรย์ childNodes ในตอนท้าย
ต้องลบโหนดออกจากอาร์เรย์ childNodes โดยใช้เมธอด removeChild()
findAll() วิธีการส่งกลับอาร์เรย์ของวัตถุโหนดอันเป็นผลมาจากการที่โหนดผ่านเป็นพารามิเตอร์
เมื่อใช้วิธี find() โหนดแรกในอาร์เรย์ childNodes จะถูกส่งคืนตามพารามิเตอร์ที่ระบุ
หากโหนดเป็นลูกหลานของโหนดที่ส่งผ่านเป็นอินพุต ค่าบูลีนจะถูกส่งกลับสำหรับเมธอด contain()
วิธีการนี้ใช้เพื่อล้างโหนด

วัตถุธาตุ

คุณสมบัติต่อไปนี้ของวัตถุองค์ประกอบอธิบายคุณสมบัติของมัน
ชื่อขององค์ประกอบคือ (สตริง) ตามที่กำหนดไว้ในเอกสาร HTML *br> สตริง – ชื่อของอินสแตนซ์แท็กขององค์ประกอบ (br) NodeName (สตริง) คือชื่อของโหนดที่มีองค์ประกอบเป็นลูกขององค์ประกอบ โหนดหลักขององค์ประกอบคือ parentnode ของ br> (โหนด) รายการโหนดลูกคือรายการโหนดย่อยขององค์ประกอบทั้งหมด

หลีกเลี่ยงองค์ประกอบ WordPress ขนาด Dom ที่มากเกินไป

ไม่มีคำตอบที่แน่ชัดสำหรับคำถามนี้ เนื่องจากขึ้นอยู่กับปัจจัยหลายประการ เช่น ธีมและปลั๊กอินของ WordPress ที่คุณใช้ ตลอดจนความชอบส่วนตัวของคุณ อย่างไรก็ตาม หลักการทั่วไปที่ดีคือการรักษาขนาด DOM ของคุณให้ต่ำกว่า 1 MB วิธีนี้จะช่วยให้แน่ใจว่าหน้าเว็บของคุณโหลดได้อย่างรวดเร็วและราบรื่น และผู้เยี่ยมชมของคุณมีประสบการณ์ที่ดีในไซต์ของคุณ

Pagebuilders ที่มี ขนาด Dom ขนาดใหญ่ เป็นหนึ่งใน Pagespeed ที่ Pagespeed แจ้งบ่อยที่สุด หากคุณต้องการเพิ่ม DOM ขนาดใหญ่ลงในไซต์โดยใช้ปลั๊กอิน ให้พิจารณาทางเลือกอื่นที่น้อยกว่า ในฐานะ LazyLoader คุณสามารถลดขนาดของ iframes และวิดีโอในขณะที่ลบเนื้อหาออกจากปลั๊กอิน ด้วยการใช้ปลั๊กอิน คุณสามารถทำการเปลี่ยนแปลงมากมายในไซต์ของคุณ

Elementor: เร่งความเร็วในการโหลดหน้าเว็บของคุณได้ถึง 30%

มีการแสดง Elementor เพื่อลดเวลาในการโหลดหน้าเว็บได้มากถึง 30% เนื่องจากเอาต์พุต HTML ที่เร็วขึ้นและเพิ่มประสิทธิภาพมากขึ้น สิ่งสำคัญคือต้องทราบว่า Elementor มีการเปลี่ยนแปลงมาร์กอัปบางอย่างที่อาจส่งผลต่อโค้ดที่กำหนดเองใดๆ ที่ผู้ใช้ได้นำไปใช้ในเว็บไซต์ของตน แต่ได้รับการออกแบบมาให้ไม่สร้างความรำคาญให้มากที่สุด หากเว็บไซต์ของคุณช้า Elementor ไม่ใช่สาเหตุเดียวของปัญหา

วิธีลดขนาดดอม

มีสองสามวิธีในการลดขนาด 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 Size ที่มากเกินไปคืออะไร

เมื่อหน้าของคุณมีโหนด DOM มากเกินไป (หรือแท็ก HTML) หรือเมื่อซ้อนกันมากเกินไป คุณอาจประสบปัญหาการประมวลผล DOM มากเกินไป ด้วยเหตุนี้ เบราว์เซอร์ของผู้ใช้จึงใช้พลังงานเพิ่มเติมในการประมวลผลหน้าเว็บ ทำให้โหลดช้าและไม่สามารถให้ความเร็วหน้าเว็บได้เพียงพอ

หากมีโหนด DOM มากเกินไปในหน้าหนึ่ง หรือหากโหนดซ้อนกันมากเกินไป แสดงว่ามีปัญหาขนาด DOM มากเกินไป เมื่อเว็บไซต์ทำงานได้ไม่ดีด้วยสาเหตุนี้ อาจส่งผลให้การเลื่อนกระตุกและการโหลดหน้าช้าลง ขนาด DOM ในอุดมคติ จะส่งผลให้ผู้ใช้ได้รับประสบการณ์ที่ดีขึ้นและ Conversion เพิ่มขึ้น เนื่องจากขนาด DOM ที่มากเกินไป สไตล์จึงช้าลง ใช้หน่วยความจำบ่อยขึ้น และขั้นตอนของเลย์เอาต์ใช้เวลานานกว่า โดยทั่วไปแล้ว DOM ขนาดใหญ่บนหน้าเว็บสามารถโหลดได้อย่างรวดเร็วในทางทฤษฎี แต่ในทางปฏิบัติไม่เป็นความจริงเสมอไป คุณมีความสามารถในการแก้ไขวัตถุ DOM เพื่อแสดงสิ่งที่คุณต้องการแสดงต่อผู้ใช้ของคุณ มีสาเหตุหลายประการของการเตือน "หลีกเลี่ยงขนาด DOM ที่มากเกินไป"

อย่าใช้เครื่องมือสร้างเพจที่สร้าง HTML มากเกินไป ธีมและเทมเพลตที่เขียนโค้ดไม่ดีอาจส่งผลต่อประสิทธิภาพของเว็บไซต์ของคุณได้เช่นกัน โปรแกรมแก้ไขแบบ WYSIWYG เช่น TinyMCE มักจะไม่ล้างโค้ดที่คัดลอกมาเมื่อวางจากไฟล์ Rich Text เช่น Microsoft Word ในกรณีนี้ คุณสามารถหลีกเลี่ยงการวางข้อความลงในโปรแกรมแก้ไขของคุณโดยตรงโดยนำข้อความที่มากเกินไปออกจากหน้าเว็บของคุณก่อน วิธีการโหลดส่วนใดส่วนหนึ่งในเว็บไซต์ของคุณอย่างช้าๆ สามารถช่วยปรับปรุงคุณภาพของหน้าแรกของคุณได้ ต้นไม้ DOM ขนาดใหญ่อาจทำให้ไซต์ทำงานได้ไม่ดีและโหลดช้า โครงสร้างหน้า HTML ของคุณต้องถูกทำให้ง่ายขึ้น และคุณควรจะสามารถลบองค์ประกอบที่ไม่จำเป็นออกจากโครงสร้างได้ หากสามารถปรับปรุงคุณสมบัติการมองเห็นเนื้อหาของ Google เพื่อจัดการกับขนาด DOM ที่มากเกินไปและการโหลดแบบ Lazy Loading ได้ นั่นอาจเป็นเครื่องมือที่มีประสิทธิภาพ

Small Doms ดีกว่าสำหรับประสิทธิภาพของเว็บไซต์ของคุณ

ขนาดที่ดีที่สุดสำหรับ DOM ของคุณควรมีขนาดประมาณ 1500 โหนด แต่ใหญ่พอที่จะมีความลึกสูงสุด 32 โหนด พิจารณาใช้โหนดที่มีโหนดย่อยไม่เกิน 60 โหนด เนื่องจากจะเป็นการเพิ่มขนาดของ DOM ของคุณอย่างมาก และส่งผลต่อเมตริกที่สำคัญของประภาคาร เช่น LCP และ CLS

ขนาดดอมมากเกินไป

ขนาด DOM ที่มากเกินไปอาจส่งผลเสียต่อประสิทธิภาพเนื่องจาก DOM มีขนาดใหญ่ขึ้น เบราว์เซอร์ก็จะใช้เวลาในการแยกวิเคราะห์และแสดงผลหน้าเว็บนานขึ้น นอกจากนี้ DOM ขนาดใหญ่ยังสามารถเพิ่มการใช้หน่วยความจำและทำให้ หน้าโหลดนาน ขึ้น

Dom Nodes มีจำนวนมากเกินไปหรือไม่?

โหนดที่มีโหนดย่อยมากกว่า 60 โหนดถือเป็นโหนดหลัก เนื่องจากมีความสำคัญ เมตริกของประภาคาร เช่น สีที่มีเนื้อหามากที่สุด (LCP) และการเปลี่ยนเลย์เอาต์สะสม (CLS) จึงมีแนวโน้มที่จะได้รับผลกระทบอันเนื่องมาจาก DOM ที่ใหญ่เกินไป

ลดเวลาในการดำเนินการบนเว็บไซต์ของคุณ

DOM อาจใช้ทรัพยากรของเว็บไซต์ของคุณเป็นจำนวนมาก ดังนั้นคุณจึงสามารถลดเวลาในการดำเนินการได้สองสามวิธี รักษาโครงสร้าง HTML ของคุณให้เรียบง่ายที่สุดโดยรักษาส่วนประกอบที่ไม่จำเป็นให้น้อยที่สุด หากเราทำเช่นนี้ เราสามารถลดจำนวนการจัดการ DOM ที่จำเป็นในการแสดงหน้าเว็บ ตรวจสอบแผนผัง DOM ของคุณและลบโหนดใดๆ ที่ไม่ส่งผลต่อมูลค่าไซต์ของคุณ ส่งผลให้กระบวนการเรนเดอร์เร็วขึ้น สุดท้าย ใช้เทคนิคการแคชเพื่อเพิ่มประสิทธิภาพเว็บไซต์ของคุณ ด้วยเหตุนี้ คุณจะมี การประมวลผล DOM น้อยลง เมื่อโหลดหน้าโดยการแคชหน้าที่แสดงผล

ต้นไม้โดมขนาดใหญ่คืออะไร?

เมื่อพัฒนาแผนผัง DOM ขนาดใหญ่ มักจะมีโหนดจำนวนมากที่ไม่ปรากฏให้เห็นเมื่อผู้ใช้โหลดหน้าเว็บเป็นครั้งแรก ส่งผลให้ต้นทุนข้อมูลเพิ่มขึ้น และทำให้ผู้ใช้ของคุณโหลดช้าลง ระหว่างรันไทม์มีประสิทธิภาพในระดับสูง เบราว์เซอร์ต้องสร้างโหนดและการจัดรูปแบบหน้าเว็บของคุณใหม่อย่างต่อเนื่องในขณะที่คุณโต้ตอบกับผู้ใช้และสคริปต์

The Dom: สำรวจโครงสร้างเอกสาร

เมื่อใช้ DOM นักพัฒนาสามารถเข้าถึงข้อมูลเกี่ยวกับโหนด คุณลักษณะ และลูกของเอกสาร ผู้แก้ไขจำเป็นต้องเข้าใจและจัดการโครงสร้างและเนื้อหาของเอกสาร โครงสร้างเอกสารมักใช้ในการพัฒนาเว็บเพื่อสร้างและจัดการเอกสาร DOM ความรับผิดชอบหลักของนักพัฒนาเว็บคือการสร้างหน้าและโต้ตอบกับเนื้อหาของเอกสารโดยใช้ DOM ต้นไม้ DOM สามารถใช้ได้ทั้งใน Java และ C# DOM ทำหน้าที่เป็นช่องทางสำหรับนักพัฒนาเพื่อเรียนรู้เกี่ยวกับโครงสร้างและคุณสมบัติของวัตถุ