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.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
rel="noreferrer"
จะมีผลกระทบต่อการวิเคราะห์เว็บไซต์ เนื่องจากเว็บไซต์ที่คุณลิงก์ไปจะไม่ทราบว่าคุณเชื่อมโยง ซึ่งอาจส่งผลเสียต่อข้อตกลงทางธุรกิจเฉพาะที่คุณอาจมีกับพวกเขา
ดังนั้นให้ทำสิ่งนี้ตามดุลยพินิจของคุณเอง
rel="noreferrer" และ SEO
ตรงกันข้ามกับสิ่งที่หลายคนเชื่อ rel="noreferrer"
ไม่ส่งผลกระทบโดยตรงต่อ SEO ของคุณ อย่างน้อยก็ไม่มีหลักฐานยืนยัน แต่ดังที่กล่าวไว้ข้างต้น มันจะรบกวนการรวบรวม/วิเคราะห์ข้อมูล ซึ่งอาจทำร้ายคุณในทางอื่นๆ/โดยอ้อม ขึ้นอยู่กับสถานการณ์เฉพาะของคุณ
อย่าสับสน noreferrer
หรือ noopener
ด้วย nofollow
แอตทริบิวต์ (ซึ่ง 100% จะส่งผลต่อ SEO)
Alternative 2:don't use target="_blank"
คุณยังสามารถหยุดใช้ target="_blank"
. ได้ บนลิงก์สมอของคุณ แล้วคุณจะไม่ต้องกังวลกับสิ่งนี้
ไม่มี target="_blank"
ทุกลิงก์ในเว็บไซต์ของคุณจะย้ายผู้ใช้ออกจากเว็บไซต์ของคุณไปยังเว็บไซต์ที่คุณเชื่อมโยงไปทันทีที่พวกเขาคลิก
อย่างไรก็ตาม ระวังอย่าใช้ target="_blank"
มันสามารถและอาจส่งผลในทางลบต่อ SEO ของคุณ โดยเฉพาะอัตราตีกลับของคุณ
นี่เป็นความคิดของฉันโดยเฉพาะอย่างยิ่งเป็นความคิดที่ไม่ดีที่จะทำในบทช่วยสอน ซึ่งผู้ใช้อาจถูกรบกวนโดยบางสิ่งบนเว็บไซต์ที่คุณแนะนำพวกเขาและจบลงด้วยการลืมเกี่ยวกับเว็บไซต์ของคุณ
คุณสามารถโต้แย้งว่าหากใช้ลิงก์ภายนอกเพื่อทำให้ผู้อ่านลืมเนื้อหาของคุณเท่านั้น มันอาจจะไม่ดีตั้งแต่แรก เรื่องนี้อาจเป็นเรื่องจริง แต่ก็อาจเป็นกรณีที่ผู้คนฟุ้งซ่านได้ง่าย โดยทั่วไป และมักจะไม่เป็นประโยชน์ต่อพวกเขา
นี่ไม่ใช่หัวข้อขาวดำและฉันเปิดรับมุมมองอื่น
ทรัพยากร
อ่านเพิ่มเติมเกี่ยวกับปัญหาด้านความปลอดภัยกับลิงก์ภายนอก