Использование Indexing API

Общие сведения

С помощью Indexing API можно сообщить Google, какие страницы нужно повторно проиндексировать или удалить. В запросе должно быть указано расположение веб-страницы. Вы также можете получать статус уведомлений, отправленных в Google. В настоящее время Indexing API можно использовать только для сканирования страниц вакансий и прямых трансляций.

Отправляя запрос в Indexing API, вы должны указывать расположение отдельной веб-страницы, которую необходимо обновить в индексе Google или удалить из него.

В примерах ниже приведены действия, которые можно выполнять с помощью Indexing API.

Обновление URL
POST https://indexing.googleapis.com/v3/urlNotifications:publish
{
  "url": "https://careers.google.com/jobs/google/technical-writer",
  "type": "URL_UPDATED"
}
Удаление URL
POST https://indexing.googleapis.com/v3/urlNotifications:publish
{
  "url": "https://careers.google.com/jobs/google/technical-writer",
  "type": "URL_DELETED"
}
Получение статуса уведомления
GET https://indexing.googleapis.com/v3/urlNotifications/metadata

Параметры

В таблице ниже описаны поля, обязательные для всех задач (обновления и удаления URL).

Поля
url

Тип

Полное указание на расположение элемента, который нужно обновить или удалить.

type

Тип

Тип отправленного уведомления.

Рекомендации

Создавая запросы на обновление и удаление URL, соблюдайте следующие правила:

  • Во всех обращениях к https://indexing.googleapis.com/v3/UrlNotifications:publish в качестве заголовка Content-Type должно быть указано application/json.
  • В теле запроса обновления должно быть не более одного URL. Но вы можете объединять до 100 запросов и отправлять их вместе.
  • Тело запроса в этих примерах – значение переменной content, которая используется в примерах токена доступа.

Обновление URL

Вы можете сообщить нам об изменении контента, расположенного по определенным URL, а также о появлении новых URL, которые необходимо просканировать. Вот как это сделать:

  1. Отправьте запрос POST этой конечной точке:
    POST https://indexing.googleapis.com/v3/urlNotifications:publish
  2. В теле запроса укажите расположение страницы, используя следующий синтаксис:
    {
      "url": "content_location",
      "type": "URL_UPDATED"
    }
  3. В ответ на успешные запросы к Indexing API сервер Google отправляет код HTTP 200. Ответ HTTP 200 означает, что Google в скором времени может попытаться повторно просканировать указанный URL. В теле ответа содержится объект UrlNotificationMetadata с полями, соответствующими тем, которые были возвращены при отправке запроса статуса уведомления.
  4. Если ответ HTTP 200 не получен, изучите список ошибок, которые могут происходить при использовании Indexing API.
  5. Если контент страницы изменился, отправьте ещё одно уведомление об обновлении, чтобы наш робот повторно просканировал страницу.
  6. Возможно, вам потребуется более высокая квота, чем установлена по умолчанию. Узнайте, как проверить текущий размер квоты и запросить его увеличение.

Удаление URL

Удалив страницу с сервера, сообщите об этом Google, чтобы мы убрали страницу из индекса и не пытались повторно просканировать этот URL. Перед тем как отправлять запрос на удаление, удалите страницу с сервера, чтобы URL выдавал код статуса 404 или 410.

Чтобы запросить удаление из индекса, выполните следующие действия:

  1. Отправьте запрос POST этой конечной точке:
    POST https://indexing.googleapis.com/v3/urlNotifications:publish
  2. В теле запроса укажите URL, который вы хотите удалить. Используйте следующий синтаксис:
    {
      "url": "content_location",
      "type": "URL_DELETED"
    }

    Пример:

    {
      "url": "https://careers.google.com/jobs/google/technical-writer",
      "type": "URL_DELETED"
    }
  3. В ответ на успешные запросы к Indexing API сервер Google отправляет код HTTP 200. Ответ HTTP 200 означает, что Google в скором времени может удалить указанный URL из индекса. В теле ответа содержится объект UrlNotificationMetadata с полями, соответствующими тем, которые были возвращены при отправке запроса статуса уведомления.
  4. Если ответ HTTP 200 не получен, изучите список ошибок, которые могут происходить при использовании Indexing API.
  5. Возможно, вам потребуется более высокая квота, чем установлена по умолчанию. Узнайте, как проверить текущий размер квоты и запросить его увеличение.

Получение статуса уведомления

С помощью Indexing API можно узнать, когда сервер Google в последний раз получал уведомления каждого из типов для определенного URL. Запрос GET сообщает, успешно ли был отправлен запрос, но в нем не указывается время удаления или индексирования.

Чтобы получить статус уведомления, выполните следующие действия:

  1. Отправьте запрос GET конечной точке, приведенной ниже. Указанные вами URL должны быть в кодировке URL. Например, знак ":" (двоеточие) нужно заменить на "%3A", а знак "/" (косая черта) – на "%2F".
    GET https://indexing.googleapis.com/v3/urlNotifications/metadata?url=url-encoded_url

    Пример:

    GET https://indexing.googleapis.com/v3/urlNotifications/metadata?url=https%3A%2F%2Fcareers.google.com%2Fjobs%2Fgoogle%2Ftechnical-writer
    
  2. Indexing API выдает ответ HTTP 200 с дополнительной информацией об уведомлении. В следующем примере показано тело ответа со сведениями, касающимися уведомления об обновлении и удалении:
    {
      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. Если ответ HTTP 200 не получен, изучите список ошибок, которые могут происходить при использовании Indexing API.
  4. Возможно, вам потребуется более высокая квота, чем установлена по умолчанию. Узнайте, как проверить текущий размер квоты и запросить его увеличение.

Отправка пакетных запросов индексирования

Чтобы уменьшить количество HTTP-соединений, которые должен выполнить ваш клиент, вы можете объединить до 100 запросов к Indexing API в один HTTP-запрос. Он состоит из нескольких частей и называется пакетом.

Отправляйте пакет запросов к Indexing API этой конечной точке:

https://indexing.googleapis.com/batch

Тело пакетного запроса состоит из многих частей. Все они являются полными HTTP-запросами с отдельным оператором, URL, заголовком и телом. Размер каждой части пакетного запроса не должен превышать 1 МБ.

Для более простой отправки пакетных запросов используйте клиентские библиотеки API Google. Чтобы узнать больше о создании пакетов с помощью библиотек для отдельных языков, перейдите по следующим ссылкам:

Перед тем как использовать примеры с приведенных выше страниц, добавьте в код обязательные данные, указанные в статье Получение токена доступа.

В теле сообщения пакетного запроса, приведенного ниже, содержатся уведомления об обновлении и удалении:

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

Подробнее об отправке пакетных запросов

Оставить отзыв о...

Текущей странице