Cómo usar la API de Indexing
Descripción general
Puedes usar la API de Indexing 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. Actualmente, solo se puede usar la API de Indexing para rastrear páginas con
JobPosting
o
BroadcastEvent
incorporadas en un objeto VideoObject
.
Cuando envíes una solicitud a la API de Indexing, define la ubicación de una página web independiente para notificar a Google que puede rastrear o quitar esa página de su índice.
En los siguientes ejemplos, se muestran las acciones que puedes realizar con la API de Indexing:
Actualizar una 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 |
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 completamente calificada 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 de
Content-Type
. - Puedes enviar una sola 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.
Cómo actualizar 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 se indican a continuación:
- Envía una solicitud
POST
al siguiente extremo:Send a HTTP POST request to 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 Indexing correctas con
HTTP 200
. Una respuestaHTTP 200
significa que Google puede intentar volver a rastrear esta URL pronto. El cuerpo de la respuesta contiene un objetoUrlNotificationMetadata
, cuyos campos corresponden a los que muestra una solicitud de estado de una notificación. - Si no recibes una respuesta
HTTP 200
, consulta los Errores específicos de la API de Indexing. - Si cambia el contenido de la página, envía otra notificación de actualización, la cual debería hacer que Google vuelva a rastrear la página.
- Es posible que necesites más cuota que la predeterminada. Para ver tu cuota actual y solicitar más, consulta Cuota.
Cómo quitar una URL
Después de borrar una página de tus servidores o de agregar la etiqueta <meta name="robots" content="noindex" />
en la sección <head>
de una página determinada, notifica a Google para que podamos quitarla de
nuestro índice y no intentemos rastrearla ni indexarla nuevamente. Antes de solicitar la eliminación,
la URL debe mostrar un código de estado 404 o 410, o bien la página debe contener la etiqueta <meta name="robots" content="noindex" />
meta
.
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:Send a HTTP POST request to https://indexing.googleapis.com/v3/urlNotifications:publish
- Especifica la URL que quieras 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 Indexing correctas con
HTTP 200
. Una respuestaHTTP 200
significa que Google puede 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 una notificación. - Si no recibes una respuesta
HTTP 200
, consulta los Errores específicos de la API de Indexing. - Es posible que necesites más cuota que la predeterminada. Para ver tu cuota actual y solicitar más, consulta Cuota.
Cómo obtener el estado de una notificación
Puedes usar la API de Indexing 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) por%3A
y/
(barras diagonales) por%2F
.Send a HTTP GET request to 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 Indexing 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 Indexing. - Es posible que necesites más cuota que 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 debe hacer tu cliente, puedes combinar hasta 100 llamadas a la API de Indexing en una sola solicitud HTTP. Eso se hace en una solicitud de varias partes llamada "lote".
Cuando envíes una solicitud de lote a la API de Indexing, 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 verbo, URL, encabezados y cuerpo propios. Cada parte 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 organización en lotes que aparecen en esas páginas, es posible que debas modificar 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 lote 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.