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 respons Cache-Control untuk membantu crawler menentukan kapan harus meng-crawl ulang URL tertentu. Tetapkan nilai kolom max-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:

  1. Header permintaan user-agent HTTP.
  2. Alamat IP sumber permintaan.
  3. Nama host DNS balik dari IP sumber.

Pelajari cara menggunakan detail ini untuk memverifikasi crawler dan pengambil Google.