Documentation

Soumettre une URL


Pour soumettre une URL à l’aide d’une requête HTTP (remplacer par l’URL fournie par le moteur de recherche), envoyez votre requête vers l’URL suivante :

                https://<searchengine>/indexnow?url=url-changed&key=your-key
            
  • url-changed est l’URL de votre site Web qui a été ajoutée, mise à jour ou supprimée. L’URL doit être une URL contenant une séquence d’échappement et encodée. Veillez à ce que vos URL respectent la norme RFC-3986 pour les URI.
  • Vous devez avoir 8 caractères hexadécimaux au minimum et 128 caractères hexadécimaux au maximum. La clé doit contenir uniquement les caractères suivants : caractères en minuscule (a-z), caractères en majuscule (A-Z), chiffres (0-9) et tirets (-).

Par exemple, si vous souhaitez signaler aux moteurs de recherche que la page https://www.exemple.org/product.html a été mise à jour et que vous souhaitez utiliser cette clé , votre URL sera la suivante :

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

Vous pouvez envoyer la requête HTTP à l’aide de votre navigateur, d’une commande wget, curl ou d’un autre mécanisme de votre choix. Une requête qui aboutit renverra un code de réponse HTTP 200 ; si vous recevez une autre réponse, vérifiez que vous ne l’envoyez pas trop souvent, que la clé et l’URL sont valides et soumettez à nouveau la requête. Le code de réponse HTTP 200 indique uniquement que le moteur de recherche a reçu votre URL.

Soumettre un ensemble d’URL


Pour soumettre un ensemble d’URL à l’aide d’une requête HTTP, envoyez votre requête POST en JSON vers l’URL fournie par les moteurs de recherche. Remplacez par le nom d’hôte du moteur de recherche.

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

Vous pouvez soumettre jusqu’à 10 000 URL par requête post, en combinant des URL http et https si nécessaire.

Vous pouvez envoyer la requête HTTP à l’aide d’une commande wget, curl ou d’un autre mécanisme de votre choix. Une requête qui aboutit renverra un code de réponse HTTP 200 ; si vous recevez une autre réponse, vérifiez votre requête et si elle semble correcte, soumettez-la à nouveau. Le code de réponse HTTP 200 indique uniquement que le moteur de recherche a reçu votre ensemble d’URL.

Il est recommandé d’automatiser la soumission des URL dès que le contenu est ajouté, mis à jour ou supprimé jusqu’à une certaine limite. Reportez-vous aux meilleures pratiques pour le contenu généré par les utilisateurs dans le forum aux questions.

Vérifier la propriété via la clé


Pour soumettre des URL, vous devez « prouver » la propriété de l’hôte pour lequel les URL sont soumises en hébergeant au moins un fichier texte au sein de l’hôte. Lorsque vous soumettez vos URL aux moteurs de recherche, ces derniers analysent le fichier de clé pour vérifier la propriété et utilisent la clé jusqu’à ce que vous la modifiiez. Seuls vous et les moteurs de recherche doivent connaître la clé et l’emplacement du fichier de clé.

Nous proposons deux moyens de vérifier la propriété :

Option 1
Héberger un fichier texte de clé dans le répertoire racine de votre hôte.

Vous devez héberger un fichier texte de clé encodé en UTF-8 {votre-clé}.txt indiquant la clé dans le fichier dans le répertoire racine de votre site Web.

Par exemple, pour les exemples précédents, vous devrez héberger votre fichier de clé en UTF-8 dans https://www.example.com/.txt et ce fichier doit contenir la clé

Option 2
Héberger un fichier texte de clé au sein de votre hôte.

Vous pouvez également héberger un ou plusieurs fichiers texte de clé encodés en UTF-8 dans d’autres emplacements au sein du même hôte, et vous devez indiquer aux moteurs de recherche l’emplacement de ce fichier de clé dans chaque notification IndexNow en spécifiant l’emplacement à l’aide de la variable keyLocation.

Si vous soumettez une URL, spécifiez l’emplacement du fichier de clé comme valeur de paramètre des URL keyLocation.

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

Si vous soumettez un ensemble d’URL, spécifiez l’emplacement du fichier de clé comme variable keyLocation dans le contenu 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"
                          ]
                    }
                

Dans cette option 2, l’emplacement d’un fichier de clé détermine l’ensemble d’URL pouvant être incluses avec cette clé. Un fichier de clé situé dans http://example.com/catalog/key12457EDd.txt peut inclure toutes les URL commençant par http://example.com/catalog/ mais ne peut pas inclure les URLs commençant part http://exemple.org/help/.

Les URL qui ne sont pas considérées comme étant valides dans http://example.com/catalog/sitemap.xml incluent les suivantes :

Les URL qui ne sont pas considérées comme étant valides dans l’option 2 peuvent ne pas être prises en compte pour l’indexation. Il est fortement recommandé d’utiliser l’option 1 et de placer le fichier de clé dans le répertoire racine du serveur 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)

Exigences pour les moteurs de recherche


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