คุณเคยพยายามเปิดโพสต์บน WordPress แล้วพบกับหน้า 404 Error หรือไม่? ปัญหานี้อาจเกิดขึ้นเมื่อคุณสามารถเข้าถึงหน้าแอดมินของ WordPress ได้ตามปกติ แต่เมื่อเปิดโพสต์หรือหน้าเว็บบางหน้า กลับขึ้นข้อความ "404 Not Found"

สาเหตุที่ WordPress Posts ขึ้น 404 Error
มีหลายสาเหตุที่ทำให้โพสต์ของคุณแสดง 404 Error เช่น:
- ความขัดแย้งระหว่างปลั๊กอินหรือธีม – ปลั๊กอินหรือตัวธีมที่คุณใช้ อาจมีปัญหากับโครงสร้างลิงก์ (permalinks) ของ WordPress
- โค้ดที่กำหนดเอง (Custom Code) มีข้อผิดพลาด – หากคุณเพิ่มโค้ดลงไปในไฟล์ของเว็บไซต์ อาจทำให้เกิดปัญหากับ permalinks ได้
- ไฟล์ .htaccess มีปัญหา – ไฟล์นี้ควบคุมโครงสร้าง URL ของ WordPress และหากเสียหายหรือถูกลบไป อาจทำให้เกิด 404 Errors
วิธีแก้ไข WordPress Posts ที่ขึ้น 404 Error
1. ตรวจสอบความขัดแย้งของปลั๊กอิน ธีม และโค้ดที่เพิ่มเข้ามา
ปิดปลั๊กอินทั้งหมดชั่วคราว
- ไปที่ Plugins » Installed Plugins ในแผงควบคุม WordPress
- เลือก Deactivate ทั้งหมด แล้วตรวจสอบว่าโพสต์ยังขึ้น 404 Error หรือไม่
- หากปัญหาหายไป ให้ลองเปิดใช้งานปลั๊กอินทีละตัว เพื่อตรวจสอบว่าปลั๊กอินไหนเป็นต้นเหตุ
เปลี่ยนกลับไปใช้ธีมเริ่มต้นของ WordPress
- ไปที่ Appearance » Themes
- เลือกธีมมาตรฐานของ WordPress เช่น Twenty Twenty-Four
- ตรวจสอบว่าโพสต์สามารถเปิดได้ตามปกติหรือไม่
ตรวจสอบโค้ดที่เพิ่มเข้ามา
- หากคุณเพิ่งเพิ่มโค้ดลงใน functions.php หรือใช้ปลั๊กอินสำหรับโค้ด เช่น WPCode ลองลบหรือปิดการใช้งานแล้วตรวจสอบใหม่
2. รีเซ็ตค่าของ Permalink Settings
ปัญหา 404 Error อาจเกิดจากการตั้งค่า permalinks ผิดพลาด ให้ทำตามขั้นตอนนี้:
- ไปที่ Settings » Permalinks
- กดปุ่ม Save Changes โดยไม่ต้องเปลี่ยนค่าใดๆ
- ลองโหลดหน้าโพสต์ใหม่
3. แก้ไขไฟล์ .htaccess
หากการรีเซ็ต permalinks ไม่ได้ผล คุณอาจต้องแก้ไขไฟล์ .htaccess ด้วยตนเอง:
ขั้นตอนการแก้ไข .htaccess
- ใช้โปรแกรม FTP เช่น FileZilla หรือเปิด File Manager ในโฮสติ้งของคุณ
- ไปที่โฟลเดอร์ /public_html/ หรือโฟลเดอร์ที่ติดตั้ง WordPress
- ค้นหาไฟล์ .htaccess และทำการแบ็คอัพก่อนแก้ไข
- เปิดไฟล์ .htaccess แล้วแทนที่โค้ดเดิมด้วยโค้ดนี้:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
- บันทึกไฟล์ แล้วลองเปิดโพสต์ใหม่อีกครั้ง
4. ติดต่อผู้ให้บริการโฮสติ้ง
หากคุณลองทุกวิธีข้างต้นแล้วยังเจอปัญหา 404 Error ให้ติดต่อโฮสติ้งของคุณ เนื่องจากอาจเป็นปัญหาที่ฝั่งเซิร์ฟเวอร์
5. เปิดใช้งาน mod_rewrite (สำหรับ Local Server)
หากคุณใช้เซิร์ฟเวอร์ท้องถิ่น (MAMP, WAMP, XAMPP) คุณต้องเปิดใช้งาน mod_rewrite ด้วยวิธีนี้:
- เปิดไฟล์ httpd.conf ของ Apache
- ค้นหาบรรทัดนี้: #LoadModule rewrite_module modules/mod_rewrite.so แล้วลบ # ออก
- เปลี่ยน AllowOverride None เป็น AllowOverride All
- บันทึกไฟล์ แล้วรีสตาร์ท Apache

หากคุณพบปัญหาโพสต์ของ WordPress ขึ้น 404 Error ให้ลองใช้วิธีดังต่อไปนี้:
- ปิดปลั๊กอินและธีมเพื่อตรวจสอบความขัดแย้ง
- รีเซ็ตค่าของ permalinks
- แก้ไขไฟล์ .htaccess
- ติดต่อโฮสติ้งหากปัญหายังคงอยู่
- เปิดใช้งาน mod_rewrite หากใช้งานเซิร์ฟเวอร์ท้องถิ่น
หวังว่าบทความนี้จะช่วยให้คุณแก้ไขปัญหาได้อย่างรวดเร็ว