Menggunakan Indexing API

Anda dapat menggunakan Indexing API untuk meminta Google memperbarui atau menghapus halaman postingan lowongan atau acara livestream dari indeks Google. Permintaan tersebut harus menentukan lokasi halaman web. Anda juga dapat menerima status untuk notifikasi yang telah Anda kirim ke Google. Indexing API hanya dapat digunakan untuk meng-crawl halaman dengan JobPosting atau BroadcastEvent yang disematkan dalam VideoObject.

Panduan

Panduan berikut berlaku saat menggunakan Indexing API.

  • Kebijakan spam kami berlaku untuk konten yang dikirimkan dengan Indexing API.
  • 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. Jangan mengakali batas pengiriman kami, misalnya dengan menggunakan beberapa akun.
  • Isi permintaan dalam contoh ini adalah nilai variabel content yang digunakan dalam contoh token akses.

Yang dapat Anda lakukan dengan API

Saat Anda mengirim permintaan ke Indexing API, tentukan lokasi halaman web mandiri 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:

Contoh
Memperbarui URL

Kirim permintaan POST HTTP berikut ke endpoint https://indexing.googleapis.com/v3/urlNotifications:publish. Contoh:

{
  "url": "https://careers.google.com/jobs/google/technical-writer",
  "type": "URL_UPDATED"
}
Menghapus URL

Kirim permintaan POST HTTP berikut ke endpoint https://indexing.googleapis.com/v3/urlNotifications:publish. Contoh:

{
  "url": "https://careers.google.com/jobs/google/technical-writer",
  "type": "URL_DELETED"
}
Mendapatkan status notifikasi

Kirim permintaan GET HTTP ke endpoint https://indexing.googleapis.com/v3/urlNotifications/metadata.

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.

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 HTTP ke endpoint berikut:
    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 lain, yang akan memicu Google untuk meng-crawl ulang halaman.
  6. Indexing API menyediakan kuota default untuk pengujian. Untuk menggunakan API, minta persetujuan dan 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 harus berisi tag <meta name="robots" content="noindex" /> meta.

Untuk meminta penghapusan dari indeks kami, ikuti langkah-langkah berikut:

  1. Kirim permintaan POST ke endpoint berikut:
    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. Indexing API menyediakan kuota default untuk pengujian. Untuk menggunakan API, minta persetujuan dan 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.
    https://indexing.googleapis.com/v3/urlNotifications/metadata?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. Indexing API menyediakan kuota default untuk pengujian. Untuk menggunakan API, minta persetujuan dan 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 pembuatan batch. Untuk mengetahui informasi lebih lanjut tentang pembuatan batch dengan library klien, lihat halaman untuk setiap bahasa pemrograman berikut:

Jika Anda menggunakan contoh pembuatan batch di 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.