Korzystanie z interfejsu Indexing API

Za pomocą interfejsu Indexing API możesz poprosić Google o zaktualizowanie stron z ofertami pracy lub transmisjami na żywo lub usunięcie ich z indeksu Google. Żądania muszą określać lokalizację strony internetowej. Możesz również otrzymywać informacje o stanie powiadomień wysłanych do Google. Interfejsu Indexing API można używać tylko do indeksowania stron z danymi JobPosting lub BroadcastEvent umieszczonymi w obiekcie VideoObject.

Wytyczne

W przypadku korzystania z interfejsu Indexing API obowiązują te wytyczne:

  • Nasze zasady dotyczące spamu mają zastosowanie do treści przesyłanych za pomocą interfejsu Indexing API.
  • Wszystkie wywołania https://indexing.googleapis.com/v3/UrlNotifications:publish MUSZĄ używać "application/json" jako nagłówka Content-Type.
  • Możesz przesłać 1 URL w treści żądania aktualizacji lub połączyć do 100 żądań zgodnie z opisem w sekcji Wysyłanie zbiorczych żądań indeksowania. Nie wolno obchodzić naszych limitów przesyłania, np. przez używanie kilku kont.
  • Treść żądania w tych przykładach to wartość zmiennej content używanej w przykładach tokenów dostępu.

Co możesz robić za pomocą interfejsu API

Wysyłając żądanie do interfejsu Indexing API, określ lokalizację samodzielnej strony internetowej, aby 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:

Przykłady
Aktualizacja adresu URL

Wyślij to żądanie HTTP POST do punktu końcowego https://indexing.googleapis.com/v3/urlNotifications:publish. Na przykład:

{
  "url": "https://careers.google.com/jobs/google/technical-writer",
  "type": "URL_UPDATED"
}
Usunięcie adresu URL

Wyślij to żądanie HTTP POST do punktu końcowego https://indexing.googleapis.com/v3/urlNotifications:publish. Na przykład:

{
  "url": "https://careers.google.com/jobs/google/technical-writer",
  "type": "URL_DELETED"
}
Uzyskanie informacji o stanie powiadomienia

Wyślij żądanie HTTP GET do punktu końcowego 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

Wymagany

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

type

Wymagany

Typ przesłanego powiadomienia.

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 HTTP POST do tego punktu końcowego:
    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. Odpowiadając 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 informacjami o błędach interfejsu Indexing API.
  5. Jeśli zawartość strony zmieni się, prześlij kolejne powiadomienie o aktualizacji. Powinno to spowodować podjęcie przez Google próby ponownego zindeksowania strony.
  6. Interfejs Indexing API udostępnia domyślny limit na potrzeby testowania. Aby korzystać z interfejsu API, poproś o zatwierdzenie i limit.

Usunięcie adresu URL

Gdy usuniesz stronę ze swoich serwerów lub dodasz tag <meta name="robots" content="noindex" /> w sekcji <head> danej strony, powiadom nas o tym, abyśmy mogli usunąć tę stronę z naszego indeksu. Dzięki temu unikniemy prób ponownego jej skanowania i indeksowania. Zanim prześlesz żądanie usunięcia strony, URL musi zwracać kod stanu 404 lub 410 albo strona musi zawierać tag <meta name="robots" content="noindex" /> meta.

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

  1. Prześlij żądanie POST do tego punktu końcowego:
    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"
    }

    Przykład:

    {
      "url": "https://careers.google.com/jobs/google/technical-writer",
      "type": "URL_DELETED"
    }
  3. Odpowiadając na prawidłowe wywołania interfejsu Indexing API, Google przesyła element HTTP 200. Odpowiedź HTTP 200 oznacza, że Google może 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 informacjami o błędach interfejsu Indexing API.
  5. Interfejs Indexing API udostępnia domyślny limit na potrzeby testowania. Aby korzystać z interfejsu API, poproś o zatwierdzenie i limit.

Uzyskanie 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ć : (dwukropek) elementem %3A, a symbol / (ukośnik prawy) – elementem %2F.
    https://indexing.googleapis.com/v3/urlNotifications/metadata?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. Poniższy przykład pokazuje treść odpowiedzi, która zawiera informacje na temat powiadomienia o aktualizacji i 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 informacjami o błędach interfejsu Indexing API.
  4. Interfejs Indexing API udostępnia domyślny limit na potrzeby testowania. Aby korzystać z interfejsu API, poproś o zatwierdzenie i 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 tokena 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.