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

Изпращане на единичен URL адрес


За да изпратите URL адрес чрез HTTP заявка (заменете с предоставения от търсачката URL адрес), изпратете заявката си на следния URL адрес:

                https://<searchengine>/indexnow?url=url-changed&key=your-key
            
  • url-changed е добавен, актуализиран или изтрит URL адрес на уеб сайта ви. URL адресът трябва да е URL кодиран и се погрижете URL адресите ви да следват стандарта RFC-3986 за URI.
  • Your-key трябва да има най-малко 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 адреса за една публикация, като при нужда можете да смесвате http и https URL адреси.

Можете да изпратите 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