Andersonův úhel
20 procent všech webových odpovědí „OK“, které AI získá, není v pořádku

Mé nedávné experimenty se stahováním dat z webu s pomocí AI mi ukázaly, jak výrazně se web stále více uzavírá. Hlavním důvodem tohoto ústupu je samozřejmě prudký nárůst stahování webových dat pomocí AI, jehož neutuchající poptávka po nových datech může vést až k výpadku domén.
Domény tak mají dobrou záminku udělat to, co mnohé z nich chtěly už dlouho: zpřístupňovat svůj obsah pouze přihlášeným uživatelům (ačkoli Googlebot má obvykle volný přístup). Facebook toto pravidlo zaváděl postupně a dokončil to v roce 2023; Twitter/X učinil totéž v témže roce. Reddit ho zavede později tento měsíc.
Díky tomu může doména o něco snáze dodržovat předpisy jednotlivých zemí týkající se prosazování věkových omezení, protože uživatel je již zaregistrován. Ještě důležitější je, že údaje o uživateli lze ukládat, využívat k místní analýze a – dovolují-li to místní zákony – prodávat datovým brokerům a společnostem zabývajícím se AI.
Jinde vzrostl počet opatření zaměřených přímo na ochranu před boty (nikoli na registraci uživatelů) meziročně o více než 58 %, podle společnosti Cloudflare. Rostoucí aktivita botů přirozeně vede webové stránky k tomu, aby důkladněji prověřovaly adresy VPN a proxy serverů, a mohly tak spolu s veškerým „škodlivým“ provozem zablokovat přístup i legitimním uživatelům.
Z vlastní zkušenosti mám pocit, že stále častěji narážím na odpovědi typu „přístup zablokován“ nebo na různé výzvy; někdy kvůli nim dokonce stránku, která je začne zobrazovat, opustím. Protože se ukázalo, že CAPTCHA zdi odrazují uživatele i potenciální zákazníky, lze si představit, pod jakým tlakem jsou vlastníci domén, když je i přes tuto nevýhodu zavádějí.

CAPTCHA ze stránky archive.is, jednoho z mnoha webů, které zavedly ověřovací výzvy, často v reakci na nadměrný počet automatizovaných (nikoli lidských) požadavků.
Všechna tato nová a zesílená omezení jsou částečně logistického rázu (protože ne všechny domény náporu odolají), často však také představují vyjednávací taktiku, která má zjistit, zda společnosti zabývající se AI nabídnou jednotlivě či společně nějakou formu odměny za všechna data, po nichž tak zoufale touží a která byla až dosud tak dlouho k dispozici zdarma.
Protože crawlery AI musí pracovat ve velkém měřítku, obvykle používají „bezhlavé“ instance Chromu v rámci frameworku Playwright. U stále většího počtu domén vám to dnes přinese chybu 403 („zakázáno“) (tedy: server ví, že jde o automatizovaný provoz, a posílá vás pryč):

Místní instalace changedetection.io se pokouší pravidelně kontrolovat web, ale webu nevyhovuje rozpoznaný prohlížeč používaný tímto frameworkem, a proto vrací odpověď 403 („Zakázáno“).
Cílem je získat odpověď klienta „200“ („OK“), i kdyby za ni člověk musel zaplatit pořádný balík provozovateli sítě rezidenčních proxy a spojit to s dalšími rozmanitými, ne zrovna poctivými triky, které nevyžadují lidský zásah.
Odpověď 200 je to nejlepší, co lze dostat; jinými slovy, žádný jiný kód odpovědi klientovi nenese pozitivnější signál. Není ani nejednoznačná: nikdy neznamená „skoro v pořádku“, „později to bude v pořádku“ ani „je to čím dál víc v pořádku“; znamená „v pořádku!“. Pokud něco není v pořádku, nejde o odpověď 200.
Dobrý den! Jděte pryč
Tato absence podrobnějšího rozlišení by však podle nové studie mohla výrazně zkreslovat datové soubory AI, statistické odhady i vykazování stavu „v pořádku“, přestože ve skutečnosti tomu tak není.
Studie* odhaduje, že přibližně pětina odpovědí v kategorii 200 neobsahuje žádný použitelný obsah stránky a místo něj poskytuje prázdné kostry webových stránek, výzvy CAPTCHA, omezení přístupu nebo náhradní stránky.
Studie uvádí:
„20,9 % stránek, které statický klient obdrží se stavovým kódem 200, neobsahuje hlavní obsah stránky: kostry aplikací, výzvy pro boty, blokovací stránky, chybové a zástupné stránky a částečný obsah.“
Netrpělivé automatizované systémy tak narážejí na problém způsobený vlastní jednoduchostí: odpověď „200“ lze považovat za úspěšné načtení, i když se při něm zobrazí pouze CAPTCHA zeď, paywall nebo jiná překážka.
Studie popisuje sedm typů obsahu, které často komplikují odpověď 200:

Sedm kategorií obsahu, který v odpovědi 200 rozhodně není „v pořádku“. Zdroj
Během tří dnů bylo v rámci studie otestováno 10 307 webových adres pomocí jednoduchého programu pro načítání webového obsahu i prohlížeče schopného načítat JavaScript. Odpovědi se klasifikovaly podle načteného obsahu, nikoli podle stavových kódů HTTP.
Největšími kategoriemi „nepoužitelných“ odpovědí 202 byly prázdné webové stránky a chybové či náhradní stránky, které dohromady představovaly více než dvě třetiny neúspěšných načtení.
Prázdná kostra webu může zobrazovat nabídky a navigaci, zatímco požadovaný článek nebo výpis produktů zůstane prázdný. V druhém případě se místo požadovaného obsahu může zobrazit nesouvisející stránka nebo domovská stránka. Obě situace však mohou získat stejný stavový kód HTTP 200 jako úspěšné načtení použitelného a užitečného obsahu.
Jako řešení studie doporučuje, aby nástroje pro načítání webového obsahu hlásily co se skutečně načetlo, místo aby spoléhaly na stavové kódy HTTP. Většinu neúspěšných načtení by totiž mohly odhalit jednoduché kontroly neobvykle krátkých stránek, podezřelých přesměrování a obsahu připomínajícího stránky, které neexistují.
Výpočetně náročnější nástroje založené na prohlížeči by se pak použily pouze v případech, kdy se zdá, že se stránka nenačetla správně. Evaluace AI by navíc mohly ověřovat, zda citované zdroje skutečně obsahují očekávané informace, místo aby předpokládaly, že odpověď HTTP 200 znamená úspěšné načtení obsahu.
Autor nové studie také upozorňuje, že pomocí základních kontrol délky stránky, přesměrování a podobnosti se stránkami, které neexistují, lze snadno odhalit přibližně 86 % nepoužitelných odpovědí. Stačí k tomu „jednoduché heuristiky“:

Srovnání strategií načítání webového obsahu: vykreslování pouze stránek označených jako podezřelé umožnilo získat o něco více použitelného obsahu (81,4 %) než vykreslování všech stránek (80,3 %), a přitom zkrátilo průměrnou dobu načítání z 20,6 na 5,8 sekundy na stránku.
Proč je tolik chybných odpovědí 200?
V komunitách vývojářů se v průběhu let vedly diskuse o tom, zda by chyba 202 („Přijato“) („Požadavek byl přijat, ale dosud nebyl dokončen“) nemohla pomoci rozlišit tyto požadavky se stavovým kódem 200, které „selhaly“. Kód 202 však ve skutečnosti nedokáže pokrýt všechny případy popsané v nové studii a žádný existující kód to nedokáže.
Studie se touto otázkou podrobně nezabývá, ale důvody, proč vlastníci domén povolují chybové odpovědi 200, by mohly stát za dalším zkoumáním v budoucích souvisejících studiích.
Jedním z důvodů může být, že cokoli jiného než 200 v podstatě znamená nějaký druh chybové stránky nebo překážky, včetně nejběžnější chyby 404 („nenalezeno“) – cílový obsah jednoduše chybí. Někteří uživatelé se domnívají, že nadměrný počet těchto chyb povede k postihům v SEO (a pravděpodobně i v GEO), Google to však popírá.
Google ve skutečnosti považuje chybné odpovědi 200 za „měkké“ chyby 404 a zjevně je pravděpodobněji hodnotí jako závažnější problém než běžné chyby 404, protože jde v podstatě o „klamavé“ výsledky, ať už úmyslné, nebo ne.
Posun citací
Pokud to celé působí jako hnidopišství, je třeba vzít v úvahu, že data běžně shromažďovaná (nebo jejichž shromažďování se někdo pokouší) pro trénování AI dosahují řádově petabajtů. Pokud je celá pětina těchto dat nespolehlivá nebo přímo klamavá, nelze následné důsledky snadno odmávnout jako jakousi „vedlejší nepřesnost“. Takové chybné odpovědi by naopak mohly významně a nepříznivě ovlivnit rozložení dat v datových sadách i výsledky trénování modelů AI na těchto datech.
Jedním z významných problémů spojených s chybnými odpověďmi 200 je například „posun citací“: odpověď vytvořená AI už není podložena webovou stránkou, která byla původně citována jako důkaz. Stránka se totiž mohla změnit, příslušný text mohl být odstraněn nebo odkaz nyní může vést jinam.
Nová studie zjistila, že zdánlivý posun citací vzrostl z 5,8 % na 21,9 %, pokud byly všechny odpovědi HTTP 200 považovány za úspěšná načtení, bez ohledu na jejich obsah.
To znamená, že by se mohlo mylně usoudit, že se zdroj změnil, zmizel nebo přestal podporovat tvrzení vytvořené AI, ačkoli se místo původního materiálu načetla pouze CAPTCHA, prázdná stránka nebo jiná překážka.
Stačí říct, že je vše v pořádku!
Problém ukázaly také testy s webovými adresami, které neexistovaly. Když webové stránky obdržely požadavky na náhodné, smyšlené cesty, 13,1 % těch, které odpověděly, vrátilo stav 200 („V pořádku“), přestože požadované stránky neexistovaly†.
„13,1 % webů, které odpověděly na test s náhodnou cestou, vrátilo stav 200 (S1 10,5 %, S2 13,3 %, S3 17,3 %, S4 13,7 %, S5 13,1 %). Každá taková odpověď je ze své podstaty měkkou chybou 404, ale ne každá to dává najevo.
„V rámci průzkumného rozboru 172 odpovědí soft 404 označil anotátor 98 za chybovou nebo náhradní stránku, 32 za prázdnou kostru a 28 za obsah: domovská stránka nebo výpis zobrazený na náhodné cestě působí jako běžná stránka.“
Závěr
Pokud by se problém podařilo rozpoznat na vyšší úrovni, IANA by teoreticky mohla vytvořit nový a vhodnější stavový kód HTTP, například [X] („Požadavek byl úspěšný, ale požadovaný obsah nebyl doručen“). Tento kód by sice přesně popisoval, co se děje, ale jeho použití by pochopitelně vyžadovalo, aby hostitel měl o transakci nepravděpodobně hluboký přehled.
Podobné kódy už existují, žádný z nich se však opravdu nehodí: 451 („Nedostupné z právních důvodů“) je nejednoznačný a poněkud znepokojivý (!); 206 („Částečný obsah“) je technicky výstižný, ale určený pro neúplná data (načítání); a překvapivě existující kód 203 („Neautoritativní informace“), který byl vytvořen v roce 1997 a s daným případem použití souvisí jen okrajově.
Nejbližším kandidátem je možná ve skutečnosti neintuitivně pojmenovaný kód 103 („Předběžná upozornění“), který signalizuje, že ještě nejsou načteny všechny zdroje dané adresy URL (to by však zjevně bylo hrubým nepochopením záměru tohoto kódu).
* Název: „Když odpověď 200 OK nestačí: Tichá selhání při agentním získávání webového obsahu.“ Upozorňujeme, že článek je zřejmě napsán především tak, aby byl strojově čitelný, možná pro dotazování pomocí umělé inteligence, a sám o sobě se nečte snadno.
† Omlouvám se za mechanickou citaci, ale celý článek je, jak už jsem poznamenal výše, napsán tímto způsobem, aby byl „strojově čitelný“, nikoli srozumitelný lidem, ačkoli není přímo předložen ve formátu JSON.
Poprvé zveřejněno ve středu 4. listopadu 2026












