وقتی توی وردپرس یا هر سیستم دیگه ای یه لینک خارجی میذاری و تیک باز شدن توی تب جدید (همون target="_blank") رو میزنی ، خود وردپرس به صورت خودکار یه کدی مثل rel="noopener noreferrer" به لینکت اضافه میکنه . خیلیا وقتی توی سورس کد اینو میبینن دستپاچه میشن و فکر میکنن نکنه به سئو سایت ضربه بزنه یا مثل nofollow جلوی انتقال ارزش بک لینک رو بگیره ! برای همین میخوایم کامل ببینیم تگ noreferrer noopener چیست و اصلا چرا وبمسترها و برنامه نویس ها باید حواسشون بهش باشه .
ویژگی noopener چیست و چه دردی رو دوا میکنه ؟
خیلی ساده بخوام بگم ، noopener فقط و فقط برای امنیت سایته و هیچ کاری به سئو نداره . وقتی شما یه صفحه رو با تارگت بلنک باز میکنید ، صفحه جدید از نظر فنی از طریق جاوا اسکریپت دسترسی به صفحه قبلی شما داره (با شیء window.opener) . این یعنی سایت مقصد اگر مخرب و هکر باشه میتونه خیلی راحت آدرس تب قبلی شما رو به یه صفحه فیشینگ یا فیک تغییر بده بدون اینکه کاربر متوجه بشه ! به این مدل حمله میگن Tabnabbing .
وقتی صفت rel="noopener" رو به لینکت میچسبونی ، رابطه بین دو تا تب قطع میشه و سایت مقصد دیگه هیچ دسترسی ای به صفحه سایت شما نداره و خطری کاربرات رو تهدید نمیکنه .
صفت noreferrer چیه و تفاوتش با noopener چیه ؟
حالا بریم سراغ بخش دوم یعنی ویژگی noreferrer که یکم حساس تره . کلمه Referrer یعنی ارجاع دهنده . وقتی کاربر از سایت شما روی لینکی کلیک میکنه و میره سایت مقصد ، سایت دوم توی ابزارهای آنالیزش مثل گوگل آنالیتیکس (GA4) میبینه که این ورودی از کدوم سایت اومده .
اما وقتی از noreferrer استفاده میکنی ، اطلاعات ارجاع دهنده کاملا مخفی میشه ! یعنی چی ؟ یعنی سایت مقصد اصلا نمیفهمه این ترافیک از طرف سایت شما اومده و اون کاربر رو به عنوان ورودی مستقیم (Direct Traffic) شناسایی میکنه .
چرا وردپرس هر دو رو با هم اضافه میکنه ؟
شاید بگی خب اگه noopener هست چه نیازی به noreferrer داریم ؟ دلیلش مرورگرهای قدیمی تر هستن . سال ها پیش بعضی از مرورگرها مفهوم noopener رو نمیفهمیدن برای همین توسعه دهنده ها noreferrer رو هم کنارش میذاشتن چون این ویژگی خود به خود کار noopener رو هم انجام میده و امنیت رو برقرار میکنه . البته الان توی مرورگرهای مدرن مثل کروم و فایرفاکس نیازی به ترکیب جفتشون نیست ولی سیستم هایی مثل وردپرس برای سازگاری کامل هنوز جفتش رو میذارن .
تاثیر تگ noreferrer noopener در سئو سایت
یکی از بزرگترین سوء تفاهم ها بین بچه های سئو همینه . خیلی ها فکر میکنن تگ noreferrer noopener روی رتبه گوگل تاثیر منفی داره یا نمیذاره لینک جوس (Link Juice) منتقل بشه . ولی بزار خیالت رو راحت کنم :
- این تگ ها هیچ تاثیری روی فالو یا نوفالو بودن لینک ندارن و گوگل ارزش لینک رو رد میکنه .
- روی رتبه سایت شما و خزیدن ربات های گوگل (Crawl Budget) هیچ اثر منفی یا مثبتی نمیذاره .
- تنها تاثیر منفیش روی بحث گزارش ها و ترکینگ هست . چون اگه به یه سایت همکار یا سایت دوم خودت لینک بدی و noreferrer فعال باشه ، توی گوگل انالیتیکس سایت دوم نمیتونی بفهمی چقدر ترافیک از سایت اول فرستادی !
تفاوت تگ noopener noreferrer با تگ nofollow و sponsored
برای اینکه قاطی نکنی یه مقایسه سریع داشته باشیم :
ویژگی nofollow : مستقیما به گوگل میگه این لینک رو تایید نمیکنم و ارزش سئویی بهش انتقال نده .
ویژگی sponsored و ugc : برای لینک های تبلیغاتی و نظرات کاربران استفاده میشه تا گوگل بفهمه ماهیت لینک چیه .
ویژگی noopener و noreferrer : کاری به ربات گوگل ندارن و یکی برای بستن حفره امنیتی توی تب جدیده و اون یکی برای پنهان کردن منبع ترافیک .
چطور این ویژگی ها رو توی سایت فعال یا غیرفعال کنیم ؟
توی وردپرس از نسخه های ۴.۷ به بعد هروقت یه لینک رو توی حالت Open in new tab میذارید خودش کد رو اضافه میکنه و اصلا نیازی نیست دستی کاری انجام بدید . اما اگه با کدنویسی HTML کار میکنید ساختار درستش این شکلی میشه :
<a href="https://example.com" target="_blank" rel="noopener noreferrer">متن لینک</a>
اگه دلت خواست اطلاعات ارجاعی به سایت مقصد برسه و بفهمه از طرف تو ترافیک گرفته میتونی بخش noreferrer رو از داخل ویرایشگر متن یا سورس کد پاک کنی و فقط بذاری rel="noopener" بمونه تا هم امنیت حفظ بشه و هم ترافیک ارجاعی ردیابی بشه .
هنوز نظری ثبت نشده است. اولین نفری باشید که نظر میدهد!