# Be1st.ai | Slovník kontrol

> Kompletný slovník všetkých kontrol z Be1st.ai auditu.

Celkom 103 kontrol v 6 kategóriách.

## Webový Odtlačok (22)

26 detekcií technológií, obsahu a infraštruktúry

### F1 — CMS / Redakčný systém

**Čo to je:** Detekcia CMS platformy na základe meta tagov, HTML komentárov, štruktúry URL, cookies a špecifických skriptov. Rozpoznáva WordPress, Joomla, Drupal, Ghost, Wix, Squarespace, Webflow, Typo3, Nette, Laravel, Django, HubSpot, Stranka.sk, Webnode, Blogger a ďalšie.

**Prečo je to dôležité:** CMS je základ webovej infraštruktúry — určuje bezpečnostné riziká, výkonnosť, SEO možnosti a náklady na údržbu. WordPress má iné zraniteľnosti ako Webflow, e-shop na Shoptete vyžaduje inú optimalizáciu ako WooCommerce.

**Príklad z praxe:** Web s WordPress 6.x má prístup k tisícom pluginov ale vyžaduje pravidelné aktualizácie. Web na Webflow je bezúdržbový ale menej flexibilný. Fingerprint odhalí CMS aj keď prevádzkovateľ odstránil viditeľné značky.


---

### F2 — E-commerce platforma

**Čo to je:** Identifikácia e-commerce riešenia — Shoptet, PrestaShop, WooCommerce, Magento, OpenCart, Webareal, Shopify, Shoper, Upgates. Detekcia prebieha cez špecifické URL vzory, košíkové scripty, platobné integrácie a meta tagy.

**Prečo je to dôležité:** E-commerce platforma priamo ovplyvňuje konverzný pomer, rýchlosť načítania produktových stránok, SEO produktov a integrácie s marketplaces. Každá platforma má špecifické limity a optimalizačné možnosti.

**Príklad z praxe:** Shoptet má natívnu integráciu s Heureka.sk a Zboží.cz, zatiaľ čo WooCommerce vyžaduje pluginy. Magento zvládne milióny produktov ale je náročnejšie na hosting. Fingerprint identifikuje platformu aj verziu.


---

### F3 — JS / CSS frameworky + CDN

**Čo to je:** Detekcia JavaScript frameworkov (jQuery, React, Vue.js, Angular, Alpine.js, HTMX, Turbo, Stimulus, Svelte) s verziami, CSS frameworkov (Bootstrap, Tailwind, Bulma, Foundation) a CDN providerov (Cloudflare, CloudFront, Akamai, Fastly, jsDelivr).

**Prečo je to dôležité:** Tech stack určuje modernosť webu, výkonnosť a udržateľnosť. React 18 s Next.js je výkonnejší ako jQuery spaghetti kód. CDN provider ovplyvňuje latency a dostupnosť pre slovenských používateľov.

**Príklad z praxe:** Web používajúci React 18 + Next.js + Tailwind CSS cez Cloudflare CDN je moderný a rýchly. Web s jQuery 1.x + Bootstrap 3 bez CDN je zastaraný a pomalý. Fingerprint odhalí aj verzie, čo pomáha identifikovať bezpečnostné riziká.

#### Zdroje
- [HTTP Archive — Web Technology Report](https://httparchive.org/reports) — HTTP Archive

---

### F4 — Analytika & Marketing

**Čo to je:** Detekcia analytických a marketingových nástrojov — Google Analytics (GA4, UA), GTM, Facebook Pixel, Hotjar, Heureka, Sklik, Criteo, Google Ads, SmartSupp, Biano, Luigi's Box, CookieYes a ďalšie.

**Prečo je to dôležité:** Analytické nástroje ukazujú úroveň digitálnej vyspelosti firmy. Web bez GA4 nemá dáta o návštevníkoch. Prítomnosť remarketing pixelov indikuje aktívny onliné marketing. CookieYes naznačuje GDPR compliance.

**Príklad z praxe:** E-shop s GA4 + GTM + Facebook Pixel + Heureka sledovanie má sofistikovanú analytiku. Blog bez akejkoľvek analytiky nemá prehľad o návštevnosti. Fingerprint odhalí aj duplicitné alebo konfliktné tracking kódy.

#### Zdroje
- [Google Tag Manager](https://tagmanager.google.com/) — Google

---

### F5 — Platobné brány

**Čo to je:** Identifikácia platobných brán a metód — GoPay, Stripe, PayPal, Comgate, Tatrapay, Sporopay, CardPay, Dobierka, Bankový prevod. Detekcia cez JavaScript SDK, checkout URL vzory a formulárové elementy.

**Prečo je to dôležité:** Platobné metódy priamo ovplyvňujú konverzný pomer e-shopu. Slovenský zákazník očakáva kartu, bankový prevod a dobierku. Chýbajúce platobné metódy znamenajú stratené objednávky.

**Príklad z praxe:** E-shop s GoPay (karta + bankový prevod) + dobierkou pokrýva 90 % slovenských zákazníkov. Web len s PayPal stráca zákazníkov, ktorí nemajú PayPal účet. Stripe je preferovaný pre medzinárodné platby.

#### Zdroje
- [GoPay — Platobná brána](https://www.gopay.com/) — GoPay

---

### F6 — Fonty

**Čo to je:** Detekcia použitých fontov — Google Fonts (s extrakciou rodin), Adobe Fonts (Typekit), Font Awesome, Custom WOFF/WOFF2. Analýza počtu fontových rodín a ich vplyvu na výkonnosť.

**Prečo je to dôležité:** Fonty sú často najväčším blokerom renderingu stránky. Každá fontová rodina pridáva 50-200 KB na stiahnutie. Príliš veľa fontov spomaľuje LCP (Largest Contentful Paint) a zhoršuje Core Web Vitals.

**Príklad z praxe:** Web s 1-2 Google Fonts rodiny má optimálny loading. Web so 6+ rôznymi fontami a Font Awesome ikonami môže mať o 500ms+ pomalšie prvé renderovanie. Self-hosted WOFF2 fonty sú rýchlejšie ako Google Fonts CDN.

#### Zdroje
- [Google Fonts](https://fonts.google.com/) — Google

---

### F7 — CDN provider

**Čo to je:** Identifikácia CDN providera — Cloudflare, Fastly, Akamai, CloudFront, Google CDN. Detekcia cez HTTP hlavičky (cf-ray, x-cache, x-amz-cf-id), DNS záznamy a certifikáty.

**Prečo je to dôležité:** CDN dramaticky znižuje latency pre koncových používateľov. Web bez CDN servíruje obsah z jedného servera, čo znamená vyššiu latency pre vzdialených návštevníkov. Cloudflare navyše poskytuje DDoS ochranu a WAF.

**Príklad z praxe:** Web za Cloudflare má TTFB pod 100ms aj pre návštevníkov z iných kontinentov. Web na shared hostingu bez CDN môže mať TTFB 500ms+ pre zahraničných návštevníkov. CDN tiež znižuje záťaž na origin server.

#### Zdroje
- [Cloudflare — How CDN Works](https://www.cloudflare.com/learning/cdn/what-is-a-cdn/) — Cloudflare

---

### F8 — Hosting / Server info

**Čo to je:** Detekcia webového servera a reverse proxy — Nginx, Apache, LiteSpeed, IIS, Tomcat + verzia + rok release. Reverse proxy: Varnish, BigIP, HAProxy, Envoy, Traefik. Identifikácia cez Server header a špecifické hlavičky.

**Prečo je to dôležité:** Server softvér a jeho verzia ovplyvňujú výkonnosť a bezpečnosť. Zastaraná verzia Apache môže obsahovať známe zraniteľnosti. LiteSpeed je rýchlejší ako Apache pre PHP weby. Reverse proxy indikuje enterprise infraštruktúru.

**Príklad z praxe:** Web na Nginx 1.25 + Varnish cache má enterprise-grade infraštruktúru. Web na Apache 2.2 (EOL od 2018) je bezpečnostné riziko. Fingerprint odhalí presné verzie, čo pomáha pri security audite.

#### Zdroje
- [Netcraft — Web Server Survey](https://www.netcraft.com/) — Netcraft

---

### F9 — Klasifikácia typu webu

**Čo to je:** Heuristická klasifikácia webu na základe detekcií — e-shop, bazár, blog, fórum, sociálna sieť, agregátor, spravodajský portál, wiki, portfólio, katalóg, booking, SaaS, streaming. Využíva kombináciu CMS, e-commerce platforiem a obsahu.

**Prečo je to dôležité:** Typ webu určuje relevantné metriky a benchmarky. E-shop sa hodnotí inak ako blog — konverzný pomer vs. čas na stránke. Klasifikácia umožňuje porovnávanie s relevantnými konkurentmi v rovnakej kategórii.

**Príklad z praxe:** Web s WooCommerce + produktovými stránkami + košíkom je klasifikovaný ako e-shop. Web s WordPress + článkami bez produktov je blog. SaaS web má prihlasovaciu stránku, pricing a dokumentáciu.

#### Zdroje
- [Schema.org — WebSite Type](https://schema.org/WebSite) — Schema.org

---

### F10 — Sociálne siete

**Čo to je:** Detekcia odkazov na sociálne siete — Facebook, Instagram, Twitter/X, LinkedIn, YouTube, TikTok, Pinterest. Extrakcia URL adries z footer linkov, meta tagov (og:see_also) a JSON-LD.

**Prečo je to dôležité:** Prítomnosť sociálnych sietí indikuje digitálnu vyspelost a marketingovú stratégiu firmy. LinkedIn profil naznačuje B2B zameranie, TikTok naznačuje mladšiu cieľovku. Absencia sociálnych sietí môže signalizovať neaktívnu firmu.

**Príklad z praxe:** Firma s Facebook + Instagram + LinkedIn + YouTube má komplexnú sociálnu prítomnosť. E-shop len s Facebook stránkou využíva minimum kanálov. Fingerprint extrahuje presné URL pre každú platformu.

#### Zdroje
- [Open Graph Protocol](https://ogp.me/) — Open Graph

---

### C1 — Extrakcia viditeľného textu

**Čo to je:** Odstránenie HTML tagov, skriptov, štýlov a neviditeľných elementov — čistá textová reprezentácia stránky. Používa sa ako vstup pre kľúčové slová, embeddingy a AI analýzu.

**Prečo je to dôležité:** Čistý text je základ pre všetky obsahové analýzy. AI modely a vyhľadávače pracujú s textom, nie s HTML kódom. Kvalitná extrakcia odfiltruje navigačný šum a zachová len obsahovo relevantný text.

**Príklad z praxe:** Z HTML stránky e-shopu extrakcia odstráni menu, pätičku, cookie banner a ponechá produktový popis, parametre a recenzie. Tento čistý text sa potom použije na generovanie embeddingov a extrakciu kľúčových slov.

#### Zdroje
- [Google Search Essentials — Crawling](https://developers.google.com/search/docs/essentials) — Google

---

### C2 — Počet slov

**Čo to je:** Základná metrika dĺžky obsahu na analyzovanej stránke. Počíta slová v extrahovanom viditeľnom texte po odstránení HTML tagov a skriptov.

**Prečo je to dôležité:** Dĺžka obsahu koreluje s hĺbkou informácií a SEO výkonnosťou. Stránky s menej ako 300 slovami sú považované za 'thin content'. AI modely preferujú obsažnejšie zdroje pri generovaní odpoveďí.

**Príklad z praxe:** Produktová stránka s 50 slovami nemá dostatok informácií pre SEO ani AI. Článok s 1500+ slovami má väčšiu šancu rankovať v Google a byť citovaný v AI odpoveďíach. Optimálna dĺžka závisí od typu stránky.

#### Zdroje
- [Creating Helpful Content](https://developers.google.com/search/docs/fundamentals/creating-helpful-content) — Google

---

### KW1 — Kľúčové slová — extrakcia

**Čo to je:** Automatická extrakcia kľúčových slov z URL paths, H1, title, meta description, breadcrumbs, category tree a headings. Scoring: weight × log2(frequency + 1) × log2(product_count + 2).

**Prečo je to dôležité:** Kľúčové slová definujú tematické zameranie webu a sú základom pre SEO aj AI viditeľnosť. Automatická extrakcia odhalí, na aké témy sa web reálne zameriava — často odlišne od toho, čo si majiteľ myslí.

**Príklad z praxe:** E-shop s elektronikou má najsilnejšie kľúčové slová 'mobilný telefón', 'notebook', 'tablet'. Ak sa však v extrakcii objaví 'výpredaj' ako najsilnejšie slovo, web komunikuje skôr zľavy ako produkty.

#### Zdroje
- [Google SEO Starter Guide](https://developers.google.com/search/docs/fundamentals/seo-starter-guide) — Google

---

### KW2 — Kľúčové slová — kategorizácia

**Čo to je:** Zaradenie extrahovaných kľúčových slov do kategórií — produkt, služba, lokalita, brand. Pomáha pochopiť tematickú štruktúru webu a identifikovať medzery v obsahu.

**Prečo je to dôležité:** Kategorizácia kľúčových slov ukazuje, či web pokrýva všetky dôležité aspekty. E-shop by mal mať silné produktové kľúčové slová, lokálna firma lokálne. Medzery v kategóriách naznačujú chýbajúci obsah.

**Príklad z praxe:** Reštaurácia v Bratislave má silné produktové slová ('pizza', 'pasta') ale chýbajú lokálne ('Bratislava', 'Staré Mesto'). To znamená slabú lokálnu SEO viditeľnosť a nízku šancu na zobrazenie v AI odpoveďíach na lokálne dopyty.

#### Zdroje
- [Google SEO Starter Guide](https://developers.google.com/search/docs/fundamentals/seo-starter-guide) — Google

---

### SM1 — Sitemap existencia

**Čo to je:** Kontrola, či web má prístupný sitemap.xml alebo sitemap index na štandardných URL adresách (/sitemap.xml, /sitemap_index.xml). Overenie HTTP statusu a validity XML formátu.

**Prečo je to dôležité:** Sitemap je mapa webu pre vyhľadávače a AI crawlery. Bez sitemapy musia crawlery objavovať stránky cez linky, čo je pomalšie a menej spoľahlivé. Google aj AI boty používajú sitemapu na efektívne indexovanie.

**Príklad z praxe:** E-shop s 10 000 produktami bez sitemapy riskuje, že Google neobjaví 30-50 % produktových stránok. Web s aktuálnou sitemapou má všetky stránky indexované do 48 hodín od publikácie.

#### Zdroje
- [Sitemaps — Google Search Central](https://developers.google.com/search/docs/crawling-indexing/sitemaps/overview) — Google

---

### SM2 — Počet URL v sitemap

**Čo to je:** Spočítanie URL adries v sitemap — základ pre odporúčanie tier-u (FREE=1, BASIC=20, PRO=50+ URL). Analýza distribúcie URL naprieč subdoménami a sekciami.

**Prečo je to dôležité:** Počet URL určuje rozsah webu a odporúčaný tier auditu. Malý web s 5 URL potrebuje len základný audit, veľký e-shop s tisíckami produktov potrebuje PRO tier pre kompletnú analýzu.

**Príklad z praxe:** Osobný blog s 10 článkami spadá do BASIC tier-u. E-shop s 500 produktovými stránkami potrebuje PRO tier na analýzu všetkých URL. Počet URL v sitemap vs. reálny počet stránok odhalí problémy s indexáciou.

#### Zdroje
- [Sitemaps — Google Search Central](https://developers.google.com/search/docs/crawling-indexing/sitemaps/overview) — Google

---

### SM3 — Sitemap validita

**Čo to je:** Overenie formátu sitemap XML, správnosti URL adries a prístupnosti odkazovaných stránok. Kontrola lastmod dátumov, changefreq a priority atribútov.

**Prečo je to dôležité:** Nevalidná sitemap môže spôsobiť, že crawlery ju ignorujú. Nesprávne URL, chýbajúce namespaces alebo neplatné dátumy vedú k chybám pri indexácii. Aktuálne lastmod dátumy pomáhajú crawlerom efektívne re-crawlovať.

**Príklad z praxe:** Sitemap s URL smerujúcimi na 404 stránky signalizuje zanedbaný web. Sitemap bez lastmod dátumov neumožňuje crawlerom rozlíšiť nový a starý obsah. Validná sitemap s aktuálnymi dátumami zrýchľuje indexáciu.

#### Zdroje
- [Sitemaps XML Format](https://www.sitemaps.org/protocol.html) — sitemaps.org

---

### SSL1 — SSL certifikát — existencia

**Čo to je:** Overenie, či doména používa HTTPS s platným SSL/TLS certifikátom. Kontrola presmerovania z HTTP na HTTPS a správnosti certifikátu pre danú doménu.

**Prečo je to dôležité:** HTTPS je od roku 2018 požiadavka Google pre ranking. Prehliadače Chrome a Firefox zobrazujú varovanie 'Not Secure' pre HTTP weby. SSL je nevyhnutný pre dôveru používateľov a ochranu prenášaných dát.

**Príklad z praxe:** Web bez SSL má v prehliadači červené varovanie, čo okamžite odradí návštevníkov. E-shop bez HTTPS nemôže prijímať platby kartou. Všetky moderné weby musia mať platný SSL certifikát.

#### Zdroje
- [HTTPS as a Ranking Signal](https://developers.google.com/search/blog/2014/08/https-as-ranking-signal) — Google

---

### SSL2 — SSL certifikát — vydavateľ

**Čo to je:** Identifikácia vydavateľa SSL certifikátu — Let's Encrypt, DigiCert, Sectigo, GlobalSign, GeoTrust a ďalší. Typ certifikátu: DV (Domain Validation), OV (Organization Validation), EV (Extended Validation).

**Prečo je to dôležité:** Typ certifikátu indikuje úroveň overenia identity. DV (Let's Encrypt) overuje len vlastníctvo domény. OV a EV overujú aj organizáciu. Pre e-shopy a finančné služby je OV/EV certifikát signálom dôveryhodnosti.

**Príklad z praxe:** Banka s EV certifikátom (DigiCert) má najvyššiu úroveň overenia. Blog s Let's Encrypt DV certifikátom má základné šifrovanie. Oba sú bezpečné, ale EV poskytuje vyššiu dôveru pre citlivé transakcie.

#### Zdroje
- [Let's Encrypt — How It Works](https://letsencrypt.org/how-it-works/) — Let's Encrypt

---

### SSL3 — SSL certifikát — platnosť

**Čo to je:** Kontrola dátumu expirácie SSL certifikátu a počet dní do konca platnosti. Varovanie pri certifikátoch blížiacich sa k expirácii (menej ako 30 dní).

**Prečo je to dôležité:** Expirovaný SSL certifikát spôsobí, že prehliadač zablokuje prístup na web s chybovou stránkou. Automatická obnova (Let's Encrypt, Cloudflare) eliminuje toto riziko. Manuálne spravované certifikáty vyžadujú monitoring.

**Príklad z praxe:** Certifikát s platnosťou 340 dní je v poriadku. Certifikát s 5 dňami do expirácie vyžaduje okamžitú obnovú. Let's Encrypt certifikáty sa obnovújú automaticky každých 90 dní, komerčné certifikáty ročne.

#### Zdroje
- [SSL Labs — SSL Server Test](https://www.ssllabs.com/ssltest/) — Qualys

---

### EMB1 — Vektorové embeddingy

**Čo to je:** Generovanie 1024-dimenzionálnych vektorových embeddingov z extrahovaného textu pomocou BGE-M3 modelu cez OpenRouter. Vektorý sa ukladajú v pgvector databáze pre sémantické vyhľadávanie.

**Prečo je to dôležité:** Vektorové embeddingy umožňujú sémantické porovnávanie webov — nie podľa kľúčových slov, ale podľa významu obsahu. Dva weby s rôznymi slovami ale rovnakým zameraním budú mať podobné vektorý.

**Príklad z praxe:** E-shop s elektronikou a technologický blog o gadgetoch budú mať podobné embeddingy, aj keď používajú odlišnú terminológiu. Cosiné similarity medzi ich vektormi bude vysoká (>0.8), čo signalizuje obsahovú príbuznosť.

#### Zdroje
- [BGE-M3 — Multi-Lingual Multi-Granularity Embedding Model](https://huggingface.co/BAAI/bge-m3) — BAAI

---

### EMB2 — Podobnosť s konkurenciou

**Čo to je:** Cosiné similarity search v databáze embeddingov — nájdenie obsahovo najblížších webov v databáze Be1st.ai. Výsledok: TOP N najblížších domén s percentom podobnosti.

**Prečo je to dôležité:** Automatické nájdenie podobných webov odhalí konkurentov, o ktorých majiteľ nemusel vedieť. Pomáha tiež benchmarkovať web voči reálnej konkurencii namiesto subjektívneho odhadu.

**Príklad z praxe:** Slovenský e-shop s oblečením získa zoznam 5 najblížších webov z databázy — napr. ZOOT.sk (92%), About You (88%), Answear.sk (85%). Majiteľ tak zistí, s kým reálne súperí o zákazníkov v onliné priestore.

#### Zdroje
- [pgvector — Open-Source Vector Similarity Search for Postgres](https://github.com/pgvector/pgvector) — pgvector

---

## AI Pripravenosť webu (20)

20 kontrol pripravenosti na AI

### A1 — Organization schema

**Čo to je:** Overenie prítomnosti Organization schema markup, ktorý definuje základné informácie o firme — názov, logo, kontaktné údaje, sociálne siete a právnu formu. Tento markup vytvára digitálnu identitu organizácie.

**Prečo je to dôležité:** AI systémy používajú Organization schema na budovanie knowledge grafu o firme. Keď sa používateľ opýta ChatGPT alebo Google AI na vašu firmu, štruktúrované dáta zabezpečia presné a kompletné odpoveďe vrátane loga a kontaktov.

**Príklad z praxe:** Keď Google zobrazuje Knowledge Panel pre firmu ako Slovenská sporiteľňa, čerpá práve z Organization schema. Firmy bez tohto markup-u často nemajú Knowledge Panel alebo obsahuje nesprávne údaje prevzaté z tretích strán.

#### Zdroje
- [Local Business Structured Data](https://developers.google.com/search/docs/appearance/structured-data/local-business) — Google

---

### A2 — Product schema

**Čo to je:** Kontrola Product schema na produktových stránkach e-shopov a služieb. Obsahuje cenu, dostupnosť, hodnotenia a popis produktu v strojovo čitateľnom formáte. Pre ne-eshopy sa kontrola automaticky preskakuje (N/A).

**Prečo je to dôležité:** AI asistenti ako Google Shopping a ChatGPT plugins využívajú Product schema na porovnávanie produktov a generovanie odporúčaní. Bez tohto markup-u sa vaše produkty nezobrazujú v AI-driven nákupných výsledkoch.

**Príklad z praxe:** Amazon má Product schema na každej produktovej stránke, čo umožňuje Google zobraziť cenu, dostupnosť a hodnotenie priamo vo výsledkoch. E-shopy bez Product schema strácajú až 30% organického trafficu z nákupných dopytov.

#### Zdroje
- [Product Structured Data](https://developers.google.com/search/docs/appearance/structured-data/product) — Google

---

### A3 — FAQ schema

**Čo to je:** Overenie prítomnosti FAQ (Frequently Asked Questions) schema markup na stránkach s často kladenými otázkami. Pre stránky bez FAQ sekcie sa kontrola automaticky preskakuje (N/A).

**Prečo je to dôležité:** FAQ schema je priamy zdroj pre AI odpoveďe. Keď ChatGPT alebo Google AI Overviews hľadajú odpoveď na otázku, preferujú obsah označený FAQPage schema, pretože je už vo formáte otázka-odpoveď.

**Príklad z praxe:** Cloudflare má na svojich produktových stránkach FAQ schema, vďaka čomu sa ich odpoveďe zobrazujú priamo v Google výsledkoch ako expandovateľné otázky. Toto zvyšuje zaberaný priestor v SERP a CTR.

#### Zdroje
- [FAQ Structured Data](https://developers.google.com/search/docs/appearance/structured-data/faq) — Google

---

### A4 — Review/Rating schema

**Čo to je:** Overenie prítomnosti Review a AggregateRating schema na stránkach s hodnoteniami produktov alebo služieb. Pre weby bez recenzií alebo hodnotení sa kontrola automaticky preskakuje (N/A).

**Prečo je to dôležité:** AI modely využívajú Review schema ako signál dôveryhodnosti a kvality. Keď AI generuje odporúčania, uprednostňuje zdroje s overenými hodnoteniami a recenziami od reálnych používateľov.

**Príklad z praxe:** Booking.com používa AggregateRating schema na všetkých hoteloch, čo umožňuje Google zobraziť hviezdičkové hodnotenie priamo vo výsledkoch. Hotely s viditeľným ratingom majú o 25% vyššiu mieru preklikov.

#### Zdroje
- [Review Snippet Structured Data](https://developers.google.com/search/docs/appearance/structured-data/review-snippet) — Google

---

### A5 — AI bot policy

**Čo to je:** Analýza robots.txt a meta tagov pre AI crawlery (GPTBot, ClaudeBot, Google-Extended a ďalšie). Kontrola zisťuje, či web má explicitnú politiku pre AI boty, hodnotí jasnosť a zrozumiteľnosť pravidiel — či robots.txt obsahuje explicitné pravidlá pre každý AI crawler zvlášť, či existuje verejná stránka s vysvetlením politiky a či sú pravidlá konzistentné naprieč robots.txt a meta tagmi. Hodnotí aj strategický tradeoff — blokovanie AI botov môže chrániť obsah, ale znižuje AI viditeľnosť.

**Prečo je to dôležité:** Strategické riadenie prístupu AI botov je kľúčové. Úplné blokovanie znamená, že vaša firma nebude existovať v AI odpoveďíach. Naopak, úplné povolenie môže viesť k nežiaducemu trénovaniu na vašom obsahu bez kompenzácie. Nejasná AI bot politika vedie k nekonzistentnému správaniu crawlerov.

**Príklad z praxe:** The New York Times zablokoval GPTBot v robots.txt, čím ochránil svoj obsah pred trénovaním AI, ale stratil viditeľnosť v ChatGPT. Naopak Stripe povoľuje AI crawlery, pretože chce byť primárny zdroj informácií o platobných API.

#### Zdroje
- [Overview of OpenAI Crawlers](https://developers.openai.com/api/docs/bots) — OpenAI
- [Anthropic Web Crawler Policy](https://privacy.claude.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler) — Anthropic
- [AI Crawl Control](https://developers.cloudflare.com/ai-crawl-control/) — Cloudflare

---

### A6 — llms.txt existencia

**Čo to je:** Kontrola existencie súboru /llms.txt — nového štandardu, ktorý poskytuje AI modelom štrukturovaný prehľad o webe v Markdown formáte. Hodnotí sa len prítomnosť súboru — kvalita obsahu sa hodnotí v samostatnej kontrole A7.

**Prečo je to dôležité:** Súbor llms.txt je navrhnutý špeciálne pre LLM modely, aby rýchlo pochopili účel webu, jeho služby a štruktúru. Na rozdiel od robots.txt, ktorý riadi prístup, llms.txt aktívne pomáha AI porozumieť vášmu obsahu. Samotná existencia je silný signál, že web je AI-ready.

**Príklad z praxe:** Stripe má jeden z najlepších llms.txt súborov — obsahuje prehľad produktov, linky na dokumentáciu a API referencie. Vďaka tomu ChatGPT a Claude dokážu presné odpoveďáť na otázky o Stripe produktoch.

#### Zdroje
- [The /llms.txt File Specification](https://llmstxt.org/) — llmstxt.org
- [OpenAI llms.txt Documentation](https://developers.openai.com/api/docs/llms.txt) — OpenAI

---

### A7 — llms.txt kvalita obsahu

**Čo to je:** Hodnotenie kvality obsahu súboru /llms.txt — dĺžka, popis webu, počet linkov na sekcie, prítomnosť .md odkazov a celková informatívnosť. Ak llms.txt neexistuje (A6=fail), táto kontrola je automaticky N/A.

**Prečo je to dôležité:** Nestačí mať len prázdny alebo minimálny llms.txt. AI modely potrebujú kvalitný obsah — popis webu, linky na kľúčové sekcie, .md verzie dokumentácie. Kvalitný llms.txt výrazne zvyšuje presnosť AI odpoveďí o vašom webe.

**Príklad z praxe:** OpenAI má na developers.openai.com/api/docs/llms.txt detailný prehľad s linkami na všetky API sekcie vrátane .md verzií. Nekvalitný llms.txt s jedným riadkom 'Toto je náš web' nepomáha AI modelom takmer vôbec.

#### Zdroje
- [The /llms.txt File Specification](https://llmstxt.org/) — llmstxt.org

---

### A8 — llms-full.txt (bonus)

**Čo to je:** Bonusová kontrola existencie súboru /llms-full.txt — rozšírenej verzie llms.txt s kompletným obsahom dokumentácie v jednom Markdown súbore. Táto kontrola nikdy nepenalizuje — ak súbor neexistuje, je hodnotená ako N/A a neovplyvňuje skóre.

**Prečo je to dôležité:** Súbor llms-full.txt umožňuje AI modelom načítať celú dokumentáciu v jednom requeste bez nutnosti crawlovať desiatky stránok. Toto dramaticky zrýchľuje pochopenie produktu a znižuje chybovosť AI odpoveďí. Keďže ide o špecifickú potrebu dokumentačných webov, kontrola funguje ako bonus — odmení weby, ktoré ho majú, ale netrestá tie, ktoré ho nemajú.

**Príklad z praxe:** OpenAI poskytuje llms-full.txt na developers.openai.com/api/llms-full.txt, ktorý obsahuje celú API dokumentáciu v jednom súbore. Konkurenčné AI služby tak môžu rýchlo indexovať OpenAI API bez crawlovania stoviek stránok.

#### Zdroje
- [The /llms.txt File Specification](https://llmstxt.org/) — llmstxt.org
- [OpenAI llms.txt Documentation](https://developers.openai.com/api/docs/llms.txt) — OpenAI

---

### A9 — BLUF (Bottom Liné Up Front)

**Čo to je:** Hodnotenie, či stránka prezentuje kľúčovú informáciu na začiatku obsahu — princíp BLUF. AI modely extrahujú odpoveďe prevažne z prvých odsekov, preto je umiestnenie hlavnej myšlienky na začiatok kritické.

**Prečo je to dôležité:** AI modely pri generovaní odpoveďí dávajú najväčšiu váhu prvým odsekom stránky. Ak je kľúčová informácia zakopaná v strede alebo na konci textu, AI ju môže prehliadnuť a použiť menej relevantnú informáciu.

**Príklad z praxe:** Wikipédia používa princíp BLUF na každom článku — prvý odsek vždy obsahuje definíciu a najdôležitejšie fakty. Preto AI modely tak často citujú Wikipédiu — kľúčová informácia je vždy na začiatku.

#### Zdroje
- [Creating Helpful Content](https://developers.google.com/search/docs/fundamentals/creating-helpful-content) — Google

---

### A10 — Content structure (lists, tables)

**Čo to je:** Analýza štruktúry obsahu — používanie odrážkových a číslovaných zoznamov, tabuliek a štruktúrovaných formátov. Dobre štruktúrovaný obsah so zoznamami a tabuľkami je ľahšie parsovateľný pre AI modely.

**Prečo je to dôležité:** AI modely spracúvajú štruktúrovaný obsah efektívnejšie ako súvislý text. Zoznamy umožňujú extrakciu bodových odpoveďí a tabuľky poskytujú porovnateľné dáta v prehľadnom formáte.

**Príklad z praxe:** Dokumentácia Cloudflare používa code bloky, zoznamy a tabuľky na každej stránke. Preto AI asistenti dokážu presné odpoveďáť na technické otázky o Cloudflare produktoch s konkrétnymi parametrami z tabuliek.

#### Zdroje
- [Google Search Essentials](https://developers.google.com/search/docs/essentials) — Google

---

### A11 — FAQ sekcia na stránke

**Čo to je:** Kontrola prítomnosti FAQ sekcie priamo v obsahu stránky (nielen schema markup). Pre stránky kde FAQ nemá zmysel (napr. kontaktná stránka) sa kontrola preskakuje (N/A).

**Prečo je to dôležité:** FAQ sekcie sú ideálnym zdrojom pre AI odpoveďe, pretože obsahujú páry otázka-odpoveď v prirodzenom jazyku. AI modely môžu tieto páry priamo použiť ako odpoveďe na používateľské dopyty.

**Príklad z praxe:** Shopify má na každej produktovej stránke FAQ sekciu s reálnymi otázkami zákazníkov. Tieto odpoveďe sa pravidelne zobrazujú v Google AI Overviews a ChatGPT, pretože presné zodpoveďájú bežným dopytom používateľov.

#### Zdroje
- [FAQ Structured Data](https://developers.google.com/search/docs/appearance/structured-data/faq) — Google

---

### A12 — Definície/glossary patterns

**Čo to je:** Detekcia definičných vzorov a slovníkových sekcií na stránke — napríklad formát 'Pojem: definícia', definičné zoznamy (dl/dt/dd) alebo dedikované glossary stránky. Pre stránky bez odbornej terminológie sa preskakuje (N/A).

**Prečo je to dôležité:** AI modely aktívne vyhľadávajú definície pojmov na budovanie znalostnej bázy. Stránky s jasne označenými definíciami sa stávajú autoritatívnym zdrojom pre AI pri vysvetľovaní odborných termínov.

**Príklad z praxe:** MDN Web Docs (Mozilla) používa konzistentný vzor definícií pre každý webový API a CSS vlastnosť. Preto keď sa opýtate ChatGPT na CSS flexbox, odpoveď často vychádza práve z MDN definícií.

#### Zdroje
- [Creating Helpful Content](https://developers.google.com/search/docs/fundamentals/creating-helpful-content) — Google

---

### A13 — Knowledge chunkability & content depth

**Čo to je:** Hodnotenie, ako dobre sa obsah stránky dá rozdeliť na samostatné znalostné bloky (chunks). Každý chunk by mal obsahovať jednu ucelenú myšlienku s jasným nadpisom a kontextom. Zároveň sa hodnotí unikátnosť, hĺbka a jasnosť obsahu.

**Prečo je to dôležité:** RAG (Retrieval-Augmented Generation) systémy rozdeľujú webový obsah na chunky pred uložením do vektorovej databázy. Ak je obsah zle členený, chunky strácajú kontext a AI generuje nepresné alebo neúplné odpoveďe.

**Príklad z praxe:** Dokumentácia Stripe API má každý endpoint v samostatnej sekcii s nadpisom, popisom, parametrami a príkladmi. Toto umožňuje AI systémom presné extrahovať informácie o konkrétnom endpointe bez kontaminácie z iných sekcií.

#### Zdroje
- [Creating Helpful Content](https://developers.google.com/search/docs/fundamentals/creating-helpful-content) — Google
- [Google Search Essentials](https://developers.google.com/search/docs/essentials) — Google

---

### A14 — Reference / evidence signals

**Čo to je:** Kontrola prítomnosti referencií, citácií a dôkazov v obsahu — externé linky na štúdie, štatistiky s uvedením zdroja, citácie odborníkov. Tieto signály zvyšujú dôveryhodnosť obsahu pre AI systémy.

**Prečo je to dôležité:** AI modely hodnotia dôveryhodnosť zdrojov na základe referencií a evidencie. Obsah podložený overiteľnými zdrojmi má vyššiu šancu byť citovaný v AI odpoveďíach.

**Príklad z praxe:** Články na HubSpot Blog vždy obsahujú linky na výskumy, štatistiky a case studies. Preto sú HubSpot články jedným z najčastejšie citovaných zdrojov v AI odpoveďíach na marketingové otázky.

#### Zdroje
- [Google Search Essentials](https://developers.google.com/search/docs/essentials) — Google

---

### A15 — Freshness signals

**Čo to je:** Detekcia signálov aktuálnosti obsahu — dátum publikácie, dátum poslednej aktualizácie, verzia dokumentu. Pre homepage sa kontrola preskakuje (N/A), pretože homepage nemá typicky dátum publikácie.

**Prečo je to dôležité:** AI modely preferujú aktuálny obsah a používajú freshness signály na rozhodovanie, ktorý zdroj citovať. Zastaraný obsah bez dátumu aktualizácie má nižšiu prioritu v AI odpoveďíach.

**Príklad z praxe:** Dokumentácia Google Cloud zobrazuje 'Last updated' dátum na každej stránke. Keď AI porovnáva dva zdroje o rovnakej téme, preferuje ten s novším dátumom aktualizácie.

#### Zdroje
- [Creating Helpful Content](https://developers.google.com/search/docs/fundamentals/creating-helpful-content) — Google

---

### A16 — Entity & author completeness

**Čo to je:** Kontrola kompletnosti informácií o autorovi a entitách na stránke — meno autora, bio, kontakt, sociálne profily a prepojenie s organizáciou. Hodnotí sa E-E-A-T (Experience, Expertise, Authoritativeness, Trustworthiness).

**Prečo je to dôležité:** AI systémy budujú knowledge graf autorov a organizácií. Kompletné autorské profily zvyšujú dôveryhodnosť obsahu a AI modely preferujú citovať obsah od identifikovaťeľných expertov v danom odbore.

**Príklad z praxe:** Články na Mayo Clinic vždy obsahujú meno lekára, jeho špecializáciu a credentials. Preto AI modely pri zdravotných otázkach uprednostňujú Mayo Clinic pred anonymnými zdravotnými webmi.

#### Zdroje
- [Google Search Essentials](https://developers.google.com/search/docs/essentials) — Google

---

### A17 — AI-friendly content formats & feeds

**Čo to je:** Hodnotenie, či web poskytuje obsah vo formátoch optimalizovaných pre AI spracovanie — Markdown verzie stránok, RSS feed s plným obsahom, API alebo dátové feedy. Pre weby kde API nemá zmysel sa API časť kontroly preskakuje (N/A).

**Prečo je to dôležité:** AI crawlery a agenty preferujú čistý obsah bez navigačného šumu. Weby, ktoré poskytujú Markdown alebo clean verzie obsahu, sú efektívnejšie spracovateľné a majú vyššiu šancu byť zahrnuté v AI odpoveďíach.

**Príklad z praxe:** Cloudflare ponúka funkciu Markdown for Agents — keď AI agent pošle požiadavku s Accept: text/markdown, dostane čistú Markdown verziu stránky namiesto plného HTML. Stripe poskytuje komplexné REST API s OpenAPI špecifikáciou.

#### Zdroje
- [Cloudflare Markdown Conversion](https://developers.cloudflare.com/workers-ai/features/markdown-conversion/) — Cloudflare
- [The /llms.txt File Specification](https://llmstxt.org/) — llmstxt.org

---

### A18 — Linkability of key facts

**Čo to je:** Kontrola, či kľúčové fakty a informácie na stránke majú priame URL (anchor linky) — či nadpisy obsahujú ID atribúty, či existujú deep links na konkrétne sekcie a či sa dajú zdieľať konkrétne informácie.

**Prečo je to dôležité:** AI systémy potrebujú odkazovať na konkrétne fakty, nie len na celé stránky. Keď AI cituje zdroj, deep link na konkrétnu sekciu zvyšuje dôveryhodnosť odpoveďe a umožňuje používateľovi rýchlo overiť informáciu.

**Príklad z praxe:** GitHub dokumentácia automaticky generuje anchor linky pre každý nadpis, čo umožňuje presné citovanie. Keď ChatGPT odkazuje na GitHub docs, používateľ sa dostane priamo na relevantnú sekciu.

#### Zdroje
- [Google SEO Starter Guide](https://developers.google.com/search/docs/fundamentals/seo-starter-guide) — Google

---

### A19 — Changelog / release notes

**Čo to je:** Detekcia changelogu alebo release notes na webe — história zmien, nové funkcie, opravené chyby. Pre weby kde changelog nemá zmysel (reštaurácie, lokálne služby) sa kontrola preskakuje (N/A).

**Prečo je to dôležité:** Changelog je kľúčový freshness signál pre AI modely. Pravidelne aktualizovaný changelog signalizuje aktívne udržiavaný produkt a AI modely ho používajú na overenie aktuálnosti informácií o produkte.

**Príklad z praxe:** Vercel má verejný changelog na vercel.com/changelog s dátumami a detailnými popismi zmien. Keď sa používateľ opýta AI na najnovšie funkcie Vercelu, AI dokáže poskytnúť aktuálnu odpoveď práve vďaka štruktúrovanému changelogu.

#### Zdroje
- [Creating Helpful Content](https://developers.google.com/search/docs/fundamentals/creating-helpful-content) — Google

---

### A20 — Semantic HTML (article, section, nav, aside)

**Čo to je:** Kontrola používania sémantických HTML5 elementov — article, section, nav, aside, main, header, footer. Tieto elementy poskytujú AI modelom kontextové informácie o úlohe jednotlivých častí stránky.

**Prečo je to dôležité:** AI crawlery používajú sémantické HTML elementy na identifikáciu hlavného obsahu stránky. Element article označuje primárny obsah, nav navigáciu a aside vedľajší obsah — toto pomáha AI ignorovať šum a extrahovať relevantný obsah.

**Príklad z praxe:** Web.dev (Google) dôsledne používa sémantický HTML — hlavný obsah je v article, navigácia v nav a súvisiace linky v aside. AI crawlery tak môžu efektívne extrahovať len edukačný obsah bez navigačného šumu.

#### Zdroje
- [Google Search Essentials](https://developers.google.com/search/docs/essentials) — Google

---

## SEO (30)

30 kontrol optimalizácie pre vyhľadávače

### S1 — Title Tag

**Čo to je:** Kontrola existencie HTML <title> tagu na stranke. Title tag je jeden z najdôležitéjsich on-page SEO faktorov, ktorý sa zobrazuje vo vysledkoch vyhladavania ako hlavný nadpis odkazu.

**Prečo je to dôležité:** Bez title tagu vyhľadávače nevedia správne zobrazit vašu stranku vo vysledkoch. Google pouziva title tag ako primarny signal pre pochopenie obsahu stranky a jeho zobrazenie v SERP.

**Príklad z praxe:** Amazon.com pouziva presné title tagy pre každý produkt, napr. '<title>iPhone 15 Pro Max - Apple Smartphone | Amazon.com</title>'. Stranky bez title tagu môžu stratit až 30% organickej návštevnosťi.

#### Zdroje
- [HTML <title> Element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/title) — MDN Web Docs
- [SEO Starter Guide](https://developers.google.com/search/docs/fundamentals/seo-starter-guide) — Google Search Central

---

### S2 — Title - dlzka

**Čo to je:** Kontrola dlzky title tagu, ktorý by mal mat 50-60 znakov. Prilis kratky title nevyuziva plny potencial vo vysledkoch, prilis dlhy sa orezava a zobrazuje sa s trojteckou.

**Prečo je to dôležité:** Google zobrazuje priblizne 50-60 znakov z title tagu vo vysledkoch vyhladavania. Optimalny title v tomto rozsahu maximalizuje viditeľnosť a mieru prekliku (CTR).

**Príklad z praxe:** Wikipédia doslova optimalizuje titulky kazdej stranky. Napr. 'Bratislava - Wikipédia' (22 znakov) je kratky ale efektivny. Naopak title s 90 znakmi sa v Google oreze a používateľ nevidi celu informaciu.

#### Zdroje
- [HTML <title> Element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/title) — MDN Web Docs
- [SEO Starter Guide](https://developers.google.com/search/docs/fundamentals/seo-starter-guide) — Google Search Central

---

### S3 — H1 nadpis

**Čo to je:** Kontrola, či stranka obsahuje presné jeden H1 nadpis. H1 je hlavný nadpis stranky, ktorý vyhľadávačom hovori o com stranka je. Viacero H1 alebo žiadny H1 su problematicke.

**Prečo je to dôležité:** H1 nadpis je druhy najdôležitéjsi on-page SEO element po title tagu. Pomaha vyhľadávačom aj používateľom rychlo pochopit hlavnu temu stranky. Presne jeden H1 na stranku je osvedceny standard.

**Príklad z praxe:** Google.com na svojom blogu pouziva vzdy presné jeden H1 pre každý clanok. Stranky s viacerymi H1 nadpismi matia vyhľadávače ohladne hierarchie obsahu a môžu znizit ranking.

#### Zdroje
- [SEO Starter Guide](https://developers.google.com/search/docs/fundamentals/seo-starter-guide) — Google Search Central
- [Lighthouse SEO Audits](https://web.dev/articles/pass-lighthouse-seo-audit) — web.dev

---

### S4 — Heading hierarchia

**Čo to je:** Kontrola správnej hierarchie nadpisov H1 až H6 bez preskakovania urovni. Spravna hierarchia znamena H1 -> H2 -> H3 bez toho, aby sa preskocila úroveň (napr. z H1 rovno na H3).

**Prečo je to dôležité:** Spravna hierarchia nadpisov pomáha vyhľadávačom pochopit strukturu a vztahy medzi sekciami obsahu. Zaroven zlepsuje prístupnost pre citacky obrazovky a celkovu pouzitelnost stranky.

**Príklad z praxe:** MDN Web Docs pouziva bezchybnu hierarchiu nadpisov na kazdej dokumentacnej stranke. Naopak, stranky ktoré preskakuju z H1 na H4 stracacju semanticky kontext a vyhľadávače nevedia správne interpretovat strukturu obsahu.

#### Zdroje
- [SEO Starter Guide](https://developers.google.com/search/docs/fundamentals/seo-starter-guide) — Google Search Central
- [Lighthouse SEO Audits](https://web.dev/articles/pass-lighthouse-seo-audit) — web.dev

---

### S5 — Canonical URL

**Čo to je:** Kontrola prítomnosťi canonical tagu (<link rel='canonical'>), ktorý určuje preferovanu verziu stranky. Pomaha predchadzat problémom s duplicitnym obsahom.

**Prečo je to dôležité:** Bez canonical tagu môžu vyhľadávače indexovat viacero verzii tej istej stranky (s/bez www, s/bez trailing slash, s UTM parametrami), co rozdeluje link equity a môže znizit ranking.

**Príklad z praxe:** Shopify automaticky pridava canonical tagy na vsetky produktove stranky, aby URL s filtrami (?color=red) neuberali ranking hlavnej produktovej stranke. Bez toho by Google mohol indexovat stovky duplicit.

#### Zdroje
- [Consolidate Duplicate URLs](https://developers.google.com/search/docs/crawling-indexing/consolidate-duplicate-urls) — Google Search Central
- [HTML <link> Element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/link) — MDN Web Docs

---

### S6 — Viewport meta tag

**Čo to je:** Kontrola prítomnosťi meta viewport tagu, ktorý zabezpečuje správne zobrazenie stranky na mobilnych zariadeniach. Tag <meta name='viewport' content='width=device-width, initial-scale=1'> je standard.

**Prečo je to dôležité:** Google pouziva mobile-first indexovanie, co znamena ze mobilna verzia stranky je primarna pre ranking. Bez viewport tagu sa stranka na mobile zobrazi ako desktopova verzia zmensena na maly displej.

**Príklad z praxe:** Vsetky moderne webove frameworky (Next.js, Nuxt, Angular) pridávajú viewport tag automaticky. Starsie webstranky bez tohto tagu su Google oznacene ako 'nie su mobilne priatelske' a stracacju pozicie vo vyhladavani.

#### Zdroje
- [HTML <meta> Element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta) — MDN Web Docs
- [Lighthouse SEO Audits](https://web.dev/articles/pass-lighthouse-seo-audit) — web.dev

---

### S7 — Robots meta tag

**Čo to je:** Kontrola, či stranka neobsahuje meta robots tag s hodnotou 'noindex', ktorý brani vyhľadávačom indexovat stranku. Overuje, ze hlavne stranky su prístupne pre indexaciu.

**Prečo je to dôležité:** Meta robots tag s hodnotou 'noindex' kompletne vylucuje stranku z vysledkov vyhladavania. Casto sa stava, ze vyvojari zabudnu odstranit noindex po prechode z testovacieho prostredia na produkciu.

**Príklad z praxe:** Znamy pripad: velky e-shop zabudol odstranit 'noindex' po migraci na novy server a stratil 80% organickej návštevnosťi za tyzden. Google Search Console dokaze na tento problem upozornit, ale až s oneskorením.

#### Zdroje
- [Robots Meta Tag Specifications](https://developers.google.com/search/docs/crawling-indexing/robots-meta-tag) — Google Search Central
- [Google Search Essentials](https://developers.google.com/search/docs/essentials) — Google Search Central

---

### S8 — Open Graph tagy

**Čo to je:** Kontrola prítomnosťi Open Graph meta tagov (og:title, og:description, og:image, og:url). Tieto tagy urcuju, ako sa obsah zobrazi pri zdielani na socialnych sietach ako Facebook, LinkedIn a dalsich.

**Prečo je to dôležité:** Bez OG tagov socialne siete generuju nahlad automaticky, co často vedie k neatraktivnemu zobrazeniu. Spravne OG tagy zvysuju mieru prekliku pri zdielani obsahu až o 50%.

**Príklad z praxe:** The New York Times má precizne nastavene OG tagy pre každý clanok vcetne og:image s optimalizovanym nahladovym obrazkom. Pri zdielani na Facebooku sa clanok zobrazi s velkym obrazkom, titulkom a popisom.

#### Zdroje
- [The Open Graph Protocol](https://ogp.me/) — Open Graph Protocol
- [SEO Starter Guide](https://developers.google.com/search/docs/fundamentals/seo-starter-guide) — Google Search Central

---

### S9 — Twitter Card tagy

**Čo to je:** Kontrola prítomnosťi Twitter (X) Card meta tagov (twitter:card, twitter:title, twitter:description, twitter:image). Tieto tagy ovladaju zobrazenie obsahu pri zdielani na platforme X (byvaly Twitter).

**Prečo je to dôležité:** Twitter Card tagy umoznuju bohatsi nahlad pri zdielani odkazov na X. Podporuju rôzne formaty ako Summary Card, Summary s velkym obrazkom a Player Card pre video obsah.

**Príklad z praxe:** Spotify pouziva Twitter Player Card na zdielanie skladieb, takze používatelia môžu priamo na X predpocuvat hudbu. Bez Twitter Card tagov by sa zobrazil len prosty odkaz bez nahladoveho obrazka.

#### Zdroje
- [Getting Started with Cards](https://developer.x.com/en/docs/x-for-websites/cards/guides/getting-started) — X Developer Platform
- [Cards Markup](https://developer.x.com/en/docs/x-for-websites/cards/overview/markup) — X Developer Platform

---

### S10 — Strukturovane data

**Čo to je:** Kontrola prítomnosťi štruktúrovaných dat vo formate JSON-LD alebo microdata (Schema.org). Strukturovane data pomáhaju vyhľadávačom presnéjsie pochopit obsah stranky a zobrazit rich snippets.

**Prečo je to dôležité:** Stranky so strukturovanymi datami môžu ziskat rich snippets vo vysledkoch (hodnotenia hviezdami, ceny, FAQ, recepty, eventy). Tieto vystupy zvysuju viditeľnosť a CTR až o 30%.

**Príklad z praxe:** Amazon pouziva Product schema na kazdom produkte, vdaka comu Google zobrazuje cenu, dostupnost a hodnotenie priamo vo vysledkoch. Recepty na Toprecepty.sk vyuzivaju Recipe schema pre zobrazenie casu pripravy a hodnotenia.

#### Zdroje
- [Introduction to Structured Data](https://developers.google.com/search/docs/appearance/structured-data/intro-structured-data) — Google Search Central
- [Google Search Essentials](https://developers.google.com/search/docs/essentials) — Google Search Central

---

### S11 — Image ALT texty

**Čo to je:** Kontrola, či vsetky obrazky na stranke majú vyplneny atribut alt. ALT text popisuje obsah obrazku pre vyhľadávače a asistivne technologie (citacky obrazovky).

**Prečo je to dôležité:** Vyhladavace nevedia 'vidiet' obrazky a spoliehaju sa na ALT text pre ich indexaciu. ALT texty su tiez kľúčové pre prístupnost webu a zobrazuju sa ked sa obrazok nenacita.

**Príklad z praxe:** Wikipédia dosledne pouziva popisne ALT texty pre vsetky obrazky, napr. alt='Bratislavsky hrad pri zapade slnka'. E-shopy bez ALT textov prichadzaju o traffic z Google Images, ktorý môže tvorit 10-20% návštevnosťi.

#### Zdroje
- [SEO Starter Guide](https://developers.google.com/search/docs/fundamentals/seo-starter-guide) — Google Search Central
- [Lighthouse SEO Audits](https://web.dev/articles/pass-lighthouse-seo-audit) — web.dev

---

### S12 — Interne linky

**Čo to je:** Kontrola, či stranka obsahuje minimalne 3 interne odkazy na ďalšie stranky rovnakeho webu. Interne linkovanie pomáha vyhľadávačom objavovat obsah a distribuovat link equity naprieč webom.

**Prečo je to dôležité:** Interne linky su zakladom crawlovania webu vyhľadávačmi. Stranky bez internych odkazov su 'sireocene' - vyhľadávače ich tazko objavía a nepriraduju im dostatocnu autoritu.

**Príklad z praxe:** Wikipédia je majster interneho linkovania - každý clanok obsahuje desiatky odkazov na suvisiace stranky. Vdaka tomu Google dokaze efektivne crawlovat miliony stranok. Blog bez internych linkov strati až 40% potenciálneho rankingu.

#### Zdroje
- [SEO Starter Guide](https://developers.google.com/search/docs/fundamentals/seo-starter-guide) — Google Search Central
- [Google Search Essentials](https://developers.google.com/search/docs/essentials) — Google Search Central

---

### S13 — Externe linky

**Čo to je:** Kontrola prítomnosťi externych odkazov na dovoruhodne zdroje. Odkazovanie na kvalitne externe zdroje zvysuje dovoruhodnost stranky a pomáha vyhľadávačom pochopit tematicky kontext.

**Prečo je to dôležité:** Externe odkazy na autoritativne zdroje signalizuju vyhľadávačom, ze vás obsah je zasadeny do sirseho kontextu a je dovoruhodny. Google to vníma ako signal kvality obsahu.

**Príklad z praxe:** Vedecke clanky vzdy odkazuju na zdroje a studie. Podobne kvalitný blog post o zdravi by mal odkazovat na WHO alebo odborne zdroje. Stranky bez externych odkazov môžu posobit ako uzavrene a nedovoruhodne.

#### Zdroje
- [SEO Starter Guide](https://developers.google.com/search/docs/fundamentals/seo-starter-guide) — Google Search Central
- [Google Search Essentials](https://developers.google.com/search/docs/essentials) — Google Search Central

---

### S14 — Kvalita anchor textov

**Čo to je:** Kontrola kvality anchor textov (textu odkazov). Anchor texty by mali byt popisne a relevantné, nie genericke ako 'kliknite sem', 'tu', 'viac' alebo 'citajte dalej'.

**Prečo je to dôležité:** Anchor text pomáha vyhľadávačom pochopit obsah cielenej stranky. Popisne anchor texty ako 'sprievodca SEO optimalizáciou' su ovela uzitocnejsie nez 'kliknite sem', a to pre používateľov aj vyhľadávače.

**Príklad z praxe:** Google vo vlastnej dokumentacii pouziva popisne anchor texty ako 'pozrite si nasho sprievodcu strukturovanymi datami'. Naopak, email marketing kampane často pouzivaju 'kliknite sem', co je z pohladu SEO nevyuzita prilezitost.

#### Zdroje
- [SEO Starter Guide](https://developers.google.com/search/docs/fundamentals/seo-starter-guide) — Google Search Central
- [Lighthouse SEO Audits](https://web.dev/articles/pass-lighthouse-seo-audit) — web.dev

---

### S15 — Ciste URL

**Čo to je:** Kontrola, či URL adresa stranky je cista a citatelna - bez zbytocnych query parametrov, session ID, alebo nahodnych retazcov. Ciste URL su lahsie zapamatateldne a zdielatelne.

**Prečo je to dôležité:** Ciste URL zlepsuju používateľsky zazitok a pomáhaju vyhľadávačom pochopit strukturu webu. URL ako '/produkty/topanky-nike-air' je lepsia nez '/p?id=38291&cat=12&sess=abc123'.

**Príklad z praxe:** Airbnb pouziva ciste URL ako '/rooms/12345' namiesto zlozitych query parametrov. WordPress s povolenim 'pretty permalinks' meni '/p?id=123' na '/názov-clanku'. Ciste URL majú preukazaztelne vyssiu mieru prekliku vo vysledkoch.

#### Zdroje
- [SEO Starter Guide](https://developers.google.com/search/docs/fundamentals/seo-starter-guide) — Google Search Central
- [Google Search Essentials](https://developers.google.com/search/docs/essentials) — Google Search Central

---

### S16 — HTML lang atribut

**Čo to je:** Kontrola prítomnosťi atributu lang na HTML elemente (napr. <html lang='sk'>). Tento atribut definuje jazyk obsahu stranky pre vyhľadávače a asistivne technologie.

**Prečo je to dôležité:** Atribut lang pomáha vyhľadávačom zobrazovat stranku správnemu jazykovemu publiku. Citacky obrazovky ho pouzivaju na vyber správnej vyslovnosti. Bez neho môžu vyhľadávače stranku ponúkat nespresnému publiku.

**Príklad z praxe:** Slovensky web bez lang='sk' môže Google zobrazovat aj nemeckym alebo ceskym používateľom. Globalne firmy ako IKEA nastavuju lang atribut na kazdej jazykovej verzii svojho webu (lang='sk', lang='cs', lang='de').

#### Zdroje
- [HTML lang Global Attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/lang) — MDN Web Docs
- [Lighthouse SEO Audits](https://web.dev/articles/pass-lighthouse-seo-audit) — web.dev

---

### S17 — Favicon

**Čo to je:** Kontrola prítomnosťi faviconu - malej ikonky zobrazenej v karte prehliadaca, zalozkkach a vo vysledkoch vyhladavania. Favicon zvysuje rozpoznatelnost značky.

**Prečo je to dôležité:** Google zobrazuje favicon vedla URL vo vysledkoch vyhladavania na mobile. Favicon zvysuje dovoruhodnost a rozpoznatelnost webu. Bez neho sa zobrazuje genericka ikona, co znižuje CTR.

**Príklad z praxe:** GitHub pouziva svoj charakteristicky octocat favicon, ktorý je okamzite rozpoznatelny v desiatich otvorenych kartach prehliadaca. Weby bez faviconu posodia neprofesionalnesie a používatelia ich tazsie najdu medzi otvorenymi kartami.

#### Zdroje
- [HTML <link> Element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/link) — MDN Web Docs
- [SEO Starter Guide](https://developers.google.com/search/docs/fundamentals/seo-starter-guide) — Google Search Central

---

### S18 — Status code a broken linky

**Čo to je:** Kontrola HTTP status kodu analyzovanej URL a overenie vsetkych odkazov na stranke. Každý <a href> odkaz sa realne overi HTTP HEAD requestom a zisti sa či je funkcny alebo broken (404, 5xx, timeout).

**Prečo je to dôležité:** Broken linky poskodzuju používateľsku skusenost a SEO. Google znižuje hodnotenie stranok s mnohymi nefunkcnymi odkazmi. HTTP status kod stranky musi byt 2xx — iný status (napr. 5xx) znamena technicke problemy.

**Príklad z praxe:** E-shop má na homepage 85 odkazov. Po kontrole sa ukaze ze 3 vedu na zrusene produkty (404) a 1 externy odkaz na partnersku firmu, ktora uz neexistuje (timeout). Opravou týchto odkazov sa zlepsi crawl budget aj používateľska skusenost.

#### Zdroje
- [SEO Starter Guide](https://developers.google.com/search/docs/fundamentals/seo-starter-guide) — Google Search Central
- [HTTP Status Codes](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status) — MDN Web Docs

---

### S19 — Robots.txt

**Čo to je:** Kontrola existencie suboru robots.txt v koreni webu. Tento subor hovori vyhľadávačovym robotom, ktoré casti webu môžu a nemôžu crawlovat.

**Prečo je to dôležité:** Robots.txt je prvy subor, ktorý vyhľadávači robot cita pri navsteve webu. Spravne nastaveny robots.txt optimalizuje crawl budget a chrani citlive sekcie webu pred indexovanim.

**Príklad z praxe:** Facebook má rozsiahly robots.txt, ktorý blokuje crawlovanie profilov ale povoluje verejne stranky. Nespravny robots.txt môže zablokovat cely web - znamy pripad ked 'Disallow: /' nahodne zablokoval cely e-shop na tyzdne.

#### Zdroje
- [Robots.txt Introduction and Guide](https://developers.google.com/search/docs/crawling-indexing/robots/intro) — Google Search Central
- [How Google Interprets robots.txt](https://developers.google.com/search/docs/crawling-indexing/robots/robots_txt) — Google Search Central

---

### S20 — Sitemap.xml

**Čo to je:** Kontrola existencie XML sitemapy, ktora poskytuje vyhľadávačom zoznam vsetkych dolezitych URL na webe. Sitemap urychluje objavovanie noveho a aktualizovaneho obsahu.

**Prečo je to dôležité:** Sitemap je ako mapa webu pre vyhľadávače. Obzvlast dolezita je pre velke weby, nove weby s malym poctom externych odkazov, a weby s bohatym multimediialnym obsahom.

**Príklad z praxe:** CNN.com má sitemap index s odkazmi na sitemapy pre spravy, video a obrazky. WordPress generuje sitemap automaticky. Nove weby bez sitemap môžu cakat tyzdne kym Google objaví vsetky ich stranky.

#### Zdroje
- [Sitemaps Overview](https://developers.google.com/search/docs/crawling-indexing/sitemaps/overview) — Google Search Central
- [Robots.txt Introduction](https://developers.google.com/search/docs/crawling-indexing/robots/intro) — Google Search Central

---

### S21 — HTTPS

**Čo to je:** Kontrola, či web pouziva HTTPS protokol s platnym SSL/TLS certifikatom. HTTPS sfruje komunikaciu medzi prehliadacom a serverom a je ranking faktorom pre Google.

**Prečo je to dôležité:** Google od roku 2014 pouziva HTTPS ako ranking signal. Prehliadace oznacuju HTTP stranky ako 'Nezabezpecene', co odpudzuje používateľov. HTTPS je dnes absolutny zaklad pre každý web.

**Príklad z praxe:** Let's Encrypt poskytuje bezplatne SSL certifikaty a vacsina hostingov ponúka HTTPS automaticky. Weby bez HTTPS stracacju dôveru používateľov - prieskum ukazuje, ze 85% používateľov opusti web oznaceny ako 'Nezabezpeceny'.

#### Zdroje
- [Google Search Essentials](https://developers.google.com/search/docs/essentials) — Google Search Central
- [Lighthouse SEO Audits](https://web.dev/articles/pass-lighthouse-seo-audit) — web.dev

---

### S22 — WWW konzistencia

**Čo to je:** Kontrola, či web konzistentne pouziva bud verziu s www alebo bez www a správne presmerovava jednu verziu na druhu. Obe verzie by nemali fungovat sucasne bez presmerovania.

**Prečo je to dôležité:** Pre vyhľadávače su example.com a www.example.com dve rôzne stranky. Bez presmerovania sa link equity rozdeluje medzi obe verzie, co oslabuje celkový ranking webu.

**Príklad z praxe:** Google.com presmerovava www.google.com na google.com (bez www). Naopak, www.amazon.com je primarna verzia Amazonu. Dolezite je zvolit jednu variantu a druhu presmerovat cez 301 redirect.

#### Zdroje
- [Consolidate Duplicate URLs](https://developers.google.com/search/docs/crawling-indexing/consolidate-duplicate-urls) — Google Search Central
- [SEO Starter Guide](https://developers.google.com/search/docs/fundamentals/seo-starter-guide) — Google Search Central

---

### S23 — Trailing slash konzistencia

**Čo to je:** Kontrola konzistentneho pouzivania trailing slashu (koncoveho lomitka) v URL. Adresy /stranka a /stranka/ su pre vyhľadávače rôzne URL a mali by byt zjednotene.

**Prečo je to dôležité:** Nekonzistentne pouzivanie trailing slashov vytvara duplicitne URL, co zmakuje vyhľadávače a rozdeluje link equity. Web by mal pouzivat jednu konvenciu a druhu presmerovat.

**Príklad z praxe:** Next.js umožňuje nastavit trailingSlash: true/false v konfiguraci. Apache servery často pridávajú trailing slash automaticky pre adresare. Dolezite je mat konzistentne pravidlo a 301 presmerovanie pre druhu variantu.

#### Zdroje
- [Consolidate Duplicate URLs](https://developers.google.com/search/docs/crawling-indexing/consolidate-duplicate-urls) — Google Search Central
- [Google Search Essentials](https://developers.google.com/search/docs/essentials) — Google Search Central

---

### S24 — Velkost HTML

**Čo to je:** Kontrola velkosti HTML dokumentu, ktora by nemalá presiahnnut 100 KB. Prilis velke HTML spomaluje parsovanie, rendering a zvysuje cas nacitania stranky.

**Prečo je to dôležité:** Velke HTML dokumenty spomaluju nacitanie stranky, spotrebuvaju viac pamate a môžu sposobit problemy na mobilnych zariadeniach s obmedzenym datovym planom. Google uprednostnuje rýchle stranky.

**Príklad z praxe:** Single Page Aplikacie (SPA) niekedy generuju HTML s inliné CSS/JS presahujucim 500 KB. Google doporucuje udrzovat HTML pod 100 KB. Temy pre WordPress s page buildermi často generuju zbytocne velke HTML s desiatkami zbytocnych div elementov.

#### Zdroje
- [Lighthouse SEO Audits](https://web.dev/articles/pass-lighthouse-seo-audit) — web.dev
- [SEO Starter Guide](https://developers.google.com/search/docs/fundamentals/seo-starter-guide) — Google Search Central

---

### S25 — Mobile-friendly indikatory

**Čo to je:** Kontrola základných indikatorov mobilnej privetivosti: viewport tag, responzivny design, citatelna velkost pisma, dostatočne velke dotykove ciele a žiadny horizontalny scrolling.

**Prečo je to dôležité:** Viac ako 60% vyhladavani prebieha na mobilnych zariadeniach. Google pouziva mobile-first indexovanie, takze mobilna verzia stranky je primarna pre hodnotenie a ranking.

**Príklad z praxe:** Google ponúka Mobile-Friendly Test na testovanie mobilnej privetivosti. Stranky ktoré nie su mobile-friendly stracacju pozicie vo vysledkoch na mobile. Responzivny design je dnes standard - Bootstrap a Tailwind CSS ho riesia automaticky.

#### Zdroje
- [SEO Starter Guide](https://developers.google.com/search/docs/fundamentals/seo-starter-guide) — Google Search Central
- [Lighthouse SEO Audits](https://web.dev/articles/pass-lighthouse-seo-audit) — web.dev

---

### S26 — Dlzka obsahu

**Čo to je:** Kontrola, či hlavný obsah stranky obsahuje minimalne 300 slov. Kratky obsah nedokaze dostatočne pokryt temu a vyhľadávače ho môžu povazovat za 'thin content'.

**Prečo je to dôležité:** Stranky s malym množstvom obsahu (thin content) majú nizsi ranking, pretože neposkytuju dostatocnu hodnotu používateľom. Google preferuje komplexny, hodnotny obsah ktorý dobre pokryva temu.

**Príklad z praxe:** Studie ukazuju, ze stranky na prvej pozicii Google majú priemerne 1400+ slov. Wikipédia clanky s tisicami slov dominuju vysledkom. Produktove stranky s len 2-3 vetami prichadzaju o organicky traffic oproti konkurencii s detailnymi popismi.

#### Zdroje
- [SEO Starter Guide](https://developers.google.com/search/docs/fundamentals/seo-starter-guide) — Google Search Central
- [Google Search Essentials](https://developers.google.com/search/docs/essentials) — Google Search Central

---

### S27 — Keyword density

**Čo to je:** Kontrola hustoty kľúčových slov v obsahu stranky. Prilis vysoká hustota (keyword stuffing) je penalizovana, prilis nízka znamena, ze stranka nie je dostatočne relevantna pre dane kľúčové slovo.

**Prečo je to dôležité:** Google penalizuje keyword stuffing - umele opakovanie kľúčových slov. Prirodzena hustota 1-3% je optimalna. Moderne vyhľadávače pouzivaju semanticke porozumenie, takze synonyma a suvisiace terminy su rovnako dôležité.

**Príklad z praxe:** Stary SEO prístup 'lacne topanky, topanky lacno, kupte lacne topanky' je dnes penalizovany. Google Panda update v roku 2011 zacal postihovat keyword stuffing. Kvalitny obsah pouziva kľúčové slova prirodzene v kontexte.

#### Zdroje
- [Google Search Essentials](https://developers.google.com/search/docs/essentials) — Google Search Central
- [SEO Starter Guide](https://developers.google.com/search/docs/fundamentals/seo-starter-guide) — Google Search Central

---

### S28 — Hreflang tagy

**Čo to je:** Kontrola prítomnosťi hreflang tagov na viacjazycnych weboch. Hreflang atribut informuje vyhľadávače o jazykovych a regionalnych variantach stranky (napr. sk, cs, en).

**Prečo je to dôležité:** Bez hreflang tagov môže Google zobrazit cesku verziu stranky slovenskemu používateľovi alebo naopak. Hreflang zabezpečuje, ze správna jazykova verzia sa zobrazi správnemu publiku.

**Príklad z praxe:** IKEA.com pouziva hreflang pre desiatky krajin: hreflang='sk' pre Slovensko, hreflang='cs' pre Cesko, hreflang='de-AT' pre Rakusko. Bez hreflang tagov by Google mohol zobrazit nemecku verziu Cecom, co vedie k vysokemu bounce rate.

#### Zdroje
- [Localized Versions of Pages](https://developers.google.com/search/docs/specialty/international/localized-versions) — Google Search Central
- [HTML <link> Element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/link) — MDN Web Docs

---

### S29 — Pagination (rel prev/next)

**Čo to je:** Kontrola správneho pouzitia rel='prev' a rel='next' na strankach s paginaciou. Tieto atributy informuju vyhľadávače o vztahu medzi strankami v sekvencii (napr. stranka 1, 2, 3).

**Prečo je to dôležité:** Spravna paginacia pomáha vyhľadávačom pochopit, ze viacero stranok tvori logicky celok. Bez nej môžu byt paginovane stranky vnímane ako duplicitny obsah s podobnymi titulkami a popismi.

**Príklad z praxe:** E-shopy ako Alza.sk pouzivaju paginaciu pre kategorie s desiatkami produktov. Spravne nastavene rel prev/next pomáhaju Google pochopit, ze /topanky?page=2 je pokracovanie /topanky. Google v roku 2019 oznacil rel prev/next ako 'hint', nie prikaz, ale stale ho akceptuje.

#### Zdroje
- [Consolidate Duplicate URLs](https://developers.google.com/search/docs/crawling-indexing/consolidate-duplicate-urls) — Google Search Central
- [HTML <link> Element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/link) — MDN Web Docs

---

### S30 — Breadcrumb navigacia

**Čo to je:** Kontrola prítomnosťi breadcrumb (drobcekoveho) navigacneho prvku na stranke. Breadcrumbs ukazuju hierarchicku pozíciu stranky v strukture webu (napr. Domov > Kategoria > Produkt).

**Prečo je to dôležité:** Breadcrumbs zlepsuju navigaciu, znizuju bounce rate a Google ich zobrazuje priamo vo vysledkoch vyhladavania namiesto URL. Strukturovane data pre breadcrumbs (BreadcrumbList schema) zvysuju viditeľnosť v SERP.

**Príklad z praxe:** Amazon zobrazuje breadcrumbs na kazdej produktovej stranke: 'Electronics > Computers > Laptops > Gaming Laptops'. Google tieto breadcrumbs zobrazuje vo vysledkoch, co pomáha používateľom pochopit kontext stranky este pred kliknutim.

#### Zdroje
- [Breadcrumb Structured Data](https://developers.google.com/search/docs/appearance/structured-data/breadcrumb) — Google Search Central
- [SEO Starter Guide](https://developers.google.com/search/docs/fundamentals/seo-starter-guide) — Google Search Central

---

## Bezpečnosť (11)

11 bezpečnostných kontrol

### SEC1 — HTTPS

**Čo to je:** Kontrola, či web používa zabezpečený protokol HTTPS namiesto nešifrovaného HTTP. HTTPS šifruje komunikáciu medzi prehliadačom a serverom pomocou TLS certifikátu, čím chráni citlivé údaje (heslá, platobné informácie) pred odpočúvaním.

**Prečo je to dôležité:** Bez HTTPS môže útočník v sieti zachytiť a zmeniť dáta prenášané medzi používateľom a webom (man-in-the-middle útok). Moderné prehliadače označujú HTTP stránky ako 'nezabezpečené' a mnohé API (geolokácia, kamera, service workers) fungujú výlučne cez HTTPS. Google tiež používa HTTPS ako ranking signál.

**Príklad z praxe:** Stripe.com má HTTPS na každej stránke vrátane marketingových podstránok — nielen na platobnom formulári. Naopak, lokálny e-shop bez HTTPS zobrazí v Chrome varovanie 'Nezabezpečené' priamo v adresnom riadku, čo odradí zákazníkov od nákupu.

#### Zdroje
- [Why HTTPS Matters](https://web.dev/articles/why-https-matters) — web.dev
- [Transport Layer Security (TLS)](https://developer.mozilla.org/en-US/docs/Web/Security/Defenses/Transport_Layer_Security) — MDN

---

### SEC2 — Strict-Transport-Security (HSTS)

**Čo to je:** Kontrola prítomnosti HTTP hlavičky Strict-Transport-Security s hodnotou max-age minimálne 31536000 (1 rok). HSTS prikazuje prehliadaču, aby všetky budúce požiadavky na doménu automaticky posielal cez HTTPS, aj keď používateľ zadá http://.

**Prečo je to dôležité:** Bez HSTS je prvá návšteva cez HTTP zraniteľná voči SSL stripping útokom — útočník môže presmerovanie na HTTPS zastaviť a odpočúvať komunikáciu. S HSTS prehliadač automaticky upgraduje na HTTPS ešte pred odoslaním požiadavky.

**Príklad z praxe:** GitHub.com posiela hlavičku Strict-Transport-Security: max-age=31536000; includeSubdomains; preload. Vďaka tomu sa doména github.com nachádza v HSTS preload liste, takže prehliadač nikdy nepošle HTTP požiadavku ani pri prvej návšteve.

#### Zdroje
- [Strict-Transport-Security header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Strict-Transport-Security) — MDN
- [HTTP Strict Transport Security Cheat Sheet](https://cheatsheetseries.owasp.org/cheatsheets/HTTP_Strict_Transport_Security_Cheat_Sheet.html) — OWASP

---

### SEC3 — Content-Security-Policy (CSP)

**Čo to je:** Kontrola prítomnosti HTTP hlavičky Content-Security-Policy, ktorá definuje, z akých zdrojov môže prehliadač načítať skripty, štýly, obrázky a ďalšie zdroje. CSP je najúčinnejšia obrana proti XSS (Cross-Site Scripting) útokom.

**Prečo je to dôležité:** XSS je jednou z najčastejších webových zraniteľností. Útočník dokáže vložiť škodlivý JavaScript, ktorý ukradne cookies, presmeruje na phishingový web alebo zmení obsah stránky. CSP zabraňuje spusteniu neautorizovaných skriptov tým, že presné definuje povolené zdroje.

**Príklad z praxe:** Cloudflare.com používa striktné CSP s pravidlom script-src 'self', ktoré povolí len skripty z vlastnej domény. Ak útočník vloží externý skript z cudzej domény, prehliadač ho zablokuje, lebo daná doména nie je v povolenom zozname.

#### Zdroje
- [Content-Security-Policy (CSP) header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Content-Security-Policy) — MDN
- [Content Security Policy Cheat Sheet](https://cheatsheetseries.owasp.org/cheatsheets/Content_Security_Policy_Cheat_Sheet.html) — OWASP

---

### SEC4 — X-Frame-Options

**Čo to je:** Kontrola prítomnosti HTTP hlavičky X-Frame-Options, ktorá určuje, či sa stránka môže zobraziť v iframe, frame alebo embed elemente. Hlavné hodnoty sú DENY (zakázané vloženie) a SAMEORIGIN (povolené len z rovnakej domény).

**Prečo je to dôležité:** Bez tejto hlavičky môže útočník vložiť vašu stránku do neviditeľného iframe na svojom webe a pomocou clickjackingu nalákať používateľa na kliknutie, ktoré v skutočnosti vykoná akciu na vašom webe — napríklad schválenie platby alebo zmenu hesla.

**Príklad z praxe:** Bankové portály ako mBank používajú X-Frame-Options: DENY, čím zabránia vloženiu prihlasovacieho formulára do cudzieho iframe. Útočník tak nemôže vytvoriť falošnú stránku, ktorá by prekrývala iframe s bankovou aplikáciou.

#### Zdroje
- [X-Frame-Options header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/X-Frame-Options) — MDN
- [OWASP Secure Headers Project](https://owasp.org/www-project-secure-headers/) — OWASP

---

### SEC5 — X-Content-Type-Options

**Čo to je:** Kontrola prítomnosti HTTP hlavičky X-Content-Type-Options s hodnotou nosniff. Táto hlavička zabraňuje prehliadaču v MIME type sniffingu — automatickom hádaní typu obsahu, ktoré môže viesť k interpretácii neškodného súboru ako spustiteľného skriptu.

**Prečo je to dôležité:** Bez nosniff hlavičky môže prehliadač interpretovať nahraný textový súbor ako JavaScript a spustiť ho. Útočník tak môže nahrať škodlivý kód zamaskovaný ako obrázok alebo textový súbor, ktorý prehliadač vykoná namiesto zobrazenia.

**Príklad z praxe:** Dropbox.com posiela X-Content-Type-Options: nosniff pri všetkých odpoveďíach. Ak niekto nahrá súbor evil.jpg s obsahom JavaScript kódu, prehliadač ho vďaka nosniff spracuje striktne ako obrázok a skript nespustí.

#### Zdroje
- [X-Content-Type-Options header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/X-Content-Type-Options) — MDN
- [OWASP Secure Headers Project](https://owasp.org/www-project-secure-headers/) — OWASP

---

### SEC6 — Referrer-Policy

**Čo to je:** Kontrola prítomnosti HTTP hlavičky Referrer-Policy, ktorá určuje, koľko informácií o URL sa posiela v Referer hlavičke pri navigácii alebo načítaní zdrojov. Odporúčaná hodnota je strict-origin-when-cross-origin alebo no-referrer.

**Prečo je to dôležité:** Bez správnej Referrer-Policy môže URL odoslaná v Referer hlavičke prezradiť citlivé údaje — napríklad tokeny v query parametroch, interné URL adresy alebo informácie o vyhľadávaní. Externé služby (analytika, reklamy) tak môžu získať prístup k údajom, ktoré im nepatria.

**Príklad z praxe:** GitHub.com používa Referrer-Policy: strict-origin-when-cross-origin. Keď kliknete na externý odkaz z privátneho repozitára, cieľový web dostane len https://github.com ako referrer — nie celú URL s názvom privátneho repozitára.

#### Zdroje
- [Referrer-Policy header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Referrer-Policy) — MDN
- [OWASP Secure Headers Project](https://owasp.org/www-project-secure-headers/) — OWASP

---

### SEC7 — Permissions-Policy

**Čo to je:** Kontrola prítomnosti HTTP hlavičky Permissions-Policy (predtým Feature-Policy), ktorá obmedzuje prístup stránky a vložených iframe-ov k citlivým API prehliadača ako kamera, mikrofón, geolokácia, platobné API a ďalšie.

**Prečo je to dôležité:** Bez Permissions-Policy môže škodlivý iframe vložený cez reklamu alebo widget tretej strany pristúpiť ku kamere, mikrofónu alebo geolokácii používateľa. Táto hlavička umožňuje explicitne vypnúť API, ktoré web nepotrebuje, a obmedziť tak útočnú plochu.

**Príklad z praxe:** Stripe.com nastavuje Permissions-Policy: camera=(), microphone=(), geolocation=(), čím zakáže prístup ku kamere, mikrofónu aj geolokácii na celom webe. Ak by sa na stránku dostal škodlivý skript, nemohol by aktivovať tieto senzory.

#### Zdroje
- [Permissions-Policy header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Permissions-Policy) — MDN
- [Permissions Policy guide](https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/Permissions_Policy) — MDN

---

### SEC8 — Mixed Content

**Čo to je:** Kontrola, či HTTPS stránka neobsahuje zdroje načítané cez nešifrovaný HTTP protokol (obrázky, skripty, štýly, fonty). Takýto obsah sa nazýva 'mixed content' a narúša bezpečnosť celej stránky.

**Prečo je to dôležité:** Aj keď je hlavná stránka na HTTPS, HTTP zdroje môže útočník v sieti zachytiť a zmeniť. Škodlivý skript načítaný cez HTTP na HTTPS stránke má plný prístup k DOM a cookies. Prehliadače aktívny mixed content (skripty, iframe) blokujú, pasívny (obrázky) označujú varovaním.

**Príklad z praxe:** E-shop na HTTPS načíta produktové obrázky z http://cdn.example.com/product.jpg. Chrome zobrazí v konzole varovanie 'Mixed Content' a ikona zámku zmizne. Po zmene na https://cdn.example.com/product.jpg je stránka plne zabezpečená a zámok sa vráti.

#### Zdroje
- [Mixed content](https://developer.mozilla.org/en-US/docs/Web/Security/Defenses/Mixed_content) — MDN
- [Content Security Policy guide](https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/CSP) — MDN

---

### SEC9 — Security Warnings

**Čo to je:** Kontrola, či sa v konzole prehliadača nezobrazujú bezpečnostné varovania — napríklad o chýbajúcich bezpečnostných hlavičkách, neplatných certifikátoch, zastaralých TLS verziách, nebezpečných formulároch alebo problémoch s CORS politikou.

**Prečo je to dôležité:** Bezpečnostné varovania v konzole signalizujú potenciálne zraniteľnosti, ktoré útočník môže zneužiť. Ignorovanie varovaní môže viesť k úniku dát, neautorizovanému prístupu alebo kompromitácii celej aplikácie. Bezchybná konzola je znakom dobre zabezpečeného webu.

**Príklad z praxe:** Web s formulárom na HTTP stránke zobrazí v Chrome varovanie o nezabezpečenom cieli formulára. Cloudflare.com má čistú konzolu bez bezpečnostných varovaní, čo svedčí o dôslednom zabezpečení všetkých častí webu.

#### Zdroje
- [Security on the web](https://developer.mozilla.org/en-US/docs/Web/Security) — MDN
- [OWASP Secure Headers Project](https://owasp.org/www-project-secure-headers/) — OWASP

---

### SEC10 — Insecure Cookies

**Čo to je:** Kontrola, či cookies majú nastavené bezpečnostné atribúty: Secure (posielanie len cez HTTPS), HttpOnly (neprístupné cez JavaScript) a SameSite (ochrana pred CSRF útokmi). Chýbajúce atribúty vytvárajú vážne bezpečnostné zraniteľnosti.

**Prečo je to dôležité:** Cookie bez Secure atribútu sa posiela aj cez HTTP, kde ju útočník zachytí. Bez HttpOnly ju ukradne XSS útok cez prístup ku cookies v JavaScripte. Bez SameSite=Strict alebo Lax môže útočník vytvoriť CSRF útok — falošný formulár, ktorý automaticky odošle požiadavku s cookie obete.

**Príklad z praxe:** Stripe Dashboard nastavuje session cookie so všetkými troma atribútmi: Set-Cookie: session=abc123; Secure; HttpOnly; SameSite=Lax. Naopak, web bez týchto atribútov riskuje, že útočník cez XSS ukradne session cookie a prevezme účet používateľa.

#### Zdroje
- [Set-Cookie header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Set-Cookie) — MDN
- [Secure cookie configuration](https://developer.mozilla.org/en-US/docs/Web/Security/Practical_implementation_guides/Cookies) — MDN

---

### SEC11 — Deprecated APIs

**Čo to je:** Kontrola, či web nepoužíva zastaralé (deprecated) API volania, ktoré prehliadače plánujú alebo už prestali podporovať. Patria sem napríklad synchronný XMLHttpRequest, AppCache, Web SQL a ďalšie zastaralé funkcie.

**Prečo je to dôležité:** Zastaralé API často obsahujú bezpečnostné zraniteľnosti, ktoré už nebudú opravené. Niektoré zastaralé metódy zápisu do DOM môžu byť zneužité na injektáž škodlivého kódu, synchronný XHR blokuje hlavné vlákno. Prehliadače tieto API postupne odstraňujú, čo môže spôsobiť nefunkčnosť webu.

**Príklad z praxe:** Starší web používa zastaralé metódy na vkladanie skriptov do stránky namiesto moderného createElement alebo async/defer atribútov. Chrome tieto volania na pomalých pripojeniach blokuje. GitHub a Cloudflare používajú výlučne moderné API, čím zabezpečujú dlhodobú kompatibilitu.

#### Zdroje
- [Security on the web](https://developer.mozilla.org/en-US/docs/Web/Security) — MDN
- [HTTP Headers Cheat Sheet](https://cheatsheetseries.owasp.org/cheatsheets/HTTP_Headers_Cheat_Sheet.html) — OWASP

---

## Výkon (10)

10 výkonnostných kontrol

### P1 — Response Time (TTFB)

**Čo to je:** Time to First Byte (TTFB) meria čas od odoslania HTTP požiadavky po prijatie prvého bajtu odpovede zo servera. Ideálna hodnota je pod 800 ms. TTFB je základná metrika, ktorá ovplyvňuje všetky nasledujúce metriky ako FCP a LCP. Pomalý server znamená, že používateľ čaká ešte pred tým, než sa začne čokoľvek vykresľovať.

**Prečo je to dôležité:** Pomalý TTFB spomaľuje celú stránku. Ak server odpovedá pomaly, používateľ vidí bielu obrazovku. Google používa rýchlosť načítania ako ranking faktor. Podľa web.dev by mal byť TTFB pod 800 ms pre dobré hodnotenie. Každých 100 ms oneskorenia znižuje konverzie o približne 1 %.

**Príklad z praxe:** Amazon zistil, že každých 100 ms oneskorenia ich stojí 1 % tržieb. Google má TTFB typicky pod 200 ms vďaka distribuovaným serverom a edge cachingu. Ak váš e-shop odpovedá za 2500 ms, zákazníkom sa stránka načíta až po 4–5 sekundách a väčšina odíde.

#### Zdroje
- [Time to First Byte (TTFB)](https://web.dev/articles/ttfb) — web.dev
- [Optimize Time to First Byte](https://web.dev/articles/optimize-ttfb) — web.dev
- [Web Performance](https://developer.mozilla.org/en-US/docs/Web/Performance) — MDN Web Docs

---

### P2 — HTML veľkosť

**Čo to je:** Kontroluje veľkosť HTML dokumentu stránky. Ideálna veľkosť je pod 100 KB. Veľké HTML dokumenty spomaľujú parsing a zvyšujú čas do prvého vykreslenia. Nadmerne veľké HTML často vznikajú kvôli inline štýlom, inline skriptom alebo duplikovanému obsahu.

**Prečo je to dôležité:** Veľké HTML spomaľuje načítanie, pretože prehliadač musí celý dokument stiahnuť a sparsovať pred tým, než začne renderovať. Na mobilných sieťach je to ešte výraznejšie. Menší HTML tiež zníži spotrebu dát používateľov a zrýchli DOM parsing.

**Príklad z praxe:** Google homepage má HTML pod 50 KB, čo umožňuje bleskurýchle načítanie. Shopify optimalizuje HTML svojich šablón na minimum. Ak váš blog generuje 500 KB HTML kvôli inline CSS a zbytočným atribútom, načítanie na 3G sieti trvá aj 5 sekúnd.

#### Zdroje
- [Minify and compress network payloads](https://web.dev/reduce-network-payloads-using-text-compression/) — web.dev
- [Avoid enormous network payloads](https://web.dev/total-byte-weight/) — web.dev
- [Web Performance](https://developer.mozilla.org/en-US/docs/Web/Performance) — MDN Web Docs

---

### P3 — Externé zdroje

**Čo to je:** Počíta počet externých skriptov a CSS súborov načítaných na stránke. Ideálny počet je menej ako 15. Každý externý zdroj vyžaduje DNS lookup, TCP spojenie a HTTP požiadavku, čo pridáva latenciu. Render-blocking skripty a štýly sú obzvlášť problematické.

**Prečo je to dôležité:** Každý externý zdroj pridáva sieťovú latenciu. CSS a JavaScript sú render-blocking — prehliadač nemôže zobraziť obsah, kým ich všetky nenačíta. Príliš veľa externých zdrojov dramaticky spomaľuje First Contentful Paint a zvyšuje dobu, kedy používateľ vidí prázdnu stránku.

**Príklad z praxe:** Typický WordPress web načítava 15–30 externých zdrojov kvôli pluginom. Google homepage používa len 3–4 externé zdroje. Ak váš web načítava 25 externých skriptov z rôznych CDN, každý pridáva 50–200 ms latencie a celkové oneskorenie môže byť aj 2 sekundy.

#### Zdroje
- [Keep request counts low and transfer sizes small](https://web.dev/resource-summary/) — web.dev
- [Optimize resource loading](https://web.dev/learn/performance/optimize-resource-loading) — web.dev
- [Web Performance](https://developer.mozilla.org/en-US/docs/Web/Performance) — MDN Web Docs

---

### P4 — Inline CSS

**Čo to je:** Meria veľkosť inline CSS štýlov priamo v HTML dokumente oproti externým štýlom. Malé množstvo kritického inline CSS (do 15 KB) je prospešné pre rýchle vykreslenie above-the-fold obsahu. Príliš veľa inline CSS však zvyšuje veľkosť HTML a znemožňuje cachovanie štýlov.

**Prečo je to dôležité:** Inline CSS sa nedá cachovať — stiahne sa pri každom načítaní stránky. Veľké bloky inline CSS zväčšujú HTML dokument a spomaľujú parsing. Správny prístup je vložiť inline len kritické CSS pre obsah nad záhybom a zvyšok načítať asynchrónne z externého súboru.

**Príklad z praxe:** Google vkladá kritické CSS pre above-the-fold obsah (cca 10 KB) a zvyšok načítava asynchrónne. Ak váš web má 200 KB inline CSS v každom HTML dokumente, používateľ stiahne zbytočné dáta pri každom requeste a prehliadač nemôže CSS cachovať medzi stránkami.

#### Zdroje
- [Extract critical CSS](https://web.dev/articles/extract-critical-css) — web.dev
- [Defer non-critical CSS](https://web.dev/articles/defer-non-critical-css) — web.dev
- [CSS for Web Vitals](https://web.dev/articles/css-web-vitals) — web.dev

---

### P5 — Inline JS

**Čo to je:** Meria veľkosť inline JavaScript kódu priamo v HTML dokumente oproti externým skriptom. Malé inline skripty (do 5 KB) sú akceptovateľné pre kritickú funkcionalitu. Veľké bloky inline JS zväčšujú HTML, spomaľujú parsing a znemožňujú cachovanie a optimalizáciu skriptov.

**Prečo je to dôležité:** Inline JavaScript blokuje HTML parser a nemôže byť cachovaný prehliadačom. Veľké inline skripty spomaľujú Time to Interactive a zvyšujú veľkosť každého HTML dokumentu. Externé skripty sa dajú cachovať, minifikovať a načítavať asynchrónne pomocou atribútov async alebo defer.

**Príklad z praxe:** Shopify presunul väčšinu inline JS do externých súborov s async/defer atribútmi, čo zlepšilo TTI o 30 %. Ak váš e-shop má 150 KB inline JavaScriptu (trackery, analytické skripty), každá stránka bude o 150 KB väčšia a neoptimalizovateľná.

#### Zdroje
- [Remove unused JavaScript](https://web.dev/unused-javascript/) — web.dev
- [General HTML performance considerations](https://web.dev/learn/performance/general-html-performance) — web.dev
- [Web Performance](https://developer.mozilla.org/en-US/docs/Web/Performance) — MDN Web Docs

---

### P6 — Optimalizácia obrázkov

**Čo to je:** Kontroluje, či obrázky používajú moderné formáty (WebP, AVIF), lazy loading (loading='lazy') a responzívne veľkosti cez srcset atribút. Lazy loading odkladá načítanie obrázkov mimo viewport, srcset umožňuje prehliadaču vybrať správnu veľkosť obrázka pre dané zariadenie.

**Prečo je to dôležité:** Obrázky sú typicky najväčšia časť stránky (50–70 % dát). Bez lazy loadingu sa načítavajú všetky obrázky naraz, aj tie ktoré používateľ nikdy neuvidí. Bez srcset mobilné zariadenia stiahnu desktopové obrázky zbytočne veľké. Moderné formáty ako WebP sú o 25–35 % menšie ako JPEG.

**Príklad z praxe:** Medium používa lazy loading a srcset pre všetky obrázky v článkoch — načítava len obrázky viditeľné vo viewport a pre mobil posiela menšie verzie. Ak váš blog má 20 obrázkov po 500 KB bez lazy loadingu, používateľ stiahne 10 MB dát hneď pri načítaní stránky.

#### Zdroje
- [Browser-level image lazy loading for the web](https://web.dev/articles/browser-level-image-lazy-loading) — web.dev
- [Serve responsive images](https://web.dev/articles/serve-responsive-images) — web.dev
- [The Image Embed element - img](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/img) — MDN Web Docs

---

### P7 — Celková váha stránky

**Čo to je:** Meria celkovú veľkosť všetkých zdrojov stránky v KB (HTML, CSS, JS, obrázky, fonty). Ideálna hodnota je pod 2 000 KB. Podľa HTTP Archive je medián okolo 1 700–1 900 KB. Veľká stránka spomaľuje načítanie, zvlášť na mobilných sieťach a slabších zariadeniach.

**Prečo je to dôležité:** Celková veľkosť stránky priamo ovplyvňuje čas načítania. Na 3G sieti trvá stiahnutie 5 MB stránky viac ako 15 sekúnd. Google odporúča držať kritický obsah pod 170 KB komprimovaných dát pre dosiahnutie TTI pod 10 sekúnd na mobilných zariadeniach.

**Príklad z praxe:** Google.com má celkovú veľkosť pod 500 KB. Priemerný e-commerce web má 3–5 MB kvôli veľkým obrázkom produktov. Amazon optimalizuje obrázky a používa lazy loading, aby celková veľkosť neprekročila 2 MB pri prvom načítaní.

#### Zdroje
- [Avoid enormous network payloads](https://web.dev/total-byte-weight/) — web.dev
- [Your first performance budget](https://web.dev/your-first-performance-budget/) — web.dev
- [Performance budgets 101](https://web.dev/articles/performance-budgets-101) — web.dev

---

### P8 — Počet requestov

**Čo to je:** Počíta celkový počet HTTP požiadaviek potrebných na načítanie stránky. Ideálny počet je menej ako 50. Každý request pridáva latenciu kvôli DNS, TCP a TLS handshake. Aj s HTTP/2 multiplexingom má vysoký počet requestov negatívny dopad na výkon.

**Prečo je to dôležité:** Vysoký počet requestov spomaľuje načítanie stránky, zvlášť na vysokolatentných mobilných sieťach. Render-blocking požiadavky (CSS, synchronný JS) musia byť dokončené pred zobrazením obsahu. Cachovanie, bundlovanie a sprite techniky znižujú počet requestov.

**Príklad z praxe:** Typický WordPress web s 15 pluginmi generuje 80–120 HTTP requestov. Google.com potrebuje menej ako 20 requestov. Ak váš web vyžaduje 95 requestov (30 skriptov, 25 obrázkov, 15 CSS, 25 ďalších), na mobilnej sieti to môže trvať aj 8 sekúnd.

#### Zdroje
- [Keep request counts low and transfer sizes small](https://web.dev/resource-summary/) — web.dev
- [Prevent unnecessary network requests with the HTTP Cache](https://web.dev/articles/http-cache) — web.dev
- [Web Performance](https://developer.mozilla.org/en-US/docs/Web/Performance) — MDN Web Docs

---

### P9 — CSS Coverage

**Čo to je:** Meria percento nepoužitého CSS kódu na stránke. Ideálna hodnota je menej ako 50 % nepoužitého CSS. Nepoužité CSS štýly zbytočne zväčšujú súbory, spomaľujú stiahnutie a blokujú renderovanie stránky, pretože prehliadač musí spracovať všetky CSS pravidlá.

**Prečo je to dôležité:** CSS je render-blocking zdroj — prehliadač musí spracovať všetky CSS pravidlá pred vykreslením stránky. Ak 70 % CSS nie je použitých, prehliadač zbytočne strácal čas ich parsovaním. Odstránenie nepoužitého CSS zlepší FCP a LCP a zmenší veľkosť stránky.

**Príklad z praxe:** Bootstrap framework načítava často 90 % nepoužitého CSS ak sa použije len pár komponentov. Tailwind CSS s purge funkciou odstráni nepoužité triedy a zmenší CSS z 3 MB na 10 KB. Ak váš web používa 500 KB CSS ale reálne potrebuje len 50 KB, spomaľujete renderovanie zbytočne.

#### Zdroje
- [Remove unused CSS](https://web.dev/unused-css-rules/) — web.dev
- [Defer non-critical CSS](https://web.dev/articles/defer-non-critical-css) — web.dev
- [Coverage: Find unused JavaScript and CSS](https://developer.chrome.com/docs/devtools/coverage) — Chrome DevTools

---

### P10 — JS Coverage

**Čo to je:** Meria percento nepoužitého JavaScript kódu na stránke. Ideálna hodnota je menej ako 50 % nepoužitého JS. Nepoužitý JavaScript zbytočne zväčšuje súbory, spomaľuje stiahnutie, parsovanie a kompiláciu, čo priamo ovplyvňuje Time to Interactive.

**Prečo je to dôležité:** JavaScript je najdrahší zdroj na spracovanie — musí sa stiahnuť, sparsovať, skompilovať a vykonať. Nepoužitý JS plytvá všetkými týmito zdrojmi. Lighthouse označí každý JS súbor s viac ako 20 KiB nepoužitého kódu. Tree shaking a code splitting sú kľúčové optimalizácie.

**Príklad z praxe:** Webpack bundle analyzer často odhalí, že 60 % JavaScript kódu nie je použitých. Next.js používa automatický code splitting — každá stránka načíta len JS ktorý potrebuje. Ak váš web načítava 2 MB JavaScriptu ale používa len 400 KB, mobilné zariadenia strávia sekundy parsovaním zbytočného kódu.

#### Zdroje
- [Remove unused JavaScript](https://web.dev/unused-javascript/) — web.dev
- [Remove unused code](https://web.dev/remove-unused-code/) — web.dev
- [Coverage: Find unused JavaScript and CSS](https://developer.chrome.com/docs/devtools/coverage) — Chrome DevTools

---

## AI Viditeľnosť (10)

10 konceptov AI viditeľnosti v LLM modeloch

### K1 — Identita (Knowledge Level)

**Čo to je:** Meria úroveň znalostí AI modelov (ChatGPT, Claude, Gemini, Perplexity) o vašej doméne a značke. Výsledok sa vyjadruje na škále: none (AI nevie nic), confused (AI si pletie fakty), partial (AI vie základné informácie), good (AI má presné znalostí) a excellent (AI pozná detaily, históriu a kontext značky). Testuje sa sériou otázok o firme, produktoch a službách.

**Prečo je to dôležité:** Úroveň znalostí AI o vašej značke priamo určuje kvalitu odpoveďí, ktoré používatelia dostanú. Ak je úroveň 'none' alebo 'confused', AI môže potenciálnym zákazníkom poskynut nesprávne informácie alebo vás úplne ignorovať. Podľa výskumu GEO (Princeton/IIT Delhi) až 40 % používateľov dnes začína vyhľadávanie cez AI nástroje, preto je kľúčové, aby AI modely mali o vašej značke presné a úplne znalostí.

**Príklad z praxe:** Na otázku 'Čo je Martinus.sk?' ChatGPT odpovie: 'Martinus je najväčší slovenský internetový knízkupectvo založený v roku 2000 v Martine.' Toto je úroveň 'excellent' — AI pozná názov, zameranie, rok založenia aj mesto. Naopak, malá lokálna firma môže dostať úroveň 'none', ak o nej AI nemá žiadne informácie.

#### Zdroje
- [GEO: Generative Enginé Optimization](https://arxiv.org/abs/2311.09735) — arXiv (IIT Delhi, Princeton)
- [The Complete AI Visibility Guide for SEOs, Marketers, and Site Owners](https://ahrefs.com/blog/ai-visibility/) — Ahrefs
- [How Claude uses the internet — Does Anthropic crawl data from the web?](https://privacy.claude.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler) — Anthropic

---

### K2 — Odvetvie (Brand Mention Rate)

**Čo to je:** Meria frekvenciu, s akou AI modely spomínajú vašu značku v odpoveďíach na relevantné dotazy. Vyjadruje sa ako percento odpoveďí, v ktorých sa znacka objaví, z celkového počtu relevantnych dotazov. Napriklad ak z 50 dotazov týkajúcich sa vášho odvetvia AI spomenie vašu značku pri 15, Brand Mention Rate je 30 %.

**Prečo je to dôležité:** Zmienka značky v AI odpoveďí je digitálny ekvivalent word-of-mouth odporúčania. Podľa Ahrefs su zmienky značky z dôveryhodných zdrojov najsilnejším faktorom pre viditeľnosť v AI Overviews. Vyššia frekvencia zmienok buduje povedomie a dôveru, pretože uzivatel vníma AI odpoveďe ako objektívne a dôveryhodné odporúčania.

**Príklad z praxe:** Alza.sk sa pri dopytoch o elektronike na Slovensku objavuje v 70 % AI odpoveďí — to je vysoká Brand Mention Rate. Maly lokalne e-shop s elektronikou sa môže objavít len v 5 % odpoveďí. Cieľom je systematicky zvyšovať tento pomer optimalizáciou obsahu, budovaním zmienok na tretich stránkach a posilňovaním tematickej autority.

#### Zdroje
- [7 ways to grow brand mentions, a key metric for AI Overviews visibility](https://searchengineland.com/7-ways-to-grow-brand-mentions-a-key-metric-for-ai-overviews-visibility-458600) — Search Enginé Land
- [Ahrefs Brand Radar: See ANY brand's AI visibility](https://ahrefs.com/brand-radar) — Ahrefs

---

### K3 — Konkurencia (Link Presence)

**Čo to je:** Kontroluje, či AI modely poskytuju priamy odkaz (URL) na vás web v rámci svojich odpoveďí. Niektoré platformy ako Perplexity a Google AI Overviews štandardne pridávajú citácie s odkazmi, zatiaľ co ChatGPT a Claude nemusía vzdy poskytať priame URL. Metrika hodnotí prítomnosť odkazu naprieč vsetkymi sledovanými AI platformami.

**Prečo je to dôležité:** Samotná zmienka značky generuje povedomie, ale až priamy odkaz generuje návštevnosť a konverzie. Bez URL musi uzivatel manuálne vyhľadať vašu stranku, co znižuje pravdepodobnosť návštevy o 60-80 %. Perplexity a Google AI Overviews pridávajú citácie automaticky, preto je dôležité byt medzi citovanými zdrojmi týchto platform.

**Príklad z praxe:** Dopyt v Perplexity 'najlepšie pizzérie v Bratislave' — odpoveď obsahuje zoznam reštaurácií a na konci citácie s odkazmi: '[1] zomato.com, [2] tripadvisor.sk'. Web, ktorý je citovaný s odkazom, má pozitívnu Link Presence. Ak je vás web spomenuty, ale bez odkazu, uzivatel na vás pravdepodobne neklikne.

#### Zdroje
- [Google Search — AI features and your website](https://developers.google.com/search/docs/appearance/ai-features) — Google
- [Perplexity API — Getting Started](https://docs.perplexity.ai/guides/getting-started) — Perplexity
- [How to boost your AI search visibility: 5 key factors](https://searchengineland.com/how-to-boost-your-ai-search-visibility-5-key-factors-464398) — Search Enginé Land

---

### K4 — Odporúčanie (Confidence Score)

**Čo to je:** Hodnotí mieru istoty a presvedčivosti, s akou AI modely hovoria o vašej značke. Vysoká confidence znamena, ze AI odpoveďá s istotou a bez váhania ('Martinus.sk je vedúci slovenský kníhkupec'), zatiaľ co nízka confidence sa prejavuje neistými formuláciami ('Zdá sa, ze Martinus.sk by mohol byt...' alebo 'Nie som si istý, ale...').

**Prečo je to dôležité:** Miera istoty AI priamo ovplyvňuje dôveru používateľa. Ak AI odpoveďá neisto, uzivatel bude hľadať ďalšie overenie a môže si vybrať konkurenta, o ktorom AI hovori s väčšou istotou. Confidence Score koreluje s množstvom a kvalitou zdrojov o vašej značke, ktoré AI model spracoval počas trénovania.

**Príklad z praxe:** Na otázku 'Je Websupport spoľahlivý hosting?' ChatGPT odpovie: 'Websupport je jeden z najväčších a najspoľahlivejších hostingov na Slovensku s viac ako 75 000 zákazníkmi.' Toto je vysoká confidence — žiadne vahanie, konkrétne čísla. Naopak odpoveď 'Websupport je zrejme nejaký slovenský hosting provider' indikuje nízku confidence.

#### Zdroje
- [GPT-4 Technical Report](https://arxiv.org/abs/2303.08774) — OpenAI
- [The Claude Model Card](https://docs.anthropic.com/en/docs/about-claude/models) — Anthropic
- [LLMO: 10 Ways to Work Your Brand Into AI Answers](https://ahrefs.com/blog/llm-optimization/) — Ahrefs

---

### K5 — Technológia (Reputation Sentiment)

**Čo to je:** Analyzuje sentiment (tonalitu) AI odpoveďí o vašej značke — či je pozitívny, neutrálny alebo negatívny. AI modely syntetizujú informácie z množstva zdrojov a ich odpoveďe odrážajú celkový sentiment, ktorý o vašej značke existuje na internete. Metrika vyhodnocuje formulácie, prívlastky a kontext, v akom AI vás spomína.

**Prečo je to dôležité:** Negativny sentiment v AI odpoveďíach môže poškodiť reputáciu značky u tisicov používateľov denne. Na rozdiel od jednej negatívnej recenzie, ktoru môže clovek relativizovať, AI model prezentuje syntézu vsetkych dostupných informácií ako objektivny fakt. Preto je dôležité monitorovať a aktivne ovplyvnovat sentiment prostredníctvom kvalitného PR a content marketingu.

**Príklad z praxe:** Na dopyt 'skúsenosti s firmou XY' AI odpovie: 'Firma XY má prevažne pozitívne hodnotenia, zákazníci chvália rýchle dodanie a kvalitný zákaznícku podporu.' Toto je pozitívny sentiment. Ak by AI odpoveďál: 'Firma XY má mnoho negatívnych recenzií, zákazníci sa sťažujú na dlhé dopadové doby', bol by sentiment negatívny a znacka by malá reagovať.

#### Zdroje
- [AI Brand Performance: See How AI Talks About Your Brand](https://www.semrush.com/ai-seo/brand-performance/) — Semrush
- [How to measure and maximize visibility in AI search](https://searchengineland.com/how-to-measure-and-maximize-visibility-in-ai-search-462953) — Search Enginé Land
- [Gemini Apps Privacy Hub](https://support.google.com/gemini/answer/13594961) — Google AI

---

### K6 — Lokálne povedomie (Multi-model Consistency)

**Čo to je:** Meria konzistentnosť informácií o vašej značke naprieč rôzličnými AI modelmi (ChatGPT, Claude, Gemini, Perplexity). Každý model má iný trénovací dataset, inú architektúru a iné zdroje informácií, co môže viesť k rozporuplným odpoveďíam. Metrika porovnáva kľúčové fakty (názov, zameranie, produkty, kontakt) naprieč modelmi a vyjadruje mieru zhody.

**Prečo je to dôležité:** Ak jeden AI model o vás hovori správne a druhy uvá nesprávne údaje, vytvara to zmätok a nedôveru u používateľov. Konzistencia naprieč modelmi posilňuje dôveryhodnosť značky. Nekonzistentnosť často indikuje nedostatok štruktúrovaných dat na webe alebo protichodné informácie na rôznych zdrojoch, ktoré rôzne modely interpretujú odlišne.

**Príklad z praxe:** ChatGPT uvádza, ze vasa firma sídli v Bratislave, Claude tvrdi, ze v Košiciach, a Gemini nemá informaciu o sídle vôbec. Multi-model Consistency je v tomto prípade nízka. Riešením je aktualizovať Organization schema na webe, zjednotiť údaje na Google My Business, Wikipédii a obchodných registroch, aby vsetky AI modely mali prístup k rovnakým faktom.

#### Zdroje
- [LLM optimization in 2026: Tracking, visibility, and what's next for AI discovery](https://searchengineland.com/llm-optimization-tracking-visibility-ai-discovery-463860) — Search Enginé Land
- [Publishers and developers FAQ](https://help.openai.com/en/articles/12627856-publishers-and-developers-faq) — OpenAI
- [15 of the Best AI Search Monitoring Tools](https://ahrefs.com/blog/aeo-tools-optimize-for-llms/) — Ahrefs

---

### K7 — Kompletný profil (Query Coverage)

**Čo to je:** Meria pokrytie rôznych typov používateľských dotazov — informačných ('co je...'), navigačných ('web firmy XY'), transakčných ('kupit produkt XY') a porovnávacích ('XY vs. konkurent'). Vyjadruje, pri kolkych typoch dotazov sa vasa znacka objaví v AI odpoveďíach. Vyššia hodnota znamena, ze AI vás pozná v rôznych kontextoch a fázach nákupného procesu.

**Prečo je to dôležité:** Pouzivatelia kladaju AI rôzne typy otázok v rôznych fázach rozhodovania. Ak vás AI spomína len pri informačných dopytoch, ale nie pri transakčných, prichádzate o zákazníkov v rozhodujúcej faze nákupu. Kompletne query coverage zabezpečuje prítomnosť značky naprieč celým customer journey — od povedomia až po nakup.

**Príklad z praxe:** Firma ponúkajúca účtovnícke služby sleduje 4 typy dotazov: informacne ('co je danove priznanie'), navigacne ('účtovníctvo firma Bratislava'), transakcne ('objednat účtovníka online'), porovnávacie ('najlepšie účtovné firmy Slovensko'). AI ju spomína pri informačných a navigačných, ale nie pri transakčných a porovnávacích — query coverage je 50 %. Treba posilniť komerčný obsah a recenzie.

#### Zdroje
- [AI Visibility Toolkit: Boost Brand Visibility in AI Search](https://www.semrush.com/kb/1493-ai-visibility-toolkit) — Semrush
- [How to optimize for AI search: 12 proven LLM visibility tactics](https://searchengineland.com/optimize-ai-search-llm-visibility-tactics-468106) — Search Enginé Land
- [10 Ways to Use Ahrefs' Brand Radar to Grow AI Visibility](https://ahrefs.com/blog/brand-radar-use-cases/) — Ahrefs

---

### D1 — Hlavná téma (Factual Accuracy)

**Čo to je:** Hodnotí správnosť faktov, ktoré AI modely uvádzaju o vašej značke. Kontroluje sa presnost základných údajov: názov firmy, rok založenia, sidlo, produkty, ceny, kontaktne údaje, pocet zamestnancov a ďalšie overiteľné fakty. Vyjadruje sa ako percento spravnych faktov z celkového počtu overiteľných tvrdení AI o vašej značke.

**Prečo je to dôležité:** AI halucinácie su reálnym problémom — modely môžu s istotou uviesť nesprávne fakty o vašej firme. Nesprávna cena, neexistujuci produkt alebo zly kontakt môžu odradiť potenciálneho zakaznika alebo poškodiť reputáciu. Pravidelný monitoring faktickej presnosti umožňuje identifikovať a opravit nesprávne informácie aktualizáciou štruktúrovaných dat a verejne dostupných zdrojov.

**Príklad z praxe:** AI o vašej firme tvrdi: 'Firma XY bola založená v roku 2005, má sidlo v Ziliné a ponúka 3 hlavne produkty.' V skutočnosti bola založená v roku 2008, sídli v Bratislave a ponúka 5 produktov. Factual Accuracy je teda 0 z 3 kľúčových faktov (0 %). Riešením je aktualizácia údajov na Wikipédii, v obchodnom registri, na LinkedIn a nasadenie korektného Organization schema.

#### Zdroje
- [GPT-4 Technical Report](https://arxiv.org/abs/2303.08774) — OpenAI
- [The Claude Model Card](https://docs.anthropic.com/en/docs/about-claude/models) — Anthropic
- [Free AI Brand Visibility Tool: Check Your AI Search Presence](https://www.semrush.com/free-tools/ai-search-visibility-checker/) — Semrush

---

### D2 — Kategória (Competitive Position)

**Čo to je:** Urcuje pozíciu vašej značky v porovnaní s konkurenciou v AI odpoveďíach. Meria relatívny podiel zmienok (share of voice), poradie v zoznamoch a odporúčaniach a celkový sentiment v porovnaní s konkurenčnými znackami. Ak AI pri dopyte 'najlepšie X na Slovensku' uvádza vášho konkurenta na prvom mieste a vás na trecom, vasa competitive position je nizsia.

**Prečo je to dôležité:** Absolutne čísla zmienok nemaju velku výpovednú hodnotu bez kontextu konkurencie. Ak mate 50 zmienok, ale hlavný konkurent ich má 200, ste výrazne pozadu. Benchmarking voci konkurencii umožňuje identifikovať konkrétne oblasti, kde vás predbehajú, a zamerať optimalizáciu presné tam, kde to má najväčší dopad na získavanie zákazníkov.

**Príklad z praxe:** Tri slovenske cestovné kancelárie: na dopyt 'najlepsia cestovna kancelária Slovensko' AI uvádza: '1. TUI, 2. Pelikán, 3. Fischer.' Fischer má competitive position 3. z 3. Po kampani zameranej na budovanie zmienok, recenzií a obsahovej autority sa po 6 mesiacoch posunie na 2. miesto. Cieľom je dlhodobo obsadiť pozíciu 1.

#### Zdroje
- [The AI Visibility Index: Here's who's winning AI search](https://searchengineland.com/the-ai-visibility-index-heres-whos-winning-ai-search-463319) — Search Enginé Land
- [Ahrefs Brand Radar: See ANY brand's AI visibility](https://ahrefs.com/brand-radar) — Ahrefs
- [Semrush AI Visibility — Win Every Search](https://www.semrush.com/ai-seo/overview/) — Semrush

---

### D3 — Kombinácia kľúčových slov (Update Freshness)

**Čo to je:** Meria aktuálnosť informácií, ktoré AI modely o vašej značke uvádzaju. Kontroluje, či AI pozná vase najnovšie produkty, služby, zmeny v ponuke, nove pobočky alebo aktuálnu cenovú politiku. Zastarané informácie indikuju, ze AI model nemá prístup k čerstvým údajom alebo ze vase aktuálne informácie nie su dostatočne viditeľné na webe.

**Prečo je to dôležité:** AI modely majú trénovacie data s urcitym oneskorením (knowledge cutoff). Ak ste nedávno zmenili ponuku, otvorili novú pobočku alebo spustili novy produkt, AI o tom nemusí vediet. Pravidelná aktualizácia obsahu na webe, v štruktúrovaných datach a na autoritatívnych zdrojoch (Wikipédia, LinkedIn, Google My Business) pomáha AI modelom udržať si aktuálne informácie.

**Príklad z praxe:** Restauracia v roku 2025 rozširila menu o vegetariánske jedlá a otvorila novú pobočku v Petržalke. AI vsak stale uvádza len staré menu a jedinú pobočku v centre. Update Freshness je nízka. Riešenie: aktualizovať web, pridať LocalBusiness schema pre novú pobočku, publikovať tlačovú správu a aktualizovať Google My Business profil. Po 2-4 mesiacoch AI modely zaregistrujú zmeny.

#### Zdroje
- [Google Search — AI features and your website](https://developers.google.com/search/docs/appearance/ai-features) — Google
- [A 90-day SEO playbook for AI-driven search visibility](https://searchengineland.com/a-90-day-seo-playbook-for-ai-driven-search-visibility-466751) — Search Enginé Land
- [LLM Visibility: What It Is and How to Optimize for It](https://ahrefs.com/blog/llm-visibility/) — Ahrefs

---

