Crawler Facebook

Crawler Facebook menarik HTML sebuah situs web yang dibagikan di Facebook dengan menyalin dan menempelkan tautan atau menggunakan plugin sosial Facebook di situs web tersebut. Crawler mengumpulkan, meng-cache, dan menampilkan informasi tentang situs web tersebut seperti judul, deskripsi, dan gambar mininya.

Persyaratan Crawler

  • Server Anda harus menggunakan sistem enkode gzip dan deflate.
  • Properti Graf Terbuka apa pun harus didaftar sebelum 1 MB pertama situs web Anda atau akan terpotong.
  • Pastikan bahwa konten dapat ditarik oleh crawler dalam beberapa detik atau Facebook tidak akan dapat menampilkan konten itu.
  • Situs web Anda harus menghasilkan dan memberikan tanggapan dengan semua properti yang diperlukan sesuai dengan bita yang ditetapkan dalam header Range dalam permintaan crawler atau harus sepenuhnya mengabaikan header Range.
  • Masukkan antara string agen pengguna atau alamat IP (lebih aman) yang digunakan crawler ke daftar putih.

IP Crawler dan Agen Pengguna

String agen pengguna crawler Facebook:

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

Untuk mendapatkan daftar alamat IP yang digunakan crawler saat ini, jalankan perintah berikut.

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

Alamat IP ini sering berubah.

Contoh Tanggapan

...
route:      69.63.176.0/21
route:      69.63.184.0/21
route:      66.220.144.0/20
route:      69.63.176.0/20
route6:     2620:0:1c00::/40
route6:     2a03:2880::/32
route6:     2a03:2880:fffe::/48
route6:     2a03:2880:ffff::/48
route6:     2620:0:1cff::/48
... 

Pemecahan Masalah

Jika konten situs web tidak tersedia saat proses penarikan (scraping), Anda dapat memaksa penarikan setelah konten tersedia dengan memasukkan URL ke Alat Debug Berbagi atau menggunakan API Graf.

Anda dapat menyimulasikan permintaan crawler dengan kode berikut jika perlu memecahkan masalah situs web Anda:

curl -v --compressed -H "Range: bytes=0-524288" -H "Connection: close" -A "facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)" "$URL"

Batas Laju Crawler

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