Si tu tienda de datos usa la búsqueda básica de sitios web, la actualización del índice de tu tienda reflejará la que esté disponible en la Búsqueda de Google.
Si la indexación avanzada de sitios web está habilitada en su almacén de datos, las páginas web de su almacén de datos se actualizan de las siguientes formas:
- Actualización automática
- Actualización manual
- Actualización basada en sitemaps
En esta página se describe la actualización automática y manual. Para entender e implementar la actualización basada en sitemaps, consulte Indexar y actualizar según el sitemap.
Antes de empezar
Si usa el archivo robots.txt
en su sitio web, actualícelo. Para obtener más información, consulta cómo preparar el archivo robots.txt
de tu sitio web.
Actualización automática
Vertex AI Search realiza una actualización automática de la siguiente manera:
- Después de crear un almacén de datos, se genera un índice inicial para las páginas incluidas.
- Después de la indexación inicial, indexa las páginas que se descubren y vuelve a rastrear las páginas que ya existen de la mejor forma posible.
- Actualiza periódicamente los almacenes de datos que alcanzan una tasa de consultas de 50 consultas/30 días.
Actualización manual
Si quieres actualizar páginas web específicas de un almacén de datos con la opción Indexación avanzada de sitios web activada, puedes llamar al método recrawlUris
. Utiliza el campo uris
para especificar cada página web que quieras rastrear. El método recrawlUris
es una operación de larga duración que se ejecuta hasta que se rastrean las páginas web especificadas o hasta que se agota el tiempo de espera (24 horas), lo que ocurra primero. Si el método recrawlUris
agota el tiempo de espera, puedes volver a llamarlo y especificar las páginas web que quedan por rastrear. Puedes sondear el método operations.get
para monitorizar el estado de tu operación de nuevo rastreo.
Límites de los nuevos rastreos
Hay límites en la frecuencia con la que puedes rastrear páginas web y en el número de páginas web que puedes rastrear a la vez:
- Llamadas al día. El número máximo de llamadas al método
recrawlUris
permitido es de 20 al día por proyecto. - Páginas web por llamada. El número máximo de valores de
uris
que puedes especificar con una llamada al métodorecrawlUris
es 10.000.
Volver a rastrear las páginas web de tu almacén de datos
Puede rastrear manualmente páginas web específicas de un almacén de datos que tenga activada la opción Indexación avanzada de sitios web.
REST
Para usar la línea de comandos y rastrear páginas web específicas de tu almacén de datos, sigue estos pasos:
Busca el ID de tu almacén de datos. Si ya tiene el ID del almacén de datos, vaya al siguiente paso.
En la Google Cloud consola, ve a la página Aplicaciones de IA y, en el menú de navegación, haz clic en Almacenes de datos.
Haga clic en el nombre de su almacén de datos.
En la página Datos de su almacén de datos, obtenga el ID del almacén de datos.
Llama al método
recrawlUris
y usa el campouris
para especificar cada página web que quieras rastrear. Cadauri
representa una sola página, aunque contenga asteriscos (*
). No se admiten patrones comodín.curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/siteSearchEngine:recrawlUris" \ -d '{ "uris": [URIS] }'
Haz los cambios siguientes:
PROJECT_ID
: el ID de tu proyecto de Google Cloud .DATA_STORE_ID
: el ID del almacén de datos de Vertex AI Search.URIS
: la lista de páginas web que quieres rastrear. Por ejemplo,"https://example.com/page-1", "https://example.com/page-2", "https://example.com/page-3"
.
El resultado debería ser similar al siguiente:
{ "name": "projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/operations/recrawl-uris-0123456789012345678", "metadata": { "@type": "type.googleapis.com/google.cloud.discoveryengine.v1alpha.RecrawlUrisMetadata" } }
Guarda el valor de
name
como entrada para la operaciónoperations.get
cuando monitorices el estado de tu operación de nuevo rastreo.
Monitorizar el estado de la operación de nuevo rastreo
El método recrawlUris
, que se usa para rastrear páginas web en un almacén de datos, es una operación de larga duración que se ejecuta hasta que se rastrean las páginas web especificadas o hasta que se agota el tiempo de espera (24 horas), lo que ocurra primero. Para monitorizar el estado de esta operación de larga duración, sondee el método operations.get
y especifique el valor name
devuelto por el método recrawlUris
. Sigue enviando solicitudes hasta que la respuesta indique que:
(1) Se han rastreado todas tus páginas web o (2) Se ha agotado el tiempo de espera de la operación antes de que se rastrearan todas tus páginas web. Si se agota el tiempo de espera de recrawlUris
, puedes volver a llamarlo y especificar los sitios web que no se han rastreado.
REST
Para usar la línea de comandos y monitorizar el estado de una operación de nuevo rastreo, sigue estos pasos:
Busca el ID de tu almacén de datos. Si ya tiene el ID del almacén de datos, vaya al siguiente paso.
En la Google Cloud consola, ve a la página Aplicaciones de IA y, en el menú de navegación, haz clic en Almacenes de datos.
Haga clic en el nombre de su almacén de datos.
En la página Datos de su almacén de datos, obtenga el ID del almacén de datos.
Sondea el método
operations.get
.curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1alpha/OPERATION_NAME"
Haz los cambios siguientes:
PROJECT_ID
: el ID de tu proyecto de Google Cloud .OPERATION_NAME
: el nombre de la operación, que se encuentra en el camponame
devuelto en la llamada al métodorecrawlUris
en Volver a rastrear las páginas web de tu almacén de datos. También puedes obtener el nombre de la operación consultando las operaciones de larga duración.
Evalúa cada respuesta.
Si una respuesta indica que hay URIs pendientes y que la operación de volver a rastrear no se ha completado, significa que tus páginas web aún se están rastreando. Sigue sondeando.
Ejemplo
{ "name": "projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/operations/recrawl-uris-0123456789012345678", "metadata": { "@type": "type.googleapis.com/google.cloud.discoveryengine.v1alpha.RecrawlUrisMetadata", "createTime": "2023-09-05T22:07:28.690950Z", "updateTime": "2023-09-05T22:22:10.978843Z", "validUrisCount": 4000, "successCount": 2215, "pendingCount": 1785 }, "done": false, "response": { "@type": "type.googleapis.com/google.cloud.discoveryengine.v1alpha.RecrawlUrisResponse", } }
Los campos de respuesta se pueden describir de la siguiente manera:
createTime
: indica la hora en la que se inició la operación de larga duración.updateTime
: indica la última vez que se actualizaron los metadatos de la operación de larga duración. Indica que los metadatos se actualizan cada cinco minutos hasta que se completa la operación.validUrisCount
: indica que has especificado 4000 URIs válidos en tu llamada al métodorecrawlUris
.successCount
: indica que se han rastreado correctamente 2215 URIs.pendingCount
: indica que aún no se han rastreado 1785 URIs.done
: el valorfalse
indica que la operación de nuevo rastreo sigue en curso.
Si una respuesta indica que no hay URIs pendientes (no se devuelve ningún campo
pendingCount
) y la operación de nuevo rastreo se ha completado, significa que se han rastreado tus páginas web. Detener la comprobación: puedes salir de este procedimiento.Ejemplo
{ "name": "projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/operations/recrawl-uris-0123456789012345678", "metadata": { "@type": "type.googleapis.com/google.cloud.discoveryengine.v1alpha.RecrawlUrisMetadata", "createTime": "2023-09-05T22:07:28.690950Z", "updateTime": "2023-09-05T22:37:11.367998Z", "validUrisCount": 4000, "successCount": 4000 }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.discoveryengine.v1alpha.RecrawlUrisResponse" } }
Los campos de respuesta se pueden describir de la siguiente manera:
createTime
: indica la hora en la que se inició la operación de larga duración.updateTime
: indica la última vez que se actualizaron los metadatos de la operación de larga duración. Indica que los metadatos se actualizan cada cinco minutos hasta que se completa la operación.validUrisCount
: indica que has especificado 4000 URIs válidos en tu llamada al métodorecrawlUris
.successCount
: indica que se han rastreado correctamente 4000 URIs.done
: el valortrue
indica que la operación de nuevo rastreo se ha completado.
Si una respuesta indica que hay URIs pendientes y se ha completado la operación de nuevo rastreo, significa que esta operación ha agotado el tiempo de espera (24 horas) antes de que se rastrearan todas tus páginas web. Vuelva a empezar en Volver a rastrear las páginas web de su almacén de datos. Usa los
failedUris
valores de la respuestaoperations.get
para los valores del campouris
en tu nueva llamada al métodorecrawlUris
.Ejemplo.
{ "name": "projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/operations/recrawl-uris-8765432109876543210", "metadata": { "@type": "type.googleapis.com/google.cloud.discoveryengine.v1alpha.RecrawlUrisMetadata", "createTime": "2023-09-05T22:07:28.690950Z", "updateTime": "2023-09-06T22:09:10.613751Z", "validUrisCount": 10000, "successCount": 9988, "pendingCount": 12 }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.discoveryengine.v1alpha.RecrawlUrisResponse", "failedUris": [ "https://example.com/page-9989", "https://example.com/page-9990", "https://example.com/page-9991", "https://example.com/page-9992", "https://example.com/page-9993", "https://example.com/page-9994", "https://example.com/page-9995", "https://example.com/page-9996", "https://example.com/page-9997", "https://example.com/page-9998", "https://example.com/page-9999", "https://example.com/page-10000" ], "failureSamples": [ { "uri": "https://example.com/page-9989", "failureReasons": [ { "corpusType": "DESKTOP", "errorMessage": "Page was crawled but was not indexed by UCS within 24 hours." }, { "corpusType": "MOBILE", "errorMessage": "Page was crawled but was not indexed by UCS within 24 hours." } ] }, { "uri": "https://example.com/page-9990", "failureReasons": [ { "corpusType": "DESKTOP", "errorMessage": "Page was crawled but was not indexed by UCS within 24 hours." }, { "corpusType": "MOBILE", "errorMessage": "Page was crawled but was not indexed by UCS within 24 hours." } ] }, { "uri": "https://example.com/page-9991", "failureReasons": [ { "corpusType": "DESKTOP", "errorMessage": "Page was crawled but was not indexed by UCS within 24 hours." }, { "corpusType": "MOBILE", "errorMessage": "Page was crawled but was not indexed by UCS within 24 hours." } ] }, { "uri": "https://example.com/page-9992", "failureReasons": [ { "corpusType": "DESKTOP", "errorMessage": "Page was crawled but was not indexed by UCS within 24 hours." }, { "corpusType": "MOBILE", "errorMessage": "Page was crawled but was not indexed by UCS within 24 hours." } ] }, { "uri": "https://example.com/page-9993", "failureReasons": [ { "corpusType": "DESKTOP", "errorMessage": "Page was crawled but was not indexed by UCS within 24 hours." }, { "corpusType": "MOBILE", "errorMessage": "Page was crawled but was not indexed by UCS within 24 hours." } ] }, { "uri": "https://example.com/page-9994", "failureReasons": [ { "corpusType": "DESKTOP", "errorMessage": "Page was crawled but was not indexed by UCS within 24 hours." }, { "corpusType": "MOBILE", "errorMessage": "Page was crawled but was not indexed by UCS within 24 hours." } ] }, { "uri": "https://example.com/page-9995", "failureReasons": [ { "corpusType": "DESKTOP", "errorMessage": "Page was crawled but was not indexed by UCS within 24 hours." }, { "corpusType": "MOBILE", "errorMessage": "Page was crawled but was not indexed by UCS within 24 hours." } ] }, { "uri": "https://example.com/page-9996", "failureReasons": [ { "corpusType": "DESKTOP", "errorMessage": "Page was crawled but was not indexed by UCS within 24 hours." }, { "corpusType": "MOBILE", "errorMessage": "Page was crawled but was not indexed by UCS within 24 hours." } ] }, { "uri": "https://example.com/page-9997", "failureReasons": [ { "corpusType": "DESKTOP", "errorMessage": "Page was crawled but was not indexed by UCS within 24 hours." }, { "corpusType": "MOBILE", "errorMessage": "Page was crawled but was not indexed by UCS within 24 hours." } ] }, { "uri": "https://example.com/page-9998", "failureReasons": [ { "corpusType": "DESKTOP", "errorMessage": "Page was crawled but was not indexed by UCS within 24 hours." }, { "corpusType": "MOBILE", "errorMessage": "Page was crawled but was not indexed by UCS within 24 hours." } ] } ] } }
A continuación se incluyen algunas descripciones de los campos de respuesta:
createTime
. Hora en la que se inició la operación de larga duración.updateTime
. La última vez que se actualizaron los metadatos de la operación de larga duración. Los metadatos se actualizan cada cinco minutos hasta que se completa la operación.validUrisCount
. Indica que has especificado 10.000 URIs válidos en tu llamada al métodorecrawlUris
.successCount
. Indica que se han rastreado correctamente 9988 URIs.pendingCount
. Indica que aún no se han rastreado 12 URIs.done
. El valortrue
indica que la operación de reválida ha finalizado.failedUris
. Lista de URIs que no se han rastreado antes de que se agote el tiempo de espera de la operación de nuevo rastreo.failureInfo
. Información sobre los URIs que no se han podido rastrear. Se devuelven diez valores de la matrizfailureInfo
como máximo, aunque no se hayan podido rastrear más de diez URIs.errorMessage
. El motivo por el que no se ha podido rastrear un URI, porcorpusType
. Para obtener más información, consulta Mensajes de error.
Actualización oportuna
Google recomienda que hagas una actualización manual de las páginas nuevas y actualizadas para asegurarte de que tienes el índice más reciente.
Mensajes de error
Cuando monitoriza el estado de su operación de nuevo rastreo, si esta operación agota el tiempo de espera mientras consulta el método operations.get
, operations.get
devuelve mensajes de error para las páginas web que no se han rastreado. En la siguiente tabla se indican los mensajes de error, si el error es transitorio (un error temporal que se resuelve solo) y las acciones que puede llevar a cabo antes de volver a intentar el método recrawlUris
. Puedes volver a intentar
todos los errores transitorios inmediatamente. Todos los errores no transitorios se pueden volver a intentar después de implementar la solución.
Mensaje de error | ¿Se trata de un error transitorio? | Acción antes de volver a intentar el rastreo |
---|---|---|
La página se ha rastreado, pero Vertex AI Search no la ha indexado en un plazo de 24 horas | Sí | Usa los valores de failedUris de la respuesta operations.get para los valores del campo uris cuando llames al método recrawlUris . |
El rastreo se ha bloqueado por el robots.txt del sitio |
No | Desbloquee el URI en el archivo robots.txt de su sitio web, asegúrese de que el user-agent Googlebot tiene permiso para rastrear el sitio web y vuelva a intentar el rastreo. Para obtener más información, consulte Cómo escribir y enviar un archivo robots.txt.
Si no puedes acceder al archivo robots.txt , ponte en contacto con el propietario del dominio. |
No se puede acceder a la página | No | Comprueba el URI que has especificado al llamar al método recrawlUris . Asegúrate de proporcionar el URI literal y no un patrón de URI. |
Se ha agotado el tiempo de rastreo | Sí | Usa los valores de failedUris de la respuesta operations.get para los valores del campo uris cuando llames al método recrawlUris . |
El rastreador de Google ha rechazado la página | Sí | Usa los valores de failedUris de la respuesta operations.get para los valores del campo uris cuando llames al método recrawlUris . |
El rastreador de Google no ha podido seguir la URL | No | Si hay varias redirecciones, usa el URI de la última redirección y vuelve a intentarlo. |
No se ha encontrado la página (404) | No | Comprueba el URI que has especificado al llamar al método recrawlUris . Asegúrate de proporcionar el URI literal y no un patrón de URI.
Cualquier página que responda con un código de error `4xx` se elimina del índice. |
La página requiere autenticación | No | La indexación avanzada de sitios web no admite el rastreo de páginas web que requieran autenticación. |
Cómo se gestionan las páginas eliminadas
Cuando se elimina una página, Google recomienda que actualices manualmente las URLs eliminadas.
Cuando se rastrea el almacén de datos de su sitio web durante una actualización automática o manual, si una página web responde con un código de error de cliente 4xx
o un código de error de servidor 5xx
, la página web que no responde se elimina del índice.