แก้ไข WP-Cron: คำแนะนำง่ายๆที่ใช้งานได้
เผยแพร่แล้ว: 2025-11-02WordPress เป็นระบบจัดการเนื้อหาที่ทรงพลังซึ่งมีผู้ใช้หลายล้านคนทั่วโลก WP-Cron หนึ่งในเอ็นจิ้นที่ซ่อนอยู่ มีหน้าที่จัดการงานที่กำหนดเวลาไว้ เช่น การเผยแพร่โพสต์ตามกำหนดเวลา การตรวจสอบการอัปเดตปลั๊กอิน และการรันงานบำรุงรักษา อย่างไรก็ตาม ผู้ใช้ WordPress จำนวนมากประสบปัญหาด้านประสิทธิภาพเนื่องจากการทำงานของ WP-Cron หากโพสต์ตามกำหนดเวลาของคุณไม่ได้รับการเผยแพร่หรือการสำรองข้อมูลอัตโนมัติของคุณล้มเหลว ระบบ WP-Cron ของคุณอาจทำงานผิดปกติ คู่มือนี้ให้วิธีการที่เชื่อถือได้และง่ายต่อการปฏิบัติตามในการแก้ไข WP-Cron และช่วยให้มั่นใจว่าเว็บไซต์ของคุณทำงานได้อย่างมีประสิทธิภาพ
WP-Cron คืออะไร?
WP-Cron (ย่อมาจาก WordPress Cron) เป็นระบบการตั้งเวลางานเริ่มต้นใน WordPress ต่างจากงาน cron ที่ใช้ Unix/Linux แบบดั้งเดิมที่ทำงานในเวลาที่กำหนดไว้ล่วงหน้า WP-Cron จะทำงานเมื่อมีผู้เยี่ยมชมเว็บไซต์ของคุณเท่านั้น เป็นผลให้ไซต์ที่มีการเข้าชมต่ำอาจประสบปัญหางานที่พลาดไป ในขณะที่ไซต์ที่มีการเข้าชมสูงอาจประสบปัญหาด้านประสิทธิภาพการทำงาน
ปัญหาทั่วไปที่เกิดจาก WP-Cron
- พลาดโพสต์หรืองานตามกำหนดเวลา
- การแจ้งเตือนทางอีเมลล่าช้า
- ประสิทธิภาพเว็บไซต์ช้าเมื่อโหลดหน้าเว็บ
- การสำรองข้อมูลหรือการสแกนล้มเหลวในการทำงาน
ปัญหาทั้งหมดเหล่านี้เกิดจากการที่ WP-Cron พึ่งพาผู้เยี่ยมชมเพื่อกระตุ้นปัญหา โชคดีที่วิธีแก้ปัญหานั้นง่ายและมีประสิทธิภาพ: แทนที่พฤติกรรมเริ่มต้นของ WP-Cron ด้วยงาน cron จริงที่ทำงานบนเซิร์ฟเวอร์ของคุณโดยตรง
คำแนะนำทีละขั้นตอนในการแก้ไข WP-Cron
เพื่อรักษาเสถียรภาพและปรับปรุงประสิทธิภาพของเว็บไซต์ WordPress คุณจะต้องปิดการใช้งานการดำเนินการในตัวของ WP-Cron และตั้งค่างาน cron ของระบบจริงแทน ต่อไปนี้เป็นวิธีดำเนินการ:
1. ปิดการใช้งาน WP-Cron ภายใน wp-config.php
เข้าสู่ระบบบัญชีโฮสติ้งของคุณหรือใช้ FTP/SFTP เพื่อเข้าถึงไดเร็กทอรีราก WordPress ของคุณ จากนั้นค้นหาและเปิดไฟล์ wp-config.php ใส่บรรทัดโค้ดต่อไปนี้เหนือบรรทัดที่ระบุว่า /* That's all, stop editing! Happy publishing. */ :
define('DISABLE_WP_CRON', true);คำสั่งนี้ปิดการใช้งาน WP-Cron ไม่ให้ทำงานโดยอัตโนมัติในทุกการโหลดเพจ
2. ตั้งค่างาน Cron จริงบนเซิร์ฟเวอร์ของคุณ
เมื่อคุณปิดการใช้งาน WP-Cron แล้ว ก็ถึงเวลาตั้งค่างาน cron จริงที่จะรัน wp-cron.php เป็นระยะๆ วิธีที่คุณทำเช่นนี้ขึ้นอยู่กับสภาพแวดล้อมการโฮสต์ของคุณ
สำหรับโฮสติ้ง cPanel
- เข้าสู่ระบบแดชบอร์ด cPanel ของคุณ
- เลื่อนไปที่ส่วน "ขั้นสูง" และคลิกที่ งาน Cron
- ภายใต้ “เพิ่มงาน Cron ใหม่” ให้ตั้งเวลาดำเนินการ สำหรับไซต์ส่วนใหญ่ การตั้งค่าให้ทำงานทุกๆ 15 นาทีก็เพียงพอแล้ว เลือก:
- นาที: */15
- ชั่วโมง: *
- วัน: *
- เดือน: *
- วันธรรมดา: *
- ในกล่องป้อนคำสั่ง ให้เพิ่มบรรทัดนี้ (แทนที่
yourdomain.com):wget -q -O - https://yourdomain.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1 - คลิก เพิ่มงาน Cron ใหม่ เพื่อบันทึกการเปลี่ยนแปลงของคุณ

สำหรับ VPS หรือเซิร์ฟเวอร์เฉพาะ (ผ่าน SSH)
หากคุณทำงานจากบรรทัดคำสั่ง ให้ SSH ลงในเซิร์ฟเวอร์ของคุณและแก้ไข crontab สำหรับผู้ใช้ของคุณ:
crontab -eเพิ่มบรรทัดต่อไปนี้ (ปรับโดเมนอีกครั้ง):
*/15 * * * * wget -q -O - https://yourdomain.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1สิ่งนี้จะสั่งให้เซิร์ฟเวอร์รัน WP-Cron ทุก ๆ 15 นาทีอย่างเชื่อถือได้ โดยไม่ขึ้นกับผู้เยี่ยมชมเว็บไซต์

3. ทดสอบเพื่อให้แน่ใจว่า WP-Cron ใช้งานได้
เพื่อตรวจสอบว่างาน cron ของคุณทำงานอย่างถูกต้อง:
- กำหนดเวลาโพสต์ในอนาคตอันใกล้นี้ (เช่น 5 นาทีข้างหน้า)
- รอเลยเวลาที่กำหนดแล้วตรวจสอบว่าเผยแพร่หรือไม่
- ตรวจสอบบันทึกโฮสติ้งหรือการแจ้งเตือนทางอีเมลงาน cron (หากเปิดใช้งาน) เพื่อหาข้อผิดพลาดในการดำเนินการ
คุณยังสามารถใช้ปลั๊กอิน เช่น WP Crontrol เพื่อตรวจสอบและจัดการกิจกรรมที่กำหนดเวลาไว้บนการติดตั้ง WordPress ของคุณ ปลั๊กอินนี้ช่วยให้คุณเห็นงานที่พลาดหรือเกินกำหนด

เคล็ดลับขั้นสูงสำหรับการจัดการ WP-Cron
1. ปรับความถี่ Cron ตามกิจกรรมของไซต์
แม้ว่าการตั้งค่า cron ให้ทำงานทุกๆ 15 นาทีเป็นเรื่องปกติ แต่ไซต์ที่มีปริมาณการใช้งานต่ำมากอาจได้รับประโยชน์จากการดำเนินการที่บ่อยกว่า ในทางกลับกัน ไซต์ที่มีการเข้าชมสูงมักจะเรียกใช้ cron ได้ไม่บ่อยนัก (ทุกๆ 30 นาทีหรือทุกชั่วโมง) หากงานไม่จำเป็นต้องดำเนินการแบบเรียลไทม์
2. ตรวจสอบงานที่ต้องใช้เวลานาน
ปลั๊กอินบางตัวเพิ่มงานพื้นหลังจำนวนมาก เช่น การสำรองข้อมูล รายงาน หรือการสแกน หากงานเหล่านี้ค้างระหว่างการดำเนินการ ก็สามารถป้องกันไม่ให้งาน cron อื่นๆ ทำงานได้ ใช้ปลั๊กอินเช่น Query Monitor หรือ WP Crontrol เพื่อระบุเหตุการณ์ที่เป็นปัญหา
3. แยกงานเร่งรัด
หากไซต์ของคุณดำเนินการในเบื้องหลังที่สำคัญ เช่น การซิงค์รายชั่วโมงกับ API ภายนอกหรือการจัดคิวอีเมล ให้พิจารณาเรียกใช้งานเหล่านั้นผ่านงาน cron ที่แยกจากกัน แทนที่จะใช้งาน WP-Cron มากเกินไป คุณสามารถเขียนสคริปต์แบบกำหนดเองสำหรับการดำเนินการเหล่านั้นโดยเฉพาะและกำหนดเวลาแยกกันได้
ข้อผิดพลาดทั่วไปที่ควรหลีกเลี่ยง
- การใช้ WP-Cron บนไซต์ที่มีการเข้าชมสูง: อาจทำให้เกิดปัญหาด้านประสิทธิภาพได้เนื่องจากมีการเรียกใช้บ่อยครั้ง
- ปิดการใช้งาน WP-Cron โดยไม่ต้องตั้งค่างาน cron จริง: สิ่งนี้ทำให้งานที่กำหนดเวลาไว้ไม่ทำงานเลย
- ไวยากรณ์คำสั่งไม่ถูกต้องใน cron: ทดสอบคำสั่ง cron ของคุณด้วยตนเองในเทอร์มินัลทุกครั้งเพื่อตรวจสอบความถูกต้องก่อนที่จะใช้งาน
คำสั่งสำรอง (หาก wget ไม่พร้อมใช้งาน)
หากไม่มี wget บนเซิร์ฟเวอร์ของคุณ คุณสามารถใช้ curl หรือ php ได้โดยตรงแทน:
การใช้ขด
*/15 * * * * curl -s https://yourdomain.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1การใช้งาน php CLI
*/15 * * * * php /path/to/your/site/wp-cron.php >/dev/null 2>&1 ตรวจสอบให้แน่ใจว่าได้แทนที่ /path/to/your/site/ ด้วยเส้นทางจริงไปยังการติดตั้ง WordPress ของคุณ
บทสรุป
การแก้ไข WP-Cron เป็นหนึ่งในวิธีที่มีประสิทธิภาพสูงสุดเพื่อให้แน่ใจว่าไซต์ WordPress ของคุณยังคงเชื่อถือได้และมีประสิทธิภาพสูง ระบบ cron ในตัวนั้นใช้งานได้ แต่ไม่น่าเชื่อถือสำหรับเว็บไซต์ในโลกแห่งความเป็นจริงหลายแห่ง ด้วยการปิดใช้งานการดำเนินการ WP-Cron เริ่มต้นและแทนที่ด้วยงาน cron ระดับเซิร์ฟเวอร์ คุณกำลังดำเนินการขั้นตอนสำคัญในการทำให้การจัดการไซต์ของคุณเป็นมืออาชีพ
ไม่ว่าคุณจะใช้งานบล็อก ร้านค้าอีคอมเมิร์ซ หรือไซต์ของบริษัท การกำหนดเวลางานที่เชื่อถือได้มีความสำคัญ WP-Cron แบบคงที่ทำให้มั่นใจได้ว่าการอัปเดต การสำรองข้อมูล และงานอัตโนมัติจะทำงานในเวลาที่ควรจะเป็น ทำให้คุณอุ่นใจและระบบมีเสถียรภาพมากขึ้น
ทำตามขั้นตอนที่อธิบายไว้ด้านบนและติดตามประสิทธิภาพของไซต์และงานที่มีความสำคัญต่อภารกิจอย่างมั่นใจมากขึ้น ความน่าเชื่อถือเริ่มต้นด้วยการกำหนดค่าเชิงรุก
