rel=noopener, noreferrer और nofollow वास्तव में क्या करते हैं
तीन छोटे link attributes जिनके काम बहुत अलग हैं: browser security, referrer privacy, और search engine signalling.
सामग्री की तालिका
- संक्षिप्त संस्करण
- rel=noopener reverse tabnabbing को रोकता है
- क्या noopener SEO को प्रभावित करता है?
- rel=noreferrer referring page को छिपाता है
- noreferrer कब उपयोगी है
- analytics trade-off
- rel=nofollow search engines के लिए है, browsers के लिए नहीं
- nofollow कब उपयोग करें
- nofollow क्या नहीं करता
- सामान्य combinations
- नए tab में खुलने वाला external link
- Paid placement
- User-generated link
- Internal links
- teams के लिए एक practical policy
- कैसे test करें कि क्या हो रहा है
- bottom line
संक्षिप्त संस्करण
किसी link पर rel attribute मौजूदा page और linked page के बीच संबंध बताता है। यह सुनने में अमूर्त लगता है, लेकिन रोज़मर्रा के web work में तीन values लगातार सामने आती हैं:
<a href="https://example.com" target="_blank" rel="noopener noreferrer nofollow">
External resource
</a>
इन तीन tokens को अक्सर ऐसे साथ चिपका दिया जाता है मानो वे एक ही काम करते हों। वे ऐसा नहीं करते।
noopenerएक browser security control है।noreferrerएक privacy और analytics control है।nofollowएक search engine signal है।
इन्हें जोड़ा जा सकता है, लेकिन आपको पता होना चाहिए कि हर एक क्यों मौजूद है। हर outbound link में तीनों जोड़ना हमेशा गलत नहीं है, लेकिन आम तौर पर यह आलस्य है।
rel=noopener reverse tabnabbing को रोकता है
rel="noopener" browser को बताता है कि नए खुले page को window.opener के ज़रिए original page तक access न दे।
यह ज़्यादातर तब मायने रखता है जब आप target="_blank" का उपयोग करके link को नए tab या window में खोलते हैं:
<a href="https://external.example" target="_blank" rel="noopener">
Open external site
</a>
noopener के बिना, destination page इस तरह का JavaScript चला पाने में सक्षम हो सकता है:
window.opener.location = 'https://phishing.example';
इस attack को आम तौर पर reverse tabnabbing कहा जाता है। user किसी वैध link पर click करता है, दूसरी site पर पहुंचता है, और original tab चुपचाप किसी fake login page या किसी अन्य malicious destination पर navigate कर दिया जाता है।
Modern browsers ने यहां सुधार किया है। मौजूदा browser behavior में, target="_blank" को आम तौर पर ऐसे treat किया जाता है मानो rel="noopener" मौजूद हो। यह अच्छा है, लेकिन इससे explicit attribute बेकार नहीं हो जाता। Explicit noopener अब भी उपयोगी है क्योंकि:
- यह आपके intent को document करता है;
- यह पुराने या असामान्य browsing environments की सुरक्षा करता है;
- यह हर embedded web view के modern desktop browser जैसा behave करने पर निर्भरता से बचाता है;
- यह code review को आसान बनाता है।
नए tab में खुलने वाले external links के लिए, rel="noopener" एक समझदार default है।
क्या noopener SEO को प्रभावित करता है?
नहीं, किसी meaningful तरीके से नहीं। noopener browser behavior के लिए है। यह search engines को यह नहीं बताता कि आप किसी page का समर्थन करते हैं या नहीं, link equity pass होनी चाहिए या नहीं, या link paid है या नहीं।
अगर आपकी SEO policy noopener को ranking directive मानती है, तो policy में बदलाव की ज़रूरत है।
rel=noreferrer referring page को छिपाता है
rel="noreferrer" browser को बताता है कि जब user link follow करे तो Referer HTTP header न भेजे।
हाँ, header ऐतिहासिक रूप से गलत spelling के साथ Referer लिखा जाता है। attribute की spelling noreferrer है।
आम तौर पर, जब user आपके page से किसी दूसरी site पर link click करता है, तो destination को एक referrer value मिल सकती है जो दिखाती है कि visit कहाँ से आई। आपकी site की Referrer-Policy पर निर्भर करते हुए, यह full URL, सिर्फ origin, या कुछ भी नहीं हो सकता है।
उदाहरण के लिए, कोई destination यह देख सकता है:
Referer: https://www.example.com/pricing?plan=enterprise
या केवल:
Referer: https://www.example.com/
rel="noreferrer" के साथ, browser को उस navigation के लिए यह header नहीं भेजना चाहिए।
<a href="https://external.example" rel="noreferrer">
External site
</a>
व्यवहार में, modern browsers में noreferrer भी noopener की तरह काम करता है। यदि आप noreferrer का उपयोग करते हैं, तो आम तौर पर उसी link पर security के लिए noopener की ज़रूरत नहीं होती। कई teams स्पष्टता के लिए फिर भी दोनों लिखती हैं:
<a href="https://external.example" target="_blank" rel="noopener noreferrer">
External site
</a>
यह ठीक है। यह redundant है, लेकिन readable है।
noreferrer कब उपयोगी है
noreferrer का उपयोग तब करें जब मौजूदा page URL destination के सामने expose नहीं होना चाहिए।
सामान्य उदाहरण:
- private dashboards से links;
- unpublished preview environments से links;
- sensitive query parameters वाले URLs से links;
- admin tools, moderation queues, CRM screens, या customer support systems में links;
- ऐसे links जहाँ destination को exact source page नहीं पता होना चाहिए।
आखिरी बात हमेशा secrecy के बारे में नहीं होती। कभी-कभी यह data minimization के बारे में होती है। अगर destination को referring URL जानने की ज़रूरत नहीं है, तो उसे न भेजें।
यह privacy-aware web design की व्यापक दिशा से मेल खाता है। Browsers, users और regulators सभी default रूप से कम ambient data भेजने की दिशा में बढ़े हैं। यदि आप इस क्षेत्र पर दोबारा विचार कर रहे हैं, तो हमारा लेख 2026 में cookies के लिए क्या बदला और इसके बारे में क्या करें उसी सामान्य बदलाव को cover करता है: कम invisible tracking, अधिक deliberate data flows।
analytics trade-off
noreferrer उस site के attribution को तोड़ सकता है जिसे आप link कर रहे हैं। उनकी analytics visit को referral traffic के बजाय direct traffic के रूप में classify कर सकती है।
यह आपकी primary problem नहीं है, लेकिन partnerships, affiliate relationships, customer journeys, और internal cross-domain ecosystems में यह मायने रख सकता है। अगर आपकी marketing team उम्मीद करती है कि partner sites आपके domain से referral traffic देखें, तो blanket noreferrer भ्रम पैदा कर सकता है।
कई साधारण editorial links के लिए, हर जगह noreferrer जोड़ने के बजाय site-wide Referrer-Policy header set करना बेहतर तरीका है। उदाहरण के लिए:
Referrer-Policy: strict-origin-when-cross-origin
यह policy same-origin navigation के लिए full URL भेजती है, secure cross-origin destinations को केवल origin भेजती है, और HTTPS से HTTP पर जाते समय कोई referrer नहीं भेजती। यह कई sites के लिए व्यावहारिक default है।
यदि आपको production में headers का behavior inspect करना है, तो raw HTTP check अक्सर analytics dashboards से अनुमान लगाने की तुलना में अधिक स्पष्ट होता है। production में redirects और HTTP headers debug करने के लिए एक छोटा toolkit में दिया workflow referrer-policy debugging पर सीधे लागू होता है।
rel=nofollow search engines के लिए है, browsers के लिए नहीं
rel="nofollow" search engines को बताता है कि आप linked page के endorsement का संकेत नहीं देना चाहते।
<a href="https://external.example" rel="nofollow">
User-submitted link
</a>
मूल रूप से, nofollow comment spam से लड़ने के लिए introduce किया गया था। विचार सरल था: अगर comments में links ranking credit pass नहीं करते, तो spammers के पास blogs और forums को flood करने का incentive कम होता।
आज, Google nofollow को absolute directive के बजाय hint के रूप में treat करता है। यह अंतर मायने रखता है। इसका मतलब है कि search engines कुछ contexts में discovery या ranking systems के लिए link का उपयोग कर सकते हैं, लेकिन आप स्पष्ट रूप से signal कर रहे हैं कि link को सामान्य editorial endorsement की तरह treat नहीं किया जाना चाहिए।
nofollow कब उपयोग करें
nofollow का उपयोग तब करें जब आप link कर रहे हों लेकिन destination की guarantee नहीं लेना चाहते।
उचित उदाहरणों में शामिल हैं:
- untrusted user-generated links;
- public comments या profiles में links;
- bad behavior के examples के रूप में mentioned sites के links;
- reference के लिए शामिल links, लेकिन endorsement के लिए नहीं;
- ऐसे areas में links जहाँ moderation limited है।
Paid या sponsored links के लिए, rel="sponsored" को prefer करें। User-generated content के लिए, rel="ugc" को prefer करें। जरूरत हो तो आप values combine कर सकते हैं:
<a href="https://example.com" rel="ugc nofollow">
User profile link
</a>
यदि आप public forms, comments, directories, या profile pages चलाते हैं, तो link attributes abuse problem का केवल एक हिस्सा हैं। Spam आम तौर पर submission flow में पहले शुरू होता है। हमारे पास आपका contact form आपकी सबसे बड़ी spam liability क्यों है पर अलग breakdown है, और वही lesson यहाँ भी लागू होता है: weak moderation की भरपाई nofollow से होने की उम्मीद न करें।
nofollow क्या नहीं करता
nofollow users को link click करने से नहीं रोकता। यह browser को referrer भेजने से block नहीं करता। यह destination को view से hide नहीं करता। यह target="_blank" को secure नहीं करता।
यह यह भी guarantee नहीं देता कि कोई URL कभी crawl नहीं होगा। यदि search engines को URL कहीं और मिल जाता है, तो वे अभी भी उसे crawl कर सकते हैं। यदि आपको indexing रोकनी है, तो destination page पर उपयुक्त robots controls का उपयोग करें, जैसे noindex, न कि किसी और के link पर nofollow attribute।
सामान्य combinations
नए tab में खुलने वाला external link
<a href="https://external.example" target="_blank" rel="noopener">
External resource
</a>
यह baseline है। यह नए browsing context को खोलने से बने security issue को address करता है।
यदि आप referrer data भी नहीं भेजना चाहते:
<a href="https://external.example" target="_blank" rel="noopener noreferrer">
External resource
</a>
Paid placement
<a href="https://sponsor.example" rel="sponsored">
Sponsor site
</a>
यदि यह नए tab में खुलता है, तो आप noopener जोड़ सकते हैं:
<a href="https://sponsor.example" target="_blank" rel="sponsored noopener">
Sponsor site
</a>
Paid links disclose करने के लिए vague substitute के रूप में nofollow का उपयोग न करें। Search engines के पास अब इसके लिए अधिक specific value है: sponsored।
User-generated link
<a href="https://user-submitted.example" rel="ugc nofollow">
User-submitted site
</a>
यह search engines को बताता है कि link किसी user ने contribute किया था और इसे सामान्य editorial vote के रूप में treat नहीं किया जाना चाहिए।
Internal links
अधिकांश internal links को इन values में से किसी की ज़रूरत नहीं होती।
Internal links में routine sculpting tactic के रूप में nofollow न जोड़ें। यह आम तौर पर benefit से अधिक confusion पैदा करता है। अगर किसी page को index नहीं होना चाहिए, तो उसे सीधे handle करें। अगर किसी page को crawl नहीं होना चाहिए, तो robots rules, authentication, canonicalization, और site architecture के बारे में ध्यान से सोचें।
नए tab में खुलने वाले internal links के लिए, noopener फिर भी harmless है और उपयुक्त हो सकता है। लेकिन बेहतर सवाल यह है कि internal link को नए tab की ज़रूरत है ही क्यों।
teams के लिए एक practical policy
एक सरल house style अधिकांश गलतियों को रोक देती है:
target="_blank"वाले links मेंrel="noopener"जोड़ें, खासकर external links में।noreferrerकेवल तब जोड़ें जब source URL छिपाना intentional हो।nofollowकेवल तब जोड़ें जब आप destination का endorsement नहीं करते।- Paid links के लिए
sponsoredऔर user-submitted links के लिएugcका उपयोग करें। - Link attributes को access control, moderation, या indexing rules के substitute के रूप में उपयोग न करें।
महत्वपूर्ण हिस्सा intent है। rel में हर token को एक specific question का जवाब देना चाहिए:
- Security: क्या new page को opener से isolate किया जाना चाहिए?
- Privacy: क्या destination को referrer information मिलनी चाहिए?
- SEO: क्या हम इस link को editorial reference के रूप में endorse कर रहे हैं?
अगर team में कोई भी इन सवालों का जवाब नहीं दे सकता, तो attribute शायद cargo cult HTML है।
कैसे test करें कि क्या हो रहा है
noopener के लिए, link खोलें और check करें कि destination window.opener access कर सकता है या नहीं। Controlled test page में, noopener active होने पर window.opener को null होना चाहिए।
noreferrer के लिए, destination side पर network request inspect करें या test environment में request logger का उपयोग करें। Browser DevTools outgoing request headers दिखा सकते हैं, लेकिन server-side logs अक्सर अधिक reliable होते हैं।
nofollow के लिए, testing less immediate है क्योंकि यह browser behavior नहीं, search engine interpretation है। आपका best check source inspection है: confirm करें कि rendered HTML में expected rel value मौजूद है। यदि आपका frontend framework links rewrite करता है, तो सिर्फ template नहीं, final DOM inspect करें।
bottom line
ये attributes छोटे हैं, लेकिन security, privacy और SEO के intersection पर बैठते हैं। इन्हें interchangeable मानना खराब habits बनाता है।
New-tab links के साथ noopener का उदारता से उपयोग करें। जब referrer privacy मायने रखती हो, तब noreferrer का deliberate उपयोग करें। जब आप endorsement के बारे में search-facing statement दे रहे हों, तब nofollow का उपयोग करें। और जब कोई link paid या user-generated हो, तो अधिक specific modern values का उपयोग करें: sponsored और ugc।
अधिकांश sites के लिए इतना काफी है। लक्ष्य हर link को decorate करना नहीं है। लक्ष्य हर link से browser और search engines को ठीक वही बताना है जो उन्हें जानना चाहिए।