Backend/Server

User Agent

Co je user agent?

User agent je identifikační řetězec, který váš prohlížeč nebo aplikace posílá webovému serveru při každé návštěvě webu. Říká webu, jaký prohlížeč používáte, na jakém zařízení a jaký máte operační systém. Představte si to jako vizitku, kterou váš prohlížeč automaticky předá webu při vstupu.

Pro většinu návštěvníků webu je user agent neviditelná věc – funguje na pozadí bez vašeho vědomí. Ale pro majitele webu je user agent cenným zdrojem informací. Díky němu web pozná, že návštěvník přichází z mobilního telefonu, a zobrazí mu mobilní verzi stránky. Nebo pozná starý prohlížeč a upraví zobrazení tak, aby web fungoval správně i tam.

V praxi user agent vypadá jako dlouhý řetězec znaků, třeba: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 Chrome/120.0.0.0. Pro běžného člověka je to nečitelné, ale pro server je to přesná informace: návštěvník používá Chrome verze 120 na Windows 10 se 64bitovou architekturou. Nemusíte těmto řetězcům rozumět – váš web s nimi pracuje automaticky.

User agent není jen pro prohlížeče. Mobilní aplikace, vyhledávací roboti (crawleři) nebo nástroje pro testování webů také posílají svůj user agent. Díky tomu web pozná, jestli ho navštívil člověk nebo robot Googlu. A podle toho může reagovat – třeba robotovi zobrazit čistou verzi bez zbytečností, aby mohl efektivně indexovat obsah.

Jak user agent funguje?

Když zadáte adresu webu do prohlížeče a stisknete Enter, váš prohlížeč okamžitě pošle serveru požadavek o načtení stránky. Součástí tohoto požadavku je právě user agent řetězec. Server si ho přečte a podle toho rozhodne, jakou verzi webu vám pošle.

Moderní weby používají user agent pro responzivní design – tedy schopnost přizpůsobit se různým zařízením. Server detekuje, že přicházíte z mobilního telefonu, a pošle verzi webu s většími tlačítky, zjednodušenou navigací a optimalizovanými obrázky. Kdybyste přišli z počítače, dostanete plnou verzi s více detaily a funkcemi.

User agent také pomáhá řešit kompatibilitu. Starší prohlížeče nezvládají moderní funkce jako CSS Grid nebo některé JavaScriptové funkce. Web detekuje starý prohlížeč přes user agent a pošle zjednodušenou verzi, která bude fungovat správně. Nebo zobrazí varování: "Váš prohlížeč je zastaralý, doporučujeme aktualizovat."

Pro vyhledávače jako Google je user agent klíčový. Robot Googlu (Googlebot) má vlastní user agent, který ho identifikuje. Web pozná, že ho navštěvuje vyhledávač, a může mu poskytnout čistou verzi bez reklam nebo vyskakovacích oken, aby robot mohl efektivně indexovat obsah. To pomáhá vašemu SEO.

Typy user agentů

  • Prohlížeče (Chrome, Firefox, Safari, Edge)

  • Každý prohlížeč má vlastní user agent řetězec. Chrome se identifikuje jinak než Firefox. Díky tomu web pozná, jaký prohlížeč používáte, a může optimalizovat zobrazení. Třeba Safari na Apple zařízeních má specifické vlastnosti, které Chrome nemá. Web to pozná a přizpůsobí se.

  • Mobilní zařízení (telefony a tablety)

  • User agent mobilního telefonu obsahuje informaci o výrobci, modelu a operačním systému (iOS, Android). Web díky tomu pozná, že návštěvník používá iPhone, a zobrazí optimalizovanou verzi. Mobilní user agenty jsou obzvlášť důležité – více než 70% návštěvníků přichází z mobilů.

  • Vyhledávací roboti (Googlebot, Seznambot)

  • Roboti vyhledávačů mají specifické user agenty. Googlebot se představí jako "Googlebot/2.1". Díky tomu web pozná, že ho skenuje vyhledávač, a může mu poskytnout přístup ke všem stránkám bez omezení. Některé weby blokují roboty kvůli ochraně dat nebo placenému obsahu pomocí robots.txt.

  • Sociální sítě (Facebook bot, LinkedIn bot)

  • Když sdílíte odkaz na Facebooku, Facebook pošle robota, aby načetl náhled stránky – obrázek, titulek a popis. User agent Facebooku říká webu: "Jsem Facebook bot, potřebuji metadata pro náhled." Web mu pošle Open Graph tagy s informacemi pro náhled.

  • Nástroje a aplikace (Curl, Postman, API klienti)

  • Vývojáři používají nástroje pro testování webů a API. Tyto nástroje mají vlastní user agenty. Web díky nim pozná, že požadavek nepřichází od běžného návštěvníka, ale od testovacího nástroje. To pomáhá při ladění a vývoji.

Proč je user agent důležitý pro web

User agent je základem responzivního designu. Bez něj by web nemohl rozlišit, jestli ho navštěvujete z mobilu nebo počítače. Výsledkem by byla špatná uživatelská zkušenost – drobný text na mobilu nebo zbytečně zjednodušená verze na velkém monitoru. User agent zajišťuje, že každý návštěvník dostane optimální verzi webu.

Pro SEO je user agent kritický. Google používá mobile-first indexing – znamená to, že nejdřív indexuje mobilní verzi vašeho webu. Pokud web nedetekuje správně mobilní user agent a neposkytne mobilní verzi, Google to zaznamená a vaše pozice klesnou. Správná detekce user agenta je tedy přímo spojená s vaším umístěním ve vyhledávání.

User agent pomáhá také s bezpečností. Web může detekovat podezřelé user agenty, které používají automatizované nástroje pro scraping (stahování obsahu) nebo útoky. Pokud web vidí tisíce požadavků se stejným nestandardním user agentem, může tyto požadavky zablokovat. To chrání server před přetížením.

Analytika využívá user agent pro statistiky. Google Analytics analyzuje user agenty všech návštěvníků a vytváří reporty – jaké prohlížeče lidé používají, kolik jich přichází z mobilů, jaké jsou nejčastější operační systémy. Tyto informace vám pomáhají rozhodnout, na jaká zařízení a prohlížeče se při vývoji webu zaměřit.

Důležité je vědět, že user agent není 100% spolehlivý. Uživatelé nebo aplikace mohou user agent změnit (tzv. user agent spoofing). Proto moderní weby kombinují detekci user agenta s dalšími technikami jako je analýza velikosti obrazovky nebo CSS media queries. Ale user agent zůstává základním nástrojem, který funguje rychle a jednoduše.

User agent a SEO

Googlebot používá specifické user agenty, které webmastera informují o typu crawleru. Existuje Googlebot pro desktop, Googlebot pro mobil, Googlebot pro obrázky a další. Když váš web správně rozpozná tyto user agenty, může Googlu poskytnout optimální verzi obsahu pro indexaci.

Protože Google používá mobile-first indexing od roku 2019, mobilní Googlebot je prioritní. Pokud váš web detekuje mobilní user agent a zobrazí mobilní verzi, Google tuto verzi použije pro hodnocení ve vyhledávání. Proto je kritické, aby mobilní verze vašeho webu obsahovala všechen důležitý obsah – nejen zkrácenou verzi.

Pozor na tzv. cloaking – techniku, kdy web záměrně zobrazuje Googlebotu jiný obsah než běžným návštěvníkům. Google toto považuje za porušení pravidel a penalizuje takové weby. User agent byste měli používat pouze pro legitimní optimalizaci (mobilní vs. desktop verze), nikdy pro podvodné účely.

V Google Search Console můžete vidět, jak Googlebot prochází váš web. Pokud máte problémy s indexací, zkontrolujte, zda váš server správně reaguje na Googlebot user agent a nezablokuje ho náhodou v robots.txt nebo serverových pravidlech.

Jak zjistit svůj user agent

Nejjednodušší způsob je zadat do Googlu "what is my user agent" nebo navštívit specializované weby jako whatismybrowser.com. Tyto stránky vám okamžitě zobrazí kompletní user agent řetězec vašeho prohlížeče spolu s dekódovanými informacemi – jaký prohlížeč, verzi, operační systém a zařízení používáte.

Pokročilejší uživatelé mohou user agent zjistit přímo v prohlížeči. V Chrome nebo Firefox stiskněte F12 pro otevření vývojářských nástrojů, přejděte na záložku "Network" (Síť), načtěte libovolnou stránku a klikněte na první požadavek. V sekci "Request Headers" (Hlavičky požadavku) najdete řádek "User-Agent" s kompletním řetězcem.

V JavaScriptu můžete user agent získat pomocí jednoduchého příkazu:

// Získání user agent řetězce v JavaScriptu
console.log(navigator.userAgent);

// Výstup bude například:
// Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 Chrome/120.0.0.0

Pro testování, jak váš web reaguje na různé user agenty, můžete v Chrome DevTools použít funkci "Device Toolbar" (Ctrl+Shift+M) a přepínat mezi různými zařízeními. Prohlížeč bude posílat user agent odpovídající vybranému zařízení, takže můžete testovat mobilní verzi webu bez nutnosti vlastnit daný telefon.

Nejčastější otázky o user agentu

Mohu zjistit, jaký user agent používám? Rozbalit

Ano, můžete jednoduše zadat do Google "what is my user agent" a najdete stránky, které vám zobrazí váš aktuální user agent řetězec. Uvidíte přesné informace o vašem prohlížeči, operačním systému a zařízení. Je to užitečné, pokud potřebujete například nahlásit technický problém na webu.

Může web fungovat špatně kvůli user agentu? Rozbalit

Ano, někdy. Pokud používáte velmi starý nebo naopak velmi nový prohlížeč, web nemusí rozpoznat váš user agent správně. Výsledkem může být špatné zobrazení nebo nefunkční části webu. Řešením je aktualizace prohlížeče nebo kontaktování majitele webu s popisem problému.

Je user agent bezpečnostní riziko? Rozbalit

User agent sám o sobě není riziko. Poskytuje jen základní informace o vašem systému, které jsou nutné pro správné zobrazení webu. Neobsahuje osobní údaje jako jméno, email nebo polohu. Nicméně v kombinaci s dalšími daty může přispět k fingerprintingu – technice identifikace uživatelů bez cookies.

Proč má user agent tak podivný formát? Rozbalit

User agent řetězec má svůj formát z historických důvodů. Když vznikly první prohlížeče v 90. letech, každý výrobce přidával svou identifikaci na konec řetězce, aby zachoval kompatibilitu se starými servery. Výsledkem je dlouhý řetězec plný zdánlivě zbytečných informací. Funguje to, takže nikdo neměl důvod to měnit.