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łówkaContent-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 { "url": "https://careers.google.com/jobs/google/technical-writer", "type": "URL_UPDATED" } |
Usunięcie adresu URL |
Wyślij to żądanie HTTP { "url": "https://careers.google.com/jobs/google/technical-writer", "type": "URL_DELETED" } |
Uzyskanie informacji o stanie powiadomienia |
Wyślij żądanie HTTP |
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:
- Prześlij żądanie HTTP
POST
do tego punktu końcowego:https://indexing.googleapis.com/v3/urlNotifications:publish
- W treści żądania określ lokalizację strony, używając tej składni:
{ "url": "CONTENT_LOCATION", "type": "URL_UPDATED" }
- 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 obiektUrlNotificationMetadata
, którego pola odpowiadają polom zwróconym przez żądanie stanu powiadomienia. - Jeśli nie otrzymasz odpowiedzi
HTTP 200
, zapoznaj się z informacjami o błędach interfejsu Indexing API. - Jeśli zawartość strony zmieni się, prześlij kolejne powiadomienie o aktualizacji. Powinno to spowodować podjęcie przez Google próby ponownego zindeksowania strony.
- 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:
- Prześlij żądanie
POST
do tego punktu końcowego:https://indexing.googleapis.com/v3/urlNotifications:publish
- 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" }
- 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 obiektUrlNotificationMetadata
, którego pola odpowiadają polom zwróconym przez żądanie stanu powiadomienia. - Jeśli nie otrzymasz odpowiedzi
HTTP 200
, zapoznaj się z informacjami o błędach interfejsu Indexing API. - 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:
- 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
- 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" } }
- Jeśli nie otrzymasz odpowiedzi
HTTP 200
, zapoznaj się z informacjami o błędach interfejsu Indexing API. - 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.