“rel=”noopener در وردپرس چیست و چه کاربردی دارد؟

"rel="noopener در وردپرس چیست و چه کاربردی دارد؟

اگر در هنگام ساخت لینک در ویرایشگر وردپرس، گزینه «باز شدن در صفحه جدید» را انتخاب کرده باشید، حتماً دیده‌اید که وردپرس به‌صورت خودکار تگ‌های rel="noopener" یا rel="noopener noreferrer" را به کدهای شما اضافه می‌کند. مواجهه با این تگ‌های ناشناس، اولین واکنشی که در بسیاری از مدیران سایت ایجاد می‌کند یک نگرانی ساده است: «نکند این تگ‌ها به سئوی سایتم ضربه بزنند و رتبه‌ام را پایین بیاورند؟»

خبر خوب این است که اصلاً جای نگرانی نیست و این تصور در عمل کاملاً بی‌مورد است! ما در این مقاله قصد داریم بر اساس تجربیات واقعی‌مان در پروژه‌های وردپرسی، خیلی دقیق و ساده توضیح دهیم که noopener و noreferrer دقیقاً چه کاری می‌کنند و چرا وردپرس پای آن‌ها را به میان می‌آورد. در ادامه نیز به تفاوت آن‌ها با تگ‌های nofollow، sponsored و ugc می‌پردازیم، اثرشان روی سئو و گوگل آنالیتیکس را بررسی می‌کنیم و در نهایت آموزش می‌دهیم چطور در وردپرس آن‌ها را مدیریت، اضافه یا حذف کنید.

rel=”noopener” و noreferrer در وردپرس یعنی چه؟

وقتی داخل محتوای سایت یک لینک اضافه می‌کنید، با استفاده از ویژگی‌های HTML می‌توانید رفتار آن لینک را به‌راحتی کنترل کنید؛ مثلاً تعیین کنید که لینک در همان صفحه باز شود یا در یک تب (زبانه) جدید. کدی که وردپرس برای یک لینکِ «باز شونده در تب جدید» می‌سازد، معمولاً به این شکل است:

PHP

هیچ‌کدام از این عبارات یک تگ مستقل نیستند؛ noopener و noreferrer در واقع دو «مقدار» برای ویژگی rel در لینک هستند و به مرورگر می‌گویند این لینک دقیقاً با چه رفتاری باید باز شود. این دو مقدار صرفاً برای رفع یک آسیب‌پذیری امنیتی به لینک اضافه می‌شوند و هیچ ارتباطی به مدیریت سئو ندارند.

تگ noopener چیست و چه کاری انجام می‌دهد؟

وقتی لینکی با ویژگی target="_blank" در یک تب جدید باز می‌شود، صفحهٔ مقصد از طریق ویژگی window.opener در جاوااسکریپت، این قابلیت را دارد که به صفحهٔ اصلی شما دسترسی پیدا کند. حالا تصور کنید آن سایت مقصد آلوده به کدهای مخرب باشد؛ در این صورت می‌تواند از همین مسیر صفحهٔ اصلی سایت شما را دستکاری کند، کاربر را به صفحات فیشینگ هدایت کند یا اطلاعات او را به سرقت ببرد. مقدار noopener دقیقاً جلوی این اتفاق را می‌گیرد و ویژگی window.opener را برای صفحهٔ مقصد اصطلاحاً null (بی‌اثر) می‌کند.

باز شدن لینک در پنجره جدید

به زبان ساده‌تر: noopener مثل یک دیوار محافظ مستحکم بین صفحهٔ شما و صفحهٔ مقصد عمل می‌کند و کاری به کار موتورهای جست‌وجو ندارد.

تگ noreferrer چیست و چه فرقی با noopener دارد؟

مقدار noreferrer یک قدم محکم‌تر برمی‌دارد. این ویژگی علاوه بر انجام رفتار امنیتی مشابه با noopener، اطلاعات ارجاع‌دهنده (Referrer) را هم به سایت مقصد ارسال نمی‌کند؛ یعنی سایت مقصد متوجه نمی‌شود که کاربر دقیقاً از کدام صفحه از سایت شما وارد آنجا شده است.

این ویژگی برای حفظ حریم خصوصی فوق‌العاده است، اما یک عارضهٔ جانبی هم دارد: در سیستم گوگل آنالیتیکسِ سایتِ مقصد، این بازدید ممکن است به‌جای «ترافیک ارجاعی (Referral)» به‌صورت «ترافیک مستقیم (Direct)» ثبت شود. بنابراین اگر روی ردیابی دقیق منبع ورودی‌های خود حساس هستید، در استفاده از noreferrer کمی احتیاط کنید.

چرا وردپرس این تگ‌ها را به‌طور خودکار اضافه می‌کند؟

وردپرس از نسخهٔ 4.7.4 به بعد، هر بار که شما یک لینک را روی target="_blank" تنظیم می‌کنید، این مقادیر را به‌صورت خودکار به کدهای شما اضافه می‌کند تا سایت و کاربرانتان در برابر حملاتی مثل فیشینگ و سوءاستفاده از window.opener کاملاً در امان بمانند. این یک تصمیم امنیتیِ پیش‌فرض و بسیار مفید از سوی وردپرس است و اصلاً نیازی نیست نگرانش باشید یا تلاش کنید آن را به‌صورت دستی پاک کنید.

آیا noopener و noreferrer به سئوی وردپرس آسیب می‌زنند؟

این دقیقاً مهم‌ترین سؤالی است که کاربران معمولاً از ما می‌پرسند؛ پس بگذارید خیلی صریح و روشن پاسخ دهیم: خیر، این دو مقدار هیچ تأثیر منفی‌ای روی رتبهٔ سئوی سایت شما ندارند. ما خودمان در سایت‌های بسیار زیادی این مقادیر را روی لینک‌های خارجی حفظ کرده‌ایم و تا به امروز هیچ‌وقت افت رتبه‌ای که به noopener مربوط باشد را تجربه نکرده‌ایم.

دلیل آن کاملاً منطقی است: noopener و noreferrer اساساً برای تأمین «امنیت و حریم خصوصی» طراحی شده‌اند، نه برای مدیریت اعتبار لینک‌ها در سئو. الگوریتم‌های موتورهای جست‌وجو موقع خزیدن (crawl)، ایندکس کردن و رتبه‌بندی صفحات، به این دو مقدار کاری ندارند. تگ‌هایی که واقعاً روی انتقال ارزش و اعتبار لینک اثر می‌گذارند، مقادیری مثل nofollow، sponsored و ugc هستند که در بخش بعدی آن‌ها را تشریح می‌کنیم.

تنها نکتهٔ عملی که در پروژه‌ها به آن دقت می‌کنیم این است: از آنجایی که noreferrer جلوی ارسال اطلاعات Referrer را می‌گیرد، ممکن است روی گزارش‌های منبع ورودی در گوگل آنالیتیکس اثر بگذارد. برای همین اگر ردیابی دقیق ترافیک برایتان در اولویت است، noreferrer را فقط برای لینک‌هایی استفاده کنید که واقعاً به حفظ حریم خصوصی‌شان نیاز دارید.

تفاوت noopener و noreferrer با nofollow، sponsored و ugc

تفاوت noopener و noreferrer با nofollow، sponsored و ugc

خیلی از وبمسترها noopener را با nofollow اشتباه می‌گیرند، در حالی که این دو به دنیاهای کاملاً متفاوتی تعلق دارند. یک دسته (یعنی noopener و noreferrer) مربوط به رفتار مرورگر کاربر و مسائل امنیتی است، و دستهٔ دیگر (nofollow، sponsored و ugc) در واقع پیام‌هایی برای گوگل هستند تا نوع رابطهٔ شما با لینک مقصد را مشخص کنند. جدول زیر این تفاوت‌ها را به‌صورت یک‌جا و روشن نشان می‌دهد:

مقدار rel هدف اصلی اثر روی سئو کِی استفاده کنیم؟
noopener امنیت (قطع دسترسی صفحهٔ مقصد به صفحهٔ اصلی) بدون اثر هر لینک خارجی که در تب جدید باز می‌شود
noreferrer امنیت + حریم خصوصی (عدم ارسال Referrer) بدون اثر (فقط گزارش منبع در آنالیتیکس) وقتی نمی‌خواهید سایت مقصد بفهمد کاربر از کجا آمده
nofollow اعلام عدم تأیید یا جلوگیری از انتقال اعتبار لینک مؤثر برای لینک‌های نامطمئن یا سایت‌های کم‌اعتبار
sponsored مشخص‌کردن لینک‌های تبلیغاتی، پولی و رپورتاژ مؤثر لینک‌های تبلیغاتی و خرید بک‌لینک
ugc محتوای تولیدشده توسط کاربر مؤثر کامنت‌ها، انجمن‌ها (فروم‌ها) و لینک‌های کاربران
چگونه تجربه کاربری سایت وردپرس را بهبود دهیم؟

اگر بخواهیم جمع‌بندی کنیم: noopener برای امنیت است، noreferrer برای امنیت پلاس حریم خصوصی، و مقادیر nofollow / sponsored / ugc برای مدیریت سئو و انتقال اعتبار لینک. این تگ‌ها هرگز جایگزین هم نیستند و نباید آن‌ها را به‌جای یکدیگر استفاده کنید.

چه زمانی از noopener و noreferrer استفاده کنیم؟

استفاده از ترکیب rel="noopener noreferrer" روی تک‌تک لینک‌های سایت ضروری نیست. بهتر است بر اساس ماهیت و نوع لینک تصمیم بگیرید:

1. لینک‌های خارجی که در تب جدید باز می‌شوند

اگر لینک شما به یک سایت خارجی ارجاع داده می‌شود و با ویژگی target="_blank" باز می‌شود، استفاده از noopener شدیداً توصیه می‌شود. اگر علاوه بر امنیت، تمایلی ندارید که آدرس صفحهٔ مبدأ برای سایت مقصد ارسال شود، noreferrer را هم به آن اضافه کنید.

PHP

2. لینک‌های داخلی سایت

برای لینک‌سازی داخلیِ بین صفحات سایت خودتان، معمولاً به noreferrer نیازی ندارید؛ چون طبیعتاً می‌خواهید مسیر حرکت کاربران در داخل سایتتان توسط ابزارهای تحلیلگر قابل بررسی بماند. بهترین کار این است که لینک‌های داخلی را طوری استراتژی‌بندی کنید که کاربر را به محتواهای مرتبط هدایت کنند و ساختار معنایی سایت شما را تقویت کنند.

3. لینک‌های تبلیغاتی، رپورتاژ و افیلیت

اگر لینکی که در سایت قرار می‌دهید ماهیت تبلیغاتی، رپورتاژی یا همکاری در فروش (افیلیت مارکتینگ) دارد، داستان فقط به noopener و noreferrer ختم نمی‌شود. در این حالت حتماً باید از تگ rel="sponsored" (و گاهی ترکیب آن با nofollow) استفاده کنید تا کاملاً با دستورالعمل‌های سئوی گوگل هماهنگ باشید:

PHP

تأثیر noreferrer روی افیلیت مارکتینگ و ردیابی آنالیتیکس

یکی از دغدغه‌های رایج مدیران سایت این است که آیا این تگ‌ها سیستم‌های همکاری در فروش را از کار می‌اندازند؟ در دنیای واقعی پاسخ منفی است و این‌طور نیست. اکثر شبکه‌های معتبر افیلیت از افزونه‌ها و سیستم‌های پنهان‌سازی لینک (Link Cloaking) استفاده می‌کنند. این سیستم‌ها شناسهٔ افیلیت شما را داخل URL خودِ سایتتان نگه می‌دارند؛ بنابراین حتی با وجود noopener و noreferrer، پروسه رهگیری فروش با موفقیت انجام می‌شود. تنها اثر واقعیِ تگ noreferrer این است که در گوگل آنالیتیکسِ سایت مقصد، منبع ورودی ممکن است به‌جای Referral به شکل Direct نمایش داده شود.

نحوهٔ افزودن و حذف noopener و noreferrer در وردپرس

نحوهٔ افزودن و حذف noopener و noreferrer در وردپرس

در شرایط عادی نیازی به انجام هیچ تنظیمات خاصی نیست؛ شما فقط کافی است لینک را روی وضعیتِ باز شدن در «تب جدید» تنظیم کنید تا خود وردپرس زحمت اضافه کردن این مقادیر را بکشد. اما اگر با وجود دلایلی که گفتیم همچنان قصد حذف آن‌ها را دارید، سه راهکار پیش روی شماست:

راهکار اول: باز کردن لینک در همان صفحه (ساده‌ترین راه)

اگر کاری کنید که لینک در همان صفحه (یعنی بدون وجود target="_blank") باز شود، وردپرس دیگر این مقادیر امنیتی را اضافه نمی‌کند. البته نکتهٔ منفیِ این روش این است که کاربر ممکن است سایت شما را به‌طور کامل ترک کند و نرخ پرش (Bounce Rate) صفحات شما بالا برود.

راهکار دوم: افزودن کد به فایل functions.php قالب

اگر از ویرایشگر کلاسیک وردپرس استفاده می‌کنید، می‌توانید قطعه کد زیر را به فایل functions.php قالب سایتتان اضافه کنید. (پیشنهاد می‌کنیم پیش از هر تغییری در کدهای هسته، حتماً از سایت بکاپ بگیرید).

PHP

دقت کنید که این روش منحصراً با ویرایشگر کلاسیک (TinyMCE) سازگار است و در ویرایشگر جدید وردپرس (گوتنبرگ) کار نمی‌کند.

راهکار سوم: حذف از لینک‌های قدیمی با افزونهٔ Better Search Replace

اگر می‌خواهید این مقادیر را از لینک‌هایی که در گذشته ساخته‌اید پاک کنید، می‌توانید افزونهٔ کاربردی Better Search Replace را نصب کنید. عبارت rel="noopener noreferrer" را در بخش «Search for» بنویسید، همهٔ جدول‌های دیتابیس را انتخاب کنید، گزینهٔ «Run as dry run» را برای تست اولیه تیک بزنید و در نهایت دستور جایگزینی را اجرا کنید.

توصیهٔ صادقانهٔ ما: لطفاً این مقادیر را از لینک‌های خارجی سایتتان حذف نکنید! نبودِ آن‌ها می‌تواند امنیت سایت شما و کاربرانتان را به خطر بیندازد و از طرفی، در مرورگرهای مدرن امروزی عملاً انجام این کار فقط یک زحمت اضافی است.

اشتباهات رایج در استفاده از noopener و noreferrer

  • تصور اینکه noreferrer همان nofollow است؛ در حالی که می‌دانیم کارکردشان کاملاً زمین تا آسمان فرق دارد.
  • استفاده از noreferrer روی همهٔ لینک‌های داخلی و در نتیجه از دست دادن ارزشمندترین داده‌های مربوط به مسیر حرکت کاربر در سایت.
  • استفادهٔ انحصاری از noopener روی لینک‌های پولی و فراموش‌کردن تگ بسیار مهمِ sponsored.
  • تنظیم کردن همهٔ لینک‌های سایت با یک ساختار کاملاً ثابت، بدون اینکه نیاز واقعیِ هر لینک بررسی شود.
  • نادیده‌گرفتن اثری که noreferrer روی گزارش‌های گوگل آنالیتیکس و ردیابی منابع ورودی می‌گذارد.

جمع‌بندی

در این مقاله آموزشی متوجه شدیم که noopener و noreferrer دو مقدار برای ویژگی rel در لینک‌ها هستند که وردپرس هنگام تنظیم باز شدن لینک در تب جدید، آن‌ها را صرفاً برای ارتقای امنیت و حفظ حریم خصوصی به‌صورت خودکار اضافه می‌کند. وظیفهٔ noopener این است که جلوی دسترسی صفحهٔ مقصد به صفحهٔ اصلی را بگیرد و noreferrer نیز علاوه بر این وظیفه، از ارسال اطلاعات Referrer جلوگیری می‌کند.

مهم‌ترین نکته‌ای که باید به خاطر بسپارید این است که این دو مقدار مطلقاً هیچ آسیبی به رتبهٔ سئوی شما نمی‌زنند و هرگز نباید آن‌ها را با ابزارهای مدیریت سئو یعنی nofollow، sponsored و ugc اشتباه بگیرید. بهترین و حرفه‌ای‌ترین رویکرد این است که برای لینک‌های خارجیِ باز شونده در تب جدید حتماً از noopener استفاده کنید، اگر به حفظ حریم خصوصی نیاز مبرم دارید noreferrer را هم ضمیمه کنید و برای لینک‌های تبلیغاتی و پولی به سراغ sponsored بروید. با رعایت همین قاعدهٔ ساده، سایت شما هم ایمن‌تر می‌ماند، هم ترافیک آن با دقت بیشتری قابل تحلیل است و هم رفتار لینک‌سازی شما کاملاً حرفه‌ای خواهد بود.

سوالات متداول

هنگامی که در محتوا یا جایی از سایت وردپرسی خود لینکی اضافه می‌کنید، می‌توانید از ویژگی‌های HTML برای کنترل آنچه که با کلیک بر روی لینک اتفاق می‌افتد، استفاده کنید. به عنوان مثال، هنگامی که یک لینک ایجاد می‌کنید، امکان باز شدن لینک در همان صفحه یا صفحه جدید برایتان وجود دارد.
با اقتدار باید بگوییم هیچ تاثیری ندارد! حتی با وجود اینکه ویژگی “rel=”noopener امنیت وردپرس را بهبود می‌بخشد، برخی از کاربران از استفاده از آن اجتناب می‌کنند زیرا فکر می‌کنند بر سئوی وردپرس آنها تأثیر منفی می‌گذارد. اما این فقط یک شایعه است. در واقع باید بگوییم “rel=”noopener در وردپرس هیچ تاثیری بر رتبه بندی سئوی سایت شما یا عملکرد کلی وردپرس ندارد.
بسیاری “rel=”noopener را با “rel=”nofollow اشتباه می‌گیرند. با این حال، باید بگوییم این دو ویژگی‌های کاملا مجزایی هستند. ویژگی noopener از هک شدن وبسایت شما جلوگیری کرده و امنیت وردپرس را بهبود می‌بخشد. از طرف دیگر، ویژگی nofollow مانع از انتقال لینک سئو شده سایت شما به وبسایت لینک شده می‌شود. موتورهای جستجو هنگام دنبال کردن یک لینک در وبسایت شما به دنبال ویژگی nofollow هستند و آن را در نظر می‌گیرند. در صورتیکه هیچ توجهی به برچسب noopener نمی‌کنند.
آیا این مقاله برای شما مفید بود؟
تقریبا
خیر

دیدگاهتان را بنویسید

ارسال دیدگاه به معنی این است که شما ابتدا قوانین ارسال دیدگاه را مطالعه کرده‌اید و با آن موافق هستید.