SEO Article

HTTP Status Code คืออะไร? รู้จัก 200, 301, 404 และ 500 สำหรับ SEO

เผยแพร่ ผู้เขียน จิรวรรณ เที่ยงธรรมวัฒน ดู Author Profile และทีมผู้เขียน
HTTP Status Code

HTTP Status Code คืออะไร? รู้จัก 200, 301, 404 และ 500 ที่เจ้าของเว็บไซต์ควรรู้

ทุกครั้งที่ผู้ใช้งานหรือ Googlebot เปิด URL หนึ่ง ระบบไม่ได้ส่งกลับมาเพียงหน้าเว็บไซต์ แต่ Server ยังส่งข้อมูลสถานะเพื่อบอกว่า Request นั้นสำเร็จหรือเกิดอะไรขึ้น ข้อมูลนี้เรียกว่า HTTP Status Code เช่น หน้าเปิดได้ปกติอาจตอบกลับด้วย 200, URL ที่ย้ายถาวรอาจใช้ 301, หน้าที่ไม่มีอยู่แล้วมักตอบ 404 ส่วน Server ที่เกิดปัญหาอาจตอบ 500 แม้ตัวเลขเหล่านี้จะไม่ปรากฏบนหน้าจอของผู้ใช้งานทั่วไป แต่มีความสำคัญต่อการ Crawl, Indexing, Redirect และการดูแลเว็บไซต์อย่างมาก หาก Status Code ถูกตั้งผิด เช่น หน้าที่ไม่มีอยู่แล้วกลับตอบ 200 ก็อาจกลายเป็น Soft 404 ได้ การเข้าใจรหัสพื้นฐานจึงช่วยให้เจ้าของเว็บไซต์ตรวจปัญหา SEO ได้ตรงจุดมากขึ้น

HTTP Status Code คืออะไร และ Server ส่งค่าเหล่านี้ตอนไหน

HTTP Status Code คือรหัสตัวเลขที่ Server ส่งกลับมาเพื่อตอบ Request จาก Browser, Crawler หรือระบบอื่น เพื่อบอกผลของการร้องขอนั้น

ตัวเลขส่วนใหญ่แบ่งออกเป็นกลุ่มตามหลักร้อย เช่น

  • 2xx หมายถึง Request สำเร็จ
  • 3xx เกี่ยวข้องกับ Redirect
  • 4xx หมายถึงปัญหาฝั่ง Request หรือไม่พบ Resource
  • 5xx หมายถึงปัญหาฝั่ง Server

สำหรับ SEO ไม่จำเป็นต้องจำทุก Code แต่ควรรู้รหัสที่พบในเว็บไซต์บ่อย เพราะ Google ใช้ HTTP Status Code เพื่อทำความเข้าใจว่า URL ยังใช้งานอยู่ ถูกย้าย หรือเกิดข้อผิดพลาดประเภทใด

Status Code SEO

HTTP Status Code 200 หมายถึงหน้าเว็บไซต์ทำงานปกติ

200 OK หมายความว่า Server สามารถตอบ Request ได้สำเร็จ

สำหรับหน้าที่ต้องการให้ผู้ใช้งานและ Search Engine เข้าถึง เช่น หน้าแรก หน้าบริการ หน้าสินค้า และบทความที่ใช้งานอยู่ การตอบกลับ 200 ถือเป็นสถานะปกติ

อย่างไรก็ตาม มีจุดที่ต้องระวังมากคือ

หน้าแสดงข้อความว่า “ไม่พบข้อมูล” แต่ Server กลับตอบ 200

ตัวอย่างเช่น ผู้ใช้เปิด URL ที่ไม่มีอยู่แล้ว แล้วระบบแสดงหน้า “ไม่พบสินค้า” แต่สถานะ HTTP ยังเป็น 200

Google เรียกกรณีลักษณะนี้ว่า Soft 404 เพราะเนื้อหาบอกว่าหน้านั้นไม่มีอยู่ แต่สถานะ Server บอกว่าทำงานสำเร็จ Google แนะนำให้หน้าที่ไม่มีอยู่จริงส่งสถานะที่เหมาะสม เช่น 404 แทน

HTTP Status Code 301 ใช้เมื่อ URL ถูกย้ายถาวร

301 Moved Permanently ใช้เมื่อเนื้อหาถูกย้ายจาก URL เดิมไป URL ใหม่อย่างถาวร

ตัวอย่างเช่น เปลี่ยน

example.com/old-service

เป็น

example.com/new-service

หากหน้าใหม่เป็นตัวแทนของเนื้อหาเดิมอย่างชัดเจน สามารถใช้ 301 Redirect เพื่อพาผู้ใช้งานและ Search Engine ไปยัง URL ใหม่

Google ระบุว่า Permanent Redirect เช่น 301 หรือ 308 เป็นสัญญาณว่าปลายทางใหม่ควรถูกพิจารณาเป็น Canonical URL

จุดสำคัญคือปลายทางควรเกี่ยวข้องจริง

หากลบบทความ 100 หน้าแล้ว Redirect ทุกหน้าไปหน้าแรกโดยไม่มีความสัมพันธ์ อาจไม่ได้ช่วยแก้ปัญหาและสร้างประสบการณ์ที่ไม่ดีแก่ผู้ใช้

HTTP Status Code 302 ต่างจาก 301 อย่างไร

302 Found โดยทั่วไปใช้สำหรับ Redirect ชั่วคราว

ตัวอย่างสถานการณ์ เช่น เว็บไซต์ต้องการพาผู้ใช้ไปหน้าชั่วคราวระหว่างทดสอบ หรือมี Campaign ที่ต้องใช้ Landing Page อีกเวอร์ชันเพียงช่วงสั้น ๆ

หลักคิดแบบง่ายคือ

301 = ย้ายถาวร

302 = ย้ายชั่วคราว

Google แนะนำให้ใช้ Permanent Redirect เมื่อมั่นใจว่าจะไม่ย้ายกลับ และ Temporary Redirect เมื่อการเปลี่ยนเส้นทางเป็นเพียงชั่วคราว

ตัวอย่างหนึ่งคือการทำ A/B Testing ซึ่ง Google แนะนำให้ใช้ 302 แทน 301 ในกรณีที่ Redirect ไปยังหน้าทดลองชั่วคราว

HTTP Status Code 404 หมายถึง URL ไม่พบ

404 Not Found เป็นรหัสที่คนทั่วไปคุ้นเคยมากที่สุด

เกิดขึ้นเมื่อ Server ไม่พบ Resource ที่ผู้ใช้ร้องขอ เช่น

  • พิมพ์ URL ผิด
  • ลบบทความแล้ว
  • เปลี่ยน Slug แต่ไม่ได้ Redirect
  • ลบสินค้าออกจากระบบ
  • Internal Link ยังชี้ไป URL เก่า

การมี 404 บางหน้าไม่ได้หมายความว่าเว็บไซต์เสีย SEO โดยอัตโนมัติ เว็บไซต์ปกติสามารถมี 404 ได้ตามธรรมชาติ โดยเฉพาะ URL เก่าหรือ URL ที่ผู้ใช้พิมพ์ผิด

สิ่งที่ควรแก้คือ 404 ที่เกิดจากลิงก์ภายในเว็บไซต์ หรือ URL สำคัญที่หายไปโดยไม่ตั้งใจ

หากหน้าเดิมถูกแทนที่ด้วยหน้าใหม่ที่เกี่ยวข้องก็ควรพิจารณา Redirect แต่หากไม่มีเนื้อหาทดแทน การตอบ 404 อย่างถูกต้องเป็นพฤติกรรมปกติของเว็บไซต์

HTTP Status Code 410 ต่างจาก 404 อย่างไร

410 Gone มีความหมายชัดกว่า 404 ว่า Resource นี้ถูกนำออกและตั้งใจว่าจะไม่กลับมาอีก

ในทางปฏิบัติ เว็บไซต์ทั่วไปสามารถใช้ 404 สำหรับหน้าที่ไม่มีอยู่ได้ตามปกติ ส่วน 410 มักใช้เมื่อเจ้าของเว็บไซต์ต้องการสื่ออย่างชัดเจนว่าหน้านี้ถูกลบออกถาวร

ตัวอย่างเช่น หน้าประกาศที่หมดอายุและไม่มีข้อมูลทดแทน

อย่างไรก็ตาม ไม่จำเป็นต้องเปลี่ยน 404 ทุกหน้าเป็น 410 เพราะ 404 ก็เป็น Status Code ที่ถูกต้องสำหรับ URL ที่ไม่พบเช่นกัน

สิ่งสำคัญกว่าคือไม่ควรตอบ 200 สำหรับหน้าที่ไม่มีเนื้อหาจริง

HTTP Status Code 500 บอกว่า Server กำลังมีปัญหา

500 Internal Server Error หมายถึง Server พบปัญหาภายในจนไม่สามารถดำเนินการ Request ได้ตามปกติ

สาเหตุอาจเกิดจาก

  • Code Error
  • Plugin มีปัญหา
  • Database ทำงานผิดปกติ
  • Server Resource ไม่เพียงพอ
  • การตั้งค่าระบบผิด
  • Application เกิด Exception

หากเกิด 500 เป็นครั้งคราวไม่กี่วินาทีอาจเป็นเหตุการณ์ชั่วคราว แต่ถ้าเกิดกับหน้าจำนวนมากหรือเป็นเวลานาน ควรรีบตรวจสอบ

Google ระบุว่าความผิดพลาดฝั่ง Server อาจทำให้อัตราการ Crawl ลดลง และหากปัญหายังคงอยู่นาน URL สามารถได้รับผลกระทบต่อการปรากฏใน Search ได้

HTTP Status Code 503 เหมาะกับช่วงปิดปรับปรุงเว็บไซต์

อีก Code ที่ควรรู้คือ 503 Service Unavailable

เหมาะกับสถานการณ์ที่ Server ไม่สามารถให้บริการได้ ชั่วคราว เช่น กำลัง Maintenance หรือระบบรับ Load ไม่ไหวในช่วงเวลาหนึ่ง

แนวคิดต่างจาก 500 ตรงที่ 503 สื่อว่าบริการไม่พร้อมใช้งานในขณะนี้

หากเว็บไซต์ต้องปิดเพื่อปรับปรุงระบบชั่วคราว การใช้สถานะที่สื่อถึงปัญหาชั่วคราวเหมาะกว่าการทำหน้า Maintenance แล้วตอบ 200 เพราะ 200 บอก Search Engine ว่าหน้านั้นคือเนื้อหาปกติ

HTTP Status Code กับ Soft 404 เป็นปัญหาที่พบได้บ่อย

Soft 404 ไม่ใช่ HTTP Status Code จริง แต่เป็นวิธีที่ Google ใช้อธิบายสถานการณ์ที่หน้า “ดูเหมือน 404” แต่ตอบ Status Code อื่น โดยเฉพาะ 200

ตัวอย่างเช่น

URL:

example.com/product/99999

หน้าจอแสดง:

“ไม่พบสินค้านี้”

แต่ Server ตอบ:

HTTP 200 OK

Google อาจประเมินว่าหน้านี้เป็น Soft 404

ปัญหานี้พบได้ในเว็บไซต์ที่สร้างหน้า Error ผ่าน Application หรือ JavaScript แต่ไม่ได้ตั้ง HTTP Response ให้เหมาะสม

ดังนั้นเวลาออกแบบหน้า Error อย่าตรวจแค่ข้อความบนหน้าจอ ต้องตรวจ Response Code ด้วย

วิธีตรวจ HTTP Status Code ของเว็บไซต์

เจ้าของเว็บไซต์สามารถตรวจได้หลายวิธี โดยไม่จำเป็นต้องเปิด Source Code

เครื่องมือที่ใช้ได้ เช่น

  • Browser Developer Tools
  • Google Search Console
  • Website Crawler
  • Redirect Checker
  • Command Line เช่น curl

หากใช้ Google Search Console สามารถตรวจ URL สำคัญเพื่อดูว่าระบบของ Google เข้าถึงหน้าได้อย่างไร

เว็บไซต์ที่มี URL จำนวนมากควรใช้ Crawler ตรวจพร้อมกัน เพราะสามารถค้นหา 3xx, 4xx และ 5xx ในหลายหน้าได้เร็วกว่าการเปิดตรวจทีละ URL

HTTP Status Code Checklist สำหรับ SEO

เมื่อตรวจเว็บไซต์ สามารถใช้หลักง่าย ๆ ดังนี้

  1. หน้าที่ใช้งานปกติควรตอบ 200
  2. URL ย้ายถาวรใช้ Permanent Redirect เช่น 301
  3. Redirect ชั่วคราวใช้ Status ที่เหมาะกับการใช้งานชั่วคราว
  4. URL ไม่มีอยู่จริงควรตอบ 404 หรือ 410
  5. อย่าให้หน้า Error ตอบ 200
  6. ลด Internal Link ที่พาไป 404
  7. ตรวจ Redirect Chain ที่ยาวเกินจำเป็น
  8. รีบตรวจ 5xx หากเกิดกับหน้าสำคัญจำนวนมาก

การทำให้ Status Code สอดคล้องกับสถานะจริงของหน้า ช่วยให้ Browser, Search Engine และระบบอื่นเข้าใจเว็บไซต์ได้ตรงกัน

สรุป

HTTP Status Code คือรหัสที่ Server ใช้บอกผลของ Request และเป็นพื้นฐานสำคัญของการทำงานเว็บไซต์ ในมุม SEO รหัสที่ควรรู้เป็นพิเศษคือ 200 สำหรับหน้าที่ใช้งานได้, 301 สำหรับการย้ายถาวร, 302 สำหรับ Redirect ชั่วคราว, 404/410 สำหรับหน้าที่ไม่มีอยู่ และ 500/503 สำหรับปัญหาฝั่ง Server สิ่งสำคัญไม่ได้อยู่ที่การพยายามทำให้ทุก URL เป็น 200 แต่คือให้แต่ละ URL ส่งสถานะที่ตรงกับความเป็นจริง หากหน้าไม่อยู่แล้วก็ควรตอบ Error อย่างเหมาะสม หากย้ายก็ควร Redirect ไปหน้าที่เกี่ยวข้อง และหาก Server มีปัญหาควรแก้โดยเร็ว การตรวจ Status Code เป็นประจำจึงช่วยลด Broken Link, Soft 404 และปัญหาการ Crawl ได้อย่างมีประสิทธิภาพ

คำถามที่พบบ่อย (FAQ)

HTTP Status Code คืออะไร?

HTTP Status Code คือรหัสตัวเลขที่ Server ส่งกลับมาเพื่อแจ้งผลของ Request เช่น 200 หมายถึงสำเร็จ 301 หมายถึงย้ายถาวร และ 404 หมายถึงไม่พบ URL

404 ส่งผลเสียต่อ SEO หรือไม่?

404 บาง URL เป็นเรื่องปกติ ปัญหาจะสำคัญขึ้นเมื่อหน้าที่ควรใช้งานกลับเป็น 404 หรือเว็บไซต์มี Internal Link จำนวนมากชี้ไปยังหน้าที่หายไป

301 กับ 302 ต่างกันอย่างไร?

301 ใช้กับการ Redirect แบบถาวร ส่วน 302 เหมาะกับการ Redirect ชั่วคราว โดยควรเลือกตามสถานการณ์จริงของ URL

Soft 404 คืออะไร?

Soft 404 คือหน้าที่มีลักษณะว่าไม่มีเนื้อหาหรือไม่พบข้อมูล แต่ Server กลับตอบ Status Code เช่น 200 แทนที่จะใช้ 404 หรือสถานะที่เหมาะสม

Error 500 ควรแก้ทันทีหรือไม่?

หากเป็นหน้าสำคัญหรือเกิดหลาย URL ควรรีบตรวจสอบ เพราะ 500 หมายถึง Server ไม่สามารถให้บริการหน้านั้นได้ตามปกติ