Crawler Facebook

Konten sangat sering dibagikan ke Facebook dalam bentuk halaman web. Saat pertama kali seseorang membagikan tautan, crawler Facebook akan melakukan scraping terhadap HTML di URL tersebut guna mengumpulkan, menyinggahkan, dan menampilkan info tentang konten di Facebook seperti judul, deskripsi, dan gambar mini.

Akses Crawler

Crawler Facebook harus dapat mengakses konten Anda untuk melakukan scraping dan membagikannya dengan benar. Halaman Anda harus dapat dilihat oleh crawler. Jika Anda mengharuskan masuk atau melarang akses ke konten Anda, maka Anda perlu memasukkan crawler kami ke dalam daftar putih. Anda juga harus mengecualikannya dari mekanisme perlindungan DDoS.

Jika konten tidak tersedia pada saat scraping, Anda dapat memaksakan scraping ulang setelah konten tersedia dengan meneruskan URL melalui Alat Debug Berbagi.

Mengidentifikasi Crawler

Crawler Facebook dapat diidentifikasi dengan salah satu string agen pengguna ini:

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

atau

facebookexternalhit/1.1

Anda dapat menargetkan salah satu agen pengguna untuk menyajikan versi non-publik halaman Anda yang hanya memiliki metadata dan tanpa konten aktual ke crawler. Hal ini membantu mengoptimalkan kinerja dan berguna untuk menjaga konten paywalled tetap aman.

Mulai 28 Mei 2014, Anda juga dapat melihat crawler dengan string agen pengguna berikut ini:

Facebot

Facebot merupakan robot crawling web Facebook yang membantu meningkatkan kinerja iklan. Facebot dirancang untuk bersikap sopan. Facebot mencoba mengakses setiap server web tidak lebih dari sekali setiap beberapa detik, sesuai dengan standar industri, dan akan menghormati pengaturan robots.txt Anda.

Ingat bahwa Facebot memeriksa perubahan pada file robots.txt server Anda hanya beberapa kali sehari, sehingga segala pembaruan akan dicatat pada crawl berikutnya dan tidak segera dicatat.

Pembatasan nilai crawler

Anda dapat memberi label halaman dan objek untuk mengubah berapa lama crawler Facebook akan menunggu untuk memeriksanya bagi konten baru. Gunakan properti objek og:ttl untuk membatasi akses crawler jika crawler kami menjadi terlalu agresif.

Memberi Akses Crawler

Ada dua cara untuk memberi akses crawler:

  1. Masukkan string agen pengguna yang tercantum di atas ke daftar putih, yang tidak memerlukan pemeliharaan
  2. Masukkan alamat IP yang digunakan oleh crawler ke daftar putih, yaitu alamat IP yang lebih aman:

Jalankan perintah untuk mendapat daftar alamat IP saat ini yang digunakan crawler.

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

Tindakan itu akan mengembalikan daftar alamat IP yang sering berubah:

# 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 

Memastikan latensi yang wajar

Anda harus memastikan bahwa sumber daya yang direferensikan di URL untuk dilakukan crawling dapat diambil oleh crawler secara cepat, tidak lebih dari beberapa detik. Jika crawler tidak dapat melakukannya, maka Facebook tidak dapat menampilkan sumber daya.

URL Kanonikal

Crawler kami mengambil konten untuk dibagikan dengan memecah ke URL yang Anda rancang sebagai URL kanonikal.

Sebagai praktik terbaik, Anda harus memberi tag semua variasi halaman dengan URL kanonikal menggunakan tag og:url (diutamakan) atau link rel="canonical". HTML untuk URL kanonikal itu sendiri harus berisi tag og:url guna menetapkan dirinya sendiri sebagai sumber daya kanonikal.

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

Hal ini memastikan bahwa semua tindakan seperti menyukai dan membagikan digabungkan di URL yang sama, bukannya menyebar di beberapa versi halaman.

Hal ini juga berarti bahwa versi berbeda dari konten yang sama akan diperlakukan dengan sama, walaupun mereka di-host di subdomain terpisah atau dapat diakses melalui http:// dan https://.

Jika diperlukan, crawler kami akan mengikuti rantai pengalihan untuk memecahkan URL kanonikal.

Migrasi Konten/Memperbarui URL

Jika Anda melakukan migrasi konten dari satu URL ke URL lainnya, suka dan berbagi tidak akan dimigrasi secara otomatis. Anda dapat mempertahankan jumlah suka dan berbagi dengan dua langkah ini:

1. Kecualikan crawler Facebook dari pengalihan HTTP Anda

Gunakan pengalihan HTTP 301 atau 302 untuk mengirim orang ke URL baru ketika mereka mengunjungi URL lama.

Crawler tetap harus dapat mengakses halaman lama, jadi kecualikan agen pengguna crawler dari pengalihan dan hanya kirim pengalihan HTTP ke klien crawler non-Facebook.

HTML URL lama harus tetap berisi tag Graf Terbuka (termasuk tag og:url yang menunjuk dirinya sendiri) dan mengembalikan tanggapan HTTP 200 ketika crawler memuatnya.

Pastikan juga AAA record Anda diperbarui dengan benar saat Anda mengubah URL Anda karena crawler akan mencarinya dan akan menangapi dengan kode 0 jika tidak ditemukan.

2. Gunakan halaman lama sebagai URL kanonikal untuk halaman baru

Tambahkan tag ini ke HTML URL baru:

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

Walaupun tag og:url diutamakan, metode ini juga akan berfungsi dengan rel=canonical.

Tag ini memberi tahu crawler bahwa URL kanonikal ada di lokasi lama, dan crawler akan menggunakannya untuk membuat jumlah Suka di halaman. Suka baru di setiap lokasi akan digabungkan di kedua tempat.

URL lama masih harus merender dokumen dengan tag Graf Terbuka dan mengembalikan tanggapan 200 HTTP, setidaknya ketika dimuat oleh crawler Facebook. URL lama harus berisi tag og:url-nya sendiri yang menunjuk URL itu sendiri. Jika Anda ingin klien lain untuk dialihkan ketika mereka mengunjungi URL ini, Anda harus mengirimkan tanggapan HTTP 301 Anda ke semua klien crawler non-Facebook.

Anda dapat mempelajari cara mengenali crawler Facebook di Panduan Praktik Terbaik Berbagi kami.