ครอว์เลอร์ Facebook:

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

การเข้าถึงครอว์เลอร์

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

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

การระบุครอว์เลอร์

เลือกระบุครอว์เลอร์ Facebook ได้จากสตริงตัวแทนผู้ใช้หนึ่งสตริงจากสตริงเหล่านี้:

facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)

หรือ

facebookexternalhit/1.1

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

คุณอาจเห็นครอว์เลอร์พร้อมสตริงตัวแทนผู้ใช้ต่อไปนี้ ณ วันที่ 28 พฤษภาคม 2014:

Facebot

Facebot คือหุ่นยนต์ครอว์เลอร์เว็บของ Facebook ที่ช่วยพัฒนาประสิทธิภาพในการลงโฆษณา Facebot ได้รับการออกแบบให้มีความสุภาพ โดยจะพยายามเข้าถึงแต่ละเซิร์ฟเวอร์เว็บไม่เกินหนึ่งครั้งในทุกๆ 2-3 วินาทีตามมาตรฐานอุตสาหกรรมและจะเคารพการตั้งค่า robots.txt ของคุณ

โปรดทราบว่า Facebook จะตรวจสอบการเปลี่ยนแปลงของไฟล์ robots.txt ของเซิร์ฟเวอร์ของคุณเพียง 2-3 ครั้งต่อวัน ดังนั้นการอัพเดตใดๆ จะได้รับแจ้งในครอลว์ครั้งถัดไปและไม่ใช่โดยทันที

การจำกัดอัตราของครอว์เลอร์

คุณสามารถติดป้ายชื่อเพจและอ็อบเจ็กต์เพื่อเปลี่ยนระยะเวลาที่ครอว์เลอร์ Facebook จะรอเพื่อตรวจสอบเนื้อหาใหม่ในเพจและอ็อบเจ็กต์เหล่านั้น ใช้คุณสมบัติของอ็อบเจ็กต์ og:ttlเพื่อจำกัดการเข้าถึงของครอว์เลอร์ หากครอว์เลอร์ของเราทำงานรุกล้ำเกินไป

การให้สิทธิ์เข้าถึงครอว์เลอร์

การให้สืทธิ์เข้าถึงครอว์เลอร์แบ่งออกเป็นสองวิธี:

  1. ไวท์ลิสต์สตริงตัวแทนผู้ใช้ตามที่ปรากฎข้างต้นไว้ รายการดังกล่าวไม่ต้องมีการดูแล
  2. สร้างรายการที่อยู่ IP ที่ได้รับอนุญาตที่ครอว์เลอร์ใช้ ซึ่งมีความปลอดภัยมากขึ้น:

ใช้คำสั่งนี้เพื่อรับรายการที่อยู่ IP ปัจจุบันที่ครอว์เลอร์ใช้

whois -h whois.radb.net -- '-i origin AS32934' | grep ^route  

คำสั่งจะส่งคืนรายการที่อยู่ IP ที่เปลี่ยนแปลงบ่อย:

# For example only - over 100 in total
31.13.24.0/21 
66.220.144.0/20    
2401:db00::/32  
2620:0:1c00::/40  
2a03:2880::/32 

การรับประกันถึงภาวะแฝงที่สมเหตุสมผล

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

URL แบบบัญญัติ

ครอว์เลอร์ของเราจะจับเนื้อหาเพื่อนำมาแชร์ด้วยการแก้ไข URL ที่คุณกำหนดให้เป็น URL แบบบัญญัติ

หลักปฏิบัติที่ดีที่สุดคือ คุณควรกำหนดป้ายชื่อให้กับความหลากหลายทั้งหมดด้วย URL แบบบัญญัติโดยใช้แท็ก og:url (แนะนำ) หรือ link rel="canonical" HTML สำหรับ URL แบบบัญญัตินั้นควรประกอบด้วยแท็ก og:url ที่กำหนดให้ตัวเองเป็นทรัพยากรมาตรฐาน

<meta property="og:url" content="https://example.com/path" />

เพื่อรับประกันว่าการดำเนินการทั้งหมด เช่น การกดถูกใจและการแชร์จะรวมอยู่ใน URL เดียวกัน แทนที่จะกระจายบนเพจหลายๆ เวอร์ชั่น

และยังหมายความว่า เนื้อหาเดิมแต่ในหลายๆ เวอร์ชั่นจะได้รับการปฏิบัติเหมือนกัน แม้จะถูกโฮสต์บนโดเมนย่อยแยกต่างหาก หรือเข้าถึงได้ผ่านทั้ง http:// และ https://

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

การย้ายโอนเนื้อหา/การอัพเดต URL

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

1. ยกเว้นครอว์เลอร์ Facebook จากการเปลี่ยนเส้นทาง HTTP ของคุณ

ใช้การเปลี่ยนเส้นทาง HTTP 301 หรือ 302 เพื่อส่งผู้คนไปที่ URL ใหม่เมื่อคนเหล่านั้นคลิกที่ URL เก่า

ครอว์เลอร์ยังต้องสามารถเข้าถึงเพจเก่า จึงต้องยกเว้นตัวแทนผู้ใช้ของครอว์เลอร์จากการเปลี่ยนเส้นทาง และส่งการเปลี่ยนเส้นทาง HTTP ไปให้กับลูกค้าของครอว์เลอร์ที่ไม่ใช่ครอว์เลอร์ Facebook เท่านั้น

HTML ของ URL เก่ายังควรจะประกอบด้วยแท็ก Open Graph (รวมถึงแท็ก og:url ที่ชี้ไปที่ตัวเอง) และส่งกลับการตอบสนอง HTTP 200 เมื่อครอว์เลอร์โหลดการตอบสนอง

และทำให้แน่ใจว่าประวัติ AAAA ของคุณได้อัพเดตอย่างถูกต้องเมื่อคุณเปลี่ยน URL ของคุณ เนื่องจากครอว์เลอร์จะหาประวัตินั้นและตอบสนองโค้ด 0 หากหาไม่พบ

2. ใช้เพจเก่าเป็น URL แบบบัญญัติสำหรับเพจใหม่

เพิ่มแท็กนี้ไปที่ HTML ของ URL ใหม่:

<meta property="og:url" content="https://example.com/old-url" />

แม้จะแนะนำให้เลือกใช้แท็ก og:url แต่วิธีการนี้ใช้ได้ผลกับ rel=canonical ด้วย

วิธีนี้จะบอกให้ครอว์เลอร์ของเราทราบว่า URL แบบบัญญัติอยู่ที่ตำแหน่งเดิม และครอว์เลอร์จะใช้ตำแหน่งเดิมนี้เพื่อสร้างจำนวนของการกดถูกใจบนเพจ การกดถูกใจใหม่ไม่ว่าจะอยู่ที่ตำแหน่งใดจะรวมอยู่ในตำแหน่งทั้งสองตำแหน่ง

URL เก่ายังคงต้องแสดงเอกสารด้วยแท็ก Open Graph และส่งกลับการตอบกลับ HTTP 200 อยู่ อย่างน้อยที่สุดคือในขณะที่ครอว์เลอร์ Facebook ทำการโหลด ใน URL เก่าควรมีแท็ก og:url ที่ชี้ไปยังตัวเอง หากคุณต้องการให้ไคลเอ็นต์อื่นๆ เปลี่ยนเส้นทางเมื่อเข้าชม URL คุณจะต้องส่งการตอบสนอง 301 HTTP ถึงไคลเอ็นต์ของครอว์เลอร์ทั้งหมดที่ไม่ใช่ Facebook

คุณสามารถเรียนรู้วิธีการจำแนกครอว์เลอร์ของ Facebook ได้จากใน “คู่มือหลักปฏิบัติที่ดีที่สุดเกี่ยวกับการแชร์