Actualizar páginas web con la actualización automática y manual

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étodo recrawlUris 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:

  1. Busca el ID de tu almacén de datos. Si ya tiene el ID del almacén de datos, vaya al siguiente paso.

    1. 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.

      Ir a la página Almacenes de datos

    2. Haga clic en el nombre de su almacén de datos.

    3. En la página Datos de su almacén de datos, obtenga el ID del almacén de datos.

  2. Llama al método recrawlUris y usa el campo uris para especificar cada página web que quieras rastrear. Cada uri 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"
      }
    }
    
  3. Guarda el valor de name como entrada para la operación operations.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:

  1. Busca el ID de tu almacén de datos. Si ya tiene el ID del almacén de datos, vaya al siguiente paso.

    1. 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.

      Ir a la página Almacenes de datos

    2. Haga clic en el nombre de su almacén de datos.

    3. En la página Datos de su almacén de datos, obtenga el ID del almacén de datos.

  2. 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:

  3. 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étodo recrawlUris.
      • successCount: indica que se han rastreado correctamente 2215 URIs.
      • pendingCount: indica que aún no se han rastreado 1785 URIs.
      • done: el valor false 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étodo recrawlUris.
      • successCount: indica que se han rastreado correctamente 4000 URIs.
      • done: el valor true indica que la operación de nuevo rastreo se ha completado.
  4. 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 respuesta operations.get para los valores del campo uris en tu nueva llamada al método recrawlUris.

    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étodo recrawlUris.
    • successCount. Indica que se han rastreado correctamente 9988 URIs.
    • pendingCount. Indica que aún no se han rastreado 12 URIs.
    • done. El valor true 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 matriz failureInfo 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, por corpusType. 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 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 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 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.