Dizine Ekleme API'sini kullanma

Genel Bakış

Dizine Ekleme API'sini Google'a Google dizinindeki sayfaları güncellemesini veya kaldırmasını söylemek için kullanabilirsiniz. İsteklerde web sayfasının konumu belirtilmelidir. Ayrıca Google'a gönderdiğiniz bildirimlerin durumunu da alabilirsiniz. Şu anda Dizine Ekleme API'si yalnızca VideoObject içinde yerleşik JobPosting veya BroadcastEvent bulunan sayfaları tarayabilir.

Dizine Ekleme API'sine bir istek gönderdiğinizde bağımsız bir web sayfasının konumunu belirtin. Böylece Google bu sayfayı tarayabileceğini veya dizininden kaldırabileceğini bilir.

Aşağıda, Dizine Ekleme API'si ile gerçekleştirebileceğiniz işlemlere örnekler bulabilirsiniz:

URL güncelleme

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"
}
URL kaldırma

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"
}
Bildirim durumu alma

Send a HTTP GET request to https://indexing.googleapis.com/v3/urlNotifications/metadata endpoint

Parametreler

Aşağıdaki tabloda, tüm yöntemler (URL güncelleme ve kaldırma) için gerekli alanlar açıklanmaktadır:

Alanlar
url

Zorunlu

Güncellemek veya kaldırmak istediğiniz öğenin tam konumu.

type

Zorunlu

Gönderdiğiniz bildirimin türü.

Yönergeler

Aşağıdaki yönergeler URL güncelleme ve kaldırma istekleri için geçerlidir.

  • https://indexing.googleapis.com/v3/UrlNotifications:publish URL'sine yapılan tüm çağrılarda Content-Type başlığı olarak "application/json" öğesinin kullanılması ZORUNLUDUR.
  • Güncelleme isteğinin gövde bölümünde yalnızca tek bir URL gönderebileceğiniz gibi, isterseniz Toplu dizine ekleme istekleri gönderme bölümünde açıklandığı üzere en fazla 100 isteği birleştirip toplu halde de gönderebilirsiniz.
  • Bu örneklerdeki isteğin gövde bölümü, erişim jetonu örneklerinde kullanılan content değişkeninin değeridir.

URL güncelleme

Google'a taranacak yeni bir URL'nin olduğunu veya daha önce gönderilen bir URL'nin içeriğinin güncellendiğini bildirmek için aşağıdaki adımları uygulayın:

  1. Aşağıdaki uç noktaya bir POST isteği gönderin:
    Send a HTTP POST request to https://indexing.googleapis.com/v3/urlNotifications:publish
  2. İsteğin gövde bölümünde, aşağıdaki söz dizimini kullanarak sayfanın konumunu belirtin:
    {
      "url": "content_location",
      "type": "URL_UPDATED"
    }
  3. Google, başarılı Dizine Ekleme API'si çağrılarına HTTP 200 ile yanıt verir. HTTP 200 yanıtı, Google'ın bu URL'yi yakında yeniden taramaya çalışabileceği anlamına gelir. Yanıtın gövde bölümünde bir UrlNotificationMetadata nesnesi bulunur. Bu nesnenin alanları, bildirim durumu isteği tarafından döndürülen alanlara karşılık gelir.
  4. Bir HTTP 200 yanıtı almazsanız Dizine Ekleme API'sine özgü hatalar bölümüne bakın.
  5. Sayfanın içeriği değişirse Google'ın sayfayı yeniden taramasını sağlayacak başka bir güncelleme bildirimi gönderin.
  6. Varsayılandan daha fazla kotaya ihtiyacınız olabilir. Mevcut kotanızı görüntülemek ve daha fazla kota istemek için Kota bölümüne bakın.

URL kaldırma

Sunucularınızdan bir sayfayı sildikten veya belirli bir sayfanın <head> bölümüne <meta name="robots" content="noindex" /> etiketini ekledikten sonra bunu Google'a bildirin. Böylece sayfayı dizinimizden kaldırabilir ve söz konusu sayfayı tekrar taramaya ve dizine eklemeye çalışmayız. Kaldırma isteğinde bulunmadan önce URL'nin 404 ya da 410 durum kodu döndürmesi veya sayfanın <meta name="robots" content="noindex" /> meta etiketi içermesi gerekir.

Bir sayfanın dizinimizden kaldırılmasını istemek için aşağıdaki adımları uygulayın:

  1. Aşağıdaki uç noktaya bir POST isteği gönderin:
    Send a HTTP POST request to https://indexing.googleapis.com/v3/urlNotifications:publish
  2. İsteğin gövde bölümünde, aşağıdaki söz dizimini kullanarak kaldırmak istediğiniz URL'yi belirtin:
    {
      "url": "content_location",
      "type": "URL_DELETED"
    }

    Örneğin:

    {
      "url": "https://careers.google.com/jobs/google/technical-writer",
      "type": "URL_DELETED"
    }
  3. Google, başarılı Dizine Ekleme API'si çağrılarına HTTP 200 ile yanıt verir. HTTP 200 yanıtı, Google'ın bu URL'yi dizinden kaldırabileceği anlamına gelir. Yanıtın gövde bölümünde bir UrlNotificationMetadata nesnesi bulunur. Bu nesnenin alanları, bildirim durumu isteği tarafından döndürülen alanlara karşılık gelir.
  4. Bir HTTP 200 yanıtı almazsanız Dizine Ekleme API'sine özgü hatalar bölümüne bakın.
  5. Varsayılandan daha fazla kotaya ihtiyacınız olabilir. Mevcut kotanızı görüntülemek ve daha fazla kota istemek için Kota bölümüne bakın.

Bildirim durumu alma

Dizine Ekleme API'sini kullanarak, Google'ın belirli bir URL için her bildirim türünü en son ne zaman aldığını kontrol edebilirsiniz. GET isteği, Google'ın bir URL'yi ne zaman dizine eklediğini veya kaldırdığını söylemez; yalnızca başarılı bir şekilde istek gönderip göndermediğinizi döndürür.

Bir bildirimin durumunu almak için aşağıdaki adımları uygulayın:

  1. Aşağıdaki uç noktaya bir GET isteği gönderin. Belirttiğiniz URL'ler URL kodlamalı olmalıdır. Örneğin, : (iki nokta) işaretinin yerine %3A ve / (düz eğik çizgi) işaretinin yerine de %2F kullanın.
    Send a HTTP GET request to https://indexing.googleapis.com/v3/urlNotifications/metadata?url=url-encoded_url

    Örneğin:

    GET https://indexing.googleapis.com/v3/urlNotifications/metadata?url=https%3A%2F%2Fcareers.google.com%2Fjobs%2Fgoogle%2Ftechnical-writer
    
  2. Dizine Ekleme API'si, bildirimle ilgili ayrıntıların yer aldığı bir yük içeren HTTP 200 mesajıyla yanıt verir. Aşağıdaki örnekte, bir güncelleme ve silme bildirimi hakkında bilgi içeren bir yanıtın gövde bölümü gösterilmektedir:
    {
      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. Bir HTTP 200 yanıtı almazsanız Dizine Ekleme API'sine özgü hatalar bölümüne bakın.
  4. Varsayılandan daha fazla kotaya ihtiyacınız olabilir. Mevcut kotanızı görüntülemek ve daha fazla kota istemek için Kota bölümüne bakın.

Toplu dizine ekleme isteği gönderme

İstemcinizin kurması gereken HTTP bağlantılarının sayısını azaltmak için, Dizine Ekleme API'sine yapılan en fazla 100 çağrıyı tek bir HTTP isteği bünyesinde birleştirebilirsiniz. Bunu, çok bölümlü bir istek üzerinden toplu halde yaparsınız.

Dizine Ekleme API'sine toplu istek gönderirken aşağıdaki uç noktayı kullanın:

https://indexing.googleapis.com/batch

Toplu isteğin gövde bölümü birden fazla parçadan oluşur. Her bir parça kendi yüklemi, URL'si, başlıkları ve gövdesi ile kendi başına eksiksiz bir HTTP isteğidir. Toplu istekteki her parça en fazla 1 MB boyutunda olabilir.

Toplu istek göndermenizi kolaylaştırmak için, Google'ın API İstemci Kitaplıkları, toplu hale getirme işlevini destekler. İstemci kitaplıklarını kullanarak toplu hale getirme hakkında daha fazla bilgi için aşağıdaki dile özgü sayfalara bakın:

Bu sayfalardaki toplu hale getirme örneklerini kullanıyorsanız, kodunuzu, Erişim jetonu alma bölümünde açıklanan uygulama gereksinimlerini yansıtacak şekilde güncellemeniz gerekebilir.

Aşağıdaki örnek toplu istek mesajının gövde bölümünde bir güncelleme bildirimi ve bir kaldırma bildirimi yer almaktadır:

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==

Daha fazla bilgi için Toplu İstek Gönderme bölümüne bakın.