Ringkasan tentang pengambil dan crawler Google (agen pengguna)
Google menggunakan crawler dan pengambil untuk melakukan tindakan terhadap produknya, baik secara otomatis ataupun dipicu oleh permintaan pengguna. Crawler (terkadang disebut juga "robot" atau "spider") adalah istilah umum untuk program apa pun yang digunakan untuk menemukan dan memindai situs secara otomatis. Pengambil berfungsi sebagai program seperti wget yang biasanya membuat satu permintaan atas nama pengguna. Crawler Google dibagi menjadi tiga kategori:
Crawler umum | Crawler umum yang digunakan untuk produk Google (seperti Googlebot). Crawler ini selalu mematuhi aturan robots.txt untuk crawl otomatis. |
Crawler kasus khusus |
Crawler kasus khusus mirip dengan crawler umum, tetapi digunakan oleh produk tertentu
yang memiliki perjanjian antara situs yang di-crawl dan produk Google tentang proses
crawl. Misalnya, AdsBot mengabaikan
agen pengguna robots.txt global (* ) dengan izin penayang iklan.
|
Pengambil yang dipicu pengguna | Pengambil yang dipicu pengguna adalah bagian dari alat dan fungsi produk tempat pengguna akhir memicu pengambilan. Misalnya, Pemverifikasi Situs Google bertindak atas permintaan pengguna. |
Properti teknis crawler dan pengambil Google
Crawler dan pengambil Google didesain untuk dijalankan secara bersamaan oleh ribuan perangkat guna meningkatkan performa dan skala seiring bertumbuhnya web. Untuk mengoptimalkan penggunaan bandwidth, klien ini didistribusikan ke banyak pusat data di seluruh dunia sehingga lokasinya berada di dekat situs yang mungkin diakses. Oleh karena itu, log Anda mungkin menampilkan kunjungan dari beberapa alamat IP. Sebagian besar traffic egress dari Google berasal dari alamat IP di Amerika Serikat. Jika Google mendeteksi bahwa situs memblokir permintaan dari Amerika Serikat, Google mungkin mencoba melakukan crawling dari alamat IP yang berada di negara lain.
Protokol transfer yang didukung
Crawler dan pengambil Google mendukung HTTP/1.1 dan
HTTP/2. Crawler akan
menggunakan versi protokol yang memberikan performa crawling terbaik dan dapat beralih protokol
di antara sesi crawling, bergantung pada statistik crawling sebelumnya. Versi protokol
default yang digunakan oleh crawler Google adalah HTTP/1.1; crawling melalui HTTP/2 dapat menghemat resource komputasi
(misalnya, CPU, RAM) untuk situs Anda dan Googlebot, tetapi selain itu
tidak ada manfaat spesifik per produk Google bagi situs (misalnya, tidak ada peningkatan peringkat di Google Penelusuran).
Agar situs tidak di-crawl melalui HTTP/2, minta server yang menghosting situs Anda merespons
dengan kode status HTTP 421
saat Google mencoba meng-crawl situs Anda melalui
HTTP/2. Jika tidak memungkinkan, Anda
dapat mengirim pesan ke tim Crawling
(tetapi solusi ini sifatnya sementara).
Infrastruktur Crawler Google juga mendukung crawling melalui FTP (seperti yang ditentukan oleh RFC959 beserta pembaruannya) dan FTPS (seperti yang ditentukan oleh RFC4217 beserta pembaruannya), tetapi crawling melalui protokol ini jarang terjadi.
Encoding konten yang didukung
Crawler dan pengambil Google mendukung encoding konten (kompresi) berikut:
gzip,
deflate, dan
Brotli (br). Encoding
konten yang didukung oleh setiap agen pengguna Google diiklankan di header Accept-Encoding
dari setiap permintaan yang dibuatnya. Misalnya,
Accept-Encoding: gzip, deflate, br
.
Frekuensi crawling dan beban host
Tujuan kami adalah meng-crawl sebanyak mungkin halaman dari situs Anda di setiap kunjungan tanpa membuat server Anda mengalami kelebihan beban. Jika situs Anda kesulitan mengimbangi permintaan crawling Google, Anda dapat mengurangi frekuensi crawling. Perlu diketahui bahwa pengiriman kode respons HTTP yang tidak sesuai ke Crawler Google mungkin akan memengaruhi cara situs Anda muncul di produk Google.
Penyimpanan Cache HTTP
Infrastruktur crawling Google mendukung penyimpanan cache HTTP heuristik seperti yang ditentukan oleh
standar penyimpanan cache HTTP,
khususnya melalui header respons ETag
dan header permintaan
If-None-Match
, serta header respons Last-Modified
dan header permintaan
If-Modified-Since
.
Jika kolom header respons ETag
dan Last-Modified
ada dalam
respons HTTP, Crawler Google akan menggunakan nilai ETag
sebagaimana
diwajibkan oleh standar HTTP.
Khusus untuk Crawler Google, sebaiknya gunakan
ETag
,
bukan header Last-Modified
, untuk menunjukkan preferensi penyimpanan cache karena
ETag
tidak memiliki masalah pemformatan tanggal.
Perintah penyimpanan cache HTTP lainnya tidak didukung.
Setiap crawler dan pengambil Google mungkin menggunakan atau tidak menggunakan penyimpanan cache, bergantung pada kebutuhan
produk yang terkait dengannya. Misalnya, Googlebot
mendukung penyimpanan cache saat
meng-crawl ulang URL untuk Google Penelusuran, dan Storebot-Google
hanya mendukung penyimpanan cache dalam
kondisi tertentu.
Untuk menerapkan penyimpanan cache HTTP pada situs Anda, hubungi penyedia sistem pengelolaan konten atau hosting Anda.
ETag
dan If-None-Match
Infrastruktur crawling Google mendukung ETag
dan If-None-Match
seperti
yang ditentukan oleh
standar Penyimpanan Cache HTTP.
Pelajari lebih lanjut header respons
ETag
dan pasangan header permintaannya,
If-None-Match
.
Last-Modified dan If-Modified-Since
Infrastruktur crawling Google mendukung Last-Modified
dan
If-Modified-Since
seperti yang ditentukan oleh
standar Penyimpanan Cache HTTP
dengan catatan sebagai berikut:
-
Tanggal di header
Last-Modified
harus diformat sesuai dengan standar HTTP. Untuk menghindari masalah penguraian, sebaiknya gunakan format tanggal berikut: "Hari, DD Mon YYYY HH:MM:SS Zona Waktu". Misalnya, "Fri, 4 Sep 1998 19:15:56 GMT". -
Meskipun tidak wajib, sebaiknya tetapkan juga
kolom
max-age
dari header responsCache-Control
untuk membantu crawler menentukan kapan harus meng-crawl ulang URL tertentu. Tetapkan nilai kolommax-age
dengan perkiraan waktu dalam detik ketika kontennya tetap sama. Misalnya,Cache-Control: max-age=94043
.
Pelajari lebih lanjut header respons
Last-Modified
dan pasangan header permintaannya, If-Modified-Since
.
Memverifikasi pengambil dan Crawler Google
Crawler Google mengidentifikasi dirinya dengan tiga cara:
-
Header permintaan
user-agent
HTTP. - Alamat IP sumber permintaan.
- Nama host DNS balik dari IP sumber.
Pelajari cara menggunakan detail ini untuk memverifikasi crawler dan pengambil Google.