Back to HTML Notes
Topic #119

rel Attribute

Understand how the rel attribute controls security and SEO behavior on hyperlinks by using values like noopener, nofollow, sponsored, and ugc.

What it is

The rel (relationship) attribute defines the relationship between the current document and the linked resource. While often used for stylesheets or icons, its most critical modern applications involve security and search engine optimization (SEO). It tells browsers how to handle the link context and informs crawlers about the nature of the link.

Mental Model: Think of rel as a set of instructions attached to a door. Some instructions tell the person walking through not to leave their keys behind (noopener), while others tell the building inspector that this door leads to a paid advertisement (sponsored) rather than a trusted recommendation.

Why it matters

  • Security: Prevents malicious sites from manipulating your page via JavaScript when opening links in new tabs.
  • SEO Integrity: Helps search engines distinguish between organic recommendations, paid advertisements, and user-generated content.
  • Crawl Efficiency: Reduces wasted crawl budget by telling bots which links are less important or potentially spammy.
  • Compliance: Adheres to Google’s guidelines for marking sponsored and untrusted content.

Syntax or steps

The rel attribute accepts multiple space-separated values. The syntax is straightforward within an anchor tag:

<a href="url" rel="value1 value2">Link Text</a>

Common values include:

  • noopener: Ensures the opened window does not have access to the original window's window.opener object.
  • noreferrer: Prevents sending the HTTP Referer header to the destination site.
  • nofollow: Tells search engines not to pass ranking credit to the target URL.
  • sponsored: Indicates the link was created as part of a sponsorship, advertising agreement, or similar program.
  • ugc: User Generated Content; indicates the link was created within user-generated content such as comments or forum posts.

Example

Here is a realistic example showing different use cases in a single HTML fragment:

<!-- Secure external link opening in new tab -->
<a href="https://example.com" target="_blank" rel="noopener noreferrer">
  Visit Example (Secure)
</a>

<!-- Paid advertisement link -->
<a href="https://advertiser.com" rel="sponsored nofollow">
  Check out our sponsor!
</a>

<!-- Link inside a user comment -->
<a href="https://userblog.com" rel="ugc nofollow">
  My personal blog
</a>

Explanation:

  1. The first link uses target="_blank". Without rel="noopener", the new page could run JavaScript to redirect the original page to a phishing site. Adding noreferrer further protects privacy.
  2. The second link marks itself as sponsored. This explicitly tells Google that this is a paid placement, preventing potential penalties for unnatural linking schemes.
  3. The third link is marked as ugc. Since user comments can contain spam, this signals to crawlers that the link authority should not be passed freely.

Common mistakes

  • Forgetting noopener with target="_blank": This creates a security vulnerability known as "tabnabbing." Always pair them.
  • Using nofollow instead of sponsored: While nofollow works, sponsored is more specific and recommended by Google for ads to help improve algorithm accuracy.
  • Applying nofollow to internal navigation: Do not use these SEO values on standard internal menu links unless you specifically want to hide pages from indexing (which is usually better handled via robots.txt).
  • Missing spaces between values: Writing rel="sponsorednofollow" is invalid. It must be rel="sponsored nofollow".

When to use it

Scenario Recommended Values Reasoning
External link in new tab noopener noreferrer Security and privacy protection.
Paid ad / Affiliate link sponsored nofollow Compliance with search engine guidelines.
User comments / Forum post ugc nofollow Prevents spam links from boosting rank.
Trusted editorial citation (None) Default behavior passes authority naturally.

Practice

Guided Exercise: Create an anchor tag that links to https://wikipedia.org, opens in a new tab, and ensures the browser prevents the new tab from accessing the original window.

Solution Hint: Use target="_blank" and rel="noopener".

Challenge: Modify the previous link to also indicate that it is a user-generated reference found in a wiki edit history, ensuring search engines do not treat it as a direct endorsement.

Solution Hint: Add ugc and nofollow to the rel attribute.

Quick check

Question: Why is rel="noopener" necessary when using target="_blank"?

Answer: It prevents the newly opened page from gaining access to the window.opener object, which stops malicious scripts from redirecting the original page to a fake login screen (tabnabbing).

Summary

The rel attribute is essential for maintaining web security and SEO transparency. By correctly applying noopener, sponsored, and ugc, developers protect users from attacks and ensure search engines accurately interpret link intent.

Want to go beyond the notes?

Join Coding Now Tech Institute's HTML course — live mentorship, real projects, and 100% placement support.

Enroll Now — Free Demo Available

rel Attribute – FAQs

Quick answers about learning rel Attribute in HTML.

This free note from Coding Now Tech Institute explains rel Attribute in HTML — concept, syntax and worked code examples you can copy, run and revise before interviews.
Yes. Every HTML topic on Coding Now Tech Institute, including rel Attribute, is 100% free with no signup required.
With focused practice, most students grasp rel Attribute in 1–3 days from these notes; pairing it with Coding Now Tech Institute's mentor-led course takes you to job-ready depth faster.
Use the code examples in this note, then ask doubts for free on the Coding Now Tech Institute Community (/community) — expert instructors answer within 24 hours.
Call NowEnroll Now