SEO-32
Chybí X-Content-Type-Options: nosniff
Co kontrola měří
V hlavičkách odpovědi úvodní stránky se hledá X-. Chybí-li, vznikne nález. Stejně jako u SEO-31 se kontroluje jen úvodní stránka, jen přítomnost, a jen při čerstvém průchodu: bez hlaviček kontrola mlčí místo aby hlásila chybějící hodnotu.
Co kontrola nedělá: nekontroluje ostatní stránky ani ostatní bezpečnostní hlavičky, neposuzuje, jestli na webu vůbec jde nahrávat soubory (tedy jestli na téhle hlavičce ve vašem případě sejde), a nevidí hlavičku přidanou až na úrovni CDN, pokud audit chodí na server přímo.
Nález je vázaný na úvodní stránku, závažnost varování.
Jak silný důkaz za tím stojí
Doporučujeme to, protože to neuškodí nebo to má jiný užitek, ale vliv na to, jestli vás jazykové modely budou citovat, neslibujeme. Nikdo ho zatím nedoložil.
Na viditelnost v AI ani na pozici ve vyhledávání doložený vliv nemáme a netvrdíme ho. Je to bezpečnostní hlavička, ne SEO opatření; v reportu se objevuje vedle SEO nálezů, ale tak se číst nemá.
Co dělá, je jednoduché a doložené: zakáže prohlížeči hádat typ souboru podle obsahu, když se mu deklarovaný typ nezdá. Bez toho může prohlížeč soubor, který mu server pošle jako obyčejný text, vyhodnotit jako skript, a spustit ho.
Kdy na tom doopravdy sejde: když na web někdo nahrává soubory. Uživatelské přílohy, obrázky v diskusi, dokumenty ke stažení. Tam je „hádání typu“ cestou, jak podstrčit skript pod hlavičkou neškodného souboru. Na statickém webu bez nahrávání je to opatření do počtu.
Praktický závěr: je to jeden řádek v konfiguraci serveru bez jakéhokoli rizika (na rozdíl od HSTS), tak ho přidejte. Ale neočekávejte, že se tím něco změří.
Jak to opravit
Jedna hlavička na všechny odpovědi:
# nginx
add_header X-Content-Type-Options "nosniff" always;
# Apache
Header always set X-Content-Type-Options "nosniff"- Hodnota má jen jednu platnou podobu:
nosniff. Nic jiného se nenastavuje. alwaysu nginxu není kosmetika: bez něj se hlavička nepřidá k chybovým odpovědím (404, 500), a právě ty bývají cestou, kterou se obsah podstrkává.- Přidejte ji globálně, ne po jednotlivých blocích. Chybí-li na jednom typu souboru, opatření tam neplatí.
- Ověřte, že máte typy souborů deklarované správně.
nosniffznamená, že prohlížeč věří tomu, co mu pošlete, a když posíláte CSS jakotext/plain, po zapnutí se přestane používat.
Ověření:
curl -sI https://vase-domena/ | grep -i x-content-type-optionsCo o tom říká report
Popis nálezu
Homepage neposílá hlavičku `X-
Doporučení
Přidejte hlavičku `X-
Zdroje
- MDN: X-Content-Type-Options (ověřeno 2026-09-12)
Text ověřen 2026-09-12