Menggunakan Indexing API
Ringkasan
Anda dapat menggunakan Indexing API untuk meminta Google memperbarui atau menghapus halaman dari indeks Google.
Permintaan tersebut harus menentukan lokasi halaman web. Anda juga dapat menerima status untuk notifikasi
yang telah Anda kirim ke Google. Saat ini, Indexing API hanya dapat digunakan untuk meng-crawl halaman dengan
JobPosting
atau
BroadcastEvent
yang disematkan dalam
VideoObject
.
Saat Anda mengirim permintaan ke Indexing API, tentukan lokasi halaman web tersendiri untuk memberi tahu Google bahwa halaman tersebut dapat di-crawl atau dihapus dari indeks.
Contoh berikut menunjukkan tindakan yang dapat Anda lakukan dengan Indexing API:
Memperbarui URL
Send the following HTTP POST request to https://indexing.googleapis.com/v3/urlNotifications:publish endpoint { "url": "https://careers.google.com/jobs/google/technical-writer", "type": "URL_UPDATED" }Menghapus URL Send the following HTTP POST request to https://indexing.googleapis.com/v3/urlNotifications:publish endpoint { "url": "https://careers.google.com/jobs/google/technical-writer", "type": "URL_DELETED" }Mendapatkan status notifikasi Send a HTTP GET request to https://indexing.googleapis.com/v3/urlNotifications/metadata endpoint |
Parameter
Tabel berikut menjelaskan kolom yang diperlukan untuk semua metode (memperbarui dan menghapus URL):
Kolom | |
---|---|
url |
Wajib Lokasi item yang sepenuhnya memenuhi syarat yang ingin Anda perbarui atau hapus. |
type |
Wajib Jenis notifikasi yang Anda kirimkan. |
Panduan
Panduan berikut berlaku untuk memperbarui dan menghapus permintaan URL.
- Semua panggilan ke https://indexing.googleapis.com/v3/UrlNotifications:publish HARUS menggunakan "application/json" sebagai header
Content-Type
. - Anda hanya dapat mengirim satu URL dalam isi permintaan pembaruan URL, atau menggabungkan hingga 100 permintaan dalam satu batch, seperti yang dijelaskan dalam Mengirim permintaan pengindeksan batch.
- Isi permintaan dalam contoh ini adalah nilai variabel
content
yang digunakan dalam contoh token akses.
Memperbarui URL
Untuk memberi tahu Google tentang URL baru yang harus di-crawl atau bahwa konten di URL yang dikirim sebelumnya telah diperbarui, ikuti langkah-langkah berikut:
- Kirim permintaan
POST
ke endpoint berikut:Send a HTTP POST request to https://indexing.googleapis.com/v3/urlNotifications:publish
- Di bagian isi permintaan, tentukan lokasi halaman menggunakan sintaks berikut:
{ "url": "content_location", "type": "URL_UPDATED" }
- Google akan merespons panggilan Indexing API yang berhasil dengan
HTTP 200
. ResponsHTTP 200
berarti Google dapat mencoba meng-crawl ulang URL ini dengan segera. Isi respons memuat objekUrlNotificationMetadata
, yang kolomnya sesuai dengan yang ditampilkan oleh permintaan status notifikasi. - Jika Anda tidak menerima respons
HTTP 200
, lihat Error khusus Indexing API. - Jika konten halaman berubah, kirimkan notifikasi pembaruan baru, yang akan memicu Google untuk meng-crawl ulang halaman.
- Anda mungkin memerlukan kuota yang lebih besar daripada kuota default. Untuk melihat kuota saat ini dan meminta lebih banyak kuota, lihat Kuota.
Menghapus URL
Setelah Anda menghapus halaman dari server atau menambahkan tag <meta name="robots" content="noindex" />
di bagian
<head>
halaman tertentu, beri tahu Google agar kami dapat menghapus halaman tersebut dari
indeks dan tidak mencoba meng-crawl serta mengindeks halaman itu lagi. Sebelum Anda meminta penghapusan,
URL harus menampilkan kode status 404 atau 410 atau halaman berisi tag meta
<meta name="robots" content="noindex" />
.
Untuk meminta penghapusan dari indeks kami, ikuti langkah-langkah berikut:
- Kirim permintaan
POST
ke endpoint berikut:Send a HTTP POST request to https://indexing.googleapis.com/v3/urlNotifications:publish
- Di bagian isi permintaan, tentukan URL yang ingin Anda hapus menggunakan sintaks berikut:
{ "url": "content_location", "type": "URL_DELETED" }
Contoh:
{ "url": "https://careers.google.com/jobs/google/technical-writer", "type": "URL_DELETED" }
- Google akan merespons panggilan Indexing API yang berhasil dengan
HTTP 200
. ResponsHTTP 200
berarti Google dapat menghapus URL ini dari indeks. Isi respons memuat objekUrlNotificationMetadata
, yang kolomnya sesuai dengan yang ditampilkan oleh permintaan status notifikasi. - Jika Anda tidak menerima respons
HTTP 200
, lihat Error khusus Indexing API. - Anda mungkin memerlukan kuota yang lebih besar daripada kuota default. Untuk melihat kuota saat ini dan meminta lebih banyak kuota, lihat Kuota.
Mendapatkan status notifikasi
Anda dapat menggunakan Indexing API untuk memeriksa kapan terakhir kali Google menerima setiap jenis notifikasi untuk URL tertentu. Permintaan GET
tidak memberitahukan kapan Google mengindeks atau menghapus URL; permintaan ini hanya menampilkan apakah Anda berhasil mengirim permintaan atau tidak.
Untuk mendapatkan status notifikasi, ikuti langkah-langkah berikut:
- Kirim permintaan
GET
ke endpoint berikut. URL yang Anda tentukan harus berenkode URL. Misalnya, ganti:
(titik dua) dengan%3A
dan/
(garis miring ke depan) dengan%2F
.Send a HTTP GET request to https://indexing.googleapis.com/v3/urlNotifications/metadata?url=url-encoded_url
Contoh:
GET https://indexing.googleapis.com/v3/urlNotifications/metadata?url=https%3A%2F%2Fcareers.google.com%2Fjobs%2Fgoogle%2Ftechnical-writer
- Indexing API merespons dengan
pesan
HTTP 200
, dengan payload yang berisi detail notifikasi. Contoh berikut menunjukkan isi respons yang memuat informasi tentang notifikasi pembaruan dan penghapusan:{ url: "http://foo.com", latest_update: { type: "URL_UPDATED", notify_time: "2017-07-31T19:30:54.524457662Z" }, latest_remove: { type: "URL_DELETED", notify_time: "2017-08-31T19:30:54.524457662Z" } }
- Jika Anda tidak menerima respons
HTTP 200
, lihat Error khusus Indexing API. - Anda mungkin memerlukan kuota yang lebih besar daripada kuota default. Untuk melihat kuota saat ini dan meminta lebih banyak kuota, lihat Kuota.
Mengirim permintaan pengindeksan batch
Untuk mengurangi jumlah koneksi HTTP yang harus dibuat klien, Anda dapat menggabungkan hingga 100 panggilan ke Indexing API menjadi satu permintaan HTTP. Caranya adalah dengan membuat permintaan multibagian yang disebut batch.
Saat mengirim permintaan batch ke Indexing API, gunakan endpoint berikut:
https://indexing.googleapis.com/batch
Isi permintaan batch memuat beberapa bagian. Setiap bagian merupakan permintaan HTTP lengkap, dengan kata kerja, URL, header, dan isinya sendiri. Ukuran setiap bagian dalam permintaan batch tidak boleh melebihi 1 MB.
Untuk mempermudah Anda dalam mengirim permintaan batch, Library Klien API Google mendukung fungsi pembuatan batch. Untuk informasi lebih lanjut tentang pembuatan batch dengan library klien, lihat halaman untuk setiap bahasa pemrograman berikut:
Jika Anda menggunakan contoh pembuatan batch pada halaman ini, Anda mungkin perlu memperbarui kode Anda agar sesuai dengan persyaratan implementasi yang dijelaskan dalam Mendapatkan token akses.
Contoh isi pesan permintaan batch berikut mencakup notifikasi pembaruan dan penghapusan:
POST /batch HTTP/1.1 Host: indexing.googleapis.com Content-Length: content_length Content-Type: multipart/mixed; boundary="===============7330845974216740156==" Authorization: Bearer oauth2_token --===============7330845974216740156== Content-Type: application/http Content-Transfer-Encoding: binary Content-ID: <b29c5de2-0db4-490b-b421-6a51b598bd22+2> POST /v3/urlNotifications:publish [1] Content-Type: application/json accept: application/json content-length: 58 { "url": "http://example.com/jobs/42", "type": "URL_UPDATED" } --===============7330845974216740156== Content-Type: application/http Content-Transfer-Encoding: binary Content-ID: <b29c5de2-0db4-490b-b421-6a51b598bd22+1> POST /v3/urlNotifications:publish [2] Content-Type: application/json accept: application/json content-length: 75 { "url": "http://example.com/widgets/1", "type": "URL_UPDATED" } --===============7330845974216740156== Content-Type: application/http Content-Transfer-Encoding: binary Content-ID: <b29c5de2-0db4-490b-b421-6a51b598bd22+3> POST /v3/urlNotifications:publish [3] Content-Type: application/json accept: application/json content-length: 58 { "url": "http://example.com/jobs/43", "type": "URL_DELETED" } --===============7330845974216740156==
Untuk mengetahui informasi selengkapnya, lihat Mengirim Permintaan Batch.