วิธีแก้ไขข้อผิดพลาดในการอัปเดต WordPress & การเผยแพร่ล้มเหลว

เผยแพร่แล้ว: 2022-05-03
การอัปเดต Wordpress ล้มเหลว

พบข้อผิดพลาด "การอัปเดตล้มเหลว" หรือ "การเผยแพร่ล้มเหลว" เมื่อพยายามอัปเดตเนื้อหาบนไซต์ WordPress ของคุณหรือไม่ คุณมาถูกที่แล้ว มาดูวิธีการระบุสาเหตุของปัญหาเหล่านี้ และวิธีแก้ไข

อะไรเป็นสาเหตุของข้อผิดพลาดในการอัปเดตและเผยแพร่ WordPress?

เมื่ออินสแตนซ์ WordPress ของคุณไม่สามารถสื่อสารกับ WordPress REST API (ซึ่งขึ้นอยู่กับประสบการณ์การแก้ไขบล็อกของ WordPress) คุณมักจะพบข้อผิดพลาด "การเผยแพร่ล้มเหลว" หรือ "การอัปเดตล้มเหลว" ใน WordPress

แม้ว่าจะมีสาเหตุหลายประการที่สิ่งนี้อาจเกิดขึ้น แต่สิ่งที่ชัดเจนที่สุดก็ง่ายที่สุดเช่นกัน: คุณสูญเสียการเชื่อมต่ออินเทอร์เน็ต

หากคุณสูญเสียการเชื่อมต่อ คุณอาจพบข้อผิดพลาดในการเผยแพร่ล้มเหลว สาเหตุอื่นที่อาจเกิดขึ้น ได้แก่:

  • การเปลี่ยนแปลงล่าสุดของ URL ไซต์
  • บริการของบุคคลที่สามที่ป้องกันการเรียก API
  • ปลั๊กอินทำงานผิดปกติ

ในกรณีส่วนใหญ่ วิธีนี้จะแก้ไขได้ง่าย

ขั้นตอนที่ 1 – ตรวจสอบการเชื่อมต่ออินเทอร์เน็ตและบันทึกการตั้งค่าลิงก์ถาวร

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

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

รีเฟรชการตั้งค่า Permalink ของคุณด้วย WP CLI

หากคุณมีสิทธิ์เข้าถึงสภาพแวดล้อมการโฮสต์ของคุณผ่าน SSH วิธีที่ง่ายที่สุดในรีเฟรชการตั้งค่าลิงก์ถาวรคือ:

1 – SSH เข้าสู่เซิร์ฟเวอร์ของคุณ

2 – ไปที่ไดเร็กทอรีรากสำหรับการติดตั้ง WordPress ของคุณ

3 – ล้างโครงสร้างลิงก์ถาวรที่มีอยู่โดยเรียกใช้:

 wp เขียนใหม่ flush

4 – อัปเดตโครงสร้างลิงก์ถาวรกลับไปเป็นสิ่งที่คุณเคยใช้ก่อนหน้านี้ เช่น:

 โครงสร้างการเขียนซ้ำ wp '/%postname%'

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

รีเฟรชการตั้งค่า Permalink ของคุณในพื้นที่ผู้ดูแลระบบ WordPress ของคุณ

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

ขั้นตอนที่ 2 – ตรวจสอบว่า REST API ถูกบล็อกหรือไม่

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

เพียงไปที่ เครื่องมือ จากนั้นเลือก ความสมบูรณ์ของไซต์ ที่นี่ คุณจะเห็นข้อผิดพลาดมากมายที่เกี่ยวข้องกับการติดตั้ง WP ของคุณ หาก REST API ทำงานไม่ถูกต้อง คุณจะเห็นข้อผิดพลาดต่อไปนี้:

“REST API พบผลลัพธ์ที่ไม่คาดคิด”

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

วิธีที่ดีที่สุดในการดีบักสาเหตุเฉพาะบนไซต์ของคุณคือการตรวจสอบบันทึกคอนโซลของเบราว์เซอร์ของคุณ ซึ่งอาจแสดงบางสิ่งตามบรรทัดต่อไปนี้:

ในกรณีข้างต้น ข้อความแสดงข้อผิดพลาดคือ " การ อัปเดตข้อผิดพลาดล้มเหลว ข้อความแสดงข้อผิดพลาด: การตอบกลับไม่ใช่การตอบกลับ JSON ที่ถูกต้อง ” และสาเหตุของข้อผิดพลาดคือไฟร์วอลล์ของ Cloudflare บล็อก IP ของผู้ใช้ไม่ให้เข้าถึง WP JSON

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

ขั้นตอนที่ 3 – ตรวจสอบบริการไฟร์วอลล์เว็บแอปพลิเคชันของคุณ

Cloudflare เป็นผู้ให้บริการเครือข่ายการจัดส่งเนื้อหา (CDN) ที่ใหญ่ที่สุดในโลก การป้องกัน DDoS ความปลอดภัยทางอินเทอร์เน็ต และบริการ DNS

เราเป็นแฟนตัวยงของ Cloudflare ที่ Servebolt – ในฐานะ Cloudflare Optimized Partner ที่ให้การเชื่อมต่อเครือข่ายที่ดีขึ้นระหว่าง Servebolt และ Cloudflare เราใช้ Cloudflare Enterprise สำหรับส่วนต่างๆ ของโครงสร้างพื้นฐานของเรา รวมถึง Servebolt CDN และบริการ Accelerated Domains ของเรา

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

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

ขั้นตอนที่ 4 – ตรวจสอบบันทึกข้อผิดพลาด PHP & เปิดใช้งานโหมดดีบั๊กใน WordPress

ก่อนที่จะหันไปใช้ WP Debug และใช้ระบบดีบั๊กของ WordPress เอง ผู้ที่ใช้ Servebolt จะสามารถเข้าถึงบันทึกข้อผิดพลาด PHP ของคุณได้อย่างง่ายดาย

โดยค่าเริ่มต้น ไซต์ทั้งหมดที่ทำงานบน Servebolt Cloud จะสร้างบันทึกสองรายการ – ErrorLog & AccessLog สิ่งเหล่านี้สามารถเป็นวงกลมในรูทของไซต์ของคุณในโฟลเดอร์ /logs (เช่น ที่ระดับเดียวกับไดเร็กทอรี /public )

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

และในกรณีที่ไม่มีข้อมูลเพิ่มเติมเกี่ยวกับสาเหตุของข้อผิดพลาด คุณสามารถเปิดใช้งานโหมดแก้ไขข้อบกพร่องใน WordPress ได้ เมื่อคุณเข้าสู่โหมดแก้ไขข้อบกพร่อง WordPress จะบันทึกการตอบสนองของ PHP ที่ได้รับในไฟล์ใหม่ชื่อ debug.log โดยอัตโนมัติ

ไฟล์ใหม่นี้จะปรากฏในไดเร็กทอรี wp-content ดังนั้นคุณเพียงแค่ต้องพิจารณาเพื่อพิจารณาการตอบสนองทางฝั่งเซิร์ฟเวอร์ที่อาจทำให้เกิดปัญหา

ในการเข้าสู่โหมดแก้ไขข้อบกพร่อง ให้เปิดไฟล์ wp-config.php ของคุณ และก่อนบรรทัดสุดท้าย ให้เพิ่มบรรทัดต่อไปนี้:

 // เปิดใช้งานโหมด WP_DEBUG
กำหนด ('WP_DEBUG', จริง);

// เปิดใช้งานการบันทึกการดีบักไปยังไฟล์ /wp-content/debug.log
กำหนด ('WP_DEBUG_LOG', จริง);

// หลีกเลี่ยงการแสดงข้อผิดพลาดต่อสาธารณะในไซต์ที่ใช้งานจริง (ค่าเริ่มต้นนี้เป็นจริงหากไม่ได้ประกาศ) 

กำหนด ('WP_DEBUG_DISPLAY', เท็จ);

เมื่อคุณตรวจทานไฟล์ debug.log แล้ว คุณสามารถลบโค้ดนี้ออกจากไฟล์ wp-config.php เพื่อออกจากโหมดการดีบัก

ด้วย Servebolt คุณจะสามารถเข้าถึงบันทึกข้อผิดพลาด PHP ของคุณตามค่าเริ่มต้น ซึ่งรวมถึง ErrorLog และ AccessLog นอกเหนือจาก Slow Query Log ซึ่งให้บริการตามคำขอโดยติดต่อทีมสนับสนุนของเรา อย่างไรก็ตาม ระบบการดีบักของ WordPress เองนั้นยอดเยี่ยมในการระบุข้อผิดพลาด เพื่อให้คุณสามารถดำเนินการได้อย่างแน่นหนา โดยทำให้ codebase ของคุณอยู่ภายใต้การควบคุม

สิ่งนี้เป็นไปโดยไม่ได้บอกกล่าว แต่เมื่อทำการเปลี่ยนแปลง ไฟล์ wp-config.php โปรดดำเนินการด้วยความระมัดระวังและจะช่วยสำรองไซต์ของคุณ เว็บไซต์ที่ทำงานบน Servebolt Cloud จะได้รับการสำรองข้อมูลวันละสองครั้ง – เราดำเนินการสำรองข้อมูลในเวลากลางวัน (เก็บไว้ 3 วัน) และสำรองข้อมูลทุกคืน (เก็บไว้เป็นเวลา 30 วัน)

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

ขั้นตอนที่ 5 – ปิดการใช้งานปลั๊กอิน WordPress ทั้งหมดและตรวจสอบอีกครั้ง

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

ในการดำเนินการนี้ ให้ไปที่ Plugins จากนั้นเลือก Installed Plugins จากนั้น เพียงเลือกปลั๊กอินทั้งหมด และปิดใช้งานได้ในครั้งเดียวโดยใช้เมนูดร็อปดาวน์ การดำเนินการ เป็นกลุ่ม

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

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

วิธีแก้ปัญหาชั่วคราว: ติดตั้งปลั๊กอิน Classic Editor (ไม่ใช่วิธีแก้ปัญหา)

การเปิดตัว WordPress เวอร์ชัน 5.0 ถือเป็นการแนะนำตัวแก้ไข Gutenberg นั่นคือแนวคิดที่เราทุกคนกล่าวถึงในปัจจุบันว่าเป็น บล็อก

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

หมายเหตุ: เห็นได้ชัดว่านี่ไม่ใช่วิธีแก้ปัญหา ดังนั้นควรใช้เป็นวิธีแก้ปัญหาชั่วคราวเท่านั้น

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

ขั้นตอนที่ 7 – ติดต่อทีมสนับสนุนของเรา

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

บทสรุป

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

สนใจโฮสติ้งที่มีการจัดการที่เร็วกว่าในเชิงประจักษ์ไหม ลองใช้วิธีServbolt:

  • ความสามารถในการ ปรับขนาด: ในการทดสอบเวิร์กโหลดของผู้ใช้จริง Servebolt ให้เวลาตอบสนองเฉลี่ย 65 มิลลิวินาที ซึ่งเร็วกว่าเวลาตอบสนองที่ดีที่สุดอันดับสอง 4.9 เท่า
  • เวลาในการโหลดทั่วโลกที่เร็วที่สุด: เวลา โหลดหน้าเว็บเฉลี่ย 1.26 วินาทีทำให้เราอยู่ในอันดับต้น ๆ ของรายการผลลัพธ์ WebPageTest ทั่วโลก
  • ความเร็วในการประมวลผลที่เร็วที่สุด: เซิร์ฟเวอร์ Servebolt ให้ความเร็วฐานข้อมูลที่ไม่เคยได้ยินมาก่อน ประมวลผลข้อความค้นหามากกว่าค่าเฉลี่ย 2.44 เท่าต่อวินาทีต่อวินาที และรัน PHP เร็วกว่าเซิร์ฟเวอร์ที่ดีที่สุดอันดับสองถึง 2.6 เท่า!
  • การรักษาความปลอดภัยและเวลาทำงานที่สมบูรณ์แบบ: ด้วยเวลาทำงาน 100% บนจอภาพทั้งหมด และคะแนน A+ ในการใช้งาน SSL ของเรา คุณจึงมั่นใจได้ว่าไซต์ของคุณออนไลน์และปลอดภัย

ทั้งหมดได้รับการสนับสนุนโดยทีมงานผู้เชี่ยวชาญของเรา วันนี้พร้อมที่จะให้ Servebolt ทดสอบ Bolt ฟรี ของคุณแล้วหรือยัง?