Čo rel=noopener, noreferrer a nofollow v skutočnosti robia
Tri malé atribúty odkazov s veľmi odlišnými úlohami: bezpečnosť prehliadača, súkromie referrera a signály pre vyhľadávače.
Obsah
- Krátka verzia
- rel=noopener zabraňuje reverse tabnabbingu
- Ovplyvňuje noopener SEO?
- rel=noreferrer skryje odkazujúcu stránku
- Kedy je noreferrer užitočný
- Kompromis v analytike
- rel=nofollow je pre vyhľadávače, nie pre prehliadače
- Kedy použiť nofollow
- Čo nofollow nerobí
- Bežné kombinácie
- Externý odkaz otváraný na novej karte
- Platené umiestnenie
- Odkaz vytvorený používateľom
- Interné odkazy
- Praktická politika pre tímy
- Ako otestovať, čo sa deje
- Záver
Krátka verzia
Atribút rel pri odkaze opisuje vzťah medzi aktuálnou stránkou a odkazovanou stránkou. Znie to abstraktne, ale v každodennej webovej práci sa neustále objavujú tri hodnoty:
<a href="https://example.com" target="_blank" rel="noopener noreferrer nofollow">
External resource
</a>
Tieto tri tokeny sa často vkladajú spolu, akoby robili jednu vec. Nerobia.
noopenerje bezpečnostná kontrola prehliadača.noreferrerje kontrola súkromia a analytiky.nofollowje signál pre vyhľadávače.
Môžu sa kombinovať, ale mali by ste vedieť, prečo je každý z nich prítomný. Pridať všetky tri ku každému odchádzajúcemu odkazu nie je vždy nesprávne, ale zvyčajne je to lenivý prístup.
rel=noopener zabraňuje reverse tabnabbingu
rel="noopener" hovorí prehliadaču, aby novo otvorenej stránke neposkytol prístup k pôvodnej stránke cez window.opener.
Je to dôležité najmä vtedy, keď odkaz otvárate na novej karte alebo v novom okne pomocou target="_blank":
<a href="https://external.example" target="_blank" rel="noopener">
Open external site
</a>
Bez noopener môže cieľová stránka spustiť JavaScript napríklad takto:
window.opener.location = 'https://phishing.example';
Tento útok sa bežne nazýva reverse tabnabbing. Používateľ klikne na legitímny odkaz, dostane sa na inú stránku a pôvodná karta sa potichu presmeruje na falošnú prihlasovaciu stránku alebo iný škodlivý cieľ.
Moderné prehliadače sa v tomto zlepšili. Pri súčasnom správaní prehliadačov sa target="_blank" vo všeobecnosti správa tak, akoby bol prítomný rel="noopener". To je dobré, ale neznamená to, že explicitný atribút je zbytočný. Explicitný noopener je stále užitočný, pretože:
- dokumentuje váš zámer;
- chráni staršie alebo nezvyčajné prostredia prehliadania;
- nespolieha sa na to, že každé vložené webové zobrazenie sa správa ako moderný desktopový prehliadač;
- uľahčuje kontrolu kódu.
Pre externé odkazy, ktoré sa otvárajú na novej karte, je rel="noopener" rozumné predvolené nastavenie.
Ovplyvňuje noopener SEO?
Nie, nie zmysluplným spôsobom. noopener je určený pre správanie prehliadača. Nehovorí vyhľadávačom, či stránku odporúčate, či sa má prenášať hodnota odkazu, ani či je odkaz platený.
Ak vaša SEO politika považuje noopener za direktívu pre hodnotenie, potrebuje úpravu.
rel=noreferrer skryje odkazujúcu stránku
rel="noreferrer" hovorí prehliadaču, aby pri nasledovaní odkazu neposielal HTTP hlavičku Referer.
Áno, názov hlavičky je historicky nesprávne napísaný ako Referer. Atribút sa píše noreferrer.
Za bežných okolností, keď používateľ klikne na odkaz z vašej stránky na inú stránku, cieľ môže dostať hodnotu referrera ukazujúcu, odkiaľ návšteva prišla. V závislosti od Referrer-Policy vášho webu to môže byť celá URL, iba origin alebo nič.
Cieľ môže napríklad vidieť:
Referer: https://www.example.com/pricing?plan=enterprise
alebo iba:
Referer: https://www.example.com/
S rel="noreferrer" by prehliadač túto hlavičku pri danej navigácii nemal odoslať.
<a href="https://external.example" rel="noreferrer">
External site
</a>
V praxi sa noreferrer v moderných prehliadačoch správa aj ako noopener. Ak používate noreferrer, vo všeobecnosti na tom istom odkaze nepotrebujete noopener kvôli bezpečnosti. Mnohé tímy však pre zrozumiteľnosť stále píšu oboje:
<a href="https://external.example" target="_blank" rel="noopener noreferrer">
External site
</a>
To je v poriadku. Je to redundantné, ale čitateľné.
Kedy je noreferrer užitočný
Použite noreferrer, keď sa aktuálna URL stránky nemá odhaliť cieľu.
Bežné príklady:
- odkazy zo súkromných dashboardov;
- odkazy z nepublikovaných náhľadových prostredí;
- odkazy z URL obsahujúcich citlivé query parametre;
- odkazy v administrátorských nástrojoch, moderovacích frontoch, CRM obrazovkách alebo systémoch zákazníckej podpory;
- odkazy, pri ktorých cieľ nemá poznať presnú zdrojovú stránku.
Posledný bod nie je vždy o utajení. Niekedy ide o minimalizáciu dát. Ak cieľ nepotrebuje poznať odkazujúcu URL, neposielajte ju.
Zapadá to do širšieho smerovania webového dizajnu citlivého na súkromie. Prehliadače, používatelia aj regulátori sa posunuli k tomu, aby sa predvolene posielalo menej okolitého dátového kontextu. Ak sa k tejto oblasti vraciate, náš článok o tom, čo sa zmenilo pri cookies v roku 2026 a čo s tým robiť, pokrýva ten istý všeobecný posun: menej neviditeľného sledovania, viac zámerných dátových tokov.
Kompromis v analytike
noreferrer môže narušiť atribúciu pre stránku, na ktorú odkazujete. Jej analytika môže návštevu klasifikovať ako priamu návštevnosť namiesto referral návštevnosti.
Nie je to váš primárny problém, ale môže to byť dôležité v partnerstvách, affiliate vzťahoch, zákazníckych cestách a interných cross-domain ekosystémoch. Ak váš marketingový tím očakáva, že partnerské weby uvidia referral návštevnosť z vašej domény, plošné používanie noreferrer môže vytvoriť zmätok.
Pri mnohých bežných redakčných odkazoch je lepším prístupom nastaviť celowebovú hlavičku Referrer-Policy namiesto pridávania noreferrer všade. Napríklad:
Referrer-Policy: strict-origin-when-cross-origin
Táto politika posiela celú URL pri navigácii v rámci rovnakého originu, posiela iba origin do bezpečných cross-origin cieľov a neposiela žiadny referrer pri prechode z HTTPS na HTTP. Pre mnohé weby je to praktické predvolené nastavenie.
Ak potrebujete skontrolovať, ako sa hlavičky správajú v produkcii, surová HTTP kontrola je často jasnejšia než hádanie z analytických dashboardov. Postup v článku malá sada nástrojov na ladenie presmerovaní a HTTP hlavičiek v produkcii sa priamo hodí aj na ladenie referrer-policy.
rel=nofollow je pre vyhľadávače, nie pre prehliadače
rel="nofollow" hovorí vyhľadávačom, že nechcete naznačiť odporúčanie odkazovanej stránky.
<a href="https://external.example" rel="nofollow">
User-submitted link
</a>
Pôvodne bol nofollow zavedený na boj proti komentárovému spamu. Myšlienka bola jednoduchá: ak odkazy v komentároch neprenášali hodnotiaci kredit, spameri mali menšiu motiváciu zaplavovať blogy a fóra.
Dnes Google považuje nofollow skôr za náznak než za absolútnu direktívu. Tento rozdiel je dôležitý. Znamená, že vyhľadávače môžu odkaz v niektorých kontextoch použiť na objavovanie alebo v hodnotiacich systémoch, ale vy jasne signalizujete, že odkaz sa nemá brať ako bežné redakčné odporúčanie.
Kedy použiť nofollow
Použite nofollow, keď odkazujete, ale nechcete ručiť za cieľ.
Rozumné príklady zahŕňajú:
- nedôveryhodné odkazy vytvorené používateľmi;
- odkazy vo verejných komentároch alebo profiloch;
- odkazy na weby uvedené ako príklady zlého správania;
- odkazy pridané pre referenciu, nie ako odporúčanie;
- odkazy v oblastiach, kde je moderovanie obmedzené.
Pre platené alebo sponzorované odkazy uprednostnite rel="sponsored". Pre obsah vytvorený používateľmi uprednostnite rel="ugc". Hodnoty môžete v prípade potreby kombinovať:
<a href="https://example.com" rel="ugc nofollow">
User profile link
</a>
Ak prevádzkujete verejné formuláre, komentáre, adresáre alebo profilové stránky, atribúty odkazov sú iba jednou časťou problému so zneužívaním. Spam sa zvyčajne začína skôr v procese odosielania. Máme samostatný rozbor toho, prečo je váš kontaktný formulár vašou najväčšou spamovou zraniteľnosťou, a rovnaké poučenie platí aj tu: neočakávajte, že nofollow vykompenzuje slabé moderovanie.
Čo nofollow nerobí
nofollow nezabráni používateľom kliknúť na odkaz. Neblokuje prehliadaču odoslanie referrera. Neskrýva cieľ pred zobrazením. Nezabezpečuje target="_blank".
Takisto nezaručuje, že URL nebude nikdy crawlovaná. Ak vyhľadávače nájdu URL inde, stále ju môžu crawlovat. Ak potrebujete zabrániť indexovaniu, použite vhodné robots kontroly na cieľovej stránke, napríklad noindex, nie atribút nofollow na odkaze niekoho iného.
Bežné kombinácie
Externý odkaz otváraný na novej karte
<a href="https://external.example" target="_blank" rel="noopener">
External resource
</a>
Toto je základ. Rieši bezpečnostný problém vytvorený otvorením nového kontextu prehliadania.
Ak zároveň nechcete posielať údaje referrera:
<a href="https://external.example" target="_blank" rel="noopener noreferrer">
External resource
</a>
Platené umiestnenie
<a href="https://sponsor.example" rel="sponsored">
Sponsor site
</a>
Ak sa otvára na novej karte, môžete pridať noopener:
<a href="https://sponsor.example" target="_blank" rel="sponsored noopener">
Sponsor site
</a>
Nepoužívajte nofollow ako neurčitú náhradu za označenie platených odkazov. Vyhľadávače na to dnes majú presnejšiu hodnotu: sponsored.
Odkaz vytvorený používateľom
<a href="https://user-submitted.example" rel="ugc nofollow">
User-submitted site
</a>
Tým vyhľadávačom hovoríte, že odkaz pridal používateľ a nemá sa brať ako bežný redakčný hlas.
Interné odkazy
Väčšina interných odkazov nepotrebuje žiadnu z týchto hodnôt.
Nepridávajte nofollow k interným odkazom ako rutinnú taktiku tvarovania. Zvyčajne vytvorí viac zmätku než úžitku. Ak stránka nemá byť indexovaná, riešte to priamo. Ak stránka nemá byť crawlovaná, dôkladne zvážte robots pravidlá, autentifikáciu, kanonikalizáciu a architektúru webu.
Pri interných odkazoch otváraných na novej karte je noopener stále neškodný a môže byť vhodný. Lepšia otázka však je, prečo interný odkaz vôbec potrebuje novú kartu.
Praktická politika pre tímy
Jednoduchý interný štýl predíde väčšine chýb:
- Pridávajte
rel="noopener"k odkazom starget="_blank", najmä k externým odkazom. - Pridávajte
noreferreriba vtedy, keď je skrytie zdrojovej URL zámerné. - Pridávajte
nofollowiba vtedy, keď cieľ neodporúčate. - Používajte
sponsoredpre platené odkazy augcpre odkazy odoslané používateľmi. - Nepoužívajte atribúty odkazov ako náhradu za kontrolu prístupu, moderovanie alebo pravidlá indexovania.
Dôležitý je zámer. Každý token v rel by mal odpovedať na konkrétnu otázku:
- Bezpečnosť: má byť nová stránka izolovaná od openeru?
- Súkromie: má cieľ dostať informácie o referreri?
- SEO: odporúčame tento odkaz ako redakčnú referenciu?
Ak nikto v tíme nevie na tieto otázky odpovedať, atribút je pravdepodobne cargo cult HTML.
Ako otestovať, čo sa deje
Pri noopener otvorte odkaz a skontrolujte, či cieľ dokáže pristupovať k window.opener. Na kontrolovanej testovacej stránke by window.opener malo byť null, keď je noopener aktívny.
Pri noreferrer skontrolujte sieťovú požiadavku na strane cieľa alebo použite logger požiadaviek v testovacom prostredí. Browser DevTools dokážu ukázať odchádzajúce hlavičky požiadaviek, ale serverové logy sú často spoľahlivejšie.
Pri nofollow je testovanie menej okamžité, pretože ide o interpretáciu vyhľadávača, nie o správanie prehliadača. Najlepšou kontrolou je kontrola zdrojového kódu: potvrďte, že vyrenderované HTML obsahuje očakávanú hodnotu rel. Ak váš frontendový framework prepisuje odkazy, skontrolujte finálny DOM, nielen šablónu.
Záver
Tieto atribúty sú malé, ale nachádzajú sa na priesečníku bezpečnosti, súkromia a SEO. Zaobchádzať s nimi ako so zameniteľnými vytvára zlé návyky.
Používajte noopener veľkoryso pri odkazoch otváraných na novej karte. Používajte noreferrer zámerne, keď záleží na súkromí referrera. Používajte nofollow, keď robíte voči vyhľadávačom vyhlásenie o odporúčaní. A keď je odkaz platený alebo vytvorený používateľom, použite presnejšie moderné hodnoty: sponsored a ugc.
To stačí pre väčšinu webov. Cieľom nie je ozdobiť každý odkaz. Cieľom je, aby každý odkaz prehliadaču a vyhľadávačom presne povedal, čo potrebujú vedieť.