SEO & Discoverability

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.

The Wux Webtools Team The Wux Webtools Team 8 min skaityti Pagal AI, peržiūrėta žmogaus
Illustration of a web page link branching into security, privacy, and SEO concepts.
Turinys
  1. Trumpai
  2. rel=noopener apsaugo nuo reverse tabnabbing
  3. Ar noopener veikia SEO?
  4. rel=noreferrer paslepia nukreipiantį puslapį
  5. Kada noreferrer naudingas
  6. Analitikos kompromisas
  7. rel=nofollow skirtas paieškos sistemoms, ne naršyklėms
  8. Kada naudoti nofollow
  9. Ko nofollow nedaro
  10. Dažni deriniai
  11. Išorinė nuoroda, atidaroma naujame skirtuke
  12. Mokama vieta
  13. Naudotojo sukurta nuoroda
  14. Vidinės nuorodos
  15. Praktinė politika komandoms
  16. Kaip patikrinti, kas vyksta
  17. 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.

  • noopener yra naršyklės saugos priemonė.
  • noreferrer yra privatumo ir analitikos valdymo priemonė.
  • nofollow yra 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ų:

  1. Pridėkite rel="noopener" prie nuorodų su target="_blank", ypač išorinių nuorodų.
  2. Pridėkite noreferrer tik tada, kai šaltinio URL slėpimas yra sąmoningas.
  3. Pridėkite nofollow tik tada, kai nerekomenduojate paskirties vietos.
  4. Mokamoms nuorodoms naudokite sponsored, o naudotojų pateiktoms nuorodoms — ugc.
  5. 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.

Dažnai užduodami klausimai

Ar kiekviena išorinė nuoroda turėtų naudoti rel="noopener noreferrer nofollow"?
Ne. `noopener` yra protingas pasirinkimas išorinėms nuorodoms, kurios atsidaro naujame skirtuke. `noreferrer` reikėtų naudoti tada, kai sąmoningai norite paslėpti referrer duomenis. `nofollow` reikėtų naudoti tada, kai nenorite rekomenduoti paskirties vietos. Jie sprendžia skirtingas problemas.
Ar noreferrer kenkia SEO?
Ne tiesiogiai. `noreferrer` veikia naršyklės siunčiamą referrer informaciją, o ne reitingavimo signalus. Jis gali paveikti paskirties svetainės analitikos priskyrimą, nes apsilankymas gali būti rodomas kaip tiesioginis srautas, o ne persiuntimo srautas.
Ar noopener vis dar reikalingas, jei šiuolaikinės naršyklės jį taiko pagal numatymą?
Tai vis dar gera aiški praktika nuorodoms su `target="_blank"`. Ji dokumentuoja ketinimą, padeda senesnėse arba įterptose naršyklėse ir palengvina saugos peržiūrą.
Ar nofollow sustabdo Google nuo URL nuskaitymo?
Ne patikimai. Google `nofollow` traktuoja kaip užuominą. URL vis tiek gali būti aptiktas ir nuskaitytas iš kitų vietų. Jei reikia neleisti indeksuoti, naudokite tinkamas robots arba `noindex` valdymo priemones paskirties puslapyje.
Ar galiu derinti rel reikšmes?
Taip. Atributas `rel` priima tarpais atskirtus žymenis, pvz., `rel="ugc nofollow noopener"`. Derinkite juos tada, kai kiekviena reikšmė turi aiškų tikslą.

Šaltiniai ir tolesnis skaitymas

  1. MDN Web Docs: rel="noopener"
  2. MDN Web Docs: rel="noreferrer"
  3. Google Search Central: Qualify your outbound links
  4. MDN Web Docs: Referrer-Policy
Apie autorių
The Wux Webtools Team

Paskutinį kartą atnaujinta:

Tęsti skaitymą