Documentazione

Invio di un URL


Per inviare un URL utilizzando una richiesta HTTP (sostituire con l'URL fornito dal motore di ricerca), inviare la richiesta all'URL seguente:

                https://<searchengine>/indexnow?url=url-changed&key=your-key
            
  • url-changed è un URL del sito Web che è stato aggiunto, aggiornato o eliminato. L'URL deve contenere caratteri di escape ed essere crittografato, nonché seguire gli standard RFC-3986 per gli URI.
  • La chiave deve includere almeno 8 e al massimo 128 caratteri esadecimali. Può contenere solo i caratteri seguenti: minuscole (a-z), maiuscole (A-Z), numeri (0-9) e trattini (-).

Ad esempio, se si desidera informare i motori di ricerca che l'URL https://www.example.com/product.html è stato aggiornato utilizzando questa chiave , l'URL sarà:

                https://<searchengine>/indexnow?url=https://www.example.com/product.html&key=
            

È possibile inviare la richiesta HTTP tramite il browser, wget, curl o qualsiasi altro metodo si desideri utilizzare. Una richiesta corretta restituirà un codice di risposta HTTP 200. Se si riceve una risposta diversa, verificare che non siano state inviate troppe richieste e che la chiave e l'URL siano validi, quindi inviare nuovamente la richiesta. Il codice di risposta HTTP 200 indica semplicemente che il motore di ricerca ha ricevuto l'URL.

Invio di un gruppo di URL


Per inviare un gruppo di URL tramite una richiesta HTTP, inviare la richiesta POST JSON all'URL fornito dal motore di ricerca. Sostituire con il nome host del motore di ricerca.

                POST /indexnow HTTP/1.1
                Content-Type: application/json; charset=utf-8
                Host: <searchengine>
                {
                  "host": "www.example.com",
                  "key": "",
                  "urlList": [
                      "https://www.example.com/url1",
                      "https://www.example.com/folder/url2",
                      "https://www.example.com/url3"
                      ]
                }
            

È possibile inviare fino a 10.000 URL alla volta, combinando URL HTTP e HTTPS se necessario.

È possibile inviare la richiesta HTTP tramite wget, curl o qualsiasi altro metodo si desideri utilizzare. Una richiesta corretta restituirà un codice di risposta HTTP 200. Se si riceve una risposta diversa, verificare la richiesta. Se non contiene errori, inviarla nuovamente. Il codice di risposta HTTP 200 indica semplicemente che il motore di ricerca ha ricevuto il gruppo di URL.

È consigliabile automatizzare l'invio degli URL non appena il contenuto viene aggiunto, aggiornato o eliminato fino a un determinato limite. Vedere le procedure consigliate per il contenuto generato dall'utente nelle domande frequenti.

Verifica della proprietà tramite la chiave


Per inviare URL, è necessario "dimostrare" di essere proprietari dell'host per cui gli URL vengono inviati ospitando almeno un file di testo nell'host. Quando si inviano gli URL ai motori di ricerca, i motori di ricerca eseguono la ricerca per indicizzazione del file della chiave per verificare la proprietà e utilizzano tale chiave finché non la si modifica. Solo chi effettua l'invio e i motori di ricerca devono conoscere la chiave e la posizione del file della chiave.

La proprietà può essere verificata in due modi.

Opzione 1
Ospitando un file di testo della chiave nella directory radice dell'host.

È necessario ospitare un file di testo della chiave con codifica UTF-8 {your-key}.txt che includa la chiave e si trovi nella directory radice del sito Web.

Nel caso dell'esempio precedente, sarà necessario ospitare il file della chiave UTF-8 in https://www.example.com/.txt e tale file deve contenere la chiave

Opzione 2
Ospitando un file di testo della chiave nell'host.

È inoltre possibile ospitare più file di testo della chiave con codifica UTF-8 in altre posizioni all'interno dell'host. In questo caso, è necessario comunicare ai motori di ricerca la posizione di ogni file di testo della chiave in una notifica IndexNow specificando la posizione tramite la variabile keyLocation.

Se si invia un URL, specificare la posizione del file della chiave come valore del parametro dell'URL keyLocation.

                    https://<searchengine>/indexnow?url=http://www.example.com/product.html&key=&keyLocation=http://www.example.com/myIndexNowKey63638.txt
                

Se si invia un gruppo di URL, specificare la posizione del file della chiave come variabile keyLocation nel contenuto JSON.

                    POST /indexnow HTTP/1.1
                    Content-Type: application/json; charset=utf-8
                    Host: <searchengine>
                    {
                      "host": "www.example.com",
                      "key": "",
                      "keyLocation": "https://www.example.com/myIndexNowKey63638.txt",
                      "urlList": [
                          "https://www.example.com/url1",
                          "https://www.example.com/folder/url2",
                          "https://www.example.com/url3"
                          ]
                    }
                

In questa seconda opzione la posizione del file della chiave determina il gruppo di URL che può essere incluso nella chiave. Un file della chiave posizionato in http://example.com/catalog/key12457EDd.txt può includere qualsiasi URL che inizia con http://example.com/catalog/ ma non può includere URL che iniziano con http://example.com/help/.

Esempi di URL considerati non validi in http://example.com/catalog/sitemap.xml sono:

È possibile che gli URL non validi nell'opzione 2 non vengano considerati per l'indicizzazione. È consigliabile utilizzare l'opzione 1 e posizionare il file della chiave nella directory radice del server Web.

Response format


HTTP Code
Response
Reasons
200
OK
URL submitted successfully
202
Accepted
URL received. IndexNow key validation pending.
400
Bad request
Invalid format
403
Forbidden
In case of key not valid (e.g. key not found, file found but key not in the file)
422
Unprocessable Entity
In case of URLs which don’t belong to the host or the key is not matching the schema in the protocol
429
Too Many Requests
Too Many Requests (potential Spam)

Requirement for search engines


Search engines adopting the IndexNow protocol agree that submitted URLs will be automatically shared with all other participating search engines. To participate, search engines must have a noticeable presence in at least one market or be closely linked to the search market and make a significant contribution to the number of url submissions. Learn more