Co rel=noopener, noreferrer a nofollow skutečně dělají
Tři malé atributy odkazů s velmi odlišnými úlohami: zabezpečení prohlížeče, soukromí referreru a signály pro vyhledávače.
Obsah
- Stručná verze
- rel=noopener brání reverse tabnabbingu
- Ovlivňuje noopener SEO?
- rel=noreferrer skrývá odkazující stránku
- Kdy je noreferrer užitečný
- Kompromis v analytice
- rel=nofollow je pro vyhledávače, ne prohlížeče
- Kdy použít nofollow
- Co nofollow nedělá
- Běžné kombinace
- Externí odkaz otevíraný v nové kartě
- Placené umístění
- Uživatelsky vytvořený odkaz
- Interní odkazy
- Praktická politika pro týmy
- Jak otestovat, co se děje
- Shrnutí
Stručná verze
Atribut rel u odkazu popisuje vztah mezi aktuální stránkou a odkazovanou stránkou. Zní to abstraktně, ale v každodenní práci na webu se neustále objevují tři hodnoty:
<a href="https://example.com" target="_blank" rel="noopener noreferrer nofollow">
External resource
</a>
Tyto tři tokeny se často vkládají dohromady, jako by dělaly jednu věc. Nedělají.
noopenerje bezpečnostní kontrola prohlížeče.noreferrerje kontrola soukromí a analytiky.nofollowje signál pro vyhledávače.
Lze je kombinovat, ale měli byste vědět, proč je každý z nich přítomen. Přidat všechny tři ke každému odchozímu odkazu není vždy špatně, ale obvykle je to lenivé.
rel=noopener brání reverse tabnabbingu
rel="noopener" říká prohlížeči, aby nově otevřené stránce neposkytoval přístup k původní stránce přes window.opener.
To je důležité hlavně tehdy, když otevíráte odkaz v nové kartě nebo okně pomocí target="_blank":
<a href="https://external.example" target="_blank" rel="noopener">
Open external site
</a>
Bez noopener může být cílová stránka schopná spustit JavaScript, například:
window.opener.location = 'https://phishing.example';
Tento útok se běžně nazývá reverse tabnabbing. Uživatel klikne na legitimní odkaz, dostane se na jiný web a původní karta je nenápadně přesměrována na falešnou přihlašovací stránku nebo jiný škodlivý cíl.
Moderní prohlížeče se v tomto ohledu zlepšily. V současném chování prohlížečů se target="_blank" obecně bere tak, jako by bylo přítomno rel="noopener". To je dobře, ale neznamená to, že explicitní atribut je zbytečný. Explicitní noopener je stále užitečný, protože:
- dokumentuje váš záměr;
- chrání starší nebo neobvyklá prostředí pro prohlížení;
- vyhýbá se spoléhání na to, že každý vložený web view se chová jako moderní desktopový prohlížeč;
- usnadňuje code review.
Pro externí odkazy, které se otevírají v nové kartě, je rel="noopener" rozumný výchozí stav.
Ovlivňuje noopener SEO?
Ne, nijak významně. noopener je pro chování prohlížeče. Neříká vyhledávačům, zda stránku doporučujete, zda se má předávat link equity ani zda je odkaz placený.
Pokud vaše SEO politika zachází s noopener jako s pokynem pro hodnocení, potřebuje úpravu.
rel=noreferrer skrývá odkazující stránku
rel="noreferrer" říká prohlížeči, aby při následování odkazu neposílal HTTP hlavičku Referer.
Ano, hlavička je historicky chybně napsaná jako Referer. Atribut se píše noreferrer.
Za normálních okolností, když uživatel klikne na odkaz z vaší stránky na jiný web, může cílový web obdržet hodnotu referreru ukazující, odkud návštěva přišla. Podle Referrer-Policy vašeho webu to může být celá URL, pouze origin, nebo nic.
Cíl může například vidět:
Referer: https://www.example.com/pricing?plan=enterprise
nebo pouze:
Referer: https://www.example.com/
S rel="noreferrer" by prohlížeč tuto hlavičku pro danou navigaci posílat neměl.
<a href="https://external.example" rel="noreferrer">
External site
</a>
V praxi se noreferrer v moderních prohlížečích chová také jako noopener. Pokud použijete noreferrer, obecně na stejném odkazu kvůli zabezpečení nepotřebujete noopener. Mnoho týmů stále zapisuje obojí kvůli srozumitelnosti:
<a href="https://external.example" target="_blank" rel="noopener noreferrer">
External site
</a>
To je v pořádku. Je to redundantní, ale čitelné.
Kdy je noreferrer užitečný
Použijte noreferrer, když by URL aktuální stránky neměla být cíli odhalena.
Běžné příklady:
- odkazy ze soukromých dashboardů;
- odkazy z nepublikovaných náhledových prostředí;
- odkazy z URL obsahujících citlivé query parametry;
- odkazy v administrátorských nástrojích, moderačních frontách, obrazovkách CRM nebo systémech zákaznické podpory;
- odkazy, u kterých by cíl neměl znát přesnou zdrojovou stránku.
Poslední bod není vždy o utajení. Někdy jde o minimalizaci dat. Pokud cíl nepotřebuje znát odkazující URL, neposílejte ji.
To zapadá do širšího směru webového designu orientovaného na soukromí. Prohlížeče, uživatelé i regulátoři se posunuli k tomu, aby se ve výchozím nastavení posílalo méně okolních dat. Pokud se k této oblasti vracíte, náš článek co se změnilo u cookies v roce 2026 a co s tím dělat popisuje stejný obecný posun: méně neviditelného sledování, více záměrných datových toků.
Kompromis v analytice
noreferrer může narušit atribuci pro web, na který odkazujete. Jeho analytika může návštěvu klasifikovat jako přímý provoz místo referral provozu.
To není váš primární problém, ale může na tom záležet v partnerstvích, affiliate vztazích, zákaznických cestách a interních ekosystémech napříč doménami. Pokud váš marketingový tým očekává, že partnerské weby uvidí referral provoz z vaší domény, plošné noreferrer může vyvolat zmatek.
U mnoha běžných redakčních odkazů je lepší přístup nastavit celowebovou hlavičku Referrer-Policy než přidávat noreferrer všude. Například:
Referrer-Policy: strict-origin-when-cross-origin
Tato politika posílá celou URL pro navigaci ve stejném originu, posílá pouze origin zabezpečeným cílům mimo origin a neposílá žádný referrer při přechodu z HTTPS na HTTP. Pro mnoho webů je to praktické výchozí nastavení.
Pokud potřebujete zkontrolovat, jak se hlavičky chovají v produkci, surová HTTP kontrola je často jasnější než odhadování z analytických dashboardů. Postup v článku malá sada nástrojů pro ladění přesměrování a HTTP hlaviček v produkci se přímo hodí i pro ladění referrer-policy.
rel=nofollow je pro vyhledávače, ne prohlížeče
rel="nofollow" říká vyhledávačům, že nechcete naznačit doporučení odkazované stránky.
<a href="https://external.example" rel="nofollow">
User-submitted link
</a>
Původně bylo nofollow zavedeno pro boj s komentářovým spamem. Myšlenka byla jednoduchá: pokud odkazy v komentářích nepředávají hodnotící kredit, spammeři mají menší motivaci zaplavovat blogy a fóra.
Dnes Google zachází s nofollow spíše jako s nápovědou než jako s absolutním pokynem. Na tomto rozlišení záleží. Znamená to, že vyhledávače mohou odkaz v některých kontextech použít pro objevování nebo hodnoticí systémy, ale vy jasně signalizujete, že by odkaz neměl být brán jako běžné redakční doporučení.
Kdy použít nofollow
Použijte nofollow, když odkazujete, ale nechcete ručit za cíl.
Rozumné příklady zahrnují:
- nedůvěryhodné odkazy vytvořené uživateli;
- odkazy ve veřejných komentářích nebo profilech;
- odkazy na weby uvedené jako příklady špatného chování;
- odkazy vložené pro referenci, nikoli jako doporučení;
- odkazy v oblastech, kde je moderace omezená.
Pro placené nebo sponzorované odkazy upřednostněte rel="sponsored". Pro uživatelsky generovaný obsah upřednostněte rel="ugc". Hodnoty můžete v případě potřeby kombinovat:
<a href="https://example.com" rel="ugc nofollow">
User profile link
</a>
Pokud provozujete veřejné formuláře, komentáře, katalogy nebo profilové stránky, atributy odkazů jsou jen jednou částí problému se zneužíváním. Spam obvykle začíná dříve v toku odesílání. Máme samostatný rozbor proč je váš kontaktní formulář největším spamovým rizikem a stejné poučení platí i zde: nečekejte, že nofollow vykompenzuje slabou moderaci.
Co nofollow nedělá
nofollow nebrání uživatelům v kliknutí na odkaz. Neblokuje prohlížeči odeslání referreru. Neskrývá cíl před zobrazením. Nezabezpečuje target="_blank".
Také nezaručuje, že URL nebude nikdy procházena. Pokud vyhledávače najdou URL jinde, stále ji mohou procházet. Pokud potřebujete zabránit indexaci, použijte na cílové stránce vhodné robots kontroly, například noindex, nikoli atribut nofollow na odkazu někoho jiného.
Běžné kombinace
Externí odkaz otevíraný v nové kartě
<a href="https://external.example" target="_blank" rel="noopener">
External resource
</a>
Toto je základ. Řeší bezpečnostní problém vytvořený otevřením nového kontextu prohlížení.
Pokud zároveň nechcete posílat referrer data:
<a href="https://external.example" target="_blank" rel="noopener noreferrer">
External resource
</a>
Placené umístění
<a href="https://sponsor.example" rel="sponsored">
Sponsor site
</a>
Pokud se otevírá v nové kartě, můžete přidat noopener:
<a href="https://sponsor.example" target="_blank" rel="sponsored noopener">
Sponsor site
</a>
Nepoužívejte nofollow jako vágní náhradu za označení placených odkazů. Vyhledávače pro to dnes mají konkrétnější hodnotu: sponsored.
Uživatelsky vytvořený odkaz
<a href="https://user-submitted.example" rel="ugc nofollow">
User-submitted site
</a>
To vyhledávačům říká, že odkaz přidal uživatel a neměl by být brán jako běžný redakční hlas.
Interní odkazy
Většina interních odkazů žádnou z těchto hodnot nepotřebuje.
Nepřidávejte nofollow k interním odkazům jako rutinní taktiku tvarování. Obvykle to vytváří více zmatku než užitku. Pokud stránka nemá být indexována, řešte to přímo. Pokud stránka nemá být procházena, pečlivě promyslete pravidla robots, autentizaci, kanonikalizaci a architekturu webu.
U interních odkazů otevíraných v nové kartě je noopener stále neškodný a může být vhodný. Lepší otázka ale je, proč interní odkaz vůbec potřebuje novou kartu.
Praktická politika pro týmy
Jednoduchý interní styl předchází většině chyb:
- Přidávejte
rel="noopener"k odkazům starget="_blank", zejména k externím odkazům. - Přidávejte
noreferrerpouze tehdy, když je skrytí zdrojové URL záměrné. - Přidávejte
nofollowpouze tehdy, když cíl nedoporučujete. - Používejte
sponsoredpro placené odkazy augcpro odkazy vložené uživateli. - Nepoužívejte atributy odkazů jako náhradu za řízení přístupu, moderaci nebo pravidla indexace.
Důležitý je záměr. Každý token v rel by měl odpovídat na konkrétní otázku:
- Bezpečnost: má být nová stránka izolována od openeru?
- Soukromí: má cíl obdržet informace o referreru?
- SEO: doporučujeme tento odkaz jako redakční referenci?
Pokud nikdo v týmu nedokáže na tyto otázky odpovědět, atribut je pravděpodobně cargo cult HTML.
Jak otestovat, co se děje
U noopener otevřete odkaz a zkontrolujte, zda cíl může přistupovat k window.opener. Na kontrolované testovací stránce by window.opener mělo být null, když je noopener aktivní.
U noreferrer zkontrolujte síťový požadavek na straně cíle nebo použijte logger požadavků v testovacím prostředí. Browser DevTools mohou zobrazit odchozí hlavičky požadavků, ale serverové logy bývají často spolehlivější.
U nofollow je testování méně bezprostřední, protože jde o interpretaci vyhledávačem, ne o chování prohlížeče. Nejlepší kontrolou je inspekce zdroje: ověřte, že vykreslené HTML obsahuje očekávanou hodnotu rel. Pokud váš frontendový framework přepisuje odkazy, zkontrolujte finální DOM, ne jen šablonu.
Shrnutí
Tyto atributy jsou malé, ale leží na průsečíku bezpečnosti, soukromí a SEO. Zacházet s nimi jako se zaměnitelnými vytváří špatné návyky.
Používejte noopener velkoryse u odkazů do nové karty. Používejte noreferrer záměrně, když záleží na soukromí referreru. Používejte nofollow, když činíte vůči vyhledávačům prohlášení o doporučení. A když je odkaz placený nebo uživatelsky generovaný, použijte konkrétnější moderní hodnoty: sponsored a ugc.
To většině webů stačí. Cílem není ozdobit každý odkaz. Cílem je, aby každý odkaz řekl prohlížeči a vyhledávačům přesně to, co potřebují vědět.