Documentación

Enviar una dirección URL


Para enviar una URL mediante una solicitud HTTP ( sustituye por la URL proporcionada por el motor de búsqueda), envía tu solicitud a la siguiente URL:

                https://<searchengine>/indexnow?url=url-changed&key=your-key
            
  • url-changed es una URL de tu sitio web que se ha agregado, actualizado o eliminado. La URL debe estar codificada y tener un identificador de escape de URL. Asegúrate de que tus URL siguen el estándar RFC-3986 para los URI.
  • La clave debe tener un mínimo de 8 y un máximo de 128 caracteres hexadecimales. La clave solo puede contener los siguientes caracteres: minúsculas (a-z), mayúsculas (A-Z), números (0-9) y guiones (-).

Por ejemplo, si quieres notificar a los motores de búsqueda que https://www.example.com/product.html se ha actualizado, y quieres utilizar esta clave , tu URL será:

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

Puedes realizar la solicitud HTTP con tu explorador, wget, curl o cualquier otro mecanismo de tu elección. Una solicitud satisfactoria devolverá un código de respuesta HTTP 200. Si recibes una respuesta diferente, asegúrate de que no haces demasiados envíos y de que la clave y la URL son válidas, y vuelve a enviar la solicitud. El código de respuesta HTTP 200 solo indica que el motor de búsqueda ha recibido tu URL.

Enviar un conjunto de direcciones URL


Para enviar un conjunto de URL con una petición HTTP, emite su solicitud POST JSON a la URL proporcionada por los motores de búsqueda. Sustituye por el nombre de host del motor de búsqueda.

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

Puedes enviar hasta 10.000 URL por publicación, mezclando direcciones http y https si fuera necesario.

Puedes realizar la solicitud HTTP con wget, curl u otro mecanismo de tu elección. Una solicitud satisfactoria devolverá un código de respuesta HTTP 200; si recibes una respuesta diferente, deberás verificar tu solicitud y, si todo parece correcto, volver a enviarla. El código de respuesta HTTP 200 solo indica que el motor de búsqueda ha recibido tu conjunto de direcciones URL.

La forma recomendada consiste en automatizar el envío de direcciones URL en cuanto se agregue, se actualice o se elimine el contenido hasta cierto límite. Consulta las prácticas recomendadas para los contenidos generados por los usuarios en la página web de Preguntas frecuentes.

Verificar la propiedad a través de la clave


Para enviar las URL, tienes que "demostrar" la propiedad del host para el que se envían las URL alojando al menos un archivo de texto dentro del host. Una vez que envíe sus URL a los motores de búsqueda, estos rastrearán el archivo de claves para verificar la propiedad y utilizarán la clave hasta que la cambie. Solo tú y los motores de búsqueda deberíais conocer la clave y la ubicación de la clave de tu archivo.

Ofrecemos dos formas de verificar la propiedad.

Opción 1
Alojar un archivo de claves de texto en el directorio raíz de tu host.

Tienes que alojar un archivo de claves de texto codificado en UTF-8 {your-key}.txt que incluya la clave en el archivo en el directorio raíz de tu sitio web.

Por ejemplo, para los ejemplos anteriores, tendrás que alojar tu archivo de claves UTF-8 en https://www.example.com/.txt y este archivo debe contener la clave

Opción 2
Alojar un archivo de claves de texto en el host.

También puedes alojar uno o varios archivos de claves de texto codificados en UTF-8 en otras ubicaciones del mismo host y debes indicar a los motores de búsqueda la ubicación de este archivo de claves de texto en cada notificación de IndexNow especificando la ubicación mediante la variable keyLocation.

Si envías una URL, especifica la ubicación del archivo de claves como valor del parámetro de las URL de keyLocation.

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

Si envías un conjunto de direcciones URL, especifica la ubicación del archivo de claves como variable keyLocation en el contenido 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"
                          ]
                    }
                

En esta opción 2, la ubicación de un archivo de claves determina el conjunto de direcciones URL que pueden incluirse con esta clave. Un archivo de claves ubicado en http://example.com/catalog/key12457EDd.txt puede incluir cualquier URL que empiece por http://example.com/catalog/, pero no puede incluir direcciones URL que empiecen por http://example.com/help/.

Las URL que no se consideran válidas en http://example.com/catalog/sitemap.xml incluyen:

Las URL que no se consideren válidas en la opción 2 no se podrán tener en cuenta para la indexación. Lo más recomendable es que uses la opción 1 y que pongas tu archivo de claves en el directorio raíz de tu servidor 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