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 interfejsu Indexing API można używać tylko do indeksowania stron z danymi JobPosting
lub BroadcastEvent
umieszczonymi w obiekcie VideoObject
.
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
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" } 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" } Send a HTTP GET request to https://indexing.googleapis.com/v3/urlNotifications/metadata endpoint |
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ć 1 URL w treści żądania aktualizacji lub połączyć do 100 żądań zgodnie z opisem w sekcji Wysyłanie zbiorczych żądań indeksowania.
- Treść żądania w tych przykładach to wartość zmiennej
content
używanej w przykładach tokenów 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:
- Prześlij żądanie
POST
do tego punktu końcowego:Send a HTTP POST request to 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 powiadomienia o aktualizacji. Powinno to spowodować podjęcie przez Google próby ponownego zindeksowania strony.
- 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 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
<meta name="robots" content="noindex" />
.
Aby przesłać żądanie usunięcia strony z naszego indeksu, wykonaj te czynności:
- Prześlij żądanie
POST
do tego punktu końcowego:Send a HTTP POST request to 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 wkrótce 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. - Możesz potrzebować większego limitu niż domyślny. Aby wyświetlić bieżący limit i poprosić o dodatkowy, przejdź do sekcji 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
.Send a HTTP GET request to https://indexing.googleapis.com/v3/urlNotifications/metadata?url=url-encoded_url
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. 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" } }
- Jeśli nie otrzymasz odpowiedzi
HTTP 200
, zapoznaj się z informacjami o błędach interfejsu Indexing API. - 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.