Documentação

Enviar uma URL


Para enviar uma URL usando uma solicitação HTTP (substitua pela URL fornecida pelo mecanismo de pesquisa), emita sua solicitação para a seguinte URL:

                https://<mecanismo_de_pesquisa>/indexnow?url=url-changed&key=your-key
            
  • url-changed é uma URL de seu site que foi adicionada, atualizada ou excluída. A URL deve ter escape de URL e codificação. Verifique se as URLs seguem o padrão RFC-3986 para URIs.
  • A chave deve ter no mínimo 8 e no máximo 128 caracteres hexadecimais. A chave só pode conter os seguintes caracteres: caracteres minúsculos (a-z), caracteres maiúsculos (A-Z), números (0-9) e traços (-).

Por exemplo, se você desejar notificar os mecanismos de pesquisa de que https://www.example.com/product.html foi atualizado e desejar usar esta chave , a URL será:

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

Você pode emitir a solicitação HTTP usando seu navegador, wget, curl ou qualquer outro mecanismo de sua escolha. Uma solicitação bem-sucedida retornará um código de resposta HTTP 200. Se você receber uma resposta diferente, verifique se não envia com muita frequência e se a chave e a URL são válidos e reenvie a solicitação. O código de resposta HTTP 200 indica apenas que o mecanismo de pesquisa recebeu a URL.

Enviar um conjunto de URLs


Para enviar um conjunto de URLs usando uma solicitação HTTP, emita a solicitação POST JSON para a URL fornecida pelos mecanismos de pesquisa. Substitua pelo nome do host do mecanismo de pesquisa.

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

Você pode enviar até 10.000 URLs por postagem, combinando URLs http e https, se necessário.

Você pode emitir a solicitação HTTP usando wget, curl ou outro mecanismo de sua escolha. Uma solicitação bem-sucedida retornará um código de resposta HTTP 200. Se receber uma resposta diferente, você deverá verificar a solicitação e, se tudo estiver certo, reenviá-la. O código de resposta HTTP 200 indica apenas que o mecanismo de pesquisa recebeu o conjunto de URLs.

A maneira recomendada é automatizar o envio de URLs assim que o conteúdo for adicionado, atualizado ou excluído até certo limite. Consulte as práticas recomendadas para conteúdo gerado pelo usuário nas Perguntas Frequentes.

Verificar a propriedade por meio da chave


Para enviar URLs, você deve "provar" a propriedade do host para o qual as URLs estão sendo enviadas, hospedando pelo menos um arquivo de texto no host. Depois que você enviar as URLs aos mecanismos de pesquisa, eles rastrearão o arquivo da chave para verificar a propriedade e usarão a chave até que você a altere. Apenas você e os mecanismos de pesquisa devem saber a chave e a localização da chave do arquivo.

Oferecemos duas maneiras de verificar a propriedade.

Opção 1
Hospedar um arquivo de chave de texto no diretório raiz do host.

Você deve hospedar um arquivo de chave de texto codificado em UTF-8 {your-key}.txt listando a chave no arquivo no diretório raiz de seu site.

Para os exemplos anteriores, você precisará hospedar o arquivo de chave UTF-8 em https://www.example.com/.txt e esse arquivo deverá conter a chave

Opção 2
Hospedar um arquivo de chave de texto em seu host.

Você também pode hospedar um ou vários arquivos de chave de texto codificados em UTF-8 em outros locais no mesmo host e deve informar aos mecanismos de pesquisa a localização desse arquivo de chave de texto em cada notificação IndexNow, especificando o local com a variável keyLocation.

Se você enviar uma URL, especifique o local do arquivo de chave como o valor de parâmetro de URLs keyLocation.

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

Se você enviar um conjunto de URLs, especifique o local do arquivo-chave como a variável keyLocation no conteúdo 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"
                          ]
                    }
                

Nessa opção 2, a localização de um arquivo de chave determina o conjunto de URLs que podem ser incluídas com essa chave. Um arquivo de chave localizado em http://example.com/catalog/key12457EDd.txt pode incluir qualquer URL começando com http://example.com/catalog/, mas não pode incluir URLs começando com http://example.com/help/.

URLs não consideradas válidas em http://example.com/catalog/sitemap.xml incluem:

URLs que não são consideradas válidas na opção 2 podem não ser consideradas para indexação. É altamente recomendável que você use a Opção 1 e coloque a chave do arquivo no diretório raiz de seu 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