Ką iš tikrųjų daro rel=noopener, noreferrer ir nofollow
Trys maži nuorodų atributai, turintys labai skirtingas paskirtis: naršyklės saugą, persiuntėjo privatumą ir signalus paieškos sistemoms.
Turinys
- Trumpai
- rel=noopener apsaugo nuo reverse tabnabbing
- Ar noopener veikia SEO?
- rel=noreferrer paslepia nukreipiantį puslapį
- Kada noreferrer naudingas
- Analitikos kompromisas
- rel=nofollow skirtas paieškos sistemoms, ne naršyklėms
- Kada naudoti nofollow
- Ko nofollow nedaro
- Dažni deriniai
- Išorinė nuoroda, atidaroma naujame skirtuke
- Mokama vieta
- Naudotojo sukurta nuoroda
- Vidinės nuorodos
- Praktinė politika komandoms
- Kaip patikrinti, kas vyksta
- Esmė
Trumpai
Nuorodos atributas rel apibūdina ryšį tarp dabartinio puslapio ir susieto puslapio. Tai skamba abstrakčiai, bet kasdieniame žiniatinklio darbe nuolat pasitaiko trys reikšmės:
<a href="https://example.com" target="_blank" rel="noopener noreferrer nofollow">
External resource
</a>
Šie trys žymenys dažnai įklijuojami kartu, tarsi atliktų vieną funkciją. Taip nėra.
noopeneryra naršyklės saugos priemonė.noreferreryra privatumo ir analitikos valdymo priemonė.nofollowyra signalas paieškos sistemoms.
Juos galima derinti, bet turėtumėte žinoti, kodėl kiekvienas jų yra naudojamas. Pridėti visus tris prie kiekvienos išeinančios nuorodos ne visada klaidinga, bet dažniausiai tai tingus sprendimas.
rel=noopener apsaugo nuo reverse tabnabbing
rel="noopener" nurodo naršyklei nesuteikti naujai atidarytam puslapiui prieigos prie pradinio puslapio per window.opener.
Tai svarbiausia tada, kai nuorodą atidarote naujame skirtuke arba lange naudodami target="_blank":
<a href="https://external.example" target="_blank" rel="noopener">
Open external site
</a>
Be noopener, paskirties puslapis gali turėti galimybę vykdyti tokį JavaScript:
window.opener.location = 'https://phishing.example';
Ši ataka dažniausiai vadinama reverse tabnabbing. Naudotojas spusteli teisėtą nuorodą, patenka į kitą svetainę, o pradinis skirtukas tyliai nukreipiamas į netikrą prisijungimo puslapį arba kitą kenkėjišką paskirties vietą.
Šiuolaikinės naršyklės šioje srityje patobulėjo. Dabartinėje naršyklių elgsenoje target="_blank" paprastai laikomas taip, lyg rel="noopener" jau būtų nurodytas. Tai gerai, bet dėl to aiškiai nurodytas atributas netampa beprasmis. Aiškus noopener vis dar naudingas, nes:
- dokumentuoja jūsų ketinimą;
- apsaugo senesnes arba neįprastas naršymo aplinkas;
- leidžia nepasikliauti tuo, kad kiekvienas įterptas žiniatinklio rodinys elgsis kaip šiuolaikinė darbalaukio naršyklė;
- palengvina kodo peržiūrą.
Išorinėms nuorodoms, kurios atsidaro naujame skirtuke, rel="noopener" yra protinga numatytoji reikšmė.
Ar noopener veikia SEO?
Ne, jokiu reikšmingu būdu. noopener skirtas naršyklės elgsenai. Jis nepasako paieškos sistemoms, ar jūs rekomenduojate puslapį, ar turėtų būti perduodama nuorodos vertė, ar nuoroda yra mokama.
Jei jūsų SEO politika noopener traktuoja kaip reitingavimo direktyvą, tą politiką reikia taisyti.
rel=noreferrer paslepia nukreipiantį puslapį
rel="noreferrer" nurodo naršyklei nesiųsti HTTP antraštės Referer, kai naudotojas seka nuoroda.
Taip, antraštės pavadinimas istoriškai parašytas klaidingai kaip Referer. Atributas rašomas noreferrer.
Įprastai, kai naudotojas spusteli nuorodą iš jūsų puslapio į kitą svetainę, paskirties vieta gali gauti referrer reikšmę, rodančią, iš kur atėjo apsilankymas. Priklausomai nuo jūsų svetainės Referrer-Policy, tai gali būti visas URL, tik kilmė arba nieko.
Pavyzdžiui, paskirties vieta gali matyti:
Referer: https://www.example.com/pricing?plan=enterprise
arba tik:
Referer: https://www.example.com/
Naudojant rel="noreferrer", naršyklė neturėtų siųsti šios antraštės tai navigacijai.
<a href="https://external.example" rel="noreferrer">
External site
</a>
Praktiškai noreferrer šiuolaikinėse naršyklėse taip pat elgiasi kaip noopener. Jei naudojate noreferrer, paprastai tai pačiai nuorodai saugos tikslais noopener nebereikia. Vis dėlto daugelis komandų aiškumo dėlei rašo abu:
<a href="https://external.example" target="_blank" rel="noopener noreferrer">
External site
</a>
Tai gerai. Tai perteklinė, bet skaitoma forma.
Kada noreferrer naudingas
Naudokite noreferrer, kai dabartinio puslapio URL neturėtų būti atskleistas paskirties vietai.
Dažni pavyzdžiai:
- nuorodos iš privačių valdymo skydelių;
- nuorodos iš nepaskelbtų peržiūros aplinkų;
- nuorodos iš URL, kuriuose yra jautrių užklausos parametrų;
- nuorodos administravimo įrankiuose, moderavimo eilėse, CRM ekranuose arba klientų aptarnavimo sistemose;
- nuorodos, kai paskirties vieta neturėtų žinoti tikslaus šaltinio puslapio.
Pastarasis punktas ne visada susijęs su slaptumu. Kartais tai susiję su duomenų minimizavimu. Jei paskirties vietai nereikia žinoti nukreipiančio URL, jo nesiųskite.
Tai dera su platesne į privatumą orientuoto žiniatinklio dizaino kryptimi. Naršyklės, naudotojai ir reguliuotojai visi pajudėjo link mažesnio numatytojo foninių duomenų siuntimo. Jei grįžtate prie šios temos, mūsų straipsnyje apie kas pasikeitė dėl slapukų 2026 m. ir ką su tuo daryti aptariamas tas pats bendras poslinkis: mažiau nematomo sekimo, daugiau sąmoningų duomenų srautų.
Analitikos kompromisas
noreferrer gali sugadinti priskyrimą svetainei, į kurią nukreipiate. Jos analitika apsilankymą gali priskirti tiesioginiam srautui, o ne persiuntimo srautui.
Tai nėra jūsų pagrindinė problema, bet gali būti svarbu partnerystėse, affiliate ryšiuose, klientų kelionėse ir vidinėse kelių domenų ekosistemose. Jei jūsų rinkodaros komanda tikisi, kad partnerių svetainės matys persiuntimo srautą iš jūsų domeno, visuotinis noreferrer gali sukelti painiavos.
Daugeliui įprastų redakcinių nuorodų geresnis būdas yra nustatyti visos svetainės Referrer-Policy antraštę, o ne visur pridėti noreferrer. Pavyzdžiui:
Referrer-Policy: strict-origin-when-cross-origin
Ši politika siunčia visą URL tos pačios kilmės navigacijai, saugioms kitos kilmės paskirties vietoms siunčia tik kilmę ir nesiunčia referrer pereinant iš HTTPS į HTTP. Tai praktiška numatytoji reikšmė daugeliui svetainių.
Jei reikia patikrinti, kaip antraštės elgiasi produkcinėje aplinkoje, neapdorotas HTTP patikrinimas dažnai aiškesnis nei spėlionės iš analitikos skydelių. Darbo eiga straipsnyje nedidelis įrankių rinkinys peradresavimų ir HTTP antraščių derinimui produkcinėje aplinkoje tiesiogiai tinka referrer-policy derinimui.
rel=nofollow skirtas paieškos sistemoms, ne naršyklėms
rel="nofollow" pasako paieškos sistemoms, kad nenorite numanyti susieto puslapio rekomendavimo.
<a href="https://external.example" rel="nofollow">
User-submitted link
</a>
Iš pradžių nofollow buvo sukurtas kovai su komentarų šlamštu. Idėja buvo paprasta: jei komentarų nuorodos neperduoda reitingavimo vertės, šlamšto siuntėjai turi mažiau paskatų užtvindyti tinklaraščius ir forumus.
Šiandien Google nofollow traktuoja kaip užuominą, o ne absoliučią direktyvą. Šis skirtumas svarbus. Tai reiškia, kad paieškos sistemos kai kuriais atvejais gali naudoti nuorodą aptikimui arba reitingavimo sistemoms, bet jūs aiškiai signalizuojate, kad nuoroda neturėtų būti laikoma įprasta redakcine rekomendacija.
Kada naudoti nofollow
Naudokite nofollow, kai pateikiate nuorodą, bet nenorite laiduoti už paskirties vietą.
Pagrįsti pavyzdžiai:
- nepatikimos naudotojų sukurtos nuorodos;
- nuorodos viešuose komentaruose arba profiliuose;
- nuorodos į svetaines, minimas kaip blogo elgesio pavyzdžiai;
- nuorodos, įtrauktos kaip nuoroda į šaltinį, bet ne kaip rekomendacija;
- nuorodos srityse, kuriose moderavimas ribotas.
Mokamoms arba remiamoms nuorodoms geriau naudokite rel="sponsored". Naudotojų sukurtam turiniui geriau naudokite rel="ugc". Jei reikia, reikšmes galite derinti:
<a href="https://example.com" rel="ugc nofollow">
User profile link
</a>
Jei valdote viešas formas, komentarus, katalogus arba profilių puslapius, nuorodų atributai yra tik viena piktnaudžiavimo problemos dalis. Šlamštas paprastai prasideda anksčiau, pateikimo sraute. Turime atskirą paaiškinimą, kodėl jūsų kontaktų forma yra didžiausia šlamšto rizika, ir ta pati pamoka galioja čia: nesitikėkite, kad nofollow kompensuos silpną moderavimą.
Ko nofollow nedaro
nofollow netrukdo naudotojams spustelėti nuorodos. Jis neužblokuoja naršyklės nuo referrer siuntimo. Jis nepaslepia paskirties vietos nuo peržiūros. Jis neapsaugo target="_blank".
Jis taip pat negarantuoja, kad URL niekada nebus nuskaitytas. Jei paieškos sistemos randa URL kitur, jos vis tiek gali jį nuskaityti. Jei reikia neleisti indeksuoti, naudokite tinkamas robots valdymo priemones paskirties puslapyje, pvz., noindex, o ne nofollow atributą kito žmogaus nuorodoje.
Dažni deriniai
Išorinė nuoroda, atidaroma naujame skirtuke
<a href="https://external.example" target="_blank" rel="noopener">
External resource
</a>
Tai bazinis variantas. Jis sprendžia saugos problemą, atsirandančią atidarant naują naršymo kontekstą.
Jei taip pat nenorite siųsti referrer duomenų:
<a href="https://external.example" target="_blank" rel="noopener noreferrer">
External resource
</a>
Mokama vieta
<a href="https://sponsor.example" rel="sponsored">
Sponsor site
</a>
Galite pridėti noopener, jei nuoroda atsidaro naujame skirtuke:
<a href="https://sponsor.example" target="_blank" rel="sponsored noopener">
Sponsor site
</a>
Nenaudokite nofollow kaip migloto pakaitalo mokamoms nuorodoms atskleisti. Paieškos sistemos dabar turi tam konkretesnę reikšmę: sponsored.
Naudotojo sukurta nuoroda
<a href="https://user-submitted.example" rel="ugc nofollow">
User-submitted site
</a>
Tai pasako paieškos sistemoms, kad nuorodą pateikė naudotojas ir ji neturėtų būti laikoma įprastu redakciniu balsu.
Vidinės nuorodos
Daugumai vidinių nuorodų nereikia nė vienos iš šių reikšmių.
Nepridėkite nofollow prie vidinių nuorodų kaip įprastos struktūravimo taktikos. Tai paprastai sukuria daugiau painiavos nei naudos. Jei puslapis neturėtų būti indeksuojamas, tvarkykite tai tiesiogiai. Jei puslapis neturėtų būti nuskaitomas, atidžiai pagalvokite apie robots taisykles, autentifikavimą, kanonikalizavimą ir svetainės architektūrą.
Vidinėms nuorodoms, atidaromoms naujame skirtuke, noopener vis tiek nekenkia ir gali būti tinkamas. Tačiau geresnis klausimas yra, kodėl vidinei nuorodai apskritai reikia naujo skirtuko.
Praktinė politika komandoms
Paprastas vidinis stilius padeda išvengti daugumos klaidų:
- Pridėkite
rel="noopener"prie nuorodų sutarget="_blank", ypač išorinių nuorodų. - Pridėkite
noreferrertik tada, kai šaltinio URL slėpimas yra sąmoningas. - Pridėkite
nofollowtik tada, kai nerekomenduojate paskirties vietos. - Mokamoms nuorodoms naudokite
sponsored, o naudotojų pateiktoms nuorodoms —ugc. - Nenaudokite nuorodų atributų kaip prieigos kontrolės, moderavimo arba indeksavimo taisyklių pakaitalo.
Svarbiausia yra ketinimas. Kiekvienas rel žymuo turėtų atsakyti į konkretų klausimą:
- Sauga: ar naujas puslapis turėtų būti izoliuotas nuo jį atidariusio puslapio?
- Privatumas: ar paskirties vieta turėtų gauti referrer informaciją?
- SEO: ar rekomenduojame šią nuorodą kaip redakcinę nuorodą į šaltinį?
Jei niekas komandoje negali atsakyti į šiuos klausimus, atributas tikriausiai yra cargo cult HTML.
Kaip patikrinti, kas vyksta
Dėl noopener atidarykite nuorodą ir patikrinkite, ar paskirties vieta gali pasiekti window.opener. Kontroliuojamame bandomajame puslapyje window.opener turėtų būti null, kai noopener aktyvus.
Dėl noreferrer patikrinkite tinklo užklausą paskirties pusėje arba naudokite užklausų registravimo priemonę testavimo aplinkoje. Browser DevTools gali parodyti išeinančių užklausų antraštes, bet serverio pusės žurnalai dažnai patikimesni.
Dėl nofollow testavimas nėra toks tiesioginis, nes tai paieškos sistemos interpretacija, o ne naršyklės elgsena. Geriausias patikrinimas yra šaltinio peržiūra: įsitikinkite, kad sugeneruotame HTML yra laukiama rel reikšmė. Jei jūsų frontend sistema perrašo nuorodas, tikrinkite galutinį DOM, o ne tik šabloną.
Esmė
Šie atributai maži, bet jie yra saugos, privatumo ir SEO sankirtoje. Laikant juos sukeičiamais formuojasi blogi įpročiai.
Dosniai naudokite noopener su nuorodomis, atidaromomis naujame skirtuke. Sąmoningai naudokite noreferrer, kai svarbus referrer privatumas. Naudokite nofollow, kai darote paieškos sistemoms skirtą pareiškimą apie rekomendavimą. O kai nuoroda yra mokama arba sukurta naudotojo, naudokite konkretesnes šiuolaikines reikšmes: sponsored ir ugc.
To pakanka daugumai svetainių. Tikslas nėra papuošti kiekvieną nuorodą. Tikslas yra padaryti taip, kad kiekviena nuoroda naršyklei ir paieškos sistemoms tiksliai pasakytų tai, ką jos turi žinoti.