อย่าใช้รหัส 403 หรือ 404 สําหรับการจำกัดอัตราคำขอ

วันศุกร์ที่ 17 กุมภาพันธ์ 2023

ในช่วง 2-3 เดือนที่ผ่านมา เราสังเกตเห็นว่ามีเจ้าของเว็บไซต์จำนวนหนึ่งและเครือข่ายนําส่งเนื้อหา (CDN) บางแห่งที่พยายามใช้ 404 และข้อผิดพลาดของไคลเอ็นต์ 4xx อื่นๆ (แต่ไม่ใช่ 429) เพื่อลดอัตราการ Crawl ของ Googlebot

สรุปสั้นๆ เกี่ยวกับบล็อกโพสต์นี้คือ โปรดอย่าทําเช่นนั้น และเรามีเอกสารประกอบเกี่ยวกับวิธีลดอัตราการ Crawl ของ Googlebot โปรดอ่านข้อมูลเหล่านี้แทนและดูวิธีจัดการอัตราการ Crawl ของ Googlebot อย่างมีประสิทธิภาพ

กลับไปที่พื้นฐาน: ข้อผิดพลาด 4xx มีไว้สําหรับข้อผิดพลาดของไคลเอ็นต์

ข้อผิดพลาด 4xx ที่เซิร์ฟเวอร์ส่งกลับไปยังไคลเอ็นต์เป็นสัญญาณจากเซิร์ฟเวอร์ที่คําขอของไคลเอ็นต์ไม่ถูกต้องในบางแง่มุม ข้อผิดพลาดส่วนใหญ่ในหมวดหมู่นี้ไม่เป็นอันตราย เช่น ข้อผิดพลาด "ไม่พบ" "ต้องห้าม" "ฉันเป็นกาน้ำชา" (ใช่แล้ว) ข้อผิดพลาดเหล่านี้ไม่ได้หมายความว่ามีสิ่งผิดปกติเกิดขึ้นกับตัวเซิร์ฟเวอร์

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

เหตุใดจึงไม่แนะนำให้ใช้ข้อผิดพลาด 4xx สำหรับการจำกัดอัตราคำขอ Googlebot (ยกเว้น 429)

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

ขอย้ำอีกครั้งว่าข้อยกเว้นสําคัญคือรหัสสถานะ 429 ซึ่งหมายถึง "มีคำขอมากเกินไป"

การจำกัดอัตราคำขอด้วย 4xx จะทำอะไรกับ Googlebot

รหัสสถานะ HTTP 4xx ทั้งหมด (ยกเว้น 429) จะทําให้เนื้อหาของคุณถูกนําออกจาก Google Search ที่แย่ไปกว่านั้นคือหากคุณแสดงไฟล์ robots.txt ที่มีรหัสสถานะ HTTP 4xx ระบบจะถือว่าไฟล์ดังกล่าวไม่มีอยู่ หากคุณมีกฎที่ไม่อนุญาตให้ทำการ Crawl เรื่องที่คุณไม่อยากให้ใครรู้ ตอนนี้ Googlebot ก็รู้ไปเสียแล้ว ซึงไม่ดีสําหรับทั้ง 2 ฝ่าย

วิธีลดอัตราการ Crawl ของ Googlebot อย่างเหมาะสม

เรามีเอกสารประกอบที่ครอบคลุมเกี่ยวกับวิธีลดอัตราการ Crawl ของ Googlebot และข้อมูลเกี่ยวกับวิธีที่ Googlebot (และการจัดทําดัชนีของ Search) จัดการกับรหัสสถานะ HTTP ต่างๆ อย่าลืมลองเข้าไปดูนะ โดยสรุป คุณจะเลือกทําข้อใดก็ได้ต่อไปนี้

หากต้องการเคล็ดลับหรือคําอธิบายเพิ่มเติม โปรดติดต่อเราทาง Twitter หรือโพสต์ในฟอรัมความช่วยเหลือ