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

Si tu almacén de datos usa la búsqueda básica de sitios web, la actualización del índice de tu tienda replica la que está disponible en la Búsqueda de Google.

Si la indexación de sitios web avanzada está habilitada en tu almacén de datos, las páginas web que se encuentren allí se actualizarán de las siguientes maneras:

  • Actualización automática
  • Actualización manual
  • Actualización basada en el mapa del sitio

En esta página, se describe la actualización automática y manual. Para comprender y, luego, implementar la actualización basada en el mapa del sitio, consulta Cómo indexar y actualizar según el mapa del sitio.

Actualización automática

Vertex AI Search realiza la actualización automática de la siguiente manera:

  • Después de crear un almacén de datos, genera un índice inicial para las páginas incluidas.
  • Luego, indexa las páginas descubiertas recientemente y vuelve a rastrear las páginas existentes según el criterio del mejor esfuerzo.
  • Actualiza regularmente los almacenes de datos que presentan una tasa de 50 búsquedas por 30 días.

Actualización manual

Si deseas actualizar páginas web específicas en un almacén de datos con la indexación avanzada de sitios web activada, puedes llamar al método recrawlUris. Usa el campo uris para especificar cada página web que deseas 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 después de 24 horas, lo que ocurra primero. Si se agota el tiempo de espera del método recrawlUris, puedes volver a llamarlo y especificar las páginas web que aún quedan por rastrear. Puedes sondear el método operations.get para supervisar el estado de tu operación de rastreo nuevo.

Límites para el rastreo nuevo

Existen límites para la frecuencia con la que puedes rastrear páginas web y la cantidad de páginas web que puedes rastrear a la vez:

  • Llamadas por día. La cantidad máxima de llamadas al método recrawlUris permitida es de cinco por día y por proyecto.
  • Páginas web por llamada. La cantidad máxima de valores uris que puedes especificar con una llamada al método recrawlUris es de 10,000.

Vuelve a rastrear las páginas web de tu almacén de datos

Puedes rastrear manualmente páginas web específicas en un almacén de datos que tenga activada la indexación avanzada de sitios web.

REST

Para usar la línea de comandos y rastrear páginas web específicas en tu almacén de datos, sigue estos pasos:

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

    1. En la consola de Google Cloud, ve a la página Agent Builder y, en el menú de navegación, haz clic en Almacenes de datos.

      Ve a la página Almacenes de datos.

    2. Haz clic en el nombre de tu almacén de datos.

    3. En la página Datos de tu almacén de datos, obtén 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 deseas rastrear. Cada uri representa una sola página, incluso si contiene asteriscos (*). No se admiten patrones de comodines.

    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]
    }'
    

    Reemplaza lo siguiente:

    • PROJECT_ID: El ID del proyecto de Google Cloud.
    • DATA_STORE_ID: el ID del almacén de datos de Vertex AI Search.
    • URIS: Es la lista de páginas web que deseas rastrear, por ejemplo, "https://example.com/page-1", "https://example.com/page-2", "https://example.com/page-3".

    El resultado es similar a este:

    {
      "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 supervises el estado de tu operación de rastreo nuevo.

Supervisa el estado de tu operación de rastreo nuevo

El método recrawlUris, que usas para explorar páginas web en un almacén de datos, es una operación de larga duración que se ejecuta hasta que se exploran las páginas web especificadas o hasta que se agota el tiempo de espera después de 24 horas, lo que ocurra primero. Puedes supervisar el estado de esta operación de larga duración mediante un sondeo del método operations.get y especificando el valor name que muestra el método recrawlUris. Continúa realizando consultas hasta que la respuesta indique lo siguiente: (1) Se rastrearon todas tus páginas web o (2) Se agotó 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 rastrearon.

REST

Para usar la línea de comandos y supervisar el estado de una operación de rastreo nuevo, sigue estos pasos:

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

    1. En la consola de Google Cloud, ve a la página Agent Builder y, en el menú de navegación, haz clic en Almacenes de datos.

      Ve a la página Almacenes de datos.

    2. Haz clic en el nombre de tu almacén de datos.

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

  2. Consulta 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"
    

    Reemplaza lo siguiente:

  3. Evalúa cada respuesta.

    • Si una respuesta indica que hay URIs pendientes y no se realizó la operación de rastreo nuevamente, significa que tus páginas web aún se están rastreando. Continúa con la sondeo.

      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 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 especificaste 4,000 URIs válidos en tu llamada al método recrawlUris.
      • successCount: Indica que se rastrearon correctamente 2,215 URIs.
      • pendingCount: Indica que aún no se rastrearon 1,785 URIs.
      • done: Un valor de false indica que la operación de rastreo nuevo aún está en proceso.

    • Si una respuesta indica que no hay URIs pendientes (no se muestra ningún campo pendingCount) y se completó la operación de rastreo nuevo, se rastrean tus páginas web. Detén el sondeo. 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 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 especificaste 4,000 URIs válidos en tu llamada al método recrawlUris.
      • successCount: Indica que se rastrearon correctamente 4,000 URIs.
      • done: Un valor de true indica que se completó la operación de rastreo nuevo.
  4. Si una respuesta indica que hay URIs pendientes y que se completó la operación de rastreo nuevo, significa que se agotó el tiempo de espera de la operación de rastreo nuevo (después de 24 horas) antes de que se rastrearan todas tus páginas web. Vuelve a empezar en Cómo volver a rastrear las páginas web en tu almacén de datos. Usa los valores failedUris 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."
              }
            ]
          }
        ]
      }
    }

    Estas son algunas descripciones de los campos de respuesta:

    • createTime: Es la hora en que se inició la operación de larga duración.
    • updateTime: Es 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 especificaste 10,000 URIs válidos en tu llamada al método recrawlUris.
    • successCount. Indica que se rastrearon correctamente 9,988 URIs.
    • pendingCount: Indica que aún no se rastrearon 12 URIs.
    • done. Un valor de true indica que se completó la operación de rastreo nuevo.
    • failedUris: Es una lista de URIs que no se rastrearon antes de que se agote el tiempo de espera de la operación de rastreo.
    • failureInfo: Información sobre los URIs que no se pudieron rastrear. Como máximo, se muestran diez valores de array failureInfo, incluso si no se rastrean más de diez URIs.
    • errorMessage. El motivo por el que no se pudo rastrear un URI, según corpusType. Para obtener más información, consulta Mensajes de error.

Actualización oportuna

Google recomienda que realices una actualización manual en tus páginas nuevas y actualizadas para asegurarte de tener el índice más reciente.

Mensajes de error

Cuando supervisas el estado de la operación de rastreo nuevo, si esta operación agota el tiempo de espera mientras sondeas el método operations.get, operations.get muestra mensajes de error para las páginas web que no se rastrearon. En la siguiente tabla, se enumeran los mensajes de error, si el error es transitorio (un error temporal que se resuelve por sí solo) y las acciones que puedes realizar antes de volver a intentar el método recrawlUris. Puedes volver a intentar todos los errores transitorios de inmediato. Todos los errores transitorios se pueden volver a intentar después de implementar la solución.

Mensaje de error ¿Es un error transitorio? Acción antes de volver a intentar el rastreo
Se rastreó la página, pero Vertex AI Search no la indexó en un plazo de 24 horas Usa los valores failedUris en la respuesta operations.get para los valores del campo uris cuando llames al método recrawlUris.
El robots.txt del sitio bloqueó el rastreo No Desbloquea el URI en el archivo robots.txt de tu sitio web, asegúrate de que el usuario-agente de Googlebot pueda rastrear el sitio web y vuelve a intentar el rastreo. Para obtener más información, consulta Cómo escribir y enviar un archivo robots.txt. Si no puedes acceder al archivo robots.txt, comunícate con el propietario del dominio.
No se puede acceder a la página No Verifica el URI que especificaste cuando llamaste al método recrawlUris. Asegúrate de proporcionar el URI literal y no un patrón de URI.
Se agotó el tiempo de espera del rastreo Usa los valores failedUris en la respuesta operations.get para los valores del campo uris cuando llames al método recrawlUris.
El rastreador de Google rechazó la página Usa los valores failedUris en la respuesta operations.get para los valores del campo uris cuando llames al método recrawlUris.
El rastreador de Google no pudo seguir la URL No Si hay varios redireccionamientos, usa el URI del último redireccionamiento y vuelve a intentarlo.
No se encontró la página (404) No Verifica el URI que especificaste cuando llamaste 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 quitará 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 requieren autenticación.

Cómo se manejan las páginas borradas

Cuando se borra una página, Google recomienda que actualices manualmente las URLs borradas.

Cuando se rastrea el almacén de datos de tu 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 quita del índice.