Protokol IndexNow

Aby se web zapojil do protokolu IndexNow u Seznamu, stačí umístit IndexNow klíč na web a začít zasílat změněné URL buď jednotlivě GET požadavkem, nebo hromadně POST požadavkem. V případě nejasností si prosím přečtěte odpovědi na nejčastější otázky k IndexNow.

IndexNow klíč

Chcete-li odesílat adresy URL, potřebujeme si ověřit, že jste vlastníkem webu, pro který odesíláte data. Pro ověření se použije speciální klíč. Ten je potřeba vygenerovat a umístit soubor, který jej obsahuje, na svůj web. Seznam.cz stáhne a zkontroluje klíč při správném požadavku na API. Validovaný klíč se následně drží v cache a nestahuje se s úplně každým dotazem. Nejvýše po 24 hodinách se znovu zkontroluje. Vygenerovat klíč si můžete snadno sami. Stačí pouze dodržet několik podmínek.

Požadavky na klíč

  • Podporováno je pouze kódování UTF-8.
  • Minimální počet znaků v klíči je 8, maximální je 128.
  • Klíč může obsahovat znaky a-z, A-Z, 0-9, -.
  • Použijte soubor TXT nebo jiný formát s textovými daty.
  • Soubor nesmí obsahovat značky HTML nebo data navíc jako například BOM.

Umístění klíče

Klíč může být umístěn v root webserveru nebo ve složce.

  1. Root adresář (doporučená možnost). V tomto případě musí mít soubor s klíčem název klíč+“.txt“. Například pro klíč „myIndexNowKey63638“ bude název a umístění souboru vypadat takto: https://www.example.com/myIndexNowKey63638.txt
  2. Ve složce vašeho webu. V případě této možnosti musíte v každém požadavku API odeslat umístění souboru v proměnné keyLocation. Požadavek s klíčem může obsahovat pouze stránky umístěné ve stejném adresáři a podadresáři jako klíč. Soubor klíče umístěný například na URL https://example.com/catalog/key12457EDd.txt lze použít pro odeslání URL začínajících https://example.com/catalog/, ale nelze s ním odesílat adresy URL začínající https://example.com/help/.

Odeslání jedné stránky

Chcete-li odeslat jednu URL adresu pomocí požadavku HTTP, zadejte svůj požadavek na následující adresu URL:

https://search.seznam.cz/indexnow?url=url&key=klic
GET https://search.seznam.cz/indexnow
 ? url=<String>
 & key=<String>
 & [keyLocation=<String>]

Kde:

  • url je adresa URL vašeho webu, která byla přidána, aktualizována nebo odstraněna. Adresa URL musí být URL-escaped a zakódována. Dále se ujistěte, že vaše adresy URL odpovídají standardu RFC-3986 pro identifikátory URI.
  • keyLocation je URL uložení vašeho klíče.
HTTP/1.1 200 Ok
Content-Type: text/plain; charset=utf-8

Tabulka ostatních návratových kódu (API vrací text v angličtině):

KódDůvodPopis
403Špatný klíčKlíč se nepodařilo načíst nebo neodpovídá adresám URL uvedeným v požadavku.
405Metoda není povolenaJsou podporovány metody GET a POST.
422Nevalidní parametr urlPožadavek obsahuje neplatnou adresu URL, nebo předaný klíč není vhodný pro jeho zpracování.
422Nevalidní parametr key locationParametr keyLocation je zadán nesprávně.
422Klíč musí mít alespoň 8 znakůKlíč musí mít alespoň 8 znaků.
422Klíč obsahuje více než 128 znakůKlíč obsahuje více než 128 znaků.
422Klíč se musí skládat poze ze znaků a-z, A-Z, 0-9 nebo Klíč obsahuje neplatné znaky.
422Nebyl poskytnut žádný klíčV požadavku chybí klíč.
422Nebyla zadána žádná adresa URLV požadavku chybí parametr url.
429Příliš mnoho požadavkůByl překročen počet požadavků na jednu IP adresu.

Odeslání více stránek jedním požadavkem

Chcete-li odeslat více URL adres pomocí požadavku HTTP, zadejte svůj požadavek na následující adresu URL:

POST https://search.seznam.cz/indexnow
POST /indexnow HTTP/1.1
Content-Type: application/json; charset=utf-8
Host: search.seznam.cz
{ 
  "host": "www.example.com",
  "key": "08010cc4059241279956c149500d1af1",
  "keyLocation": "https://www.example.com/myIndexNowKey63638.txt",
  "urlList": [ 
    "https://www.example.com/url1",
    "https://www.example.com/folder/url2",
    "https://www.example.com/url3"
  ]
 }

Kde:

ParametrTypVyžadovánoPopis
hostŘetězecAnoURL vaší stránky
keyŘetězecAnoKlíč pro verifikaci
keyLocationŘetězecNeUmístění klíče na serveru
urlListPoleAnoSeznam URL adres
HTTP/1.1 200 Ok
Content-Type: text/plain; charset=utf-8

Tabulka ostatních návratových kódu (API vrací text v angličtině):

KódDůvodPopis
400Špatné parametryV požadavku byly odeslány nesprávné parametry.
403Špatný klíčKlíč se nepodařilo načíst nebo neodpovídá adresám URL uvedeným v požadavku.
405Metoda není povolenaJsou podporovány metody GET a POST.
422Nevalidní parametr urlPožadavek obsahuje neplatnou adresu URL nebo předaný klíč není vhodný pro jeho zpracování.
422Nevalidní parametr key locationParametr keyLocation je zadán nesprávně.
422Klíč musí mít alespoň 8 znakůKlíč musí mít alespoň 8 znaků.
422Klíč obsahuje více než 128 znaků.Klíč obsahuje více než 128 znaků.
422Klíč se musí skládat poze ze znaků a-z, A-Z, 0-9 nebo Klíč obsahuje neplatné znaky.
422Nebyl poskytnut žádný hostV požadavku chybí host.
422Nebyl poskytnut žádný klíčV požadavku chybí klíč.
422Nebyla zadána žádná adresa URLV požadavku chybí parametr url.
422Ne více než 10 000 URLParametr urlList obsahuje více než 10 000 adres URL.
422Url list musí být poleChybí parametr urlList nebo se nejedná o pole.
422Url list je prázdnýParametr urlList je prázdný.
422Url list musí obsahovat řetězceParametr urlList musí obsahovat pouze řetězce.
429Příliš mnoho požadavkůByl překročen počet požadavků na jednu IP adresu.

Tip

Nejčastější dotazy

Je omezený počet požadavků na API?

Celkový počet požadavků není omezen, operativně jsou aplikována omezení v případě velkého množství požadavků v jeden okamžik.

Mohu posílat URL která vrací 404, 301 a 302?

Ano můžete.

Jak poznám, že vyhledávač obdržel informaci v pořádku?

IndexNow API zajišťuje pouze předání informace vyhledávači, že se na vložených URL nachází nový obsah, nezaručuje reakci vyhledávače na tuto novou informaci. Korektní předání informace vyhledávači přes IndexNow API se pozná podle návratového kódu API „HTTP 200 OK“.

Je IndexNow API plnohodnotnou náhradou funkce "Přidat stránku do hledání" ze Seznam Webmastera?

IndexNow API zajišťuje pouze předání informace vyhledávači, že se na vložených URL nachází nový obsah, nezaručuje reakci vyhledávače na tuto novou informaci. Funkce „Přidat stránku do hledání“ zaručuje, že pokud lze vloženou stránku indexovat, bude do indexu zařazena se zpožděním několik minut po požadavku na přidání URL. Zároveň je funkce „Přidat stránku do hledání“ kapacitně omezená denní kvótou na počet přidaných URL.

Pokud chci oznámit změnu obsahu na URL více vyhledávačům, musím notifikovat IndexNow API každého z nich?

Ne, stačí notifikovat jeden vyhledávač pomocí IndexNow API, ten s minimálním zpožděním požadavek přepošle na všechny ostatní zapojené vyhledávače.

Existuje testovací prostředí?

Ne, testovací prostředí pro protokol IndexNow neexistuje. Můžete se opírat rovnou do produkčního API.