Korzystanie z interfejsu Indexing API

Omówienie

Za pomocą interfejsu Indexing API możesz poprosić Google o zaktualizowanie stron w indeksie Google lub usunięcie ich. Żądania muszą określać lokalizację strony internetowej. Możesz również otrzymywać informacje o stanie powiadomień wysłanych do Google. Obecnie za pomocą interfejsu Indexing API można indeksować tylko strony z ogłoszeniami o pracy lub uporządkowanymi danymi transmisji na żywo.

Wysyłając żądanie do interfejsu Indexing API, określ lokalizację samodzielnej strony internetowej, by powiadomić Google, że może ją zindeksować lub usunąć ze swojego indeksu.

Te przykłady ukazują działania, które możesz wykonać za pomocą interfejsu Indexing API:

Aktualizacja adresu URL
POST https://indexing.googleapis.com/v3/urlNotifications:publish
{
  "url": "https://careers.google.com/jobs/google/technical-writer",
  "type": "URL_UPDATED"
}
Usunięcie adresu URL
POST https://indexing.googleapis.com/v3/urlNotifications:publish
{
  "url": "https://careers.google.com/jobs/google/technical-writer",
  "type": "URL_DELETED"
}
Uzyskanie informacji o stanie powiadomienia
GET https://indexing.googleapis.com/v3/urlNotifications/metadata

Parametry

Ta tabela opisuje pola niezbędne w przypadku wszystkich metod (aktualizacja i usunięcie adresu URL):

Pola
url

Wymagane

W pełni kwalifikowana lokalizacja elementu, który chcesz zaktualizować lub usunąć.

type

Wymagane

Typ przesłanego powiadomienia.

Wytyczne

Te wskazówki dotyczą żądań aktualizacji i usuwania adresów URL.

  • Wszystkie wywołania https://indexing.googleapis.com/v3/UrlNotifications:publish MUSZĄ używać nagłówka Content-Type „application/json”
  • Możesz przesłać jeden URL w treści żądania aktualizacji lub połączyć do stu żądań zgodnie z opisem w artykule Wysyłanie zbiorczych żądań indeksowania.
  • Treść żądania w tych przykładach to wartość zmiennej content używanej w przykładowych tokenach dostępu.

Aktualizacja adresu URL

Aby powiadomić Google o nowym adresie URL do zindeksowania lub o zaktualizowaniu treści zamieszczonych pod przesłanym wcześniej adresem URL, wykonaj te czynności:

  1. Prześlij żądanie POST do tego punktu końcowego:
    POST https://indexing.googleapis.com/v3/urlNotifications:publish
  2. W treści żądania określ lokalizację strony, używając tej składni:
    {
      "url": "content_location",
      "type": "URL_UPDATED"
    }
  3. W odpowiedzi na prawidłowe wywołania interfejsu Indexing API Google przesyła element HTTP 200. Odpowiedź HTTP 200 oznacza, że Google może wkrótce spróbować ponownie zindeksować ten URL. Treść odpowiedzi zawiera obiekt UrlNotificationMetadata, którego pola odpowiadają polom zwróconym przez żądanie stanu powiadomienia.
  4. Jeśli nie otrzymasz odpowiedzi HTTP 200, zapoznaj się z artykułem Błędy interfejsu Indexing API.
  5. Jeśli zawartość strony zmieni się, prześlij kolejne powiadomienia o aktualizacji. Powinno to spowodować podjęcie przez Google próby ponownego zindeksowania strony.
  6. Możesz potrzebować większego limitu niż domyślny. Aby wyświetlić bieżący limit i poprosić o dodatkowy, przejdź do sekcji Limit.

Usunięcie adresu URL

Gdy powiadomisz Google o usunięciu strony ze swoich serwerów, usuwamy ją z naszego indeksu i nie próbujemy ponownie indeksować tego adresu URL. Zanim prześlesz żądanie usunięcia, musisz usunąć stronę ze swojego serwera, a URL musi zwracać kod stanu 404 lub 410.

Aby przesłać żądanie usunięcia strony z naszego indeksu, wykonaj te czynności:

  1. Prześlij żądanie POST do tego punktu końcowego:
    POST https://indexing.googleapis.com/v3/urlNotifications:publish
  2. W treści żądania wskaż URL, który chcesz usunąć, używając tej składni:
    {
      "url": "content_location",
      "type": "URL_DELETED"
    }

    Na przykład:

    {
      "url": "https://careers.google.com/jobs/google/technical-writer",
      "type": "URL_DELETED"
    }
  3. W odpowiedzi na prawidłowe wywołania interfejsu Indexing API Google przesyła element HTTP 200. Odpowiedź HTTP 200 oznacza, że Google może wkrótce usunąć ten URL z indeksu. Treść odpowiedzi zawiera obiekt UrlNotificationMetadata, którego pola odpowiadają polom zwróconym przez żądanie stanu powiadomienia.
  4. Jeśli nie otrzymasz odpowiedzi HTTP 200, zapoznaj się z artykułem Błędy interfejsu Indexing API.
  5. Możesz potrzebować większego limitu niż domyślny. Aby wyświetlić bieżący limit i poprosić o dodatkowy, przejdź do sekcji Limit.

Uzyskiwanie informacji o stanie powiadomienia

Za pomocą interfejsu Indexing API możesz sprawdzić, kiedy ostatnio odebraliśmy różnego rodzaju powiadomienia dotyczące danego adresu URL. Żądanie GET nie zawiera informacji o tym, kiedy Google zindeksuje lub usunie URL – zwraca tylko informację o tym, czy udało się przesłać żądanie.

Aby poznać stan powiadomienia, wykonaj te czynności:

  1. Prześlij żądanie GET do tego punktu końcowego. Wskazane adresy URL muszą być zakodowane. Możesz na przykład zastąpić symbol : (dwukropek) elementem %3A, a symbol / (ukośnik prawy) – elementem %2F.
    GET https://indexing.googleapis.com/v3/urlNotifications/metadata?url=url-encoded_url

    Na przykład:

    GET https://indexing.googleapis.com/v3/urlNotifications/metadata?url=https%3A%2F%2Fcareers.google.com%2Fjobs%2Fgoogle%2Ftechnical-writer
    
  2. Interfejs Indexing API przesyła w odpowiedzi komunikat HTTP 200 z ładunkiem zawierającym szczegóły powiadomienia. Te przykłady pokazują treść odpowiedzi, która zawiera informacje na temat powiadomienia o aktualizacji lub usunięciu:
    {
      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. Jeśli nie otrzymasz odpowiedzi HTTP 200, zapoznaj się z artykułem Błędy interfejsu Indexing API.
  4. Możesz potrzebować większego limitu niż domyślny. Aby wyświetlić bieżący limit i poprosić o dodatkowy, przejdź do sekcji Limit.

Wysyłanie zbiorczych żądań indeksowania

Aby zmniejszyć liczbę połączeń HTTP, które musi nawiązać klient, możesz połączyć do stu wywołań interfejsu Indexing API w jednym żądaniu HTTP. Służy do tego żądanie wieloczęściowe, nazywane żądaniem zbiorczym.

Wysyłając do interfejsu Indexing API żądanie zbiorcze, użyj punktu końcowego:

https://indexing.googleapis.com/batch

Treść zbiorczego żądania zawiera wiele części. Każda część to kompletne żądanie HTTP z własnym czasownikiem, adresem URL, nagłówkami i treścią. Żadna część żądania zbiorczego nie może przekraczać 1 MB.

Aby ułatwić wysyłanie żądań zbiorczych, biblioteki klienta interfejsu API Google obsługują funkcje grupowania. Więcej informacji o grupowaniu za pomocą bibliotek klienta znajdziesz na tych stronach poświęconych danym językom:

Jeśli używasz przykładów grupowania z tych stron, konieczne może być zaktualizowanie kodu, tak by uwzględniał wymagania implementacyjne opisane w artykule Uzyskiwanie tokenu dostępu.

Ten przykład treści komunikatu żądania zbiorczego obejmuje powiadomienie o aktualizacji i powiadomienie o usunięciu:

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

Więcej informacji znajdziesz w artykule Wysyłanie żądań zbiorczych.

Wyślij opinię na temat...