รายการตรวจสอบการเพิ่มประสิทธิภาพ WordPress

เผยแพร่แล้ว: 2022-07-21

โพสต์เนื้อหา

  • สคริปต์ย่อขนาด
  • เพิ่มประสิทธิภาพ header.php
  • ลดจำนวนปลั๊กอิน
  • อย่าใช้รูปภาพ – ใช้ CSS3
  • รูปภาพเพื่อสไปรท์
  • แจกจ่าย – ใช้ CDN
  • เซิร์ฟเวอร์ที่เหมาะสมสำหรับเว็บไซต์ของคุณ
  • แก้ไขข้อผิดพลาด 404
  • รายการตรวจสอบ

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

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

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

การทดสอบที่ Amazon เปิดเผยผลลัพธ์ที่คล้ายกัน: ทุกๆ 100 ms เวลาในการโหลดที่เพิ่มขึ้นของ Amazon.com ลดยอดขายลง 1% (Kohavi และ Longbotham 2007)

ที่มา: https://www.websiteoptimization.com/speed/tweak/psychology-web-performance/

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

แต่เว็บไซต์ของฉันโหลดเร็วมาก!

แน่นอนว่ามันไม่ อย่างน้อยก็สำหรับคุณ แต่คุณเคยลองเยี่ยมชมเว็บไซต์ของคุณเป็นครั้งแรกในระยะเวลานานหรือไม่?

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

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


สคริปต์ย่อขนาด

เว็บไซต์ WordPress เป็นการผสมผสานระหว่าง HTML, CSS, JavaScript และภาพ โค้ด HTML จะถูกโหลดก่อน จากนั้นจะมีข้อมูลเกี่ยวกับไฟล์อื่นๆ ของสไตล์ชีต CSS, ไฟล์ JavaScript และรูปภาพ

แต่ละไฟล์จะถูกโหลดตามลำดับ โดยปกติเบราว์เซอร์จะมีขีดจำกัด "ไพพ์" 2-4 ไฟล์ ซึ่งหมายความว่าเบราว์เซอร์จะโหลดไฟล์ได้ไม่เกิน 2-4 ไฟล์ พร้อมกัน จากเซิร์ฟเวอร์ที่โฮสต์ไฟล์ไว้

หากคุณตรวจสอบโค้ด HTML ของเว็บไซต์ WordPress คุณจะสังเกตเห็นไฟล์ .css และ .js ที่แตกต่างกันมากมาย โดยทั่วไปแล้วแต่ละรายการเหล่านี้มาจากปลั๊กอินที่แตกต่างกัน โดยแต่ละไฟล์จะเพิ่มไฟล์ .js หรือ .css ลงในมิกซ์

ในบางกรณี ปลั๊กอินจะฉีดสไตล์ JavaScript หรือ CSS ลงใน HTML โดยตรง นักพัฒนาปลั๊กอิน WordPress หรือผู้เขียนธีมส่วนใหญ่ฉลาดพอที่จะไม่ทำเช่นนี้

นี่เป็นเพียงตัวอย่างจากเว็บไซต์ WordPress ทั่วไป โค้ด HTML มีลิงก์ไปยังไฟล์อื่นๆ หลายไฟล์ ในตัวอย่างง่ายๆ นี้ ไฟล์ JavaScript 4 ไฟล์ถูกโหลด ทีละไฟล์

<script type=”text/javascript” src=”https://domain.com/wp-includes/js/jquery/jquery.js?ver=1.7.2″></script>

<script type=”text/javascript” src=”https://domain.com/wp-content/themes/Trim/js/socialite.min.js?ver=3.4.2″></script>

<script type=”text/javascript” src=”https://domain.com/wp-content/plugins/wp-greet-box/js/functions.js?ver=3.4.2″></script>

<script type=”text/javascript” src=”https://domain.com/wp-content/plugins/wp-greet-box/js/js-mode.js?ver=3.4.2″></script >

WordPress มีฟังก์ชันภายในที่ช่วยให้ผู้เขียนปลั๊กอินและธีมสามารถฝังไฟล์ JavaScript และ CSS ที่จำเป็นได้

wp_enqueue_script() และ wp_enqueue_style() ชื่อของฟังก์ชันต่างๆ ให้เบาะแสที่ชัดเจนถึงสิ่งที่พวกเขาทำ ด้วยการใช้อย่างใดอย่างหนึ่งเหล่านี้เพื่อฝังไฟล์ที่จำเป็น ผู้เขียนปลั๊กอินและธีมจะจัดคิวไฟล์ของตนพร้อมกับปลั๊กอินอื่นๆ ทั้งหมดและแม้แต่ WordPress เอง

นอกจากนี้ยังสามารถสั่งการทำงานของการพึ่งพาใด ๆ ของไลบรารีอื่น ๆ โดยปกติไฟล์รวม JavaScript ขึ้นอยู่กับ jQuery ที่จะโหลดก่อน

ฉันมักจะค้นหาและติดตั้งปลั๊กอินย่อขนาด เปิดใช้งานแล้วดูว่ามีอะไรผิดปกติในไซต์หรือไม่ จากนั้นฉันจะไประบุว่าสิ่งใดที่ล้มเหลว และหากฉันต้องการเปลี่ยนการตั้งค่าสองสามอย่างเพื่อแก้ไข

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

$template_url=get_bloginfo('template_url');
wp_enqueue_script('cycle', $template_url.&amp;amp;amp;amp;amp;amp;amp;amp;amp;quot;/js/jQuery.cycle.all.js&amp;amp;amp;amp;amp;amp;amp;amp;amp;quot;, array('jquery'));
wp_enqueue_script('socialite', $template_url.&amp;amp;amp;amp;amp;amp;amp;amp;amp;quot;/js/socialite.min.js&amp;amp;amp;amp;amp;amp;amp;amp;amp;quot;, array('jquery'));
wp_enqueue_script('lazyload', $template_url.&amp;amp;amp;amp;amp;amp;amp;amp;amp;quot;/js/jquery.lazyload.min.js&amp;amp;amp;amp;amp;amp;amp;amp;amp;quot;, array('jquery'));

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

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

หลังจากติดตั้งปลั๊กอินย่อขนาดแล้ว สไตล์ชีต JavaScript และ CSS จะถูกรวมเข้ากับการเรียก HTTP ที่น้อยลง

&amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;script type=&amp;amp;amp;amp;amp;amp;amp;amp;amp;quot;text/javascript&amp;amp;amp;amp;amp;amp;amp;amp;amp;quot; src=&amp;amp;amp;amp;amp;amp;amp;amp;amp;quot;https://cleverplugins.com/wp-content/plugins/bwp-minify/min/?f=wp-includes/js/jquery/jquery.js,wp-content/themes/Trim/js/socialite.min.js,wp-content/plugins/wp-greet-box/js/functions.js,wp-content/plugins/wp-greet-box/js/js-mode.js&amp;amp;amp;amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;/script&amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;

รวม 4 ไฟล์เป็น "ไฟล์" / คำขอสำหรับเบราว์เซอร์ของคุณ

ฉันเจอเว็บไซต์ที่ใช้ WordPress ซึ่งโหลดไฟล์ 22 .css และ 15 .js ทั้งหมดอยู่เบื้องหน้า การเปลี่ยนแปลงของความเร็วนั้นน่าทึ่งมาก หากคุณสามารถลดจำนวนไฟล์ภายนอกได้

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

เพิ่มประสิทธิภาพ header.php

header.php ในธีมของคุณถูกเรียกในแต่ละหน้าบนเว็บไซต์ WordPress ของคุณ ไฟล์นี้มักจะมีองค์ประกอบมากมายที่สามารถปรับให้เหมาะสมได้

ตัวอย่างคลาสสิกคือ bloginfo('template_directory') ซึ่งปกติจะเรียกหลายครั้งในส่วนหัวเพื่อส่งคืน URL ของธีมเพื่อรวมไฟล์ภายนอก

วิธีที่มีประสิทธิภาพมากขึ้นคือการส่งคำขอเดียวสำหรับ url แล้วเก็บเป็นตัวแปร

$template_directory = get_bloginfo('template_directory'); 

ตอนนี้ URL ของไดเร็กทอรีธีมถูกเก็บไว้ในตัวแปร $template_directory

ตัวอย่างเพิ่มเติมเกี่ยวกับวิธีการปรับปรุงประสิทธิภาพของ header.php สามารถอ่านได้ในบล็อกโพสต์ WordPress header.php เคล็ดลับการเพิ่มประสิทธิภาพ

ลดจำนวนปลั๊กอิน

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

อย่างไรก็ตาม การมีปลั๊กอินจำนวนมากที่ทำงานอยู่สามารถลดความเร็วของเว็บไซต์ WordPress ของคุณได้ ปลั๊กอินจำนวนมากมีฟังก์ชันเดียวที่สามารถจัดการได้ง่ายๆ ด้วยโค้ดที่ใส่ใน functions.php ของคุณ

ในหลายกรณี คุณอาจต้องใช้เพียงฟังก์ชันเดียว แต่ปลั๊กอินที่คุณใช้มีตัวเลือกอื่นๆ ที่คุณไม่เคยใช้

วิเคราะห์แต่ละปลั๊กอินบนไซต์ของคุณ และตรวจสอบให้แน่ใจว่าคุณจำเป็นต้องใช้ หากคุณไม่ต้องการหรือแทนที่ฟังก์ชันการทำงานด้วยโค้ด functions.php ให้ปิดใช้งานและลบปลั๊กอิน

อย่าใช้รูปภาพ – ใช้ CSS3

การออกแบบเว็บไซต์ใช้รูปภาพเพื่อช่วยในการสร้างส่วนต่อประสานกับผู้ใช้

หลังจากการแนะนำ CSS และโดยเฉพาะอย่างยิ่ง CSS3 เอฟเฟกต์มากมายที่ใช้สำหรับเว็บอินเตอร์เฟสสามารถเลียนแบบได้โดยใช้โค้ด CSS และ HTML

[กล่อง]หมายเหตุ: เอฟเฟกต์เหล่านี้ส่วนใหญ่เข้ากันไม่ได้กับทุกเบราว์เซอร์ โดยเฉพาะ Internet Explorer รุ่นเก่า (ใช่ มักเป็นปัญหาสำหรับนักพัฒนาเว็บทุกคน) หากคุณต้องการปรับความเร็วเว็บไซต์ของคุณให้เหมาะสม การใช้เอฟเฟกต์ CSS อาจเป็นวิธีแก้ปัญหาที่รวดเร็วและรวดเร็ว แต่ไม่ใช่ตัวเลือกที่ดีหากผู้ชมหลักของลูกค้าใช้เบราว์เซอร์ที่ล้าสมัย[/box]

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

เมื่อ Elegantthemes.com ออกเวอร์ชันใหม่ของปลั๊กอินรหัสย่อ มันส่งผลกระทบอย่างมากต่อเวลาในการโหลดสำหรับลูกค้าของฉัน เนื่องจากเอฟเฟกต์ CSS3 และการวางรูปภาพหลายรูปไว้ในสไปรต์เดียว

โฟลเดอร์รหัสย่อ/รูปภาพ ซึ่งเคยมี 90 ภาพ ขณะนี้มีสไปรท์ PNG ตัวเดียว โดยลดขนาดโดยรวมลงจาก 140kb เป็น 15kb!
(นั่นคือการลดขนาดลงประมาณ 90%)

รูปภาพเพื่อสไปรท์

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

10 images to one sprite
10 ภาพต่อหนึ่งสไปรท์

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

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

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

SpriteMe.org เป็นแหล่งข้อมูลที่ยอดเยี่ยมสำหรับการสร้างสไปรท์ วิธีที่ดีที่สุดคือการวางแผนล่วงหน้าและสร้างสไปรท์ของคุณก่อน แต่ถ้าคุณต้องการแก้ไขเว็บไซต์ที่มีอยู่ ไซต์ spriteme.org มี bookmarklet ที่ทำให้กระบวนการนี้ง่ายมาก

ตัวอย่างสไตล์ CSS ร่วมกับสไปรท์:

.btn_top {
  background-image: url(https://domain.com/images/spriteme1.png);
  background-position: 45px -10px;
}
.btn_top div {
  background-image: url(https://domain.com/images/spriteme1.png);
  background-position: -10px -40px;
}
.btn_bottom {
  background-image: url(https://domain.com/images/spriteme1.png);
  background-position: 45px -70px;
}
.btn_bottom div {
  background-image: url(https://domain.com/images/spriteme1.png);
  background-position: -10px -100px;
}

สไตล์ CSS แต่ละสไตล์อ้างอิงไฟล์เดียวกัน แต่ตำแหน่งพื้นหลังต่างกัน โดยแสดงส่วนต่างๆ ของรูปภาพ

SpriteMe.org
spriteme.org – การสร้างสไปรท์ง่าย ๆ

แจกจ่าย – ใช้ CDN

มีประโยชน์หลักสองประการสำหรับการใช้ CDN (Content Distribution Network) สำหรับการโฮสต์ไฟล์ธีมและองค์ประกอบของ WordPress

ไฟล์ของคุณโหลดเร็วขึ้นเนื่องจากอยู่ในโดเมนอื่น ขีดจำกัดการดาวน์โหลดไฟล์พร้อมกันของเบราว์เซอร์ 2-4 ไฟล์สำหรับแต่ละ โดเมน

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

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

เซิร์ฟเวอร์ที่เหมาะสมสำหรับเว็บไซต์ของคุณ

เซิร์ฟเวอร์ที่โฮสต์เว็บไซต์จะต้องอยู่ใกล้กับกลุ่มเป้าหมาย ดังนั้น หากเว็บไซต์มีเป้าหมายไปที่ตลาดเยอรมัน วิธีที่ดีที่สุดคือหาเซิร์ฟเวอร์ที่มีบริษัทโฮสติ้งในเยอรมนี หรืออย่างน้อยก็ในยุโรปกลาง

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

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

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

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

แก้ไขข้อผิดพลาด 404

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

เคล็ดลับ: ลองดูโค้ดนี้เพื่อเปลี่ยนเส้นทาง 301 ไม่พบหน้าเปลี่ยนเส้นทางโดยอัตโนมัติ

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

เทคนิคบางส่วนหรือส่วนใหญ่จะใช้งานยาก เว้นแต่คุณจะเป็นนักพัฒนา แต่ทุกเทคนิคจะทำให้ไซต์ WordPress ของคุณทำงานเร็วขึ้น
[/กล่อง]


รายการตรวจสอบ

นี่คือรายการตรวจสอบ โปรดทราบว่าแต่ละเว็บไซต์และโครงการต่างกัน ไม่สามารถใช้ทุกขั้นตอนได้กับทุกเว็บไซต์

ไฟล์ Javascript ถูกรวมหรือย่อให้เล็กสุดเท่าที่จะทำได้
ไฟล์ CSS ถูกรวมหรือย่อให้เล็กสุดเท่าที่จะทำได้
ฉันได้ปรับไฟล์ header.php ให้เหมาะสมแล้ว (คำแนะนำที่นี่)
ฉันได้ปิดการใช้งานปลั๊กอินให้มากที่สุดเท่าที่จะทำได้
ฉันได้รวมองค์ประกอบการออกแบบเป็นสไปรท์ตั้งแต่หนึ่งตัวขึ้นไป
ฉันได้แทนที่รูปภาพด้วยเอฟเฟกต์ CSS3 ที่ฉันทำได้
ฉันกำลังใช้ CDN
ฉันได้วางเว็บไซต์ไว้บนเซิร์ฟเวอร์ที่ดีที่สุด
ฉันได้แก้ไขข้อผิดพลาด 404 ทั้งหมดที่ฉันพบแล้ว
… มีอีกมากที่จะติดตาม