Što rel=noopener, noreferrer i nofollow zapravo rade
Tri mala atributa poveznica s vrlo različitim zadacima: sigurnost preglednika, privatnost referrera i signaliziranje tražilicama.
Sadržaj
- Kratka verzija
- rel=noopener sprječava reverse tabnabbing
- Utječe li noopener na SEO?
- rel=noreferrer skriva referentnu stranicu
- Kada je noreferrer koristan
- Kompromis s analitikom
- rel=nofollow je za tražilice, ne za preglednike
- Kada koristiti nofollow
- Što nofollow ne radi
- Uobičajene kombinacije
- Vanjska poveznica koja se otvara u novoj kartici
- Plaćeni položaj
- Poveznica koju je generirao korisnik
- Interne poveznice
- Praktična politika za timove
- Kako testirati što se događa
- Zaključak
Kratka verzija
Atribut rel na poveznici opisuje odnos između trenutačne stranice i povezane stranice. To zvuči apstraktno, ali tri se vrijednosti stalno pojavljuju u svakodnevnom web radu:
<a href="https://example.com" target="_blank" rel="noopener noreferrer nofollow">
External resource
</a>
Ta se tri tokena često lijepe zajedno kao da rade jednu stvar. Ne rade.
noopenerje sigurnosna kontrola preglednika.noreferrerje kontrola privatnosti i analitike.nofollowje signal tražilicama.
Mogu se kombinirati, ali trebali biste znati zašto je svaki od njih prisutan. Dodavanje sva tri na svaku izlaznu poveznicu nije uvijek pogrešno, ali obično je lijeno.
rel=noopener sprječava reverse tabnabbing
rel="noopener" govori pregledniku da novootvorenoj stranici ne omogući pristup izvornoj stranici putem window.opener.
To je najvažnije kada poveznicu otvarate u novoj kartici ili prozoru pomoću target="_blank":
<a href="https://external.example" target="_blank" rel="noopener">
Open external site
</a>
Bez noopener, odredišna stranica možda može pokrenuti JavaScript poput ovoga:
window.opener.location = 'https://phishing.example';
Taj se napad obično naziva reverse tabnabbing. Korisnik klikne legitimnu poveznicu, završi na drugoj stranici, a izvorna se kartica u tišini preusmjeri na lažnu stranicu za prijavu ili neko drugo zlonamjerno odredište.
Moderni preglednici ovdje su se poboljšali. U trenutačnom ponašanju preglednika, target="_blank" općenito se tretira kao da je rel="noopener" prisutan. To je dobro, ali ne čini eksplicitni atribut besmislenim. Eksplicitni noopener i dalje je koristan jer:
- dokumentira vašu namjeru;
- štiti starija ili neuobičajena okruženja za pregledavanje;
- izbjegava oslanjanje na to da se svaki ugrađeni web view ponaša kao moderan desktop preglednik;
- olakšava pregled koda.
Za vanjske poveznice koje se otvaraju u novoj kartici, rel="noopener" razuman je zadani izbor.
Utječe li noopener na SEO?
Ne, ne na ikakav smislen način. noopener služi za ponašanje preglednika. Ne govori tražilicama podržavate li neku stranicu, treba li se prenijeti link equity ili je li poveznica plaćena.
Ako vaša SEO politika tretira noopener kao direktivu za rangiranje, tu politiku treba urediti.
rel=noreferrer skriva referentnu stranicu
rel="noreferrer" govori pregledniku da ne šalje HTTP zaglavlje Referer kada korisnik slijedi poveznicu.
Da, naziv zaglavlja povijesno je pogrešno napisan kao Referer. Atribut se piše noreferrer.
Uobičajeno, kada korisnik klikne poveznicu s vaše stranice na drugu stranicu, odredište može primiti vrijednost referrera koja pokazuje odakle je posjet došao. Ovisno o Referrer-Policy vaše stranice, to može biti puni URL, samo origin ili ništa.
Na primjer, odredište može vidjeti:
Referer: https://www.example.com/pricing?plan=enterprise
ili samo:
Referer: https://www.example.com/
Uz rel="noreferrer", preglednik ne bi trebao slati to zaglavlje za tu navigaciju.
<a href="https://external.example" rel="noreferrer">
External site
</a>
U praksi, noreferrer se u modernim preglednicima ponaša i kao noopener. Ako koristite noreferrer, za sigurnost na istoj poveznici uglavnom vam ne treba noopener. Mnogi timovi ipak pišu oboje radi jasnoće:
<a href="https://external.example" target="_blank" rel="noopener noreferrer">
External site
</a>
To je u redu. Redundantno je, ali čitljivo.
Kada je noreferrer koristan
Koristite noreferrer kada URL trenutačne stranice ne bi trebao biti izložen odredištu.
Uobičajeni primjeri:
- poveznice iz privatnih nadzornih ploča;
- poveznice iz neobjavljenih preview okruženja;
- poveznice iz URL-ova koji sadrže osjetljive parametre upita;
- poveznice u administratorskim alatima, redovima za moderaciju, CRM ekranima ili sustavima korisničke podrške;
- poveznice kod kojih odredište ne bi trebalo znati točnu izvornu stranicu.
Ta posljednja točka nije uvijek pitanje tajnosti. Ponekad je riječ o minimizaciji podataka. Ako odredište ne mora znati referentni URL, nemojte ga slati.
To se uklapa u širi smjer web dizajna svjesnog privatnosti. Preglednici, korisnici i regulatori svi su se pomaknuli prema slanju manje ambijentalnih podataka prema zadanim postavkama. Ako ponovno razmatrate ovo područje, naš članak o tome što se promijenilo za kolačiće u 2026. i što učiniti u vezi s tim pokriva isti opći pomak: manje nevidljivog praćenja, više namjernih tokova podataka.
Kompromis s analitikom
noreferrer može narušiti atribuciju za stranicu na koju povezujete. Njihova analitika može klasificirati posjet kao izravan promet umjesto kao referral promet.
To nije vaš primarni problem, ali može biti važno u partnerstvima, affiliate odnosima, korisničkim putovanjima i internim ekosustavima preko više domena. Ako vaš marketinški tim očekuje da partnerske stranice vide referral promet s vaše domene, općeniti noreferrer može stvoriti zabunu.
Za mnoge obične uredničke poveznice bolji je pristup postaviti zaglavlje Referrer-Policy na razini cijele stranice nego dodavati noreferrer posvuda. Na primjer:
Referrer-Policy: strict-origin-when-cross-origin
Ta politika šalje puni URL za navigaciju unutar istog origina, šalje samo origin prema sigurnim cross-origin odredištima i ne šalje referrer pri prijelazu s HTTPS-a na HTTP. To je praktična zadana postavka za mnoge stranice.
Ako trebate provjeriti kako se zaglavlja ponašaju u produkciji, sirova HTTP provjera često je jasnija od nagađanja iz analitičkih nadzornih ploča. Tijek rada u malom kompletu alata za otklanjanje pogrešaka u preusmjeravanjima i HTTP zaglavljima u produkciji izravno se primjenjuje na otklanjanje pogrešaka u referrer-policy postavkama.
rel=nofollow je za tražilice, ne za preglednike
rel="nofollow" govori tražilicama da ne želite implicirati podršku povezanoj stranici.
<a href="https://external.example" rel="nofollow">
User-submitted link
</a>
Izvorno je nofollow uveden za borbu protiv spama u komentarima. Ideja je bila jednostavna: ako poveznice u komentarima ne prenose kredit za rangiranje, spameri imaju manje poticaja preplaviti blogove i forume.
Danas Google tretira nofollow kao naznaku, a ne kao apsolutnu direktivu. Ta je razlika važna. Znači da tražilice u nekim kontekstima mogu koristiti poveznicu za otkrivanje ili sustave rangiranja, ali vi jasno signalizirate da se poveznica ne bi trebala tretirati kao normalna urednička preporuka.
Kada koristiti nofollow
Koristite nofollow kada povezujete, ali ne želite jamčiti za odredište.
Razumni primjeri uključuju:
- nepouzdane poveznice koje su generirali korisnici;
- poveznice u javnim komentarima ili profilima;
- poveznice na stranice spomenute kao primjeri lošeg ponašanja;
- poveznice uključene radi reference, ali ne i preporuke;
- poveznice u područjima gdje je moderacija ograničena.
Za plaćene ili sponzorirane poveznice radije koristite rel="sponsored". Za sadržaj koji generiraju korisnici radije koristite rel="ugc". Vrijednosti možete kombinirati ako je potrebno:
<a href="https://example.com" rel="ugc nofollow">
User profile link
</a>
Ako imate javne obrasce, komentare, direktorije ili stranice profila, atributi poveznica samo su jedan dio problema zloupotrebe. Spam obično počinje ranije u tijeku slanja. Imamo zasebnu analizu zašto je vaš kontaktni obrazac vaša najveća spam odgovornost, a ista lekcija vrijedi i ovdje: ne očekujte da će nofollow nadoknaditi slabu moderaciju.
Što nofollow ne radi
nofollow ne sprječava korisnike da kliknu poveznicu. Ne blokira preglednik u slanju referrera. Ne skriva odredište iz prikaza. Ne osigurava target="_blank".
Također ne jamči da URL nikada neće biti indeksiran pretraživanjem. Ako tražilice pronađu URL drugdje, i dalje ga mogu crawlati. Ako trebate spriječiti indeksiranje, koristite odgovarajuće robots kontrole na odredišnoj stranici, poput noindex, a ne atribut nofollow na tuđoj poveznici.
Uobičajene kombinacije
Vanjska poveznica koja se otvara u novoj kartici
<a href="https://external.example" target="_blank" rel="noopener">
External resource
</a>
Ovo je osnovna postavka. Rješava sigurnosni problem koji nastaje otvaranjem novog konteksta pregledavanja.
Ako također ne želite slati referrer podatke:
<a href="https://external.example" target="_blank" rel="noopener noreferrer">
External resource
</a>
Plaćeni položaj
<a href="https://sponsor.example" rel="sponsored">
Sponsor site
</a>
Možete dodati noopener ako se otvara u novoj kartici:
<a href="https://sponsor.example" target="_blank" rel="sponsored noopener">
Sponsor site
</a>
Nemojte koristiti nofollow kao nejasnu zamjenu za označavanje plaćenih poveznica. Tražilice sada za to imaju specifičniju vrijednost: sponsored.
Poveznica koju je generirao korisnik
<a href="https://user-submitted.example" rel="ugc nofollow">
User-submitted site
</a>
To govori tražilicama da je poveznicu doprinio korisnik i da je ne treba tretirati kao normalan urednički glas.
Interne poveznice
Većini internih poveznica ne treba nijedna od ovih vrijednosti.
Nemojte rutinski dodavati nofollow internim poveznicama kao taktiku sculptinga. To obično stvara više zabune nego koristi. Ako se stranica ne bi trebala indeksirati, riješite to izravno. Ako se stranica ne bi trebala crawlati, pažljivo razmislite o robots pravilima, autentikaciji, canonicalizationu i arhitekturi stranice.
Za interne poveznice koje se otvaraju u novoj kartici, noopener je i dalje bezopasan i može biti prikladan. Ali bolje je pitanje zašto internoj poveznici uopće treba nova kartica.
Praktična politika za timove
Jednostavan kućni stil sprječava većinu pogrešaka:
- Dodajte
rel="noopener"poveznicama starget="_blank", osobito vanjskim poveznicama. - Dodajte
noreferrersamo kada je skrivanje izvornog URL-a namjerno. - Dodajte
nofollowsamo kada ne podržavate odredište. - Koristite
sponsoredza plaćene poveznice iugcza poveznice koje su poslali korisnici. - Ne koristite atribute poveznica kao zamjenu za kontrolu pristupa, moderaciju ili pravila indeksiranja.
Važan dio je namjera. Svaki token u rel trebao bi odgovoriti na konkretno pitanje:
- Sigurnost: treba li nova stranica biti izolirana od opener-a?
- Privatnost: treba li odredište primiti referrer informacije?
- SEO: podržavamo li ovu poveznicu kao uredničku referencu?
Ako nitko u timu ne može odgovoriti na ta pitanja, atribut je vjerojatno cargo cult HTML.
Kako testirati što se događa
Za noopener, otvorite poveznicu i provjerite može li odredište pristupiti window.opener. Na kontroliranoj testnoj stranici window.opener trebao bi biti null kada je noopener aktivan.
Za noreferrer, pregledajte mrežni zahtjev na strani odredišta ili koristite logger zahtjeva u testnom okruženju. Browser DevTools može prikazati odlazna zaglavlja zahtjeva, ali serverski logovi često su pouzdaniji.
Za nofollow, testiranje je manje neposredno jer je riječ o interpretaciji tražilice, a ne o ponašanju preglednika. Najbolja provjera je pregled izvora: potvrdite da renderirani HTML sadrži očekivanu vrijednost rel. Ako vaš frontend framework prepisuje poveznice, pregledajte konačni DOM, ne samo predložak.
Zaključak
Ti su atributi mali, ali nalaze se na sjecištu sigurnosti, privatnosti i SEO-a. Tretiranje kao da su međusobno zamjenjivi stvara loše navike.
Koristite noopener široko s poveznicama koje se otvaraju u novoj kartici. Koristite noreferrer promišljeno kada je privatnost referrera važna. Koristite nofollow kada dajete izjavu prema tražilicama o podršci. A kada je poveznica plaćena ili je generirao korisnik, koristite specifičnije moderne vrijednosti: sponsored i ugc.
To je dovoljno za većinu stranica. Cilj nije ukrasiti svaku poveznicu. Cilj je da svaka poveznica pregledniku i tražilicama kaže točno ono što trebaju znati.