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:

  1. Kirim permintaan POST ke endpoint berikut:
    Send a HTTP POST request to https://indexing.googleapis.com/v3/urlNotifications:publish
  2. Di bagian isi permintaan, tentukan lokasi halaman menggunakan sintaks berikut:
    {
      "url": "content_location",
      "type": "URL_UPDATED"
    }
  3. Google akan merespons panggilan Indexing API yang berhasil dengan HTTP 200. Respons HTTP 200 berarti Google dapat mencoba meng-crawl ulang URL ini dengan segera. Isi respons memuat objek UrlNotificationMetadata, yang kolomnya sesuai dengan yang ditampilkan oleh permintaan status notifikasi.
  4. Jika Anda tidak menerima respons HTTP 200, lihat Error khusus Indexing API.
  5. Jika konten halaman berubah, kirimkan notifikasi pembaruan baru, yang akan memicu Google untuk meng-crawl ulang halaman.
  6. 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:

  1. Kirim permintaan POST ke endpoint berikut:
    Send a HTTP POST request to https://indexing.googleapis.com/v3/urlNotifications:publish
  2. 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"
    }
  3. Google akan merespons panggilan Indexing API yang berhasil dengan HTTP 200. Respons HTTP 200 berarti Google dapat menghapus URL ini dari indeks. Isi respons memuat objek UrlNotificationMetadata, yang kolomnya sesuai dengan yang ditampilkan oleh permintaan status notifikasi.
  4. Jika Anda tidak menerima respons HTTP 200, lihat Error khusus Indexing API.
  5. 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:

  1. 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
    
  2. 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"
      }
    }
  3. Jika Anda tidak menerima respons HTTP 200, lihat Error khusus Indexing API.
  4. 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.