Se il datastore utilizza la ricerca di base dei siti web, l'aggiornamento dell'indice del negozio riflette l'aggiornamento disponibile nella Ricerca Google.
Se l'indicizzazione avanzata dei siti web è attivata nel datastore, le pagine web del datastore vengono aggiornate nei seguenti modi:
- Aggiornamento automatico
- Aggiornamento manuale
- Aggiornamento basato sulla Sitemap
Questa pagina descrive l'aggiornamento automatico e manuale. Per comprendere e implementare l'aggiornamento basato sulla Sitemap, consulta Indicizza e aggiorna in base alla Sitemap.
Prima di iniziare
Se utilizzi il file robots.txt nel tuo sito web, aggiornalo. Per saperne di più, scopri come
preparare il filerobots.txt del tuo sito web.
Aggiornamento automatico
Agent Search esegue l'aggiornamento automatico nel seguente modo:
- Dopo aver creato un datastore, genera un indice iniziale per le pagine incluse.
- Dopo l'indicizzazione iniziale, indicizza le pagine appena scoperte ed esegue di nuovo la scansione delle pagine esistenti in base al principio del "best effort".
- Aggiorna regolarmente i datastore che raggiungono una frequenza di query di 50 query/30 giorni.
Aggiornamento manuale
Se vuoi aggiornare pagine web specifiche in un datastore con
l'indicizzazione avanzata dei siti web attivata, puoi
chiamare il
recrawlUris metodo. Utilizza il campo uris per specificare ogni pagina web di cui vuoi eseguire la scansione. Il metodo recrawlUris è un'operazione a lunga esecuzione
che viene eseguita fino a quando non viene eseguita la scansione delle pagine web specificate o fino al timeout dopo 24 ore, a seconda di quale evento si verifica per primo. Se il metodo recrawlUris va in timeout, puoi chiamarlo di nuovo, specificando le pagine web di cui devi ancora eseguire la scansione. Puoi eseguire il polling del operations.get metodo per monitorare lo stato dell'operazione di nuova scansione.
Limiti relativi alla nuova scansione
Esistono limiti alla frequenza con cui puoi eseguire la scansione delle pagine web e al numero di pagine web di cui puoi eseguire la scansione contemporaneamente:
- Chiamate al giorno. Il numero massimo di chiamate al metodo
recrawlUrisconsentito è 20 al giorno per progetto. - Pagine web per chiamata. Il numero massimo di valori
urische puoi specificare con una chiamata al metodorecrawlUrisè 10.000.
Esegui di nuovo la scansione delle pagine web nel datastore
Puoi eseguire manualmente la scansione di pagine web specifiche in un datastore con l'indicizzazione avanzata dei siti web attivata.
REST
Per utilizzare la riga di comando per eseguire la scansione di pagine web specifiche nel datastore:
Trova l'ID del datastore. Se hai già l'ID del datastore, vai al passaggio successivo.
Nella Google Cloud console, vai alla pagina AI Applications e nel menu di navigazione, fai clic su Datastore.
Fai clic sul nome del tuo datastore.
Nella pagina Dati del datastore, recupera l'ID del datastore.
Chiama il metodo
recrawlUris, utilizzando il campourisper specificare ogni pagina web di cui vuoi eseguire la scansione. Ogniurirappresenta una singola pagina, anche se contiene asterischi (*). I pattern con caratteri jolly non sono supportati.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] }'Sostituisci quanto segue:
PROJECT_ID: l'ID del tuo Google Cloud progetto.DATA_STORE_ID: l'ID del datastore di Agent Search.URIS: l'elenco delle pagine web di cui vuoi eseguire la scansione, ad esempio,"https://example.com/page-1", "https://example.com/page-2", "https://example.com/page-3".
L'output è simile al seguente:
{ "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" } }Salva il valore
namecome input per l'operazioneoperations.getquando monitori lo stato dell'operazione di nuova scansione.
Monitora lo stato dell'operazione di nuova scansione
Il metodo recrawlUris, che utilizzi per eseguire la scansione delle pagine web in un data
store, è un'operazione a lunga esecuzione che viene eseguita fino a quando non viene eseguita la scansione delle pagine web specificate
o fino al timeout dopo 24 ore, a seconda di quale evento si verifica per primo. Puoi monitorare lo
stato di questa operazione a lunga esecuzione eseguendo il polling del operations.get metodo, specificando il name valore restituito dal
recrawlUris metodo. Continua a eseguire il polling finché la risposta non indica che: (1) è stata eseguita la scansione di tutte le pagine web o (2) l'operazione è andata in timeout prima che fosse eseguita la scansione di tutte le pagine web. Se recrawlUris va in timeout, puoi chiamarlo di nuovo, specificando i siti web di cui non è stata eseguita la scansione.
REST
Per utilizzare la riga di comando per monitorare lo stato di un'operazione di nuova scansione:
Trova l'ID del datastore. Se hai già l'ID del datastore, vai al passaggio successivo.
Nella Google Cloud console, vai alla pagina AI Applications e nel menu di navigazione, fai clic su Datastore.
Fai clic sul nome del tuo datastore.
Nella pagina Dati del datastore, recupera l'ID del datastore.
Esegui il polling del
operations.getmetodo.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"Sostituisci quanto segue:
PROJECT_ID: l'ID del tuo Google Cloud progetto.OPERATION_NAME: il nome dell'operazione, che si trova nel camponamerestituito nella chiamata al metodorecrawlUrisin Esegui di nuovo la scansione delle pagine web nel datastore. Puoi anche ottenere il nome dell'operazione elencando le operazioni a lunga esecuzione.
Valuta ogni risposta.
Se una risposta indica che sono presenti URI in attesa e l'operazione di nuova scansione non è stata completata, significa che è ancora in corso la scansione delle pagine web. Continua a eseguire il polling.
Esempio
{ "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", } }
I campi di risposta possono essere descritti come segue:
createTime: indica l'ora di inizio dell'operazione a lunga esecuzione.updateTime: indica l'ultima volta che sono stati aggiornati i metadati dell'operazione a lunga esecuzione. indica che i metadati vengono aggiornati ogni cinque minuti fino al completamento dell'operazione.validUrisCount: indica che hai specificato 4000 URI validi nella chiamata al metodorecrawlUris.successCount: indica che è stata eseguita la scansione di 2215 URI.pendingCount: indica che non è ancora stata eseguita la scansione di 1785 URI.done: un valorefalseindica che l'operazione di nuova scansione è ancora in corso.
Se una risposta indica che non sono presenti URI in attesa (non viene restituito alcun campo
pendingCount) e l'operazione di nuova scansione è stata completata, significa che è stata eseguita la scansione delle pagine web. Interrompi il polling: puoi uscire da questa procedura.Esempio
{ "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" } }
I campi di risposta possono essere descritti come segue:
createTime: indica l'ora di inizio dell'operazione a lunga esecuzione.updateTime: indica l'ultima volta che sono stati aggiornati i metadati dell'operazione a lunga esecuzione. indica che i metadati vengono aggiornati ogni cinque minuti fino al completamento dell'operazione.validUrisCount: indica che hai specificato 4000 URI validi nella chiamata al metodorecrawlUris.successCount: indica che è stata eseguita la scansione di 4000 URI.done: un valoretrueindica che l'operazione di nuova scansione è stata completata.
Se una risposta indica che sono presenti URI in attesa e l'operazione di nuova scansione è stata completata, significa che l'operazione di nuova scansione è andata in timeout (dopo 24 ore) prima che fosse eseguita la scansione di tutte le pagine web. Ricomincia da Esegui di nuovo la scansione delle pagine web nel datastore. Utilizza i valori
failedUrisnella rispostaoperations.getper i valori nel campourisnella nuova chiamata al metodorecrawlUris.Esempio.
{ "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." } ] } ] } }
Di seguito sono riportate alcune descrizioni dei campi di risposta:
createTime. L'ora di inizio dell'operazione a lunga esecuzione.updateTime. L'ultima volta che sono stati aggiornati i metadati dell'operazione a lunga esecuzione. I metadati vengono aggiornati ogni cinque minuti fino al completamento dell'operazione.validUrisCount. Indica che hai specificato 10.000 URI validi nella chiamata al metodorecrawlUris.successCount. Indica che è stata eseguita la scansione di 9988 URI.pendingCount. Indica che non è ancora stata eseguita la scansione di 12 URI.done. Un valoretrueindica che l'operazione di nuova scansione è stata completata.failedUris. Un elenco di URI di cui non è stata eseguita la scansione prima del timeout dell'operazione di nuova scansione.failureInfo. Informazioni sugli URI di cui non è stata eseguita la scansione. Vengono restituiti al massimo dieci valori dell'arrayfailureInfo, anche se non è stata eseguita la scansione di più di dieci URI.errorMessage. Il motivo per cui non è stata eseguita la scansione di un URI, percorpusType. Per saperne di più, consulta Messaggi di errore.
Aggiornamento tempestivo
Google consiglia di eseguire l'aggiornamento manuale delle pagine nuove e aggiornate per assicurarti di avere l'indice più recente.
Messaggi di errore
Quando monitori lo stato dell'operazione di nuova scansione, se l'operazione va in timeout mentre esegui il polling del metodo operations.get, operations.get restituisce messaggi di errore per le pagine web di cui non è stata eseguita la scansione. La seguente tabella elenca i messaggi di errore, indica se l'errore è temporaneo (un errore temporaneo che si risolve da solo) e le azioni che puoi intraprendere prima di riprovare il metodo recrawlUris. Puoi riprovare immediatamente a eseguire tutte le operazioni che hanno generato errori temporanei. Puoi riprovare a eseguire tutte le operazioni che hanno generato errori non temporanei dopo aver implementato la soluzione.
| Messaggio di errore | È un errore temporaneo? | Azione prima di riprovare a eseguire la nuova scansione |
|---|---|---|
| La pagina è stata sottoposta a scansione, ma non è stata indicizzata da Agent Search entro 24 ore | Sì | Utilizza i valori failedUris nella risposta operations.get per i valori nel campo uris quando chiami il metodo recrawlUris. |
La scansione è stata bloccata dal file robots.txt del sito |
No | Sblocca l'URI nel file robots.txt del tuo sito web, assicurati che lo user agent Googlebot possa eseguire la scansione del sito web,
e riprova a eseguire la nuova scansione. Per saperne di più, consulta
Come scrivere e inviare un file robots.txt.
Se non riesci ad accedere al file robots.txt, contatta il proprietario del dominio. |
| La pagina non è raggiungibile | No | Controlla l'URI che hai specificato quando chiami il metodo recrawlUris. Assicurati di fornire l'URI letterale e non un pattern URI. |
| Timeout della scansione | Sì | Utilizza i valori failedUris nella risposta operations.get per i valori nel campo uris quando chiami il metodo recrawlUris. |
| La pagina è stata rifiutata dal crawler di Google | Sì | Utilizza i valori failedUris nella risposta operations.get per i valori nel campo uris quando chiami il metodo recrawlUris. |
| Il crawler di Google non è riuscito a seguire l'URL | No | Se sono presenti più reindirizzamenti, utilizza l'URI dell'ultimo reindirizzamento e riprova |
| Pagina non trovata (404) | No | Controlla l'URI che hai specificato quando chiami il metodo recrawlUris. Assicurati di fornire l'URI letterale e non un pattern URI.
Qualsiasi pagina che risponde con un codice di errore `4xx` viene rimossa dall'indice. |
| La pagina richiede l'autenticazione | No | L'indicizzazione avanzata dei siti web non supporta la scansione delle pagine web che richiedono l'autenticazione. |
Come vengono gestite le pagine eliminate
Quando una pagina viene eliminata, Google consiglia di aggiornare manualmente gli URL eliminati.
Quando viene eseguita la scansione del datastore di dati del sito web durante un aggiornamento automatico
o manuale, se una pagina web risponde con un codice di errore client 4xx o un codice di errore server 5xx, la pagina web che non risponde viene rimossa dall'
indice.