Atualize páginas Web através da atualização automática e manual

Se o seu arquivo de dados usar a pesquisa básica de Websites, a atualização do índice da sua loja reflete a atualização disponível na Pesquisa Google.

Se a indexação avançada de Websites estiver ativada no seu repositório de dados, as páginas Web no seu repositório de dados são atualizadas das seguintes formas:

  • Atualização automática
  • Atualização manual
  • Atualização baseada no mapa do site

Esta página descreve a atualização automática e manual. Para compreender e implementar a atualização baseada em sitemap, consulte o artigo Indexe e atualize de acordo com o sitemap.

Antes de começar

Se usar o ficheiro robots.txt no seu Website, atualize-o. Para mais informações, veja como preparar o ficheiro robots.txt do Website.

Atualização automática

O Vertex AI Search faz a atualização automática da seguinte forma:

  • Depois de criar um arquivo de dados, este gera um índice inicial para as páginas incluídas.
  • Após a indexação inicial, indexa todas as páginas descobertas recentemente e rastreia novamente as páginas existentes com base no melhor esforço possível.
  • Atualiza regularmente os armazenamentos de dados que encontram uma taxa de consulta de 50 consultas/30 dias.

Atualização manual

Se quiser atualizar páginas Web específicas num arquivo de dados com a indexação avançada de Websites ativada, pode chamar o método recrawlUris. Use o campo uris para especificar cada página Web que quer rastrear. O método recrawlUris é uma operação de longa duração que é executada até que as páginas Web especificadas sejam rastreadas ou até que ocorra um limite de tempo após 24 horas, consoante o que ocorrer primeiro. Se o método recrawlUris expirar, pode chamar o método novamente, especificando as páginas Web que ainda têm de ser rastreadas. Pode sondar o método operations.get para monitorizar o estado da sua operação de nova rastreagem.

Limites no novo rastreio

Existem limites para a frequência com que pode rastrear páginas Web e o número de páginas Web que pode rastrear de cada vez:

  • Chamadas por dia. O número máximo de chamadas para o método recrawlUris permitido é de 20 por dia, por projeto.
  • Páginas Web por chamada. O número máximo de valores de uris que pode especificar com uma chamada ao método recrawlUris é 10 000.

Volte a rastrear as páginas Web na sua base de dados

Pode rastrear manualmente páginas Web específicas num arquivo de dados com a opção Indexação avançada de Websites ativada.

REST

Para usar a linha de comandos para rastrear páginas Web específicas no seu repositório de dados, siga estes passos:

  1. Encontre o ID da loja de dados. Se já tiver o ID do armazenamento de dados, avance para o passo seguinte.

    1. Na Google Cloud consola, aceda à página Aplicações de IA e, no menu de navegação, clique em Armazenamentos de dados.

      Aceda à página Armazenamentos de dados

    2. Clique no nome do seu arquivo de dados.

    3. Na página Dados da sua loja de dados, obtenha o ID da loja de dados.

  2. Chame o método recrawlUris, usando o campo uris para especificar cada página Web que quer rastrear. Cada uri representa uma única página, mesmo que contenha asteriscos (*). Os padrões com carateres universais não são suportados.

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

    Substitua o seguinte:

    • PROJECT_ID: o ID do seu projeto Google Cloud .
    • DATA_STORE_ID: o ID do arquivo de dados do Vertex AI Search.
    • URIS: a lista de páginas Web que quer rastrear. Por exemplo, "https://example.com/page-1", "https://example.com/page-2", "https://example.com/page-3".

    O resultado é semelhante ao seguinte:

    {
      "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. Guarde o valor de name como entrada para a operação operations.get quando monitorizar o estado da operação de nova indexação.

Monitorize o estado da operação de nova indexação

O método recrawlUris, que usa para rastrear páginas Web num repositório de dados, é uma operação de execução prolongada que é executada até que as páginas Web especificadas sejam rastreadas ou até que ocorra um limite de tempo após 24 horas, consoante o que ocorrer primeiro. Pode monitorizar o estado desta operação de longa duração consultando o método operations.get, especificando o valor name devolvido pelo método recrawlUris. Continue a sondar até que a resposta indique que: (1) Todas as suas páginas Web foram rastreadas ou (2) O tempo limite da operação expirou antes de todas as suas páginas Web terem sido rastreadas. Se recrawlUris expirar, pode chamá-lo novamente, especificando os Websites que não foram rastreados.

REST

Para usar a linha de comandos para monitorizar o estado de uma operação de nova rastreagem, siga estes passos:

  1. Encontre o ID da loja de dados. Se já tiver o ID do armazenamento de dados, avance para o passo seguinte.

    1. Na Google Cloud consola, aceda à página Aplicações de IA e, no menu de navegação, clique em Armazenamentos de dados.

      Aceda à página Armazenamentos de dados

    2. Clique no nome do seu arquivo de dados.

    3. Na página Dados da sua loja de dados, obtenha o ID da loja de dados.

  2. Sondar o 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"
    

    Substitua o seguinte:

  3. Avalie cada resposta.

    • Se uma resposta indicar que existem URIs pendentes e a operação de nova indexação não estiver concluída, as suas páginas Web ainda estão a ser rastreadas. Continuar a sondar.

      Exemplo

        {
          "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",
          }
        }

      Os campos de resposta podem ser descritos da seguinte forma:

      • createTime: indica a hora em que a operação de longa duração foi iniciada.
      • updateTime: indica a última vez que os metadados da operação de longa duração foram atualizados. Indica que os metadados são atualizados a cada cinco minutos até a operação estar concluída.
      • validUrisCount: indica que especificou 4000 URIs válidos na sua chamada ao método recrawlUris.
      • successCount: indica que 2215 URIs foram rastreados com êxito.
      • pendingCount: indica que 1785 URIs ainda não foram rastreados.
      • done: um valor de false indica que a operação de nova indexação ainda está em curso.

    • Se uma resposta indicar que não existem URIs pendentes (não é devolvido nenhum campo pendingCount) e a operação de novo rastreio estiver concluída, as suas páginas Web são rastreadas. Parar a sondagem: pode terminar este procedimento.

      Exemplo

        {
          "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"
          }
        }

      Os campos de resposta podem ser descritos da seguinte forma:

      • createTime: indica a hora em que a operação de longa duração foi iniciada.
      • updateTime: indica a última vez que os metadados da operação de longa duração foram atualizados. Indica que os metadados são atualizados a cada cinco minutos até a operação estar concluída.
      • validUrisCount: indica que especificou 4000 URIs válidos na sua chamada ao método recrawlUris.
      • successCount: indica que 4000 URIs foram rastreados com êxito.
      • done: um valor de true indica que a operação de nova rastreagem está concluída.
  4. Se uma resposta indicar que existem URIs pendentes e a operação de nova rastreagem estiver concluída, significa que a operação de nova rastreagem excedeu o limite de tempo (após 24 horas) antes de todas as suas páginas Web terem sido rastreadas. Comece novamente em Volte a rastrear as páginas Web na sua base de dados. Use os failedUrisvalores na resposta operations.get para os valores no campo uris no seu novo pedido ao método recrawlUris.

    Exemplo.

    {
      "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."
              }
            ]
          }
        ]
      }
    }

    Seguem-se algumas descrições dos campos de resposta:

    • createTime. A hora em que a operação de longa duração foi iniciada.
    • updateTime. A última vez que os metadados da operação de longa duração foram atualizados. Os metadados são atualizados a cada cinco minutos até a operação estar concluída.
    • validUrisCount. Indica que especificou 10 000 URIs válidos na sua chamada ao método recrawlUris.
    • successCount. Indica que 9988 URIs foram rastreados com êxito.
    • pendingCount. Indica que 12 URIs ainda não foram rastreados.
    • done. Um valor de true indica que a operação de nova indexação está concluída.
    • failedUris. Uma lista de URIs que não foram rastreados antes de o tempo limite da operação de novo rastreio expirar.
    • failureInfo. Informações sobre URIs nos quais ocorreu uma falha na rastreio. No máximo, são devolvidos dez valores de matriz failureInfo, mesmo que mais de dez URIs não tenham sido rastreados.
    • errorMessage. O motivo pelo qual um URI não foi rastreado, por corpusType. Para mais informações, consulte Mensagens de erro.

Atualização oportuna

A Google recomenda que faça uma atualização manual das páginas novas e atualizadas para garantir que tem o índice mais recente.

Mensagens de erro

Quando monitoriza o estado da operação de nova rastreagem, se a operação de nova rastreagem expirar enquanto consulta o método operations.get, operations.get devolve mensagens de erro para as páginas Web que não foram rastreadas. A tabela seguinte apresenta as mensagens de erro, se o erro é transitório (um erro temporário que se resolve sozinho) e as ações que pode realizar antes de tentar novamente o método recrawlUris. Pode tentar novamente todos os erros temporários imediatamente. Pode tentar novamente todos os erros não transitórios depois de implementar a correção.

Mensagem de erro É um erro temporário? Ação antes de tentar voltar a rastrear
A página foi rastreada, mas não foi indexada pelo Vertex AI Search no prazo de 24 horas Sim Use os valores failedUris na resposta operations.get para os valores no campo uris quando chamar o método recrawlUris.
O rastreio foi bloqueado pelo robots.txt do site Não Desbloqueie o URI no ficheiro robots.txt do seu Website, certifique-se de que o agente do utilizador Googlebot tem autorização para rastrear o Website e tente rastrear novamente. Para mais informações, consulte o artigo Como escrever e enviar um ficheiro robots.txt. Se não conseguir aceder ao ficheiro robots.txt, contacte o proprietário do domínio.
Página inacessível Não Verifique o URI que especificou quando chama o método recrawlUris. Certifique-se de que fornece o URI literal e não um padrão de URI.
O rastreio excedeu o tempo limite Sim Use os valores failedUris na resposta operations.get para os valores no campo uris quando chamar o método recrawlUris.
A página foi rejeitada pelo motor de rastreio do Google Sim Use os valores failedUris na resposta operations.get para os valores no campo uris quando chamar o método recrawlUris.
O URL não pôde ser seguido pelo motor de rastreio do Google Não Se existirem vários redirecionamentos, use o URI do último redirecionamento e tente novamente
Página não encontrada (404) Não Verifique o URI que especificou quando chama o método recrawlUris. Certifique-se de que fornece o URI literal e não um padrão de URI.

Qualquer página que responda com um código de erro `4xx` é removida do índice.

A página requer autenticação Não A indexação avançada de Websites não suporta a indexação de páginas Web que requerem autenticação.

Como são processadas as páginas eliminadas

Quando uma página é eliminada, a Google recomenda que atualize manualmente os URLs eliminados.

Quando a sua loja de dados do Website é rastreada durante uma atualização automática ou manual, se uma página Web responder com um código de 4xx erro do cliente ou um código de 5xx erro do servidor, a página Web sem resposta é removida do índice.