Документація

Надсилання однієї URL-адреси


Щоб надіслати URL-адресу за допомогою запиту з HTTP (замініть на URL-адресу, надану пошуковою системою), надішліть свій запит на цю URL-адресу:

                https://<searchengine>/indexnow?url=url-changed&key=your-key
            
  • «url-changed» є URL-адресою вашого веб-сайту, який було додано, оновлено або видалено. URL-адреса має бути ізольованою й зашифрованою. Переконайтеся, що ваші URL-адреси відповідають стандарту RFC-3986 для URL-адрес.
  • Ваш ключ має складатися принаймні з 8 та щонайбільше з 128 символів шістнадцяткової системи числення. Ключ може містити лише такі символи: рядкові літери (a–z), великі літери (A–Z), числа (0–9) та риски (-).

Наприклад, якщо необхідно сповістити пошукову систему, що https://www.example.com/product.html було оновлено, та потрібно використовувати цей ключ , ваша URL-адреса буде такою:

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

Ви можете надіслати запит з HTTP за допомогою свого браузера, wget, curl чи будь-якого іншого механізму, який оберете. У разі вдалого запиту ви отримаєте відповідь із кодом HTTP 200; у разі отримання іншої відповіді, підтвердьте, що ви не надсилаєте запити занадто часто, а ключ і URL-адреса є дійсними, після чого повторно надішліть запит. Відповідь із кодом HTTP 200 означає лише, що пошукова система отримала вашу URL-адресу.

Надсилання набору URL-адрес


Щоб надіслати набір URL-адрес за допомогою запиту з HTTP, надішліть свій запит POST JSON на URL-адресу, надану пошуковими системами. Замініть іменем хоста пошукової системи.

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

Надіслати можна щонайбільше 10 000 URL-адрес у кожному дописі, чергуючи в разі потреби URL-адреси з http та з https.

Ви можете надіслати запит з HTTP за допомогою wget, curl чи іншого механізму, який оберете. У разі вдалого запиту ви отримаєте відповідь із кодом HTTP 200; у разі отримання іншої відповіді, перевірте свій запит та чи все зроблено правильно, і повторно надішліть свій запит. Відповідь із кодом HTTP 200 означає лише, що пошукова система отримала ваш набір URL-адрес.

Рекомендується використовувати автоматичне надсилання URL-адрес відразу після додавання, оновлення або видалення контенту з певним обмеженням; у розділі із запитаннями й відповідями наведено рекомендації щодо контенту, створеного користувачем.

Підтвердження права власності за допомогою ключа


Щоб надіслати URL-адреси, необхідно «довести» право власності на хост, для якого надсилаються URL-адреси, шляхом розміщення на хості принаймні одного текстового файлу ключа. Після надсилання до пошукової системи своєї URL-адреси пошукова система виконає обхід файлу ключа для підтвердження права власності й використовуватиме ключ, доки ви його не зміните. Ваш ключ і розташування вашого файлу ключа мають бути відомі лише вам і пошуковій системі.

Ми пропонуємо два способи підтвердження права власності.

Варіант 1
Розміщення текстового файлу ключа в кореневому каталозі свого хоста.

Вам необхідно розмістити зашифрований у форматі UTF-8 текстовий файл ключа {your-key}.txt, зазначивши ключ у файлі в кореневому каталозі свого веб-сайту.

Зокрема, для попередніх прикладів необхідно буде розмістити ваш файл ключа у форматі UTF-8 за адресою: https://www.example.com/.txt, і цей файл має містити ключ

Варіант 2
Розміщення текстового файлу ключа на своєму хості.

Також ви можете розмістити один зашифрований у форматі UTF-8 текстовий файл ключа або декілька таких файлів в іншому місці розташування на тому самому хості; вам необхідно повідомляти пошуковим системам розташування цього текстового файлу ключа в кожному сповіщенні IndexNow, зазначаючи розташування за допомогою змінної keyLocation.

Якщо ви надсилаєте URL-адресу, укажіть розташування файлу ключа як значення параметра URL-адрес keyLocation.

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

Якщо ви надсилаєте набір URL-адрес, зазначте розташування файлу ключа як змінну keyLocation у вмісті 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"
                          ]
                    }
                

Для варіанта 2 розташування файлу ключа визначає набір URL-адрес, який може бути включеним із цим ключем. Файл ключа, розташований за адресою: http://example.com/catalog/key12457EDd.txt, може включати будь-які URL-адреси, що починаються з http://example.com/catalog/, проте не може включати URL-адреси, що починаються з http://example.com/help/.

До URL-адреси, які не вважаються дійсними для http://example.com/catalog/sitemap.xml, належать:

URL-адреси, які не вважаються дійсними для варіанта 2, можуть не підлягати індексуванню. Наполегливо рекомендується використовувати варіант 1 і розташовувати файл ключа в кореневому каталозі свого веб-сервера.

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