Magento 2 Speed ​​Optimization: ง่าย + วิธีขั้นสูง

เผยแพร่แล้ว: 2021-01-08

สารบัญ

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

การเพิ่มประสิทธิภาพความเร็วและสาเหตุที่ทำให้ถูกต้องยาก

เห็นได้ชัดว่า หากการเพิ่มประสิทธิภาพความเร็วในเว็บไซต์ Magento 2 เป็นเพียงการติดตั้งและเปิดใช้งานส่วนขยาย คุณจะไม่พบว่าตัวเองต้องดิ้นรนกับการเพิ่มประสิทธิภาพ มันซับซ้อนกว่านั้นมาก

ตัวแปรมากมาย

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

มีตัวแปรมากมายที่ต้องนำมาพิจารณาเมื่อเพิ่มประสิทธิภาพร้านค้าของคุณ นั่นคือเหตุผลที่คุณควรระบุปัญหาเฉพาะก่อนเสมอ

ลำดับความสำคัญ

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

การแลกเปลี่ยน

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

เทคนิคการเพิ่มประสิทธิภาพทั่วไป

เทคนิคการเพิ่มประสิทธิภาพทั่วไปเหล่านี้ไม่ยุ่งยากและไม่ต้องใช้ความรู้ด้านเทคนิคมากนักในการนำไปใช้

1. ตรวจสอบโฮสติ้งและเวอร์ชันวีโอไอพีปัจจุบันของคุณ

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

มันสำคัญยิ่งกว่าสำหรับไซต์ Magento ที่มีโฮสติ้งที่เหมาะสมเพื่ออำนวยความสะดวกในโครงสร้างที่แข็งแกร่งและซับซ้อน แม้ว่า Magento Hosting จะต้องการ RAM อย่างน้อย 2GB ก็ตาม แผนบริการโฮสติ้งที่เหมาะสมจะขึ้นอยู่กับขนาดของเว็บไซต์

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

>> ดูเพิ่มเติม: 12 ผู้ให้บริการโฮสติ้งวีโอไอพีที่ดีที่สุด

2. ใช้บริการ CDN

เครือข่าย CDN

(ภาพถ่าย/WPbeginner.com)

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

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

ในขณะที่ผู้ให้บริการโฮสติ้งจำนวนมากเสนอบริการ CDN คุณยังสามารถเลือกผู้ให้บริการ CDN ของคุณเอง เช่น Fastly หรือ Stackpath หลังจากตั้งค่าบริการแล้ว คุณต้องกำหนดค่า CDN ในแบ็กเอนด์ Magento ของคุณก่อนที่จะเห็นการเปลี่ยนแปลงใดๆ

3. ขี้เกียจโหลดภาพ

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

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

เครดิตวิดีโอ: รูปภาพระดับเบราว์เซอร์โหลดแบบ Lazy Loading สำหรับเว็บ

ใน Magento 2 คุณสามารถใช้ภาพโหลดแบบ Lazy Loading กับเว็บไซต์ Magento ของคุณด้วยส่วนขยายต่างๆ เช่น Lazy Loading สำหรับ Magento 2 มีส่วนขยายอื่นๆ เช่นนี้อีกหลายอย่างที่มีอยู่ในตลาด Magento โดยไม่เสียค่าใช้จ่าย

4. ใช้ WebP

มักถูกนำมาเปรียบเทียบกับรูปแบบภาพ Swiss Army Knife WebP เป็นรูปแบบภาพที่ใหม่และยืดหยุ่นซึ่งกำลังได้รับความนิยมอย่างรวดเร็ว และคาดว่าจะ มา แทนที่ PNG, JPEG และ GIF เมื่อเทียบกับรูปภาพ PNG และ JPG รูปภาพ WebP มักจะเล็กกว่า 25 – 35% โดยแทบไม่สูญเสียคุณภาพของภาพเลย

การเปรียบเทียบ WebP
เครดิตภาพ: Digital Noir

เนื่องจากนี่ยังคงเป็นรูปแบบรูปภาพที่ค่อนข้างใหม่ WebP จึงไม่รองรับโดยค่าเริ่มต้นใน Magento 2 และคุณจะต้องติดตั้งส่วนขยายของบุคคลที่สาม เช่น Magento 2 WebP Images Extension เพื่อเปิดใช้งานการแปลงรูปภาพอัตโนมัติเป็น WebP

5. ใช้ธีมน้ำหนักเบา

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

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

6. ปิดใช้งานแค็ตตาล็อกแบบเรียบ

เมื่อก่อนการเปิดใช้งานแค็ตตาล็อก Flat เป็นวิธีที่จะไปหากคุณต้องการลดเวลาที่ใช้ในการสืบค้น SQL อย่างไรก็ตาม จาก Magento 2.1 ขึ้นไป นี่ไม่ใช่แนวทางปฏิบัติที่ดีที่สุดอีกต่อไป และคุณควรงดเว้นจากการใช้ส่วนขยายใดๆ ที่เกี่ยวข้องกับการใช้แค็ตตาล็อก Flat เนื่องจากเป็นที่ทราบกันดีว่าคุณลักษณะนี้ทำให้ประสิทธิภาพการทำงานลดลงและปัญหาการจัดทำดัชนีอื่นๆ

หากต้องการปิดใช้งานแค็ตตาล็อกแบบเรียบ ตรวจสอบให้แน่ใจว่าคุณได้ตั้งค่า Use Flat Catalog Category/Use Flat Catalog Product เป็น No ใน Stores > Settings > Configuration > Catalog

7. ลดส่วนขยายของบุคคลที่สามที่ไม่จำเป็นลง

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

8. ปิด Javascript Bundling

Javascript Bundling จะจัดกลุ่มไฟล์ Javascript ของคุณหลายไฟล์เป็นบันเดิล ส่งผลให้เซิร์ฟเวอร์ต้องขอไฟล์ Javascript น้อยลง ดังนั้นจึงใช้เวลาน้อยลง ในทางทฤษฎีควรช่วยในเรื่องประสิทธิภาพ

อย่างไรก็ตาม ในความเป็นจริง เครื่องมือ JS Bundling พื้นฐานที่สร้างใน Magento ไม่ค่อยตรงตามความคาดหวังนั้น แต่มักส่งผลให้ความเร็วในการโหลดลดลง จากการทดสอบโดยสมาชิก Magento stack exchange เวลาในการโหลดหน้าเว็บเฉลี่ยของเขาเพิ่มขึ้นจาก 5 วินาทีเป็น 15 วินาทีหลังจากเปิดใช้งาน JS Bundling

JS Bundling ถูกปิดโดยค่าเริ่มต้น อย่างไรก็ตาม คุณสามารถตรวจสอบว่าเคยเปิดใช้งานมาก่อนหรือไม่ และปิดใช้งานอีกครั้งโดยไปที่

Store >> Configuration >> Advanced >> Developer >> JavaScript Settings และตั้งค่า Enable JavaScript Bundling เป็น No

การรวมกลุ่ม Magento JS

9. เพิ่มประสิทธิภาพ Magento Datalog

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

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

นอกจากนี้ Magento จะสร้างไฟล์บันทึกใหม่โดยอัตโนมัติและบ่อยครั้ง ดังนั้นการลบไฟล์เก่าจะไม่ทำให้คุณมีปัญหาใดๆ

สำหรับผู้ค้าที่ไม่ใช่ด้านเทคนิค คุณสามารถไปที่ Store >> Configuration >> Advanced >> MySQL Message Queue Cleanup

การล้างข้อมูลจะลบไฟล์บันทึกเก่าโดยอัตโนมัติหลังจากระยะเวลาที่กำหนด

Magento ได้ตั้งค่าเริ่มต้นสำหรับแอตทริบิวต์เหล่านี้ด้านบน แต่คุณสามารถเปลี่ยนได้ตามที่เห็นสมควร

ก้าวหน้าขึ้นอีกนิด

10. ใช้วานิชแคชแบบเต็มหน้า

Varnish Cache เป็นโปรแกรมเร่งเว็บแอปพลิเคชันแบบโอเพนซอร์สที่สามารถเพิ่มความเร็วในการจัดส่งเนื้อหาได้ 300 – 1,000 เท่า ทั้งนี้ขึ้นอยู่กับสถาปัตยกรรมของคุณ นี่คือเหตุผลที่ Magento เองแนะนำอย่างยิ่งให้ Varnish เป็นตัวเลือกที่ดีกว่าการแคชแบบเต็มหน้าในตัว นอกจากนี้ เนื่องจากวานิชได้รับการออกแบบมาเพื่อเร่งทราฟฟิก HTTP คุณจึงสามารถมีเวลาตอบสนองของเซิร์ฟเวอร์และการใช้แบนด์วิดท์เครือข่ายน้อยลงอย่างมากสำหรับคำขอซ้ำๆ

เวลาตอบสนองสำหรับเว็บไซต์ Magento 2 โดยใช้แคชประเภทต่างๆ
วานิชให้เวลาตอบสนองของเซิร์ฟเวอร์เร็วขึ้นมาก (เวลาเป็นไบต์แรก)
ทดสอบกับ WebPageTest.org [เครดิตรูปภาพ: canonicalized.com]

ในการกำหนดค่าและใช้งานวานิช ให้ทำตามคำแนะนำทีละขั้นตอนโดยละเอียดเพื่อทำให้เว็บไซต์ Magento 2 ของคุณใช้งานได้จริง

ขับเคลื่อนด้วยวานิช ช่วยให้คุณประสบความสำเร็จมากขึ้นโดยมีค่าใช้จ่าย

สำหรับ Magento Commerce Cloud โดยเฉพาะ Fastly จำเป็น สำหรับใช้ในสภาพแวดล้อม Staging และ Production เมื่อเทียบกับการใช้วานิชเพียงอย่างเดียว มันเป็นวิธีการที่มีฟีเจอร์มากมาย เนื่องจากนอกเหนือจากความสามารถในการแคชที่รวดเร็วซึ่งขับเคลื่อนโดย Varnish แล้ว ยังให้ CDN และการปรับปรุงความปลอดภัยสำหรับเว็บไซต์ Magento 2 และโครงสร้างพื้นฐานคลาวด์ของคุณ

ผู้ค้าที่ใช้ Magento Open Source สามารถใช้ Fastly ได้ แต่คุณควรสังเกตว่า Fastly ไม่ใช่โซลูชันฟรีซึ่งแตกต่างจาก Varnish อย่างสิ้นเชิง และมีค่าธรรมเนียมตามแบนด์วิดท์และคำขอใช้งานตามภูมิภาค

หากต้องการตั้งค่า Fastly โปรดอ่านคู่มืออย่างเป็นทางการเกี่ยวกับ Magento DevDocs

11. กำหนดค่า Memcached/ Redis

การแคชเป็นที่ทราบกันดีว่าเป็นโซลูชันที่มีประสิทธิภาพในการเพิ่มประสิทธิภาพความเร็วและลดเวลาในการโหลดลงอย่างมาก

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

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

ขอแนะนำให้เจาะลึกเพื่อค้นหาว่าระบบใดทำงานได้ดีที่สุดสำหรับสภาพแวดล้อมเว็บไซต์ของคุณก่อนที่จะพยายามกำหนดค่า Memcached, Redis หรือทั้งสองอย่าง

12. ย้ายไปที่ HTTP/2

HTTP/2 เปิดตัวในเดือนกุมภาพันธ์ 2558 เป็นการปรับปรุงใหม่ที่ทำกับโปรโตคอล HTTP ที่มีอยู่ ขณะนี้มีการใช้งานเว็บไซต์ทั้งหมด 49.9% และจะมีการใช้งานมากขึ้นนับจากนี้เป็นต้นไป โดยเฉพาะอย่างยิ่งเมื่อการทดสอบพบว่า HTTP/2 ให้การปรับปรุงการโหลดหน้าเว็บและประโยชน์อื่นๆ เพิ่มขึ้นถึง 14%

ตัวอย่างเช่น ในการสาธิตวิดีโอด้านล่าง คุณสามารถดูวิธีที่ HTTP/2 เปิดใช้งานประสิทธิภาพมากขึ้นเมื่อถึงขีดจำกัด:

การสาธิตการทำมัลติเพล็กซ์โดย Akamai

ในวิดีโอนี้ เรามีภาพแต่ละภาพแบ่งออกเป็น 379 ไทล์เล็กๆ จึงต้องสร้างการเชื่อมต่อ 379 แยกกับเซิร์ฟเวอร์ นี่เป็นสถานการณ์ที่ไม่น่าเป็นไปได้อย่างมาก แต่จะให้ข้อมูลเชิงลึกเกี่ยวกับการทำงานของมัลติเพล็กซ์ HTTP/2 และวิธีที่ทำให้ประสิทธิภาพเร็วขึ้นมากเมื่อเทียบกับ HTTP/1

ในการเปิดใช้งาน HTTP/2 สำหรับเว็บไซต์ Magento ของคุณ คุณต้องกำหนดค่าผ่าน CDN ของคุณ (เช่น Fastly) หรือผ่านเว็บเซิร์ฟเวอร์ของคุณ (Apache) ตัวอย่างเช่น ต่อไปนี้คือวิธีการดำเนินการใน Apache & Nginx

13. การลดขนาด

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

Google PageSpeed ​​​​Insights แนะนำการลดขนาด
Google PageSpeed ​​Insights แนะนำการลดขนาดเป็นเทคนิคการเพิ่มประสิทธิภาพ

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

  • ตั้งค่าร้านค้า Magento 2 ของคุณเป็นโหมดการผลิต
  • จากนั้นไปที่ Stores > Configuration > Advanced > Developer
  • ตั้งค่า ย่อ HTML/ย่อไฟล์ CSS/ย่อไฟล์ JavaScript เป็น ใช่
  • อย่าลืมล้างแคชหลังจากนั้นผ่าน ระบบ > การจัดการแคช

14. ไปหัวขาดกับหน้าร้าน กปภ

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

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

เกณฑ์มาตรฐานอย่างรวดเร็วของหน้าร้าน Fashion PWA ของเราแสดงคะแนนสูงสุด

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

 การอ่านที่แนะนำ: ประโยชน์ของการประปาส่วนภูมิภาคสำหรับธุรกิจของคุณ

15. ลบแบบอักษรที่ไม่ได้ใช้

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

หากคุณต้องการปรับความเร็วให้เหมาะสมสำหรับไซต์ Magento คุณจำเป็นต้องลบแบบอักษรที่ไม่ได้ใช้ทั้งหมด

ในทำนองเดียวกัน หากคุณใช้แบบอักษรที่กำหนดเอง คุณควรลบแบบอักษรเริ่มต้นอื่นๆ ของธีมของคุณ (เช่น Open Sans, Helvetica เป็นต้น)

คุณสามารถแก้ไขได้โดยแทนที่ _typography.less ในธีมของคุณ

เพียงแค่ย้าย

 /vendor/magento/theme-frontend-blank/web/css/source/_typography.less

ถึง

 /app/design/frontend/Vendor/Theme/web/css/source/_typography.less

จากนั้นลบแบบอักษรที่ไม่จำเป็นในไฟล์ _typography.less ใหม่

นอกจากนี้ คุณจะต้องลบแบบอักษรในไฟล์ default_head_blocks.xml เพื่อไม่ให้ดาวน์โหลดอีกต่อไป

 <head>
...
<remove src="fonts/helvetica/regular/helvetica-400.woff2"/> 
<remove src="fonts/helvetica/bold/helvetica-700.woff2"/> 
...

16. ใช้ Javascript Bundling ขั้นสูง

ในขั้นตอนที่ 8 เราแนะนำให้ปิดการรวมกลุ่ม JS ดั้งเดิมของ Magento เนื่องจากขาดประสิทธิภาพ อย่างไรก็ตาม JS Bundling ยังคงเป็นแนวทางปฏิบัติที่มีประสิทธิภาพเพื่อให้ได้ความเร็ว Magento 2 ที่ดีขึ้น หากใครรู้วิธีปรับแต่งมัน

แต่ก่อนอื่น ให้เราพูดถึงว่าการรวมกลุ่ม Magento JS เริ่มต้นแตกต่างจากการรวมขั้นสูงอย่างไร:

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

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

คุณสามารถสร้างบันเดิลสำหรับเพจแต่ละประเภทหรือเพื่อวัตถุประสงค์ที่แตกต่างกันได้อย่างยืดหยุ่น

ตัวอย่างเช่น ปรับแต่งชุดหนึ่งสำหรับหน้าหมวดหมู่และอีกชุดหนึ่งสำหรับหน้าชำระเงิน

สำหรับคำแนะนำโดยละเอียด คุณสามารถพึ่งพาคู่มืออย่างเป็นทางการของ Magento สำหรับบันเดิล JS ขั้นสูงได้

17. ใช้เลื่อนการโหลด JS

เมื่อเบราว์เซอร์โหลดหน้า เบราว์เซอร์จะโหลดไฟล์ Javascript, HTML & CSS ของหน้าทั้งหมดจากบนลงล่าง ไฟล์ Javascript ซึ่งมักจะอยู่ด้านบนสุดจะถูกโหลดก่อน เมื่อโหลด Javascript แล้ว เบราว์เซอร์จะแสดงผลไฟล์ HTML & CSS ต่อไป

อย่างไรก็ตาม Javascript เป็นภาษาที่ซับซ้อนกว่า ซึ่งโดยทั่วไปจะใช้เวลาโหลดนานกว่า HTML ดังนั้น เพื่อปรับความเร็วให้เหมาะสมสำหรับ Magento 2 ขอแนะนำให้ย้าย Javascript ไปที่ด้านล่างเพื่อให้โหลดได้หลังจากแสดงไฟล์ HTML & CSS แล้วเท่านั้น

คุณสามารถทำได้โดยทำตามคำแนะนำอย่างเป็นทางการของ Magento หรือใช้ส่วนขยาย JS defer สำหรับ Magento 2

18. เปิดใช้งาน CSS Critical Path

เป็นเรื่องปกติสำหรับผู้เขียนโค้ดในการจัดเก็บ CSS ในไฟล์ภายนอก อย่างไรก็ตาม ตาม Magento สไตล์ CSS ทั้งหมดจากแหล่งภายนอกจะบล็อกการเรนเดอร์ พูดอีกอย่างก็คือ เพจของคุณจะไม่แสดงอะไรเลยหากไฟล์เหล่านี้ไม่ได้โหลดมาทั้งหมด

ด้วยเหตุนี้ จึงเพิ่มเมตริกการระบายสีที่มีความหมายแรกในข้อมูลเชิงลึกเกี่ยวกับความเร็วหน้าเว็บของ Google และทำให้หน้าเว็บโหลดช้าลง

เส้นทางวิกฤตของ CSS ช่วยให้สามารถเลือก CSS ที่สำคัญได้ในขณะที่เลื่อนรูปแบบที่ไม่สำคัญทั้งหมดออกไป สไตล์ CSS ที่สำคัญเหล่านี้จะถูกย่อและประกอบแบบอินไลน์ใน <head>

ดังนั้นจึงช่วยปรับปรุงเวลาที่จำเป็นในการแสดงหน้าเว็บในครั้งแรก Magento ประสบกับปัญหา First Meaningful Paint ลดลงจาก 3.5s เป็น 2,3s โดยการเปิดใช้งานฟังก์ชันนี้ และคุณสามารถทราบวิธีการดำเนินการตามคู่มือเส้นทาง CSS ที่สำคัญ

19. ตรวจสอบให้แน่ใจว่าอยู่ในโหมดการผลิต

Magento มีโหมดการทำงานสามโหมด: โหมดเริ่มต้น โหมดนักพัฒนา และโหมดการผลิต

โหมดที่ใช้งานจริงซึ่งได้รับการปรับให้เหมาะสมสำหรับประสิทธิภาพโดยการเปิดใช้งานการแคชแบบเต็มหน้า การรวมกลุ่ม JS และอื่นๆ นั้นดีที่สุดสำหรับไซต์ที่ใช้งานจริงของ Magento ทั้งหมด เป็นโหมด Magento ที่เร็วกว่าซึ่งเร็วกว่าโหมดนักพัฒนา 20%-30%

ตรวจสอบโหมดปัจจุบันของคุณโดยเรียกใช้คำสั่ง:

 bin/magento ปรับใช้:โหมด:แสดง

คุณจะได้รับข้อความดังนี้:

โหมดแอปพลิเคชันปัจจุบัน: {mode} (หมายเหตุ: ตัวแปรสภาพแวดล้อมอาจแทนที่ค่านี้)

หากโหมดปัจจุบันไม่ได้ใช้งานจริง คุณสามารถเปลี่ยนเป็นโหมดใช้งานจริงได้โดยการรันคำสั่ง:

 bin/magento ปรับใช้:โหมด:ตั้งค่า {โหมด} [-s|--ข้ามการรวบรวม]

บทสรุป

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

สำหรับผู้ค้า Magento ที่กำลังประสบปัญหาด้านประสิทธิภาพ ที่ SimiCart เรานำเสนอบริการที่หลากหลาย รวมถึงการเพิ่มประสิทธิภาพความเร็วสำหรับธุรกิจของคุณ เริ่มสำรวจตัวเลือกของคุณตอนนี้และบรรลุประสิทธิภาพร้านค้าชั้นนำของอุตสาหกรรม

เพิ่มประสิทธิภาพ Magento 2 Speed ​​ของคุณ