A “noreferrer” paraméter eltávolítása a kimenő linkekből

[Ezt a cikket 3 perc elolvasni.]

Biztonsági okokból a WordPress a 4.7-es verzió óta automatikusan hozzáadja az új lapon megnyíló kimenő linkekhez a rel=”noopener noreferrer” szekciót, ezzel pedig semmi gond sem lenne, azonban bizonyos esetekben akár bevételtől is eleshetünk emiatt, mivel például affiliate oldal üzemeltetése esetén nem fog látszani és nem lesz követhető az oldalunkról érkező kimenő forgalom, az Amazon esetében ez pedig követelmény. Volt is ebből néhány nagyobb vihart kavart precedens. Lényegében a “noreferrer” paraméter elrejti oldalunk domainjét a kattintott link tulajdonosa elől és számára ilyenkor csak direct/közvetlen forgalomként jelenik meg a látogatás Google Analytics-ban is. Ez pedig koránt sem ideális.

A 4.7-es verzióban még a TinyMCE szerkesztő adta hozzá ezeket a kimenő linkekhez, az 5.1-es verzió óta azonban ez a funkció már a core (WordPress mag) része, ezért az eltávolítás módja is megváltozott.

Jogos kérdés lenne, hogy ha biztonsági okokból került ez hozzáadásra, akkor szabad-e eltávolítani, lehet-e ebből probléma. A válasz pedig az, hogy nem, nem lehet. Valójában a “noopener” paraméter megléte a fontos, ez a böngészők 90 százalékát megvédi az ismert JavaScript alapú támadási forma ellen, így ha eltávolítjuk a “noreferrer” részt attól még ugyanúgy védve maradunk.

Ahhoz, hogy eltávolítsuk a “noreferrer”-t az újonnan hozzáadott linkjeinkből mindössze egy kis kódrészletet kell beillesztenünk a functions.php fájlunk végére:

 function my_targeted_link_rel($rel_values) {
 return 'noopener';
 }
 add_filter('wp_targeted_link_rel', 'my_targeted_link_rel',999);

Ezután minden frissen hozzáadott, új lapon megnyíló (target=_blank) link csak a “noopener” attribútumot fogja megkapni, a “noreferrer” nem kerül már mellé.

A már meglévő linkjeink módosításához viszont futtatnunk kell egy adatbázisban történő keresést/cserét ahhoz, hogy el tudjuk távolítani a forráskódhoz hozzáadott “noreferrer” paramétert, ehhez ideális lehet a “Better Search & Replace” bővítmény vagy az Interconnect IT külső eszköze. Ebben az esetben cseréljük a “rel=”noopener noreferrer” részt simán csak rel=”noopener”-re.

Ha csak néhány helyről szeretnénk eltávolítani, akkor ezt kézzel is megtehetjük, ha átállítjuk a Gutenberg szerkesztőt HTML módba és töröljük a szükséges részt.

Így fog kinézni egy link a HTML kimeneti nézetben:

<p><a href="https://wpszaki.hu/" target="_blank" rel="noopener noreferrer">WPSzaki.hu</a></p>

Csak töröljük a “noreferrer”-t:

<p><a href="https://wpszaki.hu/" target="_blank" rel="noopener">WPSzaki.hu</a></p>
Ha tetszik, mutasd meg másoknak is: