Mitä rel=noopener, noreferrer ja nofollow oikeasti tekevät
Kolme pientä linkkimääritettä, joilla on hyvin erilaiset tehtävät: selainturvallisuus, viittaajatietojen yksityisyys ja hakukonesignaalit.
Sisällysluettelo
- Lyhyt versio
- rel=noopener estää käänteisen tabnabbingin
- Vaikuttaako noopener hakukoneoptimointiin?
- rel=noreferrer piilottaa viittaavan sivun
- Milloin noreferrer on hyödyllinen
- Analytiikan kompromissi
- rel=nofollow on hakukoneille, ei selaimille
- Milloin nofollow kannattaa käyttää
- Mitä nofollow ei tee
- Yleisiä yhdistelmiä
- Ulkoinen linkki, joka avautuu uuteen välilehteen
- Maksettu sijoittelu
- Käyttäjän tuottama linkki
- Sisäiset linkit
- Käytännön käytäntö tiimeille
- Miten testata, mitä tapahtuu
- Ydinviesti
Lyhyt versio
Linkin rel-attribuutti kuvaa nykyisen sivun ja linkitetyn sivun välistä suhdetta. Se kuulostaa abstraktilta, mutta kolme arvoa tulee jatkuvasti vastaan arjen verkkotyössä:
<a href="https://example.com" target="_blank" rel="noopener noreferrer nofollow">
External resource
</a>
Nämä kolme tokenia liitetään usein yhteen ikään kuin ne tekisivät yhden ja saman asian. Näin ei ole.
noopeneron selaimen turvallisuuskontrolli.noreferreron yksityisyys- ja analytiikkakontrolli.nofollowon hakukonesignaali.
Niitä voi yhdistää, mutta jokaisen mukanaololle pitäisi tietää syy. Kaikkien kolmen lisääminen jokaiseen ulospäin vievään linkkiin ei ole aina väärin, mutta yleensä se on laiska ratkaisu.
rel=noopener estää käänteisen tabnabbingin
rel="noopener" kertoo selaimelle, ettei juuri avatulle sivulle pidä antaa pääsyä alkuperäiseen sivuun window.opener-rajapinnan kautta.
Tällä on merkitystä erityisesti silloin, kun linkki avataan uuteen välilehteen tai ikkunaan käyttämällä target="_blank":
<a href="https://external.example" target="_blank" rel="noopener">
Open external site
</a>
Ilman noopener-arvoa kohdesivu voi ehkä suorittaa esimerkiksi tällaista JavaScriptiä:
window.opener.location = 'https://phishing.example';
Tätä hyökkäystä kutsutaan yleisesti käänteiseksi tabnabbingiksi. Käyttäjä napsauttaa oikealta vaikuttavaa linkkiä, päätyy toiselle sivustolle, ja alkuperäinen välilehti ohjataan hiljaisesti väärennetylle kirjautumissivulle tai muuhun haitalliseen kohteeseen.
Nykyaikaiset selaimet ovat parantaneet tilannetta. Nykyisessä selainkäyttäytymisessä target="_blank" käsitellään yleensä ikään kuin rel="noopener" olisi mukana. Se on hyvä asia, mutta se ei tee eksplisiittisestä attribuutista turhaa. Eksplisiittinen noopener on edelleen hyödyllinen, koska:
- se dokumentoi aikomuksesi;
- se suojaa vanhempia tai epätavallisia selausympäristöjä;
- se välttää oletuksen, että jokainen upotettu web view käyttäytyy kuin moderni työpöytäselaimeen;
- se helpottaa koodikatselmointia.
Uuteen välilehteen avautuville ulkoisille linkeille rel="noopener" on järkevä oletus.
Vaikuttaako noopener hakukoneoptimointiin?
Ei millään olennaisella tavalla. noopener koskee selaimen käyttäytymistä. Se ei kerro hakukoneille, suositteletko sivua, pitäisikö linkkipääoman siirtyä tai onko linkki maksettu.
Jos SEO-käytäntösi käsittelee noopener-arvoa sijoituksiin vaikuttavana direktiivinä, käytäntö kaipaa muokkausta.
rel=noreferrer piilottaa viittaavan sivun
rel="noreferrer" kertoo selaimelle, ettei sen pidä lähettää Referer-HTTP-otsaketta, kun käyttäjä seuraa linkkiä.
Kyllä, otsakkeen historiallinen kirjoitusasu on virheellinen Referer. Attribuutti kirjoitetaan noreferrer.
Normaalisti, kun käyttäjä napsauttaa sivultasi linkkiä toiselle sivustolle, kohde voi saada viittaaja-arvon, joka kertoo, mistä käynti tuli. Sivustosi Referrer-Policy-asetuksesta riippuen se voi olla koko URL, pelkkä origin tai ei mitään.
Kohde voi esimerkiksi nähdä:
Referer: https://www.example.com/pricing?plan=enterprise
tai vain:
Referer: https://www.example.com/
Kun käytössä on rel="noreferrer", selaimen ei pitäisi lähettää kyseistä otsaketta kyseiselle siirtymälle.
<a href="https://external.example" rel="noreferrer">
External site
</a>
Käytännössä noreferrer toimii moderneissa selaimissa myös kuten noopener. Jos käytät noreferrer-arvoa, et yleensä tarvitse samalla linkillä noopener-arvoa turvallisuuden vuoksi. Monet tiimit kirjoittavat silti molemmat selkeyden takia:
<a href="https://external.example" target="_blank" rel="noopener noreferrer">
External site
</a>
Se on täysin hyväksyttävää. Se on redundanttia, mutta luettavaa.
Milloin noreferrer on hyödyllinen
Käytä noreferrer-arvoa, kun nykyisen sivun URL-osoitetta ei pitäisi paljastaa kohteelle.
Yleisiä esimerkkejä:
- linkit yksityisistä hallintanäkymistä;
- linkit julkaisemattomista esikatseluympäristöistä;
- linkit URL-osoitteista, joissa on arkaluonteisia kyselyparametreja;
- linkit ylläpitotyökaluissa, moderointijonoissa, CRM-näkymissä tai asiakastukijärjestelmissä;
- linkit, joissa kohteen ei pitäisi tietää tarkkaa lähdesivua.
Viimeinen kohta ei aina liity salailuun. Joskus kyse on tietojen minimoinnista. Jos kohteen ei tarvitse tietää viittaavaa URL-osoitetta, älä lähetä sitä.
Tämä sopii yksityisyystietoisen web-suunnittelun laajempaan suuntaan. Selaimet, käyttäjät ja sääntelijät ovat kaikki siirtyneet kohti sitä, että oletuksena lähetetään vähemmän ympäröivää dataa. Jos palaat tähän aiheeseen, artikkelimme mikä muuttui evästeissä vuonna 2026 ja mitä sille kannattaa tehdä käsittelee samaa yleistä muutosta: vähemmän näkymätöntä seurantaa, enemmän harkittuja datavirtoja.
Analytiikan kompromissi
noreferrer voi rikkoa attribuution sivustolla, jolle linkität. Sen analytiikka saattaa luokitella käynnin suoraksi liikenteeksi viittausliikenteen sijaan.
Se ei ole ensisijaisesti sinun ongelmasi, mutta sillä voi olla merkitystä kumppanuuksissa, affiliate-suhteissa, asiakaspoluissa ja sisäisissä eri domainien ekosysteemeissä. Jos markkinointitiimisi odottaa kumppanisivustojen näkevän viittausliikennettä domainistasi, yleinen noreferrer-käytäntö voi aiheuttaa hämmennystä.
Monille tavallisille toimituksellisille linkeille parempi lähestymistapa on asettaa sivuston laajuinen Referrer-Policy-otsake sen sijaan, että lisäisit noreferrer-arvon kaikkialle. Esimerkiksi:
Referrer-Policy: strict-origin-when-cross-origin
Tämä käytäntö lähettää koko URL-osoitteen saman originin sisäisissä siirtymissä, lähettää vain originin turvallisiin eri originin kohteisiin ja ei lähetä viittaajaa, kun siirrytään HTTPS:stä HTTP:hen. Se on käytännöllinen oletus monille sivustoille.
Jos sinun täytyy tarkistaa, miten otsakkeet käyttäytyvät tuotannossa, raaka HTTP-tarkistus on usein selkeämpi kuin analytiikkanäkymien perusteella arvaaminen. Työnkulku artikkelissa pieni työkalupakki uudelleenohjausten ja HTTP-otsakkeiden vianmääritykseen tuotannossa soveltuu suoraan referrer-policy-vianmääritykseen.
rel=nofollow on hakukoneille, ei selaimille
rel="nofollow" kertoo hakukoneille, ettet halua ilmaista suositusta linkitetylle sivulle.
<a href="https://external.example" rel="nofollow">
User-submitted link
</a>
Alun perin nofollow otettiin käyttöön kommenttispämmin torjumiseksi. Ajatus oli yksinkertainen: jos kommenttien linkit eivät välittäisi sijoitusarvoa, spämmääjillä olisi vähemmän kannustinta tulvia blogeja ja foorumeita.
Nykyään Google käsittelee nofollow-arvoa vihjeenä eikä ehdottomana direktiivinä. Tällä erolla on merkitystä. Se tarkoittaa, että hakukoneet voivat joissakin yhteyksissä käyttää linkkiä löytämiseen tai sijoitusjärjestelmissä, mutta samalla viestit selvästi, ettei linkkiä pitäisi käsitellä normaalina toimituksellisena suosituksena.
Milloin nofollow kannattaa käyttää
Käytä nofollow-arvoa, kun linkität mutta et halua taata kohteen luotettavuutta.
Järkeviä esimerkkejä ovat:
- epäluotettavat käyttäjien tuottamat linkit;
- linkit julkisissa kommenteissa tai profiileissa;
- linkit sivustoille, jotka mainitaan esimerkkeinä huonosta toiminnasta;
- linkit, jotka sisällytetään viitteiksi mutta ei suosituksiksi;
- linkit alueilla, joilla moderointi on rajallista.
Maksetuille tai sponsoroiduille linkeille kannattaa käyttää rel="sponsored". Käyttäjien tuottamalle sisällölle kannattaa käyttää rel="ugc". Arvoja voi yhdistää tarvittaessa:
<a href="https://example.com" rel="ugc nofollow">
User profile link
</a>
Jos ylläpidät julkisia lomakkeita, kommentteja, hakemistoja tai profiilisivuja, linkkiattribuutit ovat vain yksi osa väärinkäytösongelmaa. Spämmi alkaa yleensä aiemmin lähetysprosessissa. Meillä on erillinen erittely aiheesta miksi yhteydenottolomakkeesi on suurin spämmiin liittyvä vastuukohtasi, ja sama opetus pätee myös tähän: älä odota nofollow-arvon kompensoivan heikkoa moderointia.
Mitä nofollow ei tee
nofollow ei estä käyttäjiä napsauttamasta linkkiä. Se ei estä selainta lähettämästä viittaajaa. Se ei piilota kohdetta näkyvistä. Se ei suojaa target="_blank"-käyttöä.
Se ei myöskään takaa, ettei URL-osoitetta koskaan indeksoida tai indeksointirobotti vieraile siinä. Jos hakukoneet löytävät URL-osoitteen muualta, ne voivat silti crawlata sen. Jos sinun täytyy estää indeksointi, käytä asianmukaisia robots-kontrolleja kohdesivulla, kuten noindex, älä jonkun toisen linkissä olevaa nofollow-attribuuttia.
Yleisiä yhdistelmiä
Ulkoinen linkki, joka avautuu uuteen välilehteen
<a href="https://external.example" target="_blank" rel="noopener">
External resource
</a>
Tämä on perustaso. Se ratkaisee turvallisuusongelman, joka syntyy uuden selauskontekstin avaamisesta.
Jos et myöskään halua lähettää viittaajatietoja:
<a href="https://external.example" target="_blank" rel="noopener noreferrer">
External resource
</a>
Maksettu sijoittelu
<a href="https://sponsor.example" rel="sponsored">
Sponsor site
</a>
Voit lisätä noopener-arvon, jos linkki avautuu uuteen välilehteen:
<a href="https://sponsor.example" target="_blank" rel="sponsored noopener">
Sponsor site
</a>
Älä käytä nofollow-arvoa epämääräisenä korvikkeena maksettujen linkkien ilmoittamiselle. Hakukoneilla on nykyään tarkempi arvo tätä varten: sponsored.
Käyttäjän tuottama linkki
<a href="https://user-submitted.example" rel="ugc nofollow">
User-submitted site
</a>
Tämä kertoo hakukoneille, että linkin on lisännyt käyttäjä eikä sitä pitäisi käsitellä normaalina toimituksellisena äänenä.
Sisäiset linkit
Useimmat sisäiset linkit eivät tarvitse mitään näistä arvoista.
Älä lisää nofollow-arvoa sisäisiin linkkeihin rutiininomaisena sculpting-taktiikkana. Se aiheuttaa yleensä enemmän hämmennystä kuin hyötyä. Jos sivua ei pitäisi indeksoida, hoida se suoraan. Jos sivua ei pitäisi crawlata, mieti huolellisesti robots-sääntöjä, autentikointia, kanonisointia ja sivustoarkkitehtuuria.
Uuteen välilehteen avautuvissa sisäisissä linkeissä noopener on edelleen harmiton ja voi olla sopiva. Parempi kysymys kuitenkin on, miksi sisäisen linkin tarvitsee avautua uuteen välilehteen lainkaan.
Käytännön käytäntö tiimeille
Yksinkertainen talon tyyli estää useimmat virheet:
- Lisää
rel="noopener"linkkeihin, joissa ontarget="_blank", erityisesti ulkoisiin linkkeihin. - Lisää
noreferrervain, kun lähde-URL:n piilottaminen on tarkoituksellista. - Lisää
nofollowvain, kun et suosittele kohdetta. - Käytä
sponsoredmaksetuille linkeille jaugckäyttäjien lisäämille linkeille. - Älä käytä linkkiattribuutteja pääsynhallinnan, moderoinnin tai indeksointisääntöjen korvikkeena.
Tärkeintä on tarkoitus. Jokaisen rel-tokenin pitäisi vastata tiettyyn kysymykseen:
- Turvallisuus: pitäisikö uusi sivu eristää avaajasta?
- Yksityisyys: pitäisikö kohteen saada viittaajatietoja?
- SEO: suosittelemmeeko tätä linkkiä toimituksellisena viitteenä?
Jos kukaan tiimissä ei osaa vastata näihin kysymyksiin, attribuutti on todennäköisesti cargo cult -HTML:ää.
Miten testata, mitä tapahtuu
noopener-arvon kohdalla avaa linkki ja tarkista, voiko kohde käyttää window.opener-objektia. Hallitulla testisivulla window.opener-arvon pitäisi olla null, kun noopener on aktiivinen.
noreferrer-arvon kohdalla tarkista verkkopyyntö kohteen puolella tai käytä pyyntölokia testiympäristössä. Browser DevTools voi näyttää lähtevien pyyntöjen otsakkeet, mutta palvelinpuolen lokit ovat usein luotettavampia.
nofollow-arvon testaaminen ei ole yhtä välitöntä, koska kyse on hakukoneen tulkinnasta eikä selaimen käyttäytymisestä. Paras tarkistus on lähdekoodin tarkastus: varmista, että renderöity HTML sisältää odotetun rel-arvon. Jos frontend-kehyksesi kirjoittaa linkkejä uudelleen, tarkista lopullinen DOM, älä pelkkää templatea.
Ydinviesti
Nämä attribuutit ovat pieniä, mutta ne sijaitsevat turvallisuuden, yksityisyyden ja SEO:n risteyskohdassa. Niiden käsitteleminen keskenään vaihdettavina luo huonoja tapoja.
Käytä noopener-arvoa avokätisesti uuteen välilehteen avautuvissa linkeissä. Käytä noreferrer-arvoa harkitusti, kun viittaajatietojen yksityisyydellä on merkitystä. Käytä nofollow-arvoa, kun annat hakukoneille suunnatun viestin suosituksesta. Ja kun linkki on maksettu tai käyttäjän tuottama, käytä tarkempia moderneja arvoja: sponsored ja ugc.
Tämä riittää useimmille sivustoille. Tavoitteena ei ole koristella jokaista linkkiä. Tavoitteena on saada jokainen linkki kertomaan selaimelle ja hakukoneille täsmälleen se, mitä niiden tarvitsee tietää.