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üncellemeSend 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:
- Aşağıdaki uç noktaya bir
POST
isteği gönderin:Send a HTTP POST request to https://indexing.googleapis.com/v3/urlNotifications:publish
- İ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" }
- 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 birUrlNotificationMetadata
nesnesi bulunur. Bu nesnenin alanları, bildirim durumu isteği tarafından döndürülen alanlara karşılık gelir. - Bir
HTTP 200
yanıtı almazsanız Dizine Ekleme API'sine özgü hatalar bölümüne bakın. - Sayfanın içeriği değişirse Google'ın sayfayı yeniden taramasını sağlayacak başka bir güncelleme bildirimi gönderin.
- 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:
- Aşağıdaki uç noktaya bir
POST
isteği gönderin:Send a HTTP POST request to https://indexing.googleapis.com/v3/urlNotifications:publish
- İ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" }
- 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 birUrlNotificationMetadata
nesnesi bulunur. Bu nesnenin alanları, bildirim durumu isteği tarafından döndürülen alanlara karşılık gelir. - Bir
HTTP 200
yanıtı almazsanız Dizine Ekleme API'sine özgü hatalar bölümüne bakın. - 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:
- 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
- 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" } }
- Bir
HTTP 200
yanıtı almazsanız Dizine Ekleme API'sine özgü hatalar bölümüne bakın. - 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.