Descripción general
Puedes usar la API de indexación para solicitar que se actualicen o quiten páginas del índice de Google. Las solicitudes deben especificar la ubicación de una página web. También puedes obtener el estado de las notificaciones que enviaste a Google. Por el momento, solo se puede usar esta API para rastrear páginas de publicación de empleos con datos estructurados para ese fin.
Cuando envías una solicitud a la API de indexación, tienes que definir la ubicación de una página web independiente para notificar a Google que puede rastrear o quitar esta página de su índice.
En los siguientes ejemplos, se muestran las acciones que puedes realizar con la API de indexación:
Actualiza una URL
POST https://indexing.googleapis.com/v3/urlNotifications:publish { "url": "https://careers.google.com/jobs/google/technical-writer", "type": "URL_UPDATED" }Quita una URL POST https://indexing.googleapis.com/v3/urlNotifications:publish { "url": "https://careers.google.com/jobs/google/technical-writer", "type": "URL_DELETED" }Obtén el estado de la notificación GET https://indexing.googleapis.com/v3/urlNotifications/metadata |
Parámetros
En la siguiente tabla, se describen los campos necesarios para todos los métodos (actualizar y quitar una URL):
Campos | |
---|---|
url |
Obligatorio Es la ubicación completa del elemento que quieres actualizar o quitar. |
type |
Obligatorio Es el tipo de notificación que enviaste. |
Lineamientos
Los siguientes lineamientos se aplican para actualizar y quitar una solicitud de URL.
- Todas las llamadas a https://indexing.googleapis.com/v3/UrlNotifications:publish DEBEN usar "application/json" como encabezado
Content-Type
. - Solo puedes enviar una URL en el cuerpo de una solicitud de actualización o combinar hasta 100 solicitudes en un lote, según se describe en Cómo enviar solicitudes de indexación en lotes.
- El cuerpo de la solicitud en estos ejemplos es el valor de la variable
content
que se usa en los ejemplos de token de acceso.
Actualiza una URL
A fin de notificar a Google sobre una nueva URL para rastrear o comunicarle que se actualizó el contenido de una URL que se había enviado anteriormente, sigue los pasos que aparecen a continuación:
- Envía una solicitud
POST
al siguiente extremo:POST https://indexing.googleapis.com/v3/urlNotifications:publish
- En el cuerpo de la solicitud, especifica la ubicación de la página con la siguiente sintaxis:
{ "url": "content_location", "type": "URL_UPDATED" }
- Google responde a llamadas a la API de indexación correctas con
HTTP 200
. Una respuestaHTTP 200
significa que Google podría intentar rastrear de nuevo esta URL pronto. El cuerpo de la respuesta contiene un objetoUrlNotificationMetadata
, cuyos campos corresponden a los que muestra una solicitud de estado de notificación. - Si no recibes una respuesta
HTTP 200
, consulta los errores específicos de la API de Indexación. - Si cambia el contenido de la página, envía otra notificación de actualización, la cual debería pedirle a Google que vuelva a rastrear la página.
- Es posible que necesites más cuota de la predeterminada. Para ver tu cuota actual y solicitar más, consulta Cuota.
Quita una URL
Después de borrar una página de los servidores, notifica a Google para que podamos quitarla de nuestro índice y no intentemos rastrear la URL nuevamente. Antes de la eliminación de la solicitud, debes quitar la página del servidor y la URL debe mostrar un código de estado 404 o 410.
Para solicitar la eliminación de nuestro índice, sigue los pasos que se indican a continuación:
- Envía una solicitud
POST
al siguiente extremo:POST https://indexing.googleapis.com/v3/urlNotifications:publish
- Especifica la URL que quieres quitar en el cuerpo de la solicitud con la siguiente sintaxis:
{ "url": "content_location", "type": "URL_DELETED" }
Por ejemplo:
{ "url": "https://careers.google.com/jobs/google/technical-writer", "type": "URL_DELETED" }
- Google responde a llamadas a la API de indexación correctas con
HTTP 200
. Una respuestaHTTP 200
significa que Google podría quitar esta URL del índice. El cuerpo de la respuesta contiene un objetoUrlNotificationMetadata
, cuyos campos corresponden a los que muestra una solicitud de estado de notificación. - Si no recibes una respuesta
HTTP 200
, consulta los errores específicos de la API de Indexación. - Es posible que necesites más cuota de la predeterminada. Para ver tu cuota actual y solicitar más, consulta Cuota.
Obtén el estado de la notificación
Puedes usar la API de indexación para comprobar la última vez que Google recibió cada tipo de notificación para una URL determinada. La solicitud GET
no te indica cuándo Google indexa o quita una URL; solo muestra si enviaste correctamente una solicitud.
Para obtener el estado de una notificación, sigue los pasos que se indican a continuación:
- Envía una solicitud
GET
al siguiente extremo. Las URL que especifiques deben estar codificadas como URL. Por ejemplo, reemplaza:
(dos puntos) con%3A
y/
(barras) con%2F
.GET https://indexing.googleapis.com/v3/urlNotifications/metadata?url=url-encoded_url
Por ejemplo:
GET https://indexing.googleapis.com/v3/urlNotifications/metadata?url=https%3A%2F%2Fcareers.google.com%2Fjobs%2Fgoogle%2Ftechnical-writer
- La API de indexación envía un mensaje
HTTP 200
como respuesta, con una carga útil que incluye detalles de la notificación. En el siguiente ejemplo, se muestra el cuerpo de una respuesta que contiene información acerca de una notificación de actualización y eliminación:{ 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” } }
- Si no recibes una respuesta
HTTP 200
, consulta los errores específicos de la API de Indexación. - Es posible que necesites más cuota de la predeterminada. Para ver tu cuota actual y solicitar más, consulta Cuota.
Cómo enviar solicitudes de indexación en lotes
Para reducir la cantidad de conexiones HTTP que tiene que hacer tu cliente, puedes combinar hasta 100 llamadas a la API de indexación en una sola solicitud HTTP. Se hace en una solicitud de varias partes llamada lote.
Cuando envíes una solicitud de lote a la API de indexación, usa el siguiente extremo:
https://indexing.googleapis.com/batch
El cuerpo de una solicitud de lote contiene varias partes. Cada una es una solicitud HTTP completa con su propio verbo, URL, encabezados y cuerpo. Cada parte dentro de una solicitud de lote no puede tener un tamaño superior a 1 MB.
Para que puedas enviar solicitudes de lote más fácilmente, las bibliotecas cliente de la API de Google admiten la funcionalidad de lotes. Para obtener más información acerca de la organización en lotes con las bibliotecas cliente, consulta las siguientes páginas específicas para cada lenguaje:
Si usas los ejemplos de lotes en estas páginas, es posible que debas actualizar el código para reflejar los requisitos de implementación que se describen en Cómo obtener un token de acceso.
El siguiente cuerpo de mensaje de solicitud de lotes incluye una notificación de actualización y una notificación de eliminación:
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==
Para obtener más información, consulta Cómo enviar solicitudes de lote.