--- tags: HTML --- # 為什麼target="_blank"要加 rel="noreferrer noopener"? ### nooppener noopener 可以阻擋新開的網站使用 window.opener 而 window.opener 可以將原始網站跳轉至其他網頁,也可以取得原始網站的內容 之所以要加上這行,是因為當瀏覽器使用 target="_blank" 來打開新視窗時,新的視窗所在的網頁是有辦法透過 window.opener 這個物件來操作你原本的頁面。 ### norefferer referrer 指的是在送出請求時 headers 上的 Referer。使用 noreferrer 的話,在新網站上發送的 HTTP 請求的標頭不會帶上 Referer。此屬性值對於原本的網站沒有影響,但會影響新網站的流量分析和 SEO。在網站追蹤工具上會使用 referer 這個欄位來判斷來源網站,如果設定 noreferrer,該次造訪就會被視為直接流量(direct),而非引薦(referral)。 ### nofollow 除了上述兩個屬性值之外,還有個也常被使用的屬性值:nofollow。這個屬性值主要用於告訴搜尋引擎忽視兩個網站間的關聯,對於原本的網站沒有影響,但會影響新網站的流量分析和 SEO, --- * noopener:阻擋新視窗操作原本的網站,提升網站安全性 * noreferrer:移除 HTTP 請求時的 referer header,影響新視窗流量來源的追蹤 * nofollow:取消 SEO backlink 的追蹤,影響新視窗的 SEO