WordPress ช้าเพราะอะไร และทำให้โหลดเร็วได้อย่างไร

wordpress slow up speed optimize

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

ทำไมเว็บถึงต้องโหลดเร็ว

งานวิจัยพบว่าตั้งแต่ปี 2000 ถึง 2016 สมาธิมนุษย์สั้นลงจาก 12 วิ เหลือแค่ 7 วิ ฉะนั้นเว็บไซต์ของคุณมีเวลาน้อยลงในการที่จะดึงให้เขาอยู่ต่อ

จากกรณีศึกษาของ StrangeLoop ที่ตรวจสอบข้อมูลจากเว็บ Amazon, Google และเว็บขนาดใหญ่อื่นๆ ได้ผลสรุปว่า เว็บโหลดช้าขึ้น 1 วินาที จะส่งผล ดังนี้

  • ทำให้สูญเสีย Conversion 7% เปรียบได้กับ ลูกค้า 100 คนเข้าร้านคุณแต่ไม่ซื้อสินค้าเพิ่มขึ้น 7 คนหากเว็บช้าลง 1 วินาที
  • การดูหน้าเว็บลดลง 11%
  • ความพึงพอใจของลูกค้าลดลง 16%

และงานวิจัยที่ให้ผลที่น่าตกใจอีกเรื่องหนึ่งก็คือ ผู้เข้าเว็บกว่า 50% ไม่กลับมาเข้าเว็บที่โหลดช้ากว่า 3 วินาทีอีกเลย 

นอกจากนี้ Google และ search engine อื่นๆ เริ่มลงโทษเว็บที่ช้า โดยลดตำแหน่งผลลัพธ์การค้นหาลง โดยให้อยู่ลำดับล่างๆ หรือให้ไปอยู่ในผลลัพธ์หน้าหลังๆ นั่นเอง

search results

วิธีเช็คความเร็วเว็บไซต์

ข้อผิดพลาดใหญ่หลวงของมือใหม่ WordPress คือ พอเข้าเว็บที่พวกเขาทำแล้วรู้สึกว่า “ก็ไม่ช้านี่” คือ ยังไม่ได้ทดสอบด้วย Tool ที่ได้มาตรฐาน แต่ใช้เพียงความรู้สึกส่วนตัว

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

ดังนั้นเราจึงควรตรวจสอบด้วย Tool ที่เป็นมาตรฐานสากลเพื่อผลลัพธ์ที่แม่นยำยิ่งกว่า เช่น

speed website test

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

อะไรคือสาเหตุที่ทำให้ WordPress หรือ เว็บช้าลง

สาเหตุหลักๆ มีดังนี้

  1. Web Hosting หรือ Server
  2. ไม่ใช้ปลั๊กอิน Cache
  3. เว็บมีไฟล์ขนาดใหญ่อยู่มาก โดยเฉพาะไฟล์ภาพ
  4. เลือกใช้ปลั๊กอินที่ถูกเขียนมาแบบไม่คำนึงถึงความเร็วในการรันโค้ด หรือ เลือกใช้ปลั๊กอินที่ใช้ทรัพยากรสูง
  5. External scripts เช่น ads, tag, pixel และอื่นๆ

สิ่งที่ต้องทำหากต้องการให้ WordPress หรือ เว็บโหลดเร็วขึ้น

เลือก Server ให้เหมาะสม

ในด้าน server นี้ ต้องคำนึงถึง 2 เรื่องหลักๆ ด้วยกันดังนี้

  1. ทรัพยากรที่เว็บนั้นๆ ต้องใช้งาน เช่น Ram / CPU
  2. ปริมาณผู้เข้าชม

ผมจะขอยกอย่างง่ายๆ ในการเลือก server ดังนี้

  • Shared Hosting เหมาะสำหรับ เว็บบริษัท, เว็บองค์กร เว็บแคตตาล็อกสินค้า หรือ เว็บโรงแรม และเว็บที่เน้นการให้ข้อมูลทั่วไป
  • VPS เหมาะสำหรับเว็บ e-commerce, เว็บข่าว, เว็บโรงแรมที่มีระบบจอง และเว็บที่มีระบบเพิ่มเติมมากกว่าการให้ข้อมูล
  • Cloud Server เหมาะสำหรับเว็บ e-commerce ขนาดใหญ่, เว็บข่าวขนาดใหญ่, เว็บจองตั๋ว เนื่องจากสามารถใช้ทรัพยากรได้สูงแต่จ่ายเงินตามจริง เช่น ช่วงเวลามีการเปิดจองตั๋วก็ใช้ทรัพยากรสูงๆ แต่ไม่มีการขายตั๋วก็ใช้ทรัพยากรน้อย
  • Cloud Server แบบแยก Service เหมาะกับเว็บ e-commerce ขนาดใหญ๋มาก หรือเว็บที่มีการใช้ทรัพยารสูงมากๆ โดยจะทำการแยก service หรือ โปรแกรม ภายใน server ออกเป็นหลายๆ server เช่น จากเดิม Server 1 เครื่องจะต้องรับ server program, database program และ storage อยู่ที่เดียวกัน แต่หากเป็นแบบแยก Service จะแยกแต่ละโปรแกรมไปรันอยู่บน Cloud Server คนละตัว เช่น
    • server 1 ตัวสำหรับ server program 
    • Server 1 ตัวสำหรับ database program
    • Server storage 1 ตัวสำหรับเก็บไฟล์ข้อมูล เช่น ไฟล์ภาพ
server cloud

ติดตั้ง cache plugin

WordPress คือ เว็บที่สร้างเนื้อหาอย่าง dynamic นั้นหมายความว่า ทุกๆ ครั้งที่มีการโหลดหน้าเว็บจะมีการสร้างหน้าเว็บใหม่ๆ ทุกๆ ครั้ง แต่ cache นั้นก็คือ ทำให้มันเป็น static คือสร้างหน้าไว้แล้วก็ดึงหน้านั้นๆ มาใช้หลายๆ ครั้งนั่นเอง ซึ่งวิธีนี้ทำให้เร็วขึ้นได้ 2 – 5 เท่าทีเดียว

Dynamic กับ static มีโฟลว์ยุ่งยากต่างกันแค่ไหน

Dynamic ต้องทำขั้นตอนต่างๆ ดังนี้

  1. ผู้เข้าชมเข้าเว็บ
  2. ไปอ่านข้อมูลโค้ด php ของ wordpress
  3. ไปดึงข้อมูลจาก mysql
  4. แปลงมันเป็น html content
  5. ส่งไปยัง browser ของผู้เข้าชม

Static ขั้นตอนต่างๆ จะเหลือเพียง

  1. ผู้เข้าชมเข้าเว็บ
  2. ส่ง html ที่แปลงมาจาก php + mysql แล้ว ไปยัง browser ของผู้เช้าชมเว็บ

ปลั๊กอิน Cache ที่แนะนำมีดังนี้

  • WP Super Cache
  • Wp Rocket
  • Wp Faster Cache

จัดการไฟล์ภาพ

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

แต่จากการวิจัยนั้นพบว่า การใช้ภาพสีทำให้ผู้คน 80% มีโอกาสอ่านเนื้อหาของคุณมากขึ้น

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

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

ชนิดของไฟล์ภาพก็มีส่วน ขอยกตัวอย่าง 2 ชนิดหลักที่เรามักใช้กันอยู่คือ JPG หรือ JPEG กับ PNG ซึ่งเราควรเลือกให้เหมาะสมกับการใช้งาน โดยทั้ง 2 ชนิด มีข้อดีข้อเสีย ดังนี้

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

ปัจจุบันมีไฟล์ชนิดใหม่ที่มีความคมชัดสูงและขนาดเล็กลงมาก เรียกว่า WebP

WebP คืออะไร

Google ได้พัฒนาไฟล์ชนิด WebP ตั้งแต่ปี 2010 และถูกนำมาใช้กับผลิตภัณฑ์ของ Google และแอนดรอยด์ WebP

  • WebP ที่ปรับแบบ lossless จะมีขนาดเล็กกว่าไฟล์ png 26%
  • WebP ที่ปรับแบบ lossly จะเล็กกว่าไฟล์ jpg 25-34%

โดยไฟล์ภาพของ WebP นั้นจะไม่ต่างไปจากต้นฉบับเลย และสามารถแสดงผลแบบพื้นหลังโปร่งใสเหมือนของ png ได้อีกด้วย

แต่ข้อเสียสำคัญคือ Safari และ Browser บน ios ยังไม่รองรับ ตรวจสอบการรองรับ ณ ปัจจุบันได้ที่นี่

ซึ่งปลั๊กอินที่ช่วยจัดการแปลงไฟล์ภาพเป็น WebP ก็คือ ปลั๊กอิน Cache ที่กล่าวไปแล้วข้างต้น ซึ่งจะมีฟิจเจอร์จัดการเกี่ยวกับ WebP อยู่

อีกวิธีที่ช่วยให้เว็บ WordPress เร็วขึ้น ก็คือ Update สม่ำเสมอ

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

ซึ่งเหตุผลทั้งหมดที่ WordPress ทำการอัดเดทเวอร์ชั่น มีดังนี้

  • เพิ่มความปลอดภัย
  • เพิ่มฟิจเจอร์ใหม่
  • เพิ่มความเร็ว
  • แก้ไขบัค หรือ ข้อผิดพลาด
  • ปรับใช้งานได้กับปลั๊กอินที่เคยมีปัญหากับเวอร์ชั่นก่อนหน้า

สรุปเรื่อง WordPress ช้าและการทำให้เร็ว

การที่จะทำให้เว็บ WordPress ที่ช้านั้นเร็วขึ้นก็ต้องไปแก้ปัญหาที่ต้นเหตุดังที่ได้กล่าวไปแล้วก่อนหน้านี้ แต่สิ่งที่ผมเห็นความสำคัญที่สุดก็คือเรื่องของ Server ซึ่งจากประสบการณ์เว็บที่เคยโหลดช้า 7-10 วินาที พอย้ายไปใช้ Cloud Server ช่วยให้โหลดเร็วขึ้นจนเหลือเพียง 2-3 วินาทีเท่านั้น และอีกเรื่องก็คือ ปลั๊กอินที่ใช้งาน ซึ่งเรื่องนี้ผู้ใช้งาน WordPress คงพบเจอกันด้วยตัวเองว่า ตอนเริ่มติดตั้ง WordPress นั้นเว็บโหลดเร็วหลัก 1-2 วินาที แต่พอเริ่มติดตั้งปลั๊กอินเพิ่มไปเรื่อยๆ เว็บก็มีกระดองกลายเป็นเต่าไปซะได้

แหล่งอ้างอิง :
https://www.wpbeginner.com/wordpress-performance-speed/#whyspeed