Metodika

Jak měříme?

Nejsme nezávislá autorita. Jsme webová agentura, která zveřejnila, jak měří. A stejným metrem měří i vlastní weby, včetně těch, které zrovna propadají.

Váhy srážek jsou náš úsudek. Jiná agentura by je nastavila jinak a taky by to byl úsudek. Proto je zveřejňujeme všechny, u každé kontroly s důvodem a zdrojem, a necháváme vás, ať si je zkontrolujete.

Měřím všem stejným metrem, ale kus mého úsudku je ve výsledku vždycky. Kde chybí jasný důkaz, rozhoduju sám, a to se nedá úplně vyloučit.

Proč tenhle nástroj vznikl?

Pro vlastní potřebu. Stavím a spravuju weby a potřeboval jsem jistotu, že mi na žádném neuteče chyba, která brání vyhledávání nebo ohrožuje návštěvníky. PageSpeed Insights na to nestačil: měří výkon, přístupnost, doporučené postupy a SEO, ale zákon, soukromí ani zabezpečení mezi jeho kategoriemi nejsou. Tak jsem si napsal kontroly vlastní. Dnes jich je 105 a projde jimi každý web, který sem napíšete.

I tam, kde kategorie sedí, umí být PageSpeed povrchní. Typický příklad: změří jen tu jednu adresu, kterou mu zadáte. Nepozná, jestli tatáž stránka nežije souběžně i jinde, třeba na verzi s www i bez www, nebo na http i https zároveň. Google v takovém případě signály k té stránce rozděluje mezi obě adresy místo aby je sečetl na jedné, a stránka se pak ve vyhledávání umísťuje hůř.

Stejná pravidla platí pro všechny. Vlastní weby výjimku nemají, a když některý propadne, opravuju web, ne pravidla.

Jak vzniká skóre

Skóre se skládá po oblastech. Každá oblast začíná na sto bodech a každý nález si z nich ukrojí svůj díl. Srážky se sčítají, takže pět problémů bolí víc než jeden a každá oprava se na čísle projeví. Kolik nález ukrojí, závisí na jeho váze v té oblasti: odhalená záloha databáze ukrojí víc než chybějící favikona.

Upozornění stojí polovinu toho co nález, protože „skoro v pořádku" nemá trestat stejně jako „vůbec". A protože se počítá podíl z toho, co je v oblasti k dispozici, jedna kontrola váží v malé oblasti víc než ve velké. Proto pod každým číslem píšeme i to, kolik kontrol z kolika prošlo.

Sečtěte srážky u jedné oblasti a dostanete přesně to, o kolik klesla pod sto. Žádný bod nezmizí bez nálezu, který ho vysvětlí.

Celkové skóre je vážený průměr oblastí. Neváží se stejně: kolik která nese, je v tabulce níž. Odpovídá to závažnosti kontrol, které v ní jsou. Odhalená záloha databáze nemůže vážit tolik co chybějící favikona.

U několika nálezů platí strop: skóre přes něj nemůže, ať je zbytek webu jakkoli vypiplaný. Jsou to případy, kdy by dobrá známka o webu lhala: veřejně stažitelný soubor s heslem k databázi, web bez HTTPS nebo stránka, která si zakazuje indexaci a nikdy se tedy neobjeví ve vyhledávání. Z 105 kontrol má strop jen 10.

U každého měření vypisujeme, kolik bodů se odečetlo a za co. Číslo, u kterého není vidět, jak vzniklo, působí svévolně, a to si nástroj hodnotící cizí práci dovolit nemůže.

Čím se která oblast podílí na skóre

Počítáno z registru kontrol, ne psáno ručně. Kdyby se to rozešlo s výpočtem, byla by to přesně ta vada, kterou nástroj hledá u jiných.

Zabezpečení 39 %
Vyhledatelnost 30 %
Výkon 13 %
Zákony a soukromí 9 %
Přístupnost 7 %
Doporučené postupy 2 %

Všechny kontroly a jejich váhy

105 kontrol v 6 oblastech. Sloupec „srážka" říká, kolik ze sta bodů dané oblasti nález ukrojí. Čísla se mezi oblastmi nesčítají, každá má vlastní stovku.

U 28 kontrol je místo čísla pomlčka a je to schválně: u nich nikdy netvrdíme chybu. Zvenčí totiž nepoznáme rozdíl mezi vadou a jiným řešením téhož. Vlastní lištu souhlasu nerozeznáme od chybějící a rozměry držené stylopisem nerozeznáme od chybějících. Takové kontroly umí nejvýš upozornit, ať si to ověříte sami. Co neumíme změřit, nevydáváme za nález.

U 3 kontrol je srážka podmíněná měřením. Zjistíme fakt, ale body strhneme jen tehdy, když se škoda opravdu projeví. Staré formáty obrázků ani řezy písma nesrážejí nic na stránce, která váží pár set kilobajtů. U takové kontroly je podmínka napsaná přímo ve sloupci se srážkou.

102 z 105 kontrol se opírá o normu, rozhodnutí úřadu nebo měření na velkém vzorku. U zbytku je ve sloupci napsané, že jde o náš úsudek. Raději to přiznáme, než abychom hledali zdroj na sílu.

Zabezpečení 34 kontrol
Co kontrolujeme Proč na tom záleží Srážka Čím je to doložené
Na webu je veřejně stažitelná záloha Záloha konfigurace obsahuje heslo k databázi, záloha databáze rovnou celý obsah webu i s údaji zákazníků. Stáhne ji kdokoli, kdo zná adresu. −10 OWASP A05 (chybná konfigurace) primární zdroj
Konfigurační soubor je veřejně přístupný Bývají v něm hesla k databázi a klíče ke službám. −10 Unit42 (Palo Alto): vyděračská kampaň systematicky stahující veřejné .env primární výzkum
Složka .git je veřejně přístupná Dá se z ní stáhnout celý zdrojový kód webu, včetně toho, co v něm kdy bylo. −10 Truffle Security: 4 500 z milionu nejnavštěvovanějších webů mělo přístupný .git měření na velkém vzorku
Web nemá zabezpečené spojení Prohlížeče u něj ukazují varování o nezabezpečeném spojení. To odradí návštěvníka dřív, než si přečte první větu. −10 Model srážek Mozilla HTTP Observatory nástroj třetí strany
Bezpečnostní certifikát je neplatný Prohlížeč před webem varuje přes celou stránku a většina lidí v tu chvíli odejde. Zabezpečené spojení je zároveň jedním ze signálů pro vyhledávače, takže to pravděpodobně stahuje i pozice ve výsledcích. −10 Prohlížeč u neplatného certifikátu zobrazí varovnou obrazovku a návštěvník musí klikat, aby pokračoval. Pravidla vydávání drží CA/Browser Forum. primární zdroj
Správa databáze je přístupná z internetu Přihlašovací stránka k databázi na veřejné adrese je pozvánka k hádání hesla. Uspět stačí jednou. −9 OWASP A05 (chybná konfigurace) primární zdroj
Zabezpečená stránka načítá část obsahu nezabezpečeně Prohlížeče takový obsah rovnou blokují, takže se část stránky návštěvníkovi vůbec nezobrazí. −8 MDN doslova: prohlížeče povyšují obrázky, video a zvuk z HTTP na HTTPS a „block insecure requests for all other resource types". Skript nebo styl se tedy nenačte vůbec. primární zdroj
Ladicí protokol je veřejně přístupný Bývají v něm cesty na serveru, dotazy do databáze a občas i části dat návštěvníků. −8 Dokumentace WordPressu popisuje předvídatelnou cestu k souboru, ale nevaruje před ní. Riziko je odvozené. náš úsudek
Na webu jsou veřejně přístupné soubory, které tam nepatří Prozrazují, na čem web běží a v jaké verzi. Útočník tak ví, kde hledat známou díru. −7 OWASP A05, příkladový scénář o nevypnutém výpisu složek primární zdroj
Web jde otevřít i nezabezpečeně Kdo napíše adresu bez https, zůstane na nezabezpečené verzi a jeho prohlížeč u ní může varovat. −7 Google řadí přechod na HTTPS mezi stěhování, které se řeší přesměrováním; prohlížeče u nešifrovaného spojení píší „Nezabezpečeno". Bez přesměrování jede návštěvník, který napíše adresu bez https, otevřeně. primární zdroj
Instalační stránka webu zůstala přístupná Za určitých okolností se přes ni dá web převzít. Po dokončení instalace je k ničemu. −7 Komunitní praxe, primární zdroj neexistuje. náš úsudek
Web dovolí komukoli číst svůj obsah cizím skriptem Nastavení, které mělo platit pro jednu službu, platí pro celý internet. −6 MDN a OWASP WSTG, citace o veřejném rozhraní primární zdroj
Certifikát vypršel Prohlížeče před webem varují a dovnitř pustí až po odklepnutí výstrahy. Většina lidí ji neodklepne a odejde. −6 Tatáž pravidla CA/Browser Fora. Certifikát po vypršení chová prohlížeč stejně jako neplatný. primární zdroj
Server místo stránky vypisuje obsah složky Návštěvník tak vidí seznam všech souborů včetně těch, které tam měly zůstat stranou. −4 OWASP A05, doslovně: „Directory listing is not disabled on the server." primární zdroj
Web prohlížeči neřekne, aby ho příště otevřel rovnou zabezpečeně První načtení tak proběhne nezabezpečeně, i když web https umí. Na cizí wifi je to ta chvíle, kdy jde spojení odposlechnout. −4 Srážka nahoře platí, selže-li tahle kontrola sama. Selže-li spolu s „Webu chybí část bezpečnostních nastavení" a „Web nemá nastavené, odkud smí načítat skripty" (společná příčina — nekonfigurovaný server), dostane jen jedna z nich plnou přirážku, ostatní poloviční — jedna příčina se netrestá vícekrát. Model srážek Mozilla HTTP Observatory nástroj třetí strany
Z webu jde vyčíst seznam přihlašovacích jmen Kdo zná jméno, má půlku přihlašovacích údajů a zbývá mu hádat heslo. −4 CVE-2017-5487, nahlášeno Mozillou na vlastním webu evidované zranitelnosti
Web nemá nastavené, odkud smí načítat skripty Když se do něj někdo dostane, může na něm spustit cizí kód a vy se to nedozvíte. −3 Srážka nahoře platí, selže-li tahle kontrola sama. Selže-li spolu s „Webu chybí část bezpečnostních nastavení" a „Web prohlížeči neřekne, aby ho příště otevřel rovnou zabezpečeně" (společná příčina — nekonfigurovaný server), dostane jen jedna z nich plnou přirážku, ostatní poloviční — jedna příčina se netrestá vícekrát. Model srážek Mozilla HTTP Observatory nástroj třetí strany
Webu chybí část bezpečnostních nastavení Jsou to nastavení, která dnes bere jako samozřejmost každý, kdo web převezme po někom jiném. −3 Srážka nahoře platí, selže-li tahle kontrola sama. Selže-li spolu s „Web nemá nastavené, odkud smí načítat skripty" a „Web prohlížeči neřekne, aby ho příště otevřel rovnou zabezpečeně" (společná příčina — nekonfigurovaný server), dostane jen jedna z nich plnou přirážku, ostatní poloviční — jedna příčina se netrestá vícekrát. Model srážek Mozilla HTTP Observatory nástroj třetí strany
Server má veřejně přístupnou stránku s vlastním nastavením Je z ní vidět, na čem web běží, v jakých verzích a kde má co uložené. Útočníkovi to ušetří většinu práce. −3 OWASP A05 (chybná konfigurace) primární zdroj
Poštovní servery nevědí, co s podvrženou zprávou vaším jménem Samotný SPF řekne, kdo smí odesílat. Teprve tenhle záznam řekne, že se podvržená zpráva má zahodit. −3 RFC 9989 (nahradilo 7489 v květnu 2026); požadavky Google a Yahoo z roku 2024 norma a provozovatel
Kdokoli může posílat e-maily jménem vaší domény Zákazník dostane fakturu s cizím číslem účtu, uvidí u ní vaše jméno a stěžovat si přijde za vámi. Zprávy z vaší domény navíc častěji padají do spamu. −3 RFC 7208; Google od 1. 2. 2024 vyžaduje SPF nebo DKIM pro odesílatele na Gmail norma a provozovatel
Podpis odchozí pošty jsme pod běžnými jmény nenašli Zkoušeli jsme {zkouseno} nejobvyklejších jmen selektoru a pod žádným podpis DKIM není. Jméno si přitom odesílající server volí libovolně, takže to podpis nevylučuje. — RFC 6376; požadavky Google a Yahoo z roku 2024. Selektor je libovolný řetězec a z DNS se nedá vyjmenovat, takže absence v našem seznamu jmen absenci podpisu nedokazuje. norma a provozovatel
Server s webem nesmí odesílat poštu jménem vaší domény Formulář na webu odesílá poptávky přímo ze serveru, na kterém web běží. Ten v záznamu SPF povolený není, takže poptávka u příjemce kontrolou neprojde a končí ve spamu. Nikdo se to nedozví, odesílateli ani vám se nic nevrátí. — RFC 7208 a měření vlastní flotily z 2026-08-25: záznam poskytovatele nekryl ani jednu z pěti adres, na kterých weby běží. Že web odesílá poštu ze svého serveru, zvenčí nedokážeme, proto se chyba hlásí jen u webu s formulářem. norma a vlastní měření
Záznam SPF povoluje odeslání komukoli Končí pravidlem, které dovolí poslat e-mail vaším jménem z jakéhokoli serveru na světě. Vyjmenovaní odesílatelé před ním ztrácejí smysl. — RFC 7208 §5.1 k mechanismu all a §4.6.2 k výchozímu kvalifikátoru „+". norma
Záznam SPF si žádá víc dotazů, než kolik jich pošta zvládne Na vyhodnocení je povoleno {limit} dotazů do DNS, tenhle záznam jich potřebuje {dotazu}. Nad limitem se příjemce chová, jako by záznam vůbec nebyl. — RFC 7208 §4.6.4: limit deseti dotazů do DNS na jedno vyhodnocení, nad ním „permerror". norma
Doména má víc záznamů SPF a tím vlastně žádný Poštovní servery mají pro takový stav předepsáno chovat se, jako by záznam nebyl. Ochrana proti e-mailům podvrženým vaším jménem tedy neplatí. — RFC 7208 §4.5: „If the resulting record set includes more than one record, check_host() produces the „permerror" result." norma
Web má otevřené staré rozhraní pro vzdálený zápis Jde přes něj hádat hesla ve velkém a zesilovat útok na cizí weby. Většina webů ho nepotřebuje. — Wordfence: kampaň cílící téměř milion webů (2020). Varuje dodavatel ochrany, ne WordPress sám. dodavatel ochrany
Pravidla pro skripty mají otevřená zadní vrátka Vrací přesně tu možnost, kvůli které se ta pravidla nastavují. Ochrana pak vypadá, že tam je, ale nechrání. — MDN (script-src) a OWASP CSP Cheat Sheet primární zdroj
Hlášení o zneužití domény míří tam, kde je nikdo nepřevezme Adresa pro hlášení je na doméně {prijemce} a ta k tomu nedala souhlas záznamem v DNS. Poštovní servery taková hlášení podle pravidel zahazují, takže se k vám nedostanou. — RFC 7489 §7.1, ověření externího příjemce hlášení záznamem „<doména>._report._dmarc.<příjemce>". norma
Doména nemá nastavené přijímání pošty Když je na webu kontaktní e-mail na téhle doméně, poptávky se tiše ztrácejí. Pokud máte poštu jinde, je všechno v pořádku. — RFC 5321 norma
Není určené, kdo smí pro doménu vydat certifikát Bez toho může certifikát pro vaši doménu vystavit kterákoli autorita na světě. — RFC 8659; CA/Browser Forum vyžaduje kontrolu od září 2017 norma
Ve zdroji stránky je napsaná verze redakčního systému Kdo hledá weby s konkrétní známou dírou, podle toho vybírá cíle. Neříká to nic o tom, jestli je verze zastaralá. — OWASP A05 (chybná konfigurace) primární zdroj
Server prozrazuje verze svého software Kdo hledá zranitelné weby, si podle toho vybírá cíle. — OWASP A05 (chybná konfigurace). Verze serveru v hlavičce útočníkovi napoví, co zkusit. primární zdroj
Na webu zůstal výchozí soubor WordPressu Verzi systému už neprozrazuje, jen to, že web na WordPressu běží. Není to díra, jen neuklizeno. — Od WordPressu 4.8.1 soubor verzi jádra neobsahuje (commit WordPress/WordPress@5edd9b0), proto hlásíme jen neuklizeno. primární zdroj
Zákony a soukromí 8 kontrol
Co kontrolujeme Proč na tom záleží Srážka Čím je to doložené
Web ukládá cookies hned při načtení Děje se to dřív, než návštěvník k čemukoli svolil. Úřad za tohle českým webům od roku 2023 uložil pokuty za čtyři a půl milionu korun. −31 ÚOOÚ: pokuty od roku 2023 celkem asi 4,5 milionu Kč, nejvyšší pravomocná 898 000 Kč rozhodnutí úřadu
Stránka spouští sledovací nástroje třetích stran Data o vašich návštěvnících tím odcházejí cizí firmě, obvykle mimo Evropu, a vy za to odpovídáte. −19 ÚOOÚ: pokuty za cookies od roku 2023 asi 4,5 milionu Kč. Sledovač spuštěný před souhlasem je totéž jednání; za lištou souhlasu je to jen doporučení. rozhodnutí úřadu
Písmo se načítá ze serverů Googlu Při každém načtení stránky se tam odešle adresa návštěvníka, aniž by o tom věděl. −9 Rozsudek LG München I. V ČR žádný případ není a rakouský soud vlnu výzev označil za zneužití práva, proto to nestrašíme. zahraniční rozsudek
Web sleduje návštěvníky, ale nikde se jich neptá Sledovací nástroje běží rovnou, bez souhlasu. Je to nejčastější důvod stížnosti na dozorový úřad. — ÚOOÚ: pokuty od roku 2023 celkem asi 4,5 milionu Kč rozhodnutí úřadu
Web nemá odkaz na zásady zpracování osobních údajů Návštěvník se nedozví, co se s jeho údaji děje. Jakmile web sbírá kontakty, je ta stránka povinná. — GDPR, článek 13: informační povinnost vůči tomu, jehož údaje zpracováváte. Odkaz na zásady je způsob, jak ji splnit. právní předpis
Cookies nemají nastavenou ochranu proti zneužití Chybí jim nastavení, které je schová před cizími skripty a pošle jen po zabezpečeném spojení. Hlídáme jen cookies ze serveru, ty od skriptů odsud vidět nejsou. — ÚOOÚ, příkaz čj. UOOU-02808/22-7 rozhodnutí úřadu
U formuláře chybí informace o zpracování údajů Kdo ho vyplňuje, netuší, kam jeho jméno a telefon půjdou a jak dlouho si je necháte. — GDPR, článek 13. Formulář sbírá údaje, takže u něj má být řečeno, kdo je zpracovává a proč. právní předpis
Cookies zůstávají v prohlížeči déle než rok Souhlas daný jednou tak platí déle, než na jak dlouho ho člověk dával. Doporučená hranice je třináct měsíců. — ÚOOÚ, příkaz čj. UOOU-02808/22-7: platnost cookie až dva roky označena za závadu rozhodnutí úřadu
Vyhledatelnost 28 kontrol
Co kontrolujeme Proč na tom záleží Srážka Čím je to doložené
Server posílá zákaz indexace v hlavičce Google stránku pravděpodobně nezaindexuje, i když v jejím kódu nic takového není. −14 Google: zákaz procházení není totéž co zákaz indexace primární zdroj
Stránka má zákaz indexace Google ji do výsledků pravděpodobně nedá vůbec. −14 Google: zákaz procházení není totéž co zákaz indexace primární zdroj
Soubor robots.txt zakazuje vyhledávačům celý web Google pak nemůže přečíst obsah žádné stránky. Adresa se ve výsledcích může objevit, ale bez popisu a bez toho, co nabízíte. Bývá to pozůstatek z testovací verze. −14 Google: zákaz procházení není totéž co zákaz indexace primární zdroj
Stránka říká, že originál je jinde Google pak ve výsledcích pravděpodobně ukáže tu druhou adresu místo téhle. Návštěvnost jde jinam. −13 Google Search Central: canonical je nápověda, ne příkaz, ale ukazuje-li na cizí stránku, Google zobrazí spíš ji. primární zdroj
Obsah stránky se skládá až v prohlížeči Vyhledávače i náhledy na sítích tak pravděpodobně uvidí prázdnou stránku. −11 Google doslova o app shell modelu, kde počáteční HTML obsah neobsahuje primární zdroj
Než se návštěvník dostane k obsahu, server ho několikrát přesměruje Zdržuje to načtení a vyhledávače to nemají rády. −8 Google Search Central: Googlebot jde nejvýš deset přesměrování za sebou, pak požadavek vzdá. Každý skok navíc zdrží i návštěvníka. primární zdroj
Web zakazuje vyhledávačům stáhnout soubory, bez kterých se stránka nevykreslí Google si stránku vykresluje jako prohlížeč. Co si kvůli tomu zákazu nesmí stáhnout, při vykreslení chybí, takže část obsahu nemusí vidět vůbec. −8 Google Search Central k potížím s JavaScriptem: co Googlebot kvůli robots.txt nestáhne, chybí ve vykreslené stránce a neindexuje se. primární zdroj
Mapa stránek je poškozená Google z ní pravděpodobně nic nevyčte, takže je to, jako by web mapu neměl. −8 Google Search Central: poškozenou sitemapu Google nepřečte, takže nápověda k obsahu webu chybí. primární zdroj
Web nemá mapu stránek Google si musí sám domyslet, co všechno na webu je. Novým stránkám to prodlouží cestu do výsledků. −7 Google Search Central: sitemapa je nápověda, Google ji nemusí ani stáhnout. Proto je srážka nízká (rešerše 2026-08-07). primární zdroj
Web žije na víc adresách zároveň Adresa s www a bez www, se zabezpečením i bez něj. Takových podob žije vedle sebe {kolik}. Vyhledávače je mohou brát jako samostatné weby, takže se odkazy z cizích webů rozpadnou mezi ně a vyhledávač si sám vybere, kterou z nich lidem ukáže. Čím víc podob, tím hůř. −6 Google Search Central o duplicitních adresách: „consolidate the signals they have for the individual URLs (such as links to them) into a single, preferred URL". Konsolidovat jde přesměrováním i kanonickým odkazem, rovnocenné to ale není. Přesměrování vyhledávač následuje, kanonický odkaz bere jako signál, který smí přebít jiným. Kontrola proto uznává přesměrování za vyřešené a sjednocení jen odkazem hlásí jako varování. primární zdroj
Odkaz na hlavní adresu stránky je zapsaný neúplně Část vyhledávačů ho tak nemusí pochopit. −5 Google Search Central o kanonických adresách. Relativní zápis se rozchází podle toho, odkud se stránka načte. primární zdroj
Strukturované údaje jsou poškozené Google z nich pravděpodobně nic nepřečte. −5 Dokumentace strukturovaných dat Google primární zdroj
Stránka nemá titulek Ve výsledcích vyhledávání se místo něj ukáže cokoli, co Google vybere sám. Na klikání to má velký vliv. −5 Google Search Central o titulcích: z titulku skládá odkaz ve výsledcích. Chybí-li, vezme text odjinud ze stránky. primární zdroj
Web nemá soubor robots.txt Není to chyba. Web jen přichází o možnost nasměrovat vyhledávače na mapu stránek. −4 Google Search Central o robots.txt. Soubor není povinný, hodí se hlavně jako ukazatel na sitemapu. primární zdroj
Stránka neříká, která adresa je ta hlavní Když je dostupná na víc adresách, Google si vybere sám a hodnocení se mezi ně rozdělí. −4 Google Search Central o konsolidaci duplicitních adres. Google zároveň píše, že určit kanonickou variantu není povinné, proto je srážka nejnižší možná. primární zdroj
Web neposílá vyhledávačům strukturované údaje o firmě Přichází tím o rozšířené zobrazení ve výsledcích, kde konkurence ukazuje hodnocení, ceny nebo otevírací dobu. −4 Dokumentace strukturovaných dat Google. Pozor: bohaté výsledky pro FAQ Google zrušil. primární zdroj
Stránka nemá hlavní nadpis Google i návštěvník pak hůř poznají, o čem stránka je. −2 Google Search Central: nadpisy bere jako jeden ze zdrojů odkazu ve výsledcích. Stránka bez hlavního nadpisu o sobě neříká, co je zač. primární zdroj
Tatáž stránka žije na víc adresách, aniž by je web sjednocoval Našli jsme {kolik} takových adres. Vyhledávače je mohou brát jako samostatné stránky, takže se odkazy rozpadnou mezi ně a vyhledávač si sám vybere, kterou ukáže. Čím víc adres, tím hůř. −2 Tentýž zdroj jako u dvou adres webu: Google konsoliduje signály do jedné preferované adresy a sjednotit je jde přesměrováním i kanonickým odkazem. Kontrola proto hlásí jen variantu, která odpoví, nepřesměrovává a kanonický odkaz nemá. primární zdroj
Stránka nemá popisek Ve výsledcích vyhledávání se místo něj ukáže náhodná věta z textu. Prodává za vás pak náhoda. −2 Ahrefs na 20 000 dotazech: Google popisek přepisuje v 62,8 % případů, Portent uvádí 68 až 71 %. Čtvrtina nejlépe umístěných stránek ho nemá vůbec. Proto mírná srážka. měření na velkém vzorku
Když někdo web sdílí na sítích, náhled bude prázdný nebo náhodný Sdílený odkaz vypadá jako spam a nikdo na něj neklikne. −2 Protokol Open Graph (ogp.me), který používají Facebook, LinkedIn i další. Bez značek si síť náhled poskládá sama. primární zdroj
Obrázek pro sdílení na sítích se nenačte Náhled zůstane prázdný, i když je jinak vyplněný. −1 Protokol Open Graph (ogp.me): obrázek, který se nenačte, znamená odkaz bez náhledu. primární zdroj
Web má víc jazykových verzí, ale neříká vyhledávačům, která komu patří Google pak může návštěvníkovi nabídnout špatnou jazykovou verzi. — Google Search Central: hreflang je cílení na jazyk a zemi, ne hodnoticí signál. Vadný zápis pošle člověka do špatné verze (rešerše 2026-08-07). primární zdroj
Titulek se ve výsledcích vyhledávání pravděpodobně nezobrazí celý Delší se utne uprostřed slova, kratší nechá místo ležet ladem. — Google Search Central: délka titulku neovlivňuje pozici, jen to, jestli se ve výsledcích zkrátí (rešerše 2026-08-07). primární zdroj
Stránka má víc hlavních nadpisů Pro čtečky i pro čtenáře je pak nejasné, co je na stránce hlavní. — Specifikace HTML víc nadpisů první úrovně připouští, styleguide Googlu doporučuje jeden na stránku. Vyhledávání to nesráží, jde o srozumitelnost. osvědčená praxe
Nadpisy přeskakují úrovně Struktura textu tím ztrácí logiku. — Struktura nadpisů podle specifikace HTML a WCAG 2.2. Přeskočená úroveň mate hlavně toho, kdo se po nadpisech orientuje. norma
Popisek je delší, než se ve výsledcích vejde Konec se utne uprostřed věty. — Tatáž měření jako u chybějícího popisku. Delší popisek se ve výsledku zkrátí, pozici to nemění. měření na velkém vzorku
Web nemá soubor llms.txt Je to návrh, který zatím žádný velký provozovatel AI nepodporuje. Uvádíme to pro pořádek, ne jako doporučení. — Zatím ho nepodporuje žádný provozovatel jazykového modelu. Proto je srážka nejnižší možná. doloženo jako absence
Náhled při sdílení na X bude jednodušší, než by mohl být Není to chyba, jen nevyužitá možnost. — Dokumentace karet sítě X. Náhledy dnes táhne hlavně Open Graph, proto je to jen informace. primární zdroj
Výkon 16 kontrol
Co kontrolujeme Proč na tom záleží Srážka Čím je to doložené
Stránka není připravená pro mobil Na telefonu se zobrazí zmenšená jako na počítači a text bude nečitelný. Většina návštěv dnes chodí z mobilu. −20 Google Search Central o mobilní verzi a MDN k meta viewport. Bez něj mobil vykreslí stránku v šířce plochy a zmenší ji. primární zdroj
Stránka stáhne hodně dat Ukrojí to znatelný kus datového tarifu a na horším signálu se stránka načítá viditelně dlouho. −17 Mediány velikosti stránky z HTTP Archive měření na velkém vzorku
Obrázky jsou v zastaralém formátu Ve formátu WebP by při stejné kvalitě vážily asi o třetinu míň, v AVIF ještě výrazně méně. Je to nejlevnější zrychlení, jaké web může dostat. −15 jen na těžší stránce Naměřená úspora WebP proti JPEG a PNG měření třetí strany
Server posílá soubory nezkomprimované Přenáší se tak několikanásobek dat, než je potřeba. Zapnout kompresi je jedno nastavení. −13 web.dev: úspory 65 až 86 %. Web Almanac 2024: Brotli poprvé předstihl gzip u skriptů. primární zdroj s čísly
Web stahuje i obrázky, které návštěvník možná nikdy neuvidí Zdržuje to načtení toho, co návštěvník opravdu vidí. −11 jen na těžší stránce Atribut loading="lazy" je součástí specifikace HTML a doporučuje ho web.dev. Obrázky mimo obrazovku se pak nestahují zbytečně. primární zdroj
Než se stránka vůbec ukáže, čeká na načtení souborů Návštěvník mezitím kouká na bílou obrazovku a neví, jestli se něco děje. −11 Prahy Core Web Vitals od Googlu primární zdroj
Web si vzhled dopočítává až v prohlížeči návštěvníka Než to doběhne, vidí návštěvník neostylovanou stránku, a stáhne přitom stovky kilobajtů navíc. Autor toho nástroje sám píše, že takhle se web provozovat nemá. −11 Dokumentace Tailwind CSS k CDN buildu: autor jej označuje za vývojářskou pomůcku a nedoporučuje pro provoz. primární zdroj
Stránka si sahá na cizí servery Když jeden z nich vypadne, zpomalí nebo shodí váš web, a vy s tím nic neuděláte. −11 web.dev o cizích doménách: každá další znamená vlastní DNS, TLS a spojení, než se stáhne první byte. primární zdroj
Web načítá hodně řezů písma Každý řez je další soubor ke stažení a další chvíle, kdy text bliká nebo poskočí. −9 jen na těžší stránce Web Almanac: medián 3 požadavky na fonty (data z roku 2019) měření na velkém vzorku
Stránka si vyžádá hodně samostatných souborů se styly a skripty Každý z nich je další čekání na odpověď serveru, hlavně na pomalém mobilním připojení. −7 Primární zdroj neexistuje, jde o komunitní práh. náš úsudek
Obrázky nemají zadané rozměry Obsah stránky se při načítání posouvá a lidé kliknou vedle. Na mobilu je to nejotravnější. −4 web.dev doslova: „Always include width and height size attributes on your images and video elements." Bez nich stránka poskakuje a kazí se Cumulative Layout Shift, kde je práh 0,1. primární zdroj s čísly
Na mobilu se web načítá pomalu Většina lidí tak dlouho nečeká. Odejdou dřív, než uvidí, co nabízíte. — Prahy Core Web Vitals od Googlu primární zdroj
Části stránky mají pevnou šířku Na úzkém displeji se nevejdou a člověk musí obsah posouvat do stran, aby si ho přečetl. Čteme šířky zapsané v kódu; jestli se stránka doopravdy vejde, se pozná až jejím zobrazením, a to neděláme. — MDN k meta viewport: pevná šířka v obsahu způsobí na mobilu vodorovné posouvání. Kontrola čte šířky zapsané v kódu, protože stránku nevykreslujeme; skutečné přetečení tedy najít neumí. Neumí to ani PageSpeed Insights, ze kterého Google audit šířky obsahu vyřadil. primární zdroj
Na počítači je web pomalejší, než by měl být Není to tak zásadní jako mobil, ale příčina bývá stejná. Ukazují ji nálezy níž. — Prahy Core Web Vitals od Googlu primární zdroj
Prohlížeč si nemá říct, jak dlouho si soubory pamatovat Stahuje je proto při každé návštěvě znovu, i když se nezměnily. Stálí zákazníci čekají pokaždé. — Web Almanac: 25,1 % odpovědí nemá ani Cache-Control, ani Expires (data z roku 2021) měření na velkém vzorku
Server komprimuje starším způsobem Novější komprese zmenší stránku zhruba o pětinu, aniž by se cokoli přepisovalo. — web.dev a HTTP Archive 2024 primární zdroj
Přístupnost 10 kontrol
Co kontrolujeme Proč na tom záleží Srážka Čím je to doložené
Obrázky nemají popis Kdo si web nechá přečíst nahlas, o jejich obsah přijde. Když je na obrázku cena nebo kontakt, nedozví se ho vůbec. −21 EN 301 549 a WCAG 2.2. Mikropodniky jsou z evropského zákona vyňaté, argumentujeme užitkem. norma
Stránka neříká, v jakém je jazyce Čtečky pro nevidomé ji pak čtou špatnou výslovností. −15 EN 301 549 a WCAG 2.2 norma
Odkazy neříkají, kam vedou Čtečka umí přečíst samotný seznam odkazů. Když je v něm pětkrát „klikněte zde", návštěvník se po webu neprojde. −15 EN 301 549 a WCAG 2.2 norma
Formulář nejde vyplnit poslepu Políčka nemají popisky, takže kdo web nevidí, nemá jak zjistit, co do kterého patří. Poptávku vám neodešle. — EN 301 549 a WCAG 2.2. Mikropodniky jsou vyňaté, argumentujeme užitkem. norma
Stránka zakazuje přiblížení prsty Kdo hůř vidí, si text na mobilu nezvětší a web pro něj skončil. Týká se to hlavně starších zákazníků, kteří mají peníze a čas. — WCAG 2.2, kritérium 1.4.4 Změna velikosti textu norma
Stránka nemá vyznačené hlavní oblasti Kdo ji prochází klávesnicí, se k obsahu nedostane zkratkou a musí projít vším odshora. Na každé stránce znovu. — EN 301 549 a WCAG 2.2 norma
Nadpisy přeskakují úrovně Kdo se po nich orientuje, ztrácí přehled o struktuře stránky. — EN 301 549 a WCAG 2.2 norma
Tabulky nemají označené hlavičky Čtečka pak předčítá holá čísla bez toho, co znamenají. U ceníku je výsledek nepoužitelný. — EN 301 549 a WCAG 2.2 norma
Chybí odkaz na přeskočení menu Kdo web ovládá klávesnicí, musí menu proklikat na každé stránce znovu. — WCAG 2.2, kritérium 2.4.1 Přeskočení bloků norma
Část textu je zapsaná pevnou velikostí Kdo si písmo v prohlížeči zvětší, tomu se nezvětší. — EN 301 549 a WCAG 2.2 norma
Doporučené postupy 9 kontrol
Co kontrolujeme Proč na tom záleží Srážka Čím je to doložené
Část obrázků se nenačte Místo obrázku zůstane prázdné místo nebo ikona rozbitého souboru. −32 Prázdné místo místo obrázku je vada pro návštěvníka, ne pro vyhledávač. 404 podle Googlu hodnocení nesráží. primární zdroj
Část odkazů vede na neexistující stránku Návštěvník skončí na chybové hlášce místo na stránce, kterou hledal. −32 Google doslova: „The fact that some URLs on your site no longer exist or return 404 errors does not affect how your site's other URLs perform in search results." Hodnocení tedy nesráží. Vadí to návštěvníkovi, který skončí ve slepé uličce, a odkaz z cizího webu na mrtvou adresu nepředá webu nic. primární zdroj
Kód stránky neprošel kontrolou W3C Chybný zápis si každý prohlížeč domýšlí po svém, takže se stránka může někde zobrazit jinak, než jste ji navrhli. −21 Měří přímo W3C Nu HTML Checker, tentýž nástroj, který pohání validator.w3.org, proti specifikaci HTML. Vypovídá o zápisu kódu, ne o pořadí ve vyhledávání. norma
Web nemá vlastní stránku pro neexistující adresy Kdo trefí špatnou adresu, uvidí holou chybu serveru a odejde. Vlastní stránka ho umí vrátit zpět. −16 Google Search Central: neexistující adresa má vracet kód 404 a nemá předstírat obsah (soft 404). Podoba té stránky je pak věc návštěvníka. primární zdroj
V kódu stránky jsou neuzavřené značky V některých prohlížečích se kvůli tomu může rozpadnout vzhled a nikdo vám to neřekne. −16 Specifikace HTML. Přesnější obrázek dává kontrola validity přes W3C, tahle je jen rychlý odhad z chyb parseru. norma
Stejný identifikátor je na stránce použitý víckrát Odkazy uvnitř stránky pak skáčou jinam, než mají, a odečítač obrazovky spáruje popisek s nesprávným polem. — Specifikace HTML: hodnota atributu id musí být v dokumentu jedinečná. Nikoli WCAG: kritérium 4.1.1 Parsing bylo z WCAG 2.2 vypuštěno. norma
Web zatím nemá adresu podle novějšího standardu IPv6 Internetových adres podle staršího standardu IPv4 dochází zásoba, tak vznikl IPv6. Váš web jede jen po tom starším. Návštěvník to nepozná, poskytovatelé připojení si to přeloží, a vyhledávače podle toho weby neřadí. — W3Techs: 31,1 % webů (8/2026), přes 50 % uživatelů (3/2026). Není to hodnoticí kritérium vyhledávačů. měření třetí strany
Web nemá ikonku V záložkách a na panelech prohlížeče pak vypadá nedodělaně vedle konkurence. — Google Search Central: „If your site has a favicon, it can be included in Google Search results for your site." Google zároveň píše, že se ikona ve výsledcích ukázat nemusí. primární zdroj
V textu jsou zbytky špatného kódování V textu se pak objevují nesmyslné znaky místo háčků a čárek. — Specifikace HTML ke znakovým entitám. Zbytky kódování se návštěvníkovi zobrazí jako nesmyslné znaky. norma

Proč se náš výkon liší od Googlu

Obě čísla se jmenují výkon, ale měří každé něco jiného. Když se rozejdou, není to spor o pravdu.

  • Google měří skutečné načtení. Stránku otevře v prohlížeči na přiškrceném připojení a na slabším telefonu a sleduje, kdy se objeví obsah a kdy začne reagovat. Je to měření zážitku v jedné konkrétní chvíli, takže při každém spuštění vyjde trochu jinak.
  • My se ptáme na to, z čeho je stránka postavená. Kolik samostatných souborů si vyžádá, jestli je server komprimuje, jak dlouho je nechá v paměti prohlížeče, v jakém formátu jsou obrázky, jestli mají zadané rozměry a kolik řezů písma se stahuje. To se při opakovaném měření nemění.

Proto může mít web slabé číslo od Googlu a dobré od nás, nebo naopak. Rychlý server zachrání i špatně postavenou stránku a dobře postavená stránka na pomalém hostingu naopak propadne. Naše čísla říkají, co s tím jde udělat; číslo od Googlu říká, jak to dnes dopadlo.

Číslo od Googlu se do našeho skóre nepočítá. Ukazujeme ho vedle svého hodnocení jako informaci navíc, ne jako jeho součást. Důvod je prostý: je to měření jedné konkrétní chvíle a při opakování vyjde pokaždé trochu jinak. Kdyby vstupovalo do skóre, dvě měření hodinu po sobě by dala jiné číslo, přestože se na webu nic nezměnilo. Stejný web a stejná pravidla musí dát stejné skóre.

Co neměříme

Jsme vzdálený nástroj. Vidíme jen to, co vidí prohlížeč při jednom načtení stránky, na server nevidíme. Přiznaná mez je poctivější než předstíraná úplnost.

  • Cookies, které nasadí až JavaScript. Vidíme jen ty, co přijdou ze serveru. U měření to říkáme nahlas.
  • Obsah za přihlášením. Měříme veřejnou stránku.
  • Kvalitu designu a textů. To je názor, ne měření.
  • Skutečnou návštěvnost. Na to jsou analytické nástroje.
  • Barevný kontrast a ovládání klávesnicí. Bez skutečného prohlížeče by z toho byly falešné nálezy, a u přístupnosti bolí falešný nález nejvíc.
  • Jestli je verze systému zastaralá. Poznáme, že je verze vidět. Tvrdit, že je stará, bychom bez seznamu verzí nemohli.

Kdy měření neplatí

Když se kontrola nedá provést, dostane stav přeskočeno a do skóre se nepočítá. Netváříme se, že je něco v pořádku, ani že to selhalo.

Stane se to hlavně u webů, které se skládají až v prohlížeči, a u měření, které zablokuje ochrana serveru. Zablokované měření je „nezměřeno", ne špatné skóre.

Několik kontrol je informativních: řeknou, jak na tom web je, ale do skóre nevstupují. Jsou to věci, u kterých není doloženo, že by měly na web vliv, třeba podpora IPv6 nebo doplňkové podrobnosti e-mailové autentizace (počet DNS dotazů SPF, počet záznamů, doručitelnost hlášení DMARC). Základní SPF, DKIM a DMARC do skóre naopak vstupují (od 2026-09-02): chybějící ochrana proti podvrženým e-mailům je reálné riziko, i když návštěvníka webu přímo neohrožuje. V tabulce výš mají informativní kontroly místo srážky pomlčku.

Jak se chováme k měřenému webu

  • Hlásíme se identifikovatelnou hlavičkou BlueOrcaAudit/1.0 s odkazem sem, aby nás firewall nemusel blokovat naslepo.
  • Posíláme jen požadavky na čtení veřejných adres. Nic nezkoušíme odesílat, nehádáme hesla a neobcházíme ochrany.
  • Jedno měření vyvolá řádově tolik požadavků jako jedna lidská návštěva.
  • Bezpečnostní nálezy u jmenovaného webu nikdy nezveřejňujeme. Vidí je jen ten, kdo měření spustil.
  • Jmenovitě uvádíme jen dobře hodnocené weby. Špatné hodnocení se ke jménu nepřipojuje.

Soubor robots.txt čteme a vyhodnocujeme jako jednu z kontrol. Měření spouští člověk na konkrétní adresu, nejde o robota procházejícího web.

Nechcete, abychom váš web měřili?

Vyřadíme ho a smažeme, co o něm máme uloženo, včetně historie měření. Platí to i preventivně, tedy na web, který jsme ještě neměřili.