Usare l'API Indexing
Panoramica
Puoi utilizzare l'API Indexing per comunicare a Google di aggiornare o rimuovere le pagine dall'Indice Google.
Le richieste devono specificare la posizione di una pagina web. Puoi anche conoscere lo stato delle notifiche
che hai inviato a Google. Attualmente, l'API Indexing può essere utilizzata solo per eseguire la scansione di pagine con
elementi JobPosting
o
BroadcastEvent
incorporati in una
proprietà VideoObject
.
Quando invii una richiesta all'API Indexing, definisci la posizione di una pagina web separata per informare Google che può eseguire la scansione di questa pagina o rimuoverla dal proprio indice.
I seguenti esempi mostrano le azioni che puoi eseguire con l'API Indexing:
Aggiornare un URL
Send the following HTTP POST request to https://indexing.googleapis.com/v3/urlNotifications:publish endpoint { "url": "https://careers.google.com/jobs/google/technical-writer", "type": "URL_UPDATED" }Rimuovere un URL Send the following HTTP POST request to https://indexing.googleapis.com/v3/urlNotifications:publish endpoint { "url": "https://careers.google.com/jobs/google/technical-writer", "type": "URL_DELETED" }Conoscere lo stato della notifica Send a HTTP GET request to https://indexing.googleapis.com/v3/urlNotifications/metadata endpoint |
Parametri
Nella tabella che segue vengono descritti i campi necessari per tutti i metodi (aggiornare e rimuovere un URL):
Campi | |
---|---|
url |
Obbligatorio La posizione completa dell'elemento che vuoi aggiornare o rimuovere. |
type |
Obbligatorio Il tipo di notifica che hai inviato. |
Linee guida
Le seguenti linee guida si applicano alle richieste di aggiornamento e rimozione di un URL.
- Tutte le chiamate a https://indexing.googleapis.com/v3/UrlNotifications:publish DEVONO utilizzare "application/json" come intestazione
Content-Type
. - È possibile inviare un URL solo nel corpo di una richiesta di aggiornamento oppure combinare fino a 100 richieste in un batch, come descritto nella sezione Inviare richieste di indicizzazione in batch.
- Il corpo della richiesta in questi esempi è il valore della variabile
content
che viene utilizzato negli esempi di token di accesso.
Aggiornare un URL
Per informare Google che un nuovo URL è pronto per essere sottoposto a scansione o che i contenuti di un URL inviato in precedenza sono stati aggiornati, procedi nel seguente modo:
- Invia una richiesta
POST
al seguente endpoint:Send a HTTP POST request to https://indexing.googleapis.com/v3/urlNotifications:publish
- Nel corpo della richiesta, specifica la posizione della pagina utilizzando la seguente sintassi:
{ "url": "content_location", "type": "URL_UPDATED" }
- Google risponde alle chiamate all'API Indexing inoltrate correttamente con
HTTP 200
. Una rispostaHTTP 200
significa che a breve Google potrebbe provare a sottoporre nuovamente a scansione questo URL. Il corpo della risposta contiene un oggettoUrlNotificationMetadata
, i cui campi corrispondono a quelli restituiti da una richiesta di stato della notifica. - Se non ricevi una risposta
HTTP 200
, consulta gli errori specifici dell'API Indexing. - Se i contenuti della pagina cambiano, invia un'altra notifica di aggiornamento, che dovrebbe determinare una nuova scansione della pagina da parte di Google.
- Potresti aver bisogno di una quota maggiore di quella predefinita. Per visualizzare la quota corrente e richiederne una maggiore, consulta la sezione Quota.
Rimuovere un URL
Dopo aver eliminato una pagina dai tuoi server o aver aggiunto il tag <meta name="robots" content="noindex" />
nella
sezione <head>
di una determinata pagina, informa Google affinché rimuova la pagina dal
suo indice e non esegua nuovamente la scansione dell'URL e l'indicizzazione della pagina. Prima che tu richieda la rimozione,
l'URL deve restituire un codice di stato 404 o 410 oppure la pagina deve contenere un meta
tag <meta name="robots" content="noindex" />
.
Per richiedere la rimozione dal nostro indice, procedi nel seguente modo:
- Invia una richiesta
POST
al seguente endpoint:Send a HTTP POST request to https://indexing.googleapis.com/v3/urlNotifications:publish
- Specifica l'URL che vuoi rimuovere nel corpo della richiesta utilizzando la seguente sintassi:
{ "url": "content_location", "type": "URL_DELETED" }
Ad esempio:
{ "url": "https://careers.google.com/jobs/google/technical-writer", "type": "URL_DELETED" }
- Google risponde alle chiamate all'API Indexing inoltrate correttamente con
HTTP 200
. Una rispostaHTTP 200
significa che Google potrebbe rimuovere questo URL dall'indice. Il corpo della risposta contiene un oggettoUrlNotificationMetadata
, i cui campi corrispondono a quelli restituiti da una richiesta di stato della notifica. - Se non ricevi una risposta
HTTP 200
, consulta gli errori specifici dell'API Indexing. - Potresti aver bisogno di una quota maggiore di quella predefinita. Per visualizzare la quota corrente e richiederne una maggiore, consulta la sezione Quota.
Conoscere lo stato della notifica
Puoi utilizzare l'API Indexing per controllare l'ultima volta che Google ha ricevuto qualsiasi tipo di notifica per un determinato URL. La richiesta GET
non ti dice quando Google indicizza o rimuove un URL; ma solo se hai inviato correttamente una richiesta.
Per conoscere lo stato di una notifica, procedi nel seguente modo:
- Invia una richiesta
GET
al seguente endpoint. L'URL specificato deve essere con codifica URL. Ad esempio, sostituisci:
(due punti) con%3A
e/
(barre) con%2F
.Send a HTTP GET request to https://indexing.googleapis.com/v3/urlNotifications/metadata?url=url-encoded_url
Ad esempio:
GET https://indexing.googleapis.com/v3/urlNotifications/metadata?url=https%3A%2F%2Fcareers.google.com%2Fjobs%2Fgoogle%2Ftechnical-writer
- L'API Indexing risponde con un
messaggio
HTTP 200
, con un payload che contiene dettagli sulla notifica. Il seguente esempio mostra il corpo di una risposta che contiene informazioni su una notifica di aggiornamento ed eliminazione:{ url: "http://foo.com", latest_update: { type: "URL_UPDATED", notify_time: "2017-07-31T19:30:54.524457662Z" }, latest_remove: { type: "URL_DELETED", notify_time: "2017-08-31T19:30:54.524457662Z" } }
- Se non ricevi una risposta
HTTP 200
, consulta gli errori specifici dell'API Indexing. - Potresti aver bisogno di una quota maggiore di quella predefinita. Per visualizzare la quota corrente e richiederne una maggiore, consulta la sezione Quota.
Inviare richieste di indicizzazione in batch
Per ridurre il numero di connessioni HTTP che il client deve effettuare, puoi combinare fino a 100 chiamate all'API Indexing in un'unica richiesta HTTP. Puoi farlo in una richiesta con più parti detta "in batch".
Quando invii una richiesta in batch per l'API Indexing, utilizza il seguente endpoint:
https://indexing.googleapis.com/batch
Il corpo di una richiesta in batch contiene più parti. Ogni parte è una richiesta HTTP completa, con verbo, URL, intestazioni e corpo. Ciascuna parte all'interno di una richiesta in batch non può superare 1 MB di dimensione.
Per semplificare l'invio di richieste in batch, le librerie client dell'API di Google supportano la funzionalità di batch. Per ulteriori informazioni sui processi in batch con le librerie client, consulta le seguenti pagine specifiche per lingua:
Se utilizzi gli esempi di invio in batch su queste pagine, potresti dover aggiornare il codice per riflettere i requisiti di implementazione descritti nella sezione Ottenere un token di accesso.
Il seguente corpo del messaggio di richiesta in batch di esempio include una notifica di aggiornamento e una notifica di rimozione:
POST /batch HTTP/1.1 Host: indexing.googleapis.com Content-Length: content_length Content-Type: multipart/mixed; boundary="===============7330845974216740156==" Authorization: Bearer oauth2_token --===============7330845974216740156== Content-Type: application/http Content-Transfer-Encoding: binary Content-ID: <b29c5de2-0db4-490b-b421-6a51b598bd22+2> POST /v3/urlNotifications:publish [1] Content-Type: application/json accept: application/json content-length: 58 { "url": "http://example.com/jobs/42", "type": "URL_UPDATED" } --===============7330845974216740156== Content-Type: application/http Content-Transfer-Encoding: binary Content-ID: <b29c5de2-0db4-490b-b421-6a51b598bd22+1> POST /v3/urlNotifications:publish [2] Content-Type: application/json accept: application/json content-length: 75 { "url": "http://example.com/widgets/1", "type": "URL_UPDATED" } --===============7330845974216740156== Content-Type: application/http Content-Transfer-Encoding: binary Content-ID: <b29c5de2-0db4-490b-b421-6a51b598bd22+3> POST /v3/urlNotifications:publish [3] Content-Type: application/json accept: application/json content-length: 58 { "url": "http://example.com/jobs/43", "type": "URL_DELETED" } --===============7330845974216740156==
Per ulteriori informazioni, consulta la sezione Inviare richieste in batch.