รหัสสถานะ HTTP รวมถึงข้อผิดพลาดเกี่ยวกับเครือข่ายและ DNS ส่งผลต่อ Google Search อย่างไร

หน้านี้จะอธิบายว่ารหัสสถานะ HTTP, ข้อผิดพลาดเกี่ยวกับเครือข่าย และข้อผิดพลาด DNS มีผลต่อ Google Search ต่างกันอย่างไร คำอธิบายจะครอบคลุมรหัสสถานะ 20 รหัสแรกที่ Googlebot พบในเว็บ รวมถึงข้อผิดพลาดเกี่ยวกับเครือข่ายและข้อผิดพลาด DNS ที่เด่นชัดที่สุด แต่ไม่รวมรหัสสถานะที่แปลกใหม่อย่างเช่น 418 (I'm a teapot) ปัญหาทั้งหมดที่กล่าวถึงในหน้านี้จะสร้างข้อผิดพลาดหรือคําเตือนที่เกี่ยวข้องในรายงานการจัดทำดัชนีหน้าเว็บของ Search Console

รหัสสถานะ HTTP

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

Search Console สร้างข้อความแสดงข้อผิดพลาดสําหรับรหัสสถานะในช่วง 4xx–5xx และสำหรับการเปลี่ยนเส้นทางที่ไม่สำเร็จ (3xx) หากเซิร์ฟเวอร์ตอบสนองด้วยรหัสสถานะ 2xx เนื้อหาที่ได้รับในการตอบสนองอาจได้รับการพิจารณาให้จัดทําดัชนี

ตารางต่อไปนี้มีรหัสสถานะ HTTP ที่ Googlebot พบมากที่สุด และคําอธิบายว่า Google จัดการรหัสสถานะแต่ละรหัสอย่างไร

รหัสสถานะ HTTP

2xx (success)

Google จะพิจารณาเนื้อหาเพื่อจัดทําดัชนี หากเนื้อหาบ่งชี้ว่ามีข้อผิดพลาด เช่น เป็นหน้าว่างหรือข้อความแสดงข้อผิดพลาด Search Console จะแสดงข้อผิดพลาด soft 404

200 (success)

Google ส่งผ่านเนื้อหาไปยังไปป์ไลน์การจัดทําดัชนี ระบบจัดทําดัชนีอาจจัดทําดัชนีเนื้อหานั้น แต่ก็ไม่ได้รับประกันว่าจะจัดทำ

201 (created)
202 (accepted)

Googlebot รอเนื้อหาเป็นเวลาสั้นๆ จากนั้นจะส่งผ่านเนื้อหาทั้งหมดที่ได้รับไปยังไปป์ไลน์การจัดทำดัชนี ระยะหมดเวลาจะขึ้นอยู่กับ User Agent เช่น Googlebot Smartphone อาจมีระยะหมดเวลาที่แตกต่างจาก Googlebot Image

204 (no content)

Googlebot ส่งสัญญาณแจ้งไปยังไปป์ไลน์การจัดทำดัชนีว่าไม่ได้รับเนื้อหา Search Console อาจแสดงข้อผิดพลาด soft 404 ในรายงานการจัดทำดัชนีหน้าเว็บของเว็บไซต์

3xx (redirection)

Googlebot ติดตามการเปลี่ยนเส้นทางได้สูงสุด 10 ครั้ง หากโปรแกรมรวบรวมข้อมูลไม่ได้รับเนื้อหาภายในการเปลี่ยนเส้นทาง 10 ครั้ง Search Console จะแสดงข้อผิดพลาดในการเปลี่ยนเส้นทางในรายงานการจัดทำดัชนีหน้าเว็บของเว็บไซต์นั้น จํานวนครั้งของการเปลี่ยนเส้นทางที่ Googlebot ติดตามจะขึ้นอยู่กับ User Agent เช่น ค่าของ Googlebot Smartphone อาจต่างจากค่าของ Googlebot Image

ในกรณีของ robots.txt นั้น Google จะติดตามการเปลี่ยนเส้นทางอย่างน้อย 5 ครั้งตามที่กำหนดโดย RFC 1945 จากนั้นจะหยุดและถือว่าเป็น 404 สำหรับไฟล์ robots.txt

ระบบจะข้ามเนื้อหาที่ Googlebot ได้รับจาก URL การเปลี่ยนเส้นทาง และจะพิจารณาเนื้อหาของ URL เป้าหมายสุดท้ายสำหรับการจัดทําดัชนี

301 (moved permanently)

Googlebot ติดตามการเปลี่ยนเส้นทาง และไปป์ไลน์การจัดทำดัชนีใช้การเปลี่ยนเส้นทางเป็นสัญญาณที่แรง ซึ่งเป้าหมายการเปลี่ยนเส้นทางควรจะเป็นหน้า Canonical

302 (found)

Googlebot ติดตามการเปลี่ยนเส้นทาง และไปป์ไลน์การจัดทําดัชนีจะใช้การเปลี่ยนเส้นทางนั้นเป็นสัญญาณที่อ่อน ซึ่งเป้าหมายการเปลี่ยนเส้นทางควรจะเป็นหน้า Canonical

303 (see other)
304 (not modified)

Googlebot ส่งสัญญาณแจ้งไปป์ไลน์การจัดทําดัชนีว่าเนื้อหาเหมือนกับที่เคยรวบรวมข้อมูลไว้ครั้งล่าสุด ไปป์ไลน์การจัดทำดัชนีอาจคำนวณหาสัญญาณสำหรับ URL นั้นอีกครั้ง แต่รหัสสถานะจะไม่มีผลต่อการจัดทำดัชนี

307 (temporary redirect) เทียบเท่ากับ 302
308 (moved permanently) เทียบเท่ากับ 301

4xx (client errors)

ไปป์ไลน์การจัดทําดัชนีของ Google ไม่พิจารณา URL ที่แสดงรหัสสถานะ 4xx กลับมาในการจัดทําดัชนี และ URL ที่มีการจัดทําดัชนีไว้แล้วและแสดงรหัสสถานะ 4xx จะถูกนําออกจากดัชนี

ระบบจะไม่สนใจเนื้อหาที่ Googlebot ได้รับจาก URL ที่แสดงรหัสสถานะ 4xx

400 (bad request)

ข้อผิดพลาด 4xx ทั้งหมด ยกเว้น 429 จะถือว่าเหมือนกัน กล่าวคือ Googlebot จะส่งสัญญาณแจ้งไปป์ไลน์การจัดทำดัชนีว่าไม่มีเนื้อหานั้นอยู่

ไปป์ไลน์การจัดทําดัชนีนํา URL ออกจากดัชนีหากเคยจัดทําดัชนีไว้ ระบบจะไม่ประมวลผลหน้า 404 ที่พบใหม่ ความถี่ในการรวบรวมข้อมูลจะค่อยๆ ลดลง

401 (unauthorized)
403 (forbidden)
404 (not found)
410 (gone)
411 (length required)
429 (too many requests)

Googlebot จะถือว่ารหัสสถานะ 429 เป็นสัญญาณแจ้งว่าเซิร์ฟเวอร์ทํางานหนักเกินไป และถือว่าเป็นข้อผิดพลาดเกี่ยวกับเซิร์ฟเวอร์

5xx (server errors)

ข้อผิดพลาดเกี่ยวกับเซิร์ฟเวอร์ 5xx และ 429 จะทำให้โปรแกรมรวบรวมข้อมูลของ Google รวบรวมข้อมูลช้าลงชั่วคราว ระบบจะเก็บรักษา URL ที่จัดทําดัชนีไว้แล้วในดัชนี แต่ท้ายที่สุดแล้วก็จะลบออก

หากไฟล์ robots.txt แสดงรหัสสถานะข้อผิดพลาดเกี่ยวกับเซิร์ฟเวอร์เป็นเวลานานกว่า 30 วัน Google จะใช้สําเนาของ robots.txt ที่แคชไว้ล่าสุด หากไม่มีแคชดังกล่าว Google จะถือว่าไม่มีข้อจำกัดในการรวบรวมข้อมูล

ระบบจะไม่สนใจเนื้อหาที่ Googlebot ได้รับจาก URL ที่แสดงรหัสสถานะ 5xx

500 (internal server error)

Googlebot ลดอัตราการ Crawl สําหรับเว็บไซต์นั้น อัตราการ Crawl ที่ลดลงจะเป็นสัดส่วนกับจำนวนของ URL แต่ละรายการที่แสดงข้อผิดพลาดเกี่ยวกับเซิร์ฟเวอร์ ไปป์ไลน์การจัดทําดัชนีของ Google จะนำ URL ที่แสดงข้อผิดพลาดเกี่ยวกับเซิร์ฟเวอร์อยู่ตลอดออกจากดัชนี

502 (bad gateway)
503 (service unavailable)

ข้อผิดพลาด soft 404 รายการ

ข้อผิดพลาด soft 404 แสดงเมื่อ URL ที่แสดงหน้าเว็บแจ้งให้ผู้ใช้ทราบว่าไม่มีหน้านั้นอยู่ และแสดงรหัสสถานะ 200 (success) ด้วย ในบางกรณี หน้านี้อาจเป็นหน้าที่ไม่มีเนื้อหาหลักหรือเป็นหน้าว่างเปล่า

หน้าเว็บเหล่านี้อาจสร้างขึ้นด้วยเหตุผลหลายประการโดยเว็บเซิร์ฟเวอร์หรือระบบจัดการเนื้อหาของเว็บไซต์ หรือโดยเบราว์เซอร์ของผู้ใช้ เช่น

  • ไม่มีไฟล์คำสั่งรวมฝั่งเซิร์ฟเวอร์
  • การเชื่อมต่อฐานข้อมูลขัดข้อง
  • หน้าผลการค้นหาภายในว่างเปล่า
  • ไฟล์ JavaScript ที่ไม่ได้โหลดหรือไม่มี

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

เมื่ออัลกอริทึมของ Google ตรวจพบว่าที่จริงแล้วหน้าเว็บนั้นมีข้อผิดพลาดโดยพิจารณาจากเนื้อหาของหน้า Search Console จะแสดงข้อผิดพลาด soft 404 ในรายงานการจัดทำดัชนีหน้าเว็บสำหรับเว็บไซต์นั้น

แก้ไขข้อผิดพลาด soft 404

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

พยายามกำหนดว่าโซลูชันใดเหมาะกับผู้ใช้มากที่สุด

หน้าและเนื้อหานั้นไม่มีให้ใช้อีกต่อไป

หากคุณนำหน้าเว็บออกและไม่มีหน้าอื่นให้ใช้แทนในเว็บไซต์โดยที่มีเนื้อหาคล้ายกัน ให้แสดงรหัส (สถานะ) การตอบกลับ 404 (not found) หรือ 410 (gone) สำหรับหน้านั้น รหัสสถานะเหล่านี้บอกให้เครื่องมือค้นหาทราบว่าหน้าเว็บนั้นไม่มีอยู่และไม่ควรจัดทำดัชนีเนื้อหา

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

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

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

ขณะนี้หน้าหรือเนื้อหานั้นอยู่ที่อื่นแล้ว

หากหน้าเว็บย้ายไปอยู่ที่อื่นหรือมีหน้าอื่นให้ใช้แทนอย่างชัดเจนในเว็บไซต์ ให้แสดง 301 (permanent redirect) กลับมาเพื่อเปลี่ยนเส้นทางผู้ใช้ การดําเนินการนี้จะไม่รบกวนประสบการณ์การท่องเว็บของผู้ใช้และยังเป็นวิธีที่ดีในการแจ้งเครื่องมือค้นหาเกี่ยวกับตําแหน่งใหม่ของหน้าเว็บด้วย ใช้เครื่องมือตรวจสอบ URL เพื่อตรวจสอบว่า URL แสดงรหัสที่ถูกต้องจริงหรือไม่

หน้าและเนื้อหานั้นยังมีอยู่

หากหน้าเว็บที่ไม่มีปัญหาถูกตั้งค่าสถานะด้วยข้อผิดพลาด soft 404 ก็เป็นไปได้ว่าหน้านั้นโหลดขึ้นอย่างไม่ถูกต้องสำหรับ Googlebot ทรัพยากรสำคัญขาดหายไป หรือแสดงข้อความแสดงข้อผิดพลาดอย่างชัดเจนระหว่างการแสดงผล ใช้เครื่องมือตรวจสอบ URL เพื่อตรวจสอบเนื้อหาที่แสดงผลและรหัส HTTP ที่แสดงกลับมา หากหน้าที่แสดงผลนั้นว่างเปล่าหรือแทบจะว่างเปล่า หรือเนื้อหามีข้อความแสดงข้อผิดพลาด ก็อาจเป็นไปได้ว่าหน้านั้นมีการอ้างอิงทรัพยากรจำนวนมากที่โหลดไม่ได้ (รูปภาพ สคริปต์ และองค์ประกอบอื่นๆ ที่ไม่ใช่ข้อความ) ซึ่งอาจทำให้ระบบตีความว่าเป็น soft 404 ได้ สาเหตุส่วนหนึ่งที่ทำให้ทรัพยากรโหลดไม่ได้คือทรัพยากรถูกบล็อก (บล็อกโดย robots.txt) มีทรัพยากรมากเกินไปใน 1 หน้า มีข้อผิดพลาดเกี่ยวกับเซิร์ฟเวอร์หลายอย่าง หรือทรัพยากรโหลดช้าหรือมีขนาดใหญ่มาก

ข้อผิดพลาดเกี่ยวกับเครือข่ายและ DNS

ข้อผิดพลาดเกี่ยวกับเครือข่ายและ DNS มีผลกระทบเชิงลบเป็นระยะเวลาสั้นๆ ต่อการแสดง URL ใน Google Search Googlebot จะดำเนินการกับการหมดเวลาของเครือข่าย การรีเซ็ตการเชื่อมต่อ และข้อผิดพลาด DNS ในทำนองเดียวกับข้อผิดพลาดเกี่ยวกับเซิร์ฟเวอร์ 5xx ในกรณีของข้อผิดพลาดเกี่ยวกับเครือข่าย การ Crawl จะเริ่มลดความเร็วลงทันที เนื่องจากข้อผิดพลาดเกี่ยวกับเครือข่ายเป็นสัญญาณที่บ่งบอกว่าเซิร์ฟเวอร์อาจไม่สามารถรองรับภาระงานในการให้บริการ เพราะ Googlebot เข้าถึงเซิร์ฟเวอร์ที่โฮสต์เว็บไซต์ไม่ได้ Google จึงไม่ได้รับเนื้อหาจากเซิร์ฟเวอร์ดังกล่าวไปด้วย การขาดเนื้อหาหมายความว่า Google จัดทําดัชนี URL ที่ทำการ Crawl มาไม่ได้ และ URL ที่จัดทําดัชนีไว้แล้วซึ่งไม่สามารถเข้าถึงได้จะถูกนําออกจากดัชนีของ Google ภายในไม่กี่วัน Search Console อาจสร้างข้อผิดพลาดสำหรับข้อผิดพลาดที่เกี่ยวข้องแต่ละรายการ

แก้ไขข้อผิดพลาดเกี่ยวกับเครือข่าย

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

  • ดูการตั้งค่าไฟร์วอลล์และบันทึก อาจมีชุดกฎการบล็อกที่กว้างเกินไป ตรวจสอบว่าไม่มีการบล็อกที่อยู่ IP ของ Googlebot ด้วยกฎไฟร์วอลล์
  • ดูการจราจรของข้อมูลในเครือข่าย ใช้เครื่องมืออย่างเช่น tcpdump และ Wireshark เพื่อบันทึกและวิเคราะห์แพ็กเก็ต TCP และมองหาความผิดปกติที่ชี้ไปยังคอมโพเนนต์เครือข่ายหรือโมดูลเซิร์ฟเวอร์ที่เจาะจง
  • หากไม่พบสิ่งที่น่าสงสัย โปรดติดต่อบริษัทโฮสติ้งที่ใช้บริการ

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

แก้ไขข้อผิดพลาด DNS

สาเหตุที่พบบ่อยที่สุดของข้อผิดพลาด DNS คือการกําหนดค่าผิดพลาด แต่ก็อาจเกิดจากกฎไฟร์วอลล์ที่บล็อกคำขอ DNS ของ Googlebot ได้เช่นกัน หากต้องการแก้ไขข้อบกพร่อง DNS ให้ทําดังนี้

  • ตรวจสอบกฎไฟร์วอลล์ ตรวจสอบว่าไม่มี IP ของ Google ถูกบล็อกโดยกฎไฟร์วอลล์ และดูว่าคําขอทั้ง UDP และ TCP ได้รับอนุญาต
  • ดูระเบียน DNS ของคุณ ตรวจสอบโดยละเอียดว่าระเบียน A และ CNAME ชี้ไปยังที่อยู่ IP และชื่อโฮสต์ที่ถูกต้องตามลำดับ ตัวอย่าง:
    dig +nocmd example.com a +noall +answer
    dig +nocmd www.example.com cname +noall +answer
  • ตรวจสอบว่าเนมเซิร์ฟเวอร์ทั้งหมดชี้ไปยังที่อยู่ IP ที่ถูกต้องของเว็บไซต์ ตัวอย่าง:
    dig +nocmd example.com ns +noall +answer
    example.com.    86400  IN  NS  a.iana-servers.net.
    example.com.    86400  IN  NS  b.iana-servers.net.
    dig +nocmd @a.iana-servers.net example.com +noall +answer
    example.com.    86400  IN  A  93.184.216.34
    dig +nocmd @b.iana-servers.net example.com +noall +answer
    ...
  • หากคุณเปลี่ยนแปลงการกำหนดค่า DNS ภายใน 72 ชั่วโมงที่ผ่านมา คุณอาจต้องรอให้การเปลี่ยนแปลงเผยแพร่ไปทั่วเครือข่าย DNS ซึ่งครอบคลุมทั่วโลก หากต้องการเร่งการเผยแพร่ คุณล้างแคช DNS สาธารณะของ Google ได้
  • หากคุณใช้เซิร์ฟเวอร์ DNS ของตัวเอง ให้ตรวจสอบว่าเซิร์ฟเวอร์ทำงานเป็นปกติดีและไม่มีภาระงานมากเกินไป