แอตทริบิวต์ rel="noopener" เป็นหนึ่งในแอตทริบิวต์ HTML ที่สำคัญที่สุดที่ควรรู้ เพราะมันส่งผลโดยตรงต่อ ความปลอดภัยลิงก์ภายนอก บนแองคอร์ลิงก์ที่ใช้แอตทริบิวต์ target="_blank"
target="_blank" ทำให้ลิงก์เปิดในแท็บเบราว์เซอร์ใหม่
นี่คือตัวอย่างลิงก์พร้อมแอตทริบิวต์ rel="noopener":
<a href="https://www.youtube.com" rel="noopener" target="_blank" >Link to youtube.com</a >
rel="noopener" ทำงานอย่างไร?
เมื่อคุณเพิ่ม rel="noopener" ให้กับลิงก์ภายนอกบนเว็บไซต์ของคุณ (พร้อม target="_blank") มันจะป้องกันไม่ให้เว็บไซต์ที่คุณลิงก์ไป ได้เข้าถึง เพจของคุณ ผ่านออบเจ็กต์ window (ผ่านพร็อพเพอร์ตี้ window.opener)
แปลว่า: หากเพจที่คุณอ้างอิงมีโค้ดอันตราย มันอาจใช้ช่องหลัง (window.opener) ไปยังเว็บไซต์ของคุณ เพื่อแฮกเบราว์เซอร์ของผู้ใช้ เช่น เปลี่ยนเส้นทางไปยังเว็บไซต์ฟิชชิงอันตรายที่ขโมยข้อมูลหรือติดตั้งมัลแวร์บนคอมพิวเตอร์ของพวกเขา
นี่คือเหตุผลที่ WordPress เพิ่มแอตทริบิวต์ rel="noopener" อัตโนมัติบนลิงก์ภายนอกทั้งหมดที่เปิดในแท็บเบราว์เซอร์ใหม่ (ใช้แอตทริบิวต์ target="_blank") — เพื่อเหตุผลด้านความปลอดภัย
แนะนำให้คุณทำเช่นเดียวกัน ไม่ว่าจะเป็นเว็บไซต์ประเภทไหน เพราะมีข้อได้เปรียบมากกว่าข้อเสียในการใช้มัน
rel="noopener" และ SEO
ข่าวดี rel="noopener" ไม่มีผลกระทบต่อ SEO ของคุณ
ข้อเสียของการใช้ noopener
ข้อเสียเดียวที่ฉันรู้คือ rel="noopener" ไม่มีการรองรับ Internet Explorer 11
ฉันไม่กังวลมากเกี่ยวกับนั้น เพราะ:
- IE11 เร็วๆ นี้จะเป็นประวัติศาสตร์ (Microsoft กำลังทิ้งมัน)
- หากผู้เยี่ยมชมเว็บของคุณใช้ IE11 พวกเขายังคงคลิกลิงก์ของคุณได้ แอตทริบิวต์
rel="noopener"เพียงแค่ไม่มีผล
นอกจากนี้ بصفتي เจ้าของเว็บไซต์ที่รับผิดชอบ คุณควรระมัดระวังเกี่ยวกับบุคคลที่คุณลิงก์ภายนอกไปอยู่แล้ว อย่าอ้างอิงผู้ใช้ไปยังเว็บไซต์ที่คุณไมไว้ใจ และปัญหาความปลอดภัยนี้จะใกล้เคียงกับไม่มีอยู่จริง
ทางเลือก 1: ใช้ "noreferrer"
หากคุณกังวลเกี่ยวกับผู้ใช้ Internet Explorer คุณสามารถเพิ่มค่าแอตทริบิวต์ noreferrer (ซึ่งรองรับ) ให้กับแองคอร์ลิงก์อย่างนี้:
<a href="https://www.youtube.com" rel="noopener noreferrer" target="_blank" >Link to youtube.com</a >
แอตทริบิวต์ "noreferrer" ป้องกันไม่ให้ผู้อ้างอิง (คุณ) ส่งข้อมูลไปยังเว็บไซต์เป้าหมาย (ที่คุณลิงก์ไป) โดยการลบข้อมูลผู้อ้างอิงจาก HTTP header
rel="noreferrer" จะมีผลกระทบต่อวิเคราะห์เว็บไซต์ เนื่องจากเว็บไซต์ที่คุณลิงก์ไปจะไม่รู้ว่าคุณลิงก์ไปที่นั่น ซึ่งอาจทำลายข้อตกลงทางธุรกิจเฉพาะที่คุณอาจมีกับพวกเขา
ดังนั้น โปรดทำตามพิจารณาของคุณเอง
rel="noreferrer" และ SEO
ขัดต่อสิ่งที่คนหลายคนเชื่อ rel="noreferrer" ไม่ส่งผลกระทบโดยตรงต่อ SEO ของคุณ อย่างน้อยไม่มีหลักฐานสนับสนุน แต่ตามที่กล่าวไว้ข้างต้น มันจะรบกวนการรวบรวมข้อมูล/วิเคราะห์ ซึ่งอาจทำลายคุณในทางอื่น/ทางอ้อม ขึ้นอยู่กับสถานการณ์เฉพาะของคุณ
อย่าเพิกเฉย noreferrer หรือ noopener กับแอตทริบิวต์ nofollow (ซึ่ง 100% จะส่งผลต่อ SEO)
ทางเลือก 2: ไม่ใช้ target="_blank"
คุณสามารถหยุดใช้แอตทริบิวต์ target="_blank" บนแองคอร์ลิงก์ของคุณ และคุณไม่ต้องกังวลเรื่องเหล่านี้
ไม่มี target="_blank" ทุกลิงก์บนเว็บไซต์ของคุณจะย้ายผู้ใช้ออกจากเว็บไซต์ของคุณไปยังเว็บไซต์ที่คุณลิงก์ไปทันทีที่พวกเขาคลิก
อย่างไรก็ตาม โปรดระวังว่า การไม่ใช้ target="_blank" อาจและน่าจะส่งผลกระทบต่อ SEO อย่างลบात्मक โดยเฉพาะอัตราบ้อนซ์ (bounce rate)
ในความคิดเห็นของฉัน นี่เป็นความคิดที่แย่มากที่จะทำภายในบทช่วยสอน ที่ผู้ใช้อาจถูกทำให้หลุดโฟกัสโดยบางอย่างบนเว็บไซต์ที่คุณอ้างอิง และสุดท้ายลืมเว็บไซต์ของคุณ
คุณสามารถโต้แย้งได้ว่า หากลิงก์ภายนอกเพียงอย่างเดียวทำให้ผู้อ่านลืมเนื้อหาของคุณ แสดงว่ามันอาจไม่ได้ดีในตอนแรก นี่อาจเป็นจริง แต่อาจเป็นกรณีที่ผู้คนหลงทางง่าย โดยทั่วไป และมักไม่ได้เปรียบของพวกเขา
นี่ไม่ใช่หัวข้อขาวดำ และฉันเปิดรับมุมมองทางเลือก
แหล่งข้อมูล
อ่านเพิ่มเติมเกี่ยวกับปัญหาความปลอดภัยกับลิงก์ภายนอก