เมื่อการจัดทําดัชนีเกิดการผิดพลาด Google Search มีวิธีกู้คืนข้อมูลจากปัญหานั้นอย่างไร และเรียนรู้บทเรียนอะไรบ้าง

วันจันทร์ที่ 12 สิงหาคม 2019

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

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

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

เกิดอะไรขึ้นเมื่อ 2-3 เดือนที่ผ่านมา

ในเดือนเมษายน เรามีปัญหาหลายอย่างเกี่ยวกับดัชนี ดัชนีของ Search เป็นฐานข้อมูลที่มีหน้าเว็บหลายแสนล้านหน้าที่เราทำการ Crawl บนเว็บ และเราคิดว่าจะตอบคําค้นหาของผู้ใช้ได้บางส่วน เมื่อผู้ใช้ป้อนคําค้นหาในเครื่องมือค้นหาของ Google อัลกอริทึมการจัดอันดับของเราจะจัดเรียงหน้าเหล่านั้นในดัชนีของ Search เพื่อหาผลการค้นหาที่เกี่ยวข้องและเป็นประโยชน์ให้คุณภายในเสี้ยววินาที รายละเอียดเพิ่มเติมเกี่ยวกับสิ่งที่เกิดขึ้นมีดังนี้

1. ปัญหาเกี่ยวกับการจัดทําดัชนี

ในช่วงเริ่มต้น ดัชนีของ Search บางส่วนได้หายไปชั่วคราว

เดี๋ยวนะ... ที่บอกว่า "ดัชนีบางส่วนหายไป" หมายถึงอะไร มันเป็นไปได้ด้วยหรือ

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

Google เป็นเจ้าของและผู้ดําเนินการศูนย์ข้อมูล (ดังเช่นภาพด้านบน) ทั่วโลก เพื่อให้ผลิตภัณฑ์ของเราทํางานทุกวันตลอด 24 ชั่วโมง
Google เป็นเจ้าของและผู้ดําเนินการศูนย์ข้อมูล (ดังเช่นภาพด้านบน) ทั่วโลก เพื่อให้ผลิตภัณฑ์ของเราทํางานทุกวันตลอด 24 ชั่วโมง - แหล่งที่มา

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

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

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

เราได้ทำการสื่อสารออกไปในวันอาทิตย์ที่ 7 เมษายน ว่าเรารับทราบเกี่ยวกับปัญหาดังกล่าวแล้ว และแจ้งว่าสิ่งต่างๆ กำลังกลับเข้าสู่สภาวะปกติ ขณะที่การเปลี่ยนศูนย์ข้อมูลกลับไปสู่ดัชนีที่เสถียรกำลังคืบหน้าไป เราก็ได้อัปเดตบน Twitter อย่างต่อเนื่อง (ในวันที่ 8 เมษายนและ 9 เมษายน) จนกระทั่งเรามั่นใจว่าศูนย์ข้อมูลทั้งหมดกลับไปใช้ดัชนีเวอร์ชันสมบูรณ์แล้วในวันที่ 11 เมษายน

2. ปัญหาเกี่ยวกับ Search Console

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

และเมื่อดัชนีของ Search เกิดปัญหาดังที่เราอธิบายไว้ข้างต้น ข้อมูลใน Search Console ก็จะรายงานความไม่สอดคล้องกันด้วย ซึ่งเป็นเพราะข้อมูลบางส่วนที่แสดงใน Search Console จะมาจากดัชนีของ Search เอง ดังนี้

  • รายงานการครอบคลุมของดัชนีจะขึ้นอยู่กับดัชนีของ Search ที่สอดคล้องกันในศูนย์ข้อมูลทั้งหมด
  • เมื่อเราจัดเก็บหน้าไว้ในดัชนีของ Search เราจะใส่คําอธิบายประกอบให้กับรายการด้วยสัญญาณสําคัญเกี่ยวกับหน้าเว็บ เช่น ข้อเท็จจริงที่ว่าหน้านั้นมีมาร์กอัปผลการค้นหาที่เป็นริชมีเดีย เป็นต้น ดังนั้น ปัญหาที่เกิดกับดัชนีของ Search จึงอาจส่งผลต่อรายงานผลการค้นหาที่เป็นริชมีเดียใน Search Console

โดยทั่วไป รายงานแต่ละรายการของ Search Console จะอ่านข้อมูลจากฐานข้อมูลสำหรับรายงานนั้นๆ โดยเฉพาะ ระบบจะสร้างฐานข้อมูลดังกล่าวบางส่วนโดยใช้ข้อมูลที่มาจากดัชนีของ Search ในขณะที่เราต้องเปลี่ยนกลับไปใช้ดัชนีเวอร์ชันก่อนหน้า เรายังต้องหยุดการอัปเดตฐานข้อมูล Search Console ไว้ชั่วคราวอีกด้วย ซึ่งทําให้ข้อมูลมีความราบเรียบในบางรายงาน (และความไม่แน่ใจในรายงานอื่นๆ เช่น เครื่องมือตรวจสอบ URL)

รายงานการครอบคลุมของดัชนีสำหรับหน้าที่ได้รับการจัดทำดัชนี ซึ่งแสดงตัวอย่างปัญหาความใหม่ของข้อมูลใน Search Console ในเดือนเมษายน 2019 โดยมีการอัปเดต 2 เวอร์ชันนานกว่าที่สังเกตเห็นตามปกติ
รายงานการครอบคลุมของดัชนีสําหรับหน้าที่ได้รับการจัดทําดัชนี ซึ่งแสดงตัวอย่างปัญหาความใหม่ของข้อมูลใน Search Console ในเดือนเมษายน 2019 โดยมีเวลานานกว่าระหว่าง อัปเดต 2 ครั้งมากกว่าที่สังเกตเห็นตามปกติ

เนื่องจากปัญหาการจัดทําดัชนี Search ทั้งหมดใช้เวลาในการย้อนกลับอยู่หลายวัน (ดูคําอธิบายด้านบน) เราจึงเลื่อนเวลาออกไปโดยมุ่งเน้นไปที่การแก้ไขฐานข้อมูล Search Console อีก 2-3 วันหลังจากนั้น หลังจากแก้ไขปัญหาการจัดทําดัชนีแล้ว เมื่อวันที่ 15 เมษายน เราทวีตว่า Search Console มีปัญหาและกําลังดําเนินการแก้ไขอยู่ เราได้แก้ไขเรียบร้อยแล้วเมื่อวันที่ 28 เมษายน (วันที่รายงานเริ่มรวบรวมข้อมูลใหม่อีกครั้ง โปรดดูกราฟด้านบน) เราได้สื่อสารไปทาง Twitter เมื่อวันที่ 30 เมษายนว่าปัญหานี้ได้รับการแก้ไขแล้ว ทวีต

3. ปัญหาอื่นๆ ที่ไม่เกี่ยวข้องกับข้อบกพร่องหลักในการจัดทําดัชนี

Google Search ใช้ระบบต่างๆ ที่ทํางานร่วมกัน แม้ว่าระบบเหล่านั้นบางส่วนมีความเชื่อมโยงกันอยู่อย่างแนบแน่น แต่ในบางกรณีก็อาจพบปัญหาที่ไม่เกี่ยวข้องกันในช่วงเวลาไล่เลี่ยกัน

อย่างเช่นกรณีที่พบในปัจจุบัน เป็นต้น ในช่วงเวลาใกล้เคียงกับที่พบข้อบกพร่องในการจัดทําดัชนีหลักตามที่อธิบายข้างต้น เรายังพบปัญหาเกี่ยวกับการรวบรวมเนื้อหาใหม่ใน Google News อีกด้วย นอกจากนี้ ในระหว่างการแสดงผลหน้าเว็บ มี URL บางรายการได้เริ่มเปลี่ยนเส้นทาง Googlebot ไปยังหน้าที่ไม่เกี่ยวข้องอื่นๆ ปัญหาเหล่านี้ไม่เกี่ยวข้องกับข้อบกพร่องในการจัดทําดัชนีแต่อย่างใด และได้รับการแก้ไขอย่างรวดเร็ว (ทวีต 1 และ ทวีต 2)

การสื่อสารของเราและวิธีที่เราตั้งใจจะทำให้ดีขึ้น

นอกเหนือจากการสื่อสารผ่านโซเชียลมีเดีย (ตามที่ไฮไลต์ไว้ข้างต้น) ในช่วง 2-3 สัปดาห์นี้ เรายังให้รายละเอียดเพิ่มเติมกับผู้ดูแลเว็บในช่องทางอื่นๆ อีก 2 ช่องทาง ได้แก่ Search Console และศูนย์ช่วยเหลือของ Search Console

ในศูนย์ช่วยเหลือของ Search Console

เราอัปเดตหน้าความช่วยเหลือ "ความผิดปกติของข้อมูลใน Search Console" หลังตรวจพบปัญหาทั้งหมด หน้านี้ใช้เพื่อสื่อสารข้อมูลเกี่ยวกับการหยุดชะงักของบริการ Search Console เมื่อผลกระทบส่งผลต่อเจ้าของเว็บไซต์จํานวนมาก

ใน Search Console

เนื่องจากเราทราบว่าผู้ใช้บางรายไม่ได้ใช้โซเชียลมีเดียหรือหน้าศูนย์ช่วยเหลือภายนอก เราจึงเพิ่มคําอธิบายประกอบในรายงาน Search Console เพื่อแจ้งผู้ใช้ว่าข้อมูลอาจไม่ถูกต้อง (ดูรูปภาพด้านล่าง) เราเพิ่มข้อมูลนี้หลังจากแก้ไขข้อบกพร่องแล้ว การคลิก "ดูรายละเอียดเพิ่มเติม" นี้จะนําคุณไปยังหน้า "ความผิดปกติของข้อมูล" ในศูนย์ช่วยเหลือ

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

การสื่อสารจากนี้ไป

เมื่อเกิดข้อขัดข้องที่ Google เรามีวัฒนธรรม "การชันสูตร (Postmortem)" ที่เข้มแข็ง นั่นคือ การสร้างเอกสารเพื่อสรุปสาเหตุการหยุดทํางาน และพยายามไม่ให้เกิดขึ้นอีก อ่านคําอธิบายกระบวนการทั้งหมดอย่างละเอียดได้ที่วิศวกรรมความเสถียรสำหรับเว็บไซต์ของ Google

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

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

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

แปลงความคิดเป็นการกระทำ: กรณีศึกษา "URL ใหม่ไม่ได้รับการจัดทำดัชนี"

ในวันที่ 22 พฤษภาคม เราได้ทดสอบกลยุทธ์การสื่อสารใหม่เมื่อพบปัญหาอื่น ปัญหาก็คือในขณะที่ประมวลผล URL บางรายการ ระบบการจัดการที่ซ้ำซ้อนกันของเราใช้หน่วยความจําจนหมดหลังจากอัปเกรดโครงสร้างพื้นฐานที่กําหนดไว้ ซึ่งทําให้ URL ขาเข้าทั้งหมดหยุดประมวลผล

ไทม์ไลน์ของวิธีคิดสำหรับการสื่อสารซึ่งอิงตาม 3 ประเด็นที่ไฮไลต์ไว้ด้านบนมีดังต่อไปนี้

  1. เราสังเกตเห็นปัญหานี้ (เวลาประมาณ 5:30 น. ตามเวลาแคลิฟอร์เนีย วันที่ 22 พฤษภาคม)
    เราทวีตเกี่ยวกับปัญหาที่กําลังเกิดขึ้น (ประมาณ 6:40 น. เวลาแคลิฟอร์เนีย วันที่ 22 พฤษภาคม)
    เราทวีตเกี่ยวกับการแก้ปัญหา (ประมาณ 22:00 น. เวลาแคลิฟอร์เนีย วันที่ 22 พฤษภาคม)
  2. เราได้ประเมินการอัปเดตหน้า "ความผิดปกติของข้อมูล" ในศูนย์ช่วยเหลือแล้ว แต่ตัดสินใจที่จะไม่ทําการเปลี่ยนแปลง เนื่องจากไม่ได้คาดหวังว่าจะกระทบต่อข้อมูล Search Console ส่วนใหญ่ของผู้ดูแลเว็บในระยะยาว
  3. ความสับสนที่ปัญหานี้เกิดขึ้นทําให้หลายคนสรุปไว้ก่อนหน้านี้ว่า เราต้องการวิธีส่งสัญญาณที่ชัดเจนยิ่งขึ้นภายใน Search Console เอง ว่าระบบของเราอาจมีการหยุดชะงักซึ่งอาจส่งผลต่อผู้ดูแลเว็บ ทั้งนี้วิธีดังกล่าวอาจใช้เวลาดําเนินการนานสักหน่อย เราจะแจ้งให้คุณทราบเกี่ยวกับหัวข้อนี้ในอนาคต เมื่อมีข่าวสารเพิ่มเติม

เมื่อสัปดาห์ที่แล้วเรายังมีปัญหาการจัดทําดัชนีอีกประการหนึ่ง แต่เมื่อวันที่ 22 พฤษภาคม เราได้ทวีตเพื่อแจ้งให้ผู้ใช้ทราบว่าเรากําลังดําเนินการแก้ไขปัญหาอยู่และได้แก้ไขปัญหาดังกล่าวแล้ว

วิธีแก้ไขข้อบกพร่องและสื่อสารกับเรา

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

  • โปรดไปที่ชุมชนสำหรับผู้ดูแลเว็บ บางครั้งผู้ดูแลเว็บคนอื่นๆ ก็ได้ไฮไลต์ปัญหาที่ส่งผลกระทบต่อเว็บไซต์ไว้ด้วย
  • มาเข้าร่วมด้วยตนเอง เราชอบการติดต่อพูดคุย คุณมาพบกับเราได้ที่งานกิจกรรมต่างๆ
  • สื่อสารกันภายในผลิตภัณฑ์ของเรา เครื่องมือแสดงความคิดเห็นของ Search Console มีประโยชน์อย่างมากสําหรับทีมของเรา
  • ทาง Twitter และ YouTube