Back to Blog

NoFollow vs DoFollow Links: The Complete SEO Guide

Most marketers can define nofollow and dofollow but still get the details wrong, nofollowing internal nav, forgetting sponsored on affiliate links, confusing noopener with SEO. This is the definitive guide that fixes all of it.

Karan Bhakuni
Karan Bhakuni
Founder, Flyn
SEOMay 16, 202617 min readUpdated Aug 6, 2026
NoFollow vs DoFollow Links: The Complete SEO Guide

NoFollow vs DoFollow: The Core Distinction

The short answer: a dofollow link is a normal link that passes ranking credit (link equity) from your page to the page it points at, and it needs no special markup because it is the default state of every link. A nofollow link adds rel="nofollow", which asks search engines not to pass that credit. Visitors see no difference between the two; the attribute speaks only to crawlers.

If you build links, write content, or run an affiliate site, you have hit this question: should this link be nofollow or dofollow? Most people can recite a one-line definition and still get the practical details wrong, they nofollow their own navigation, forget the sponsored attribute on affiliate links, or assume noopener does something to rankings. This guide fixes every one of those mistakes, with specifics on how Google actually treats each attribute in 2026.

Start with the single fact that clears up most of the confusion: there is no rel="dofollow" attribute. It does not exist in the HTML spec and never has. A "dofollow" link is simply a normal link with no rel annotation telling search engines to treat it differently. When SEOs say "make that a dofollow link," they mean "leave the link plain, don't add nofollow."

A dofollow link is the default state of every <a href> tag. It tells search engines two things implicitly: crawl this URL, and let it carry a ranking signal, historically called PageRank, to the destination. Every editorial link, every internal navigation link, and every plain citation you have ever published is a dofollow link unless you went out of your way to change it.

A nofollow link carries rel="nofollow" in its markup: <a href="https://example.com" rel="nofollow">. Introduced by Google, Yahoo, and MSN in 2005 to fight comment spam, it was originally a hard instruction: do not pass ranking credit through this link. The attribute is invisible to visitors, it changes nothing about how the link looks or clicks. It only speaks to crawlers. Here is the full set of states a link can be in:

  • Dofollow, default, no markup needed, passes link equity.
  • Nofollow, explicit rel="nofollow", signals "I don't vouch for this."
  • Sponsored, explicit rel="sponsored", signals a paid or compensated link.
  • UGC, explicit rel="ugc", signals user-generated content like a comment.

Here is what each state looks like in real markup. The anchor text and destination are identical in all four rows; only the rel value changes how search engines treat the link:

Link stateThe HTML you write
Dofollow (default)<a href="https://example.com">best running shoes</a>
Nofollow<a href="https://example.com" rel="nofollow">best running shoes</a>
Sponsored<a href="https://example.com" rel="sponsored">best running shoes</a>
UGC<a href="https://example.com" rel="ugc">best running shoes</a>

The last three are the only annotations that change SEO behavior, and we cover each in depth below. To see how these attributes play out on a real page, scan a competitor URL through the NoFollow Link Checker and watch which links get flagged.

Google's 2019 Rel Attributes Update

The most important shift in this entire topic happened in September 2019, and a surprising number of marketers still operate on the pre-2019 rules. Google changed two things at once: it added new rel values, and it changed how nofollow is interpreted.

nofollow became a "hint," not a directive

Before 2019, nofollow was a hard directive, Google would not crawl or pass equity through a nofollowed link, full stop. After the update, nofollow is a hint. Google now reserves the right to crawl a nofollowed URL and even use it for ranking purposes if its systems decide that is appropriate. In practice Google still treats most nofollow links as "don't pass equity," but the guarantee is gone. The takeaway: nofollow is no longer a reliable way to keep a page out of Google's index, for that, use noindex or robots rules instead.

The two new values: sponsored and ugc

Google introduced two more specific rel values so site owners could describe why a link should not pass equity. The full matrix now looks like this:

rel valueMeaningPasses equity?Use it for
(none)Dofollow, the defaultYesEditorial links, internal navigation, trusted citations
nofollowGeneric "I don't vouch for this"No (hint)Untrusted links, links you can't verify
sponsoredPaid or compensated placementNo (hint)Ads, affiliate links, paid reviews, sponsorships
ugcUser-generated contentNo (hint)Blog comments, forum posts, profile links

You can also combine values, the rel attribute accepts multiple space-separated entries. A link inside a user comment that you also do not want to vouch for can be rel="ugc nofollow"; an affiliate link in a sponsored post can be rel="sponsored nofollow". Combining is optional, Google says sponsored or ugc alone is enough, but it is harmless.

Note

Google has stated it treats sponsored, ugc, and nofollow almost identically for ranking, all three are hints to not pass equity. The reason to use the specific value is accuracy and future-proofing: you are giving Google honest data about your links, and Google explicitly recommends it. There is no SEO penalty for using the precise value, and potentially a penalty for mislabeling paid links as plain dofollow.

The Four Rel Values, Side by Side

Before you can decide which value to apply where, you need each one's job crisp in your head. Here is the practical breakdown, what each value signals and the exact markup it uses.

Cheat sheet card listing four rel values: no rel attribute means dofollow default, rel nofollow is a generic do-not-vouch hint, rel sponsored marks paid links, and rel ugc marks user-generated content
The four rel states at a glance. There is no dofollow value, a plain link is dofollow. The other three all signal "treat this link with caution," each for a different reason.

Dofollow and nofollow, the original pair

Dofollow is the absence of any equity-blocking annotation. You write a normal <a href> and the link votes for its destination. Nofollow is the generic brake: rel="nofollow" tells Google you are not endorsing the target. It is the right value when a link is neither paid nor user-generated but you still want to stay neutral, a reference link to a site you do not fully trust, syndicated widget links, or press-release boilerplate. Quick rules of thumb:

  • If you would happily put your reputation behind the link, keep it dofollow.
  • If you are linking out only for the reader's convenience, not as an endorsement, use nofollow.
  • Remember nofollow is now a hint, do not treat it as a hard "this will never be crawled" guarantee.

Sponsored (rel="sponsored") is mandatory for any link where compensation changed hands, money, free product, or services. UGC (rel="ugc") marks links your editorial team did not place: comments, forum posts, reviews, profile fields. The reason Google wants the specific value rather than blanket nofollow is honest signal, it can refine how it weighs different link types over time. Use them like this:

  • sponsored, ads, affiliate links, paid guest posts, gifted-product reviews.
  • ugc, anything submitted by a visitor rather than written by you.
  • When in doubt between the two, ask: did money change hands (sponsored) or did a user write it (ugc)?

For a tool's-eye view of these values in the wild, run any page through the Link Extractor, it lists every <a href> and its rel attribute so you can see the real distribution rather than guessing.

When to Use NoFollow, Sponsored, and UGC

Knowing the values is easy. Knowing which to apply where is what separates a clean link profile from one that quietly invites a manual action. Here is the decision framework, link type by link type.

Use sponsored for anything paid, and ugc for anything user-placed

This is non-negotiable in Google's eyes. Any link where money, free product, or compensation changed hands must carry rel="sponsored" (or at minimum nofollow). Passing equity through a paid link is a link scheme under Google's spam policies and can trigger a manual penalty against both the linking and receiving site. Likewise, if a link was placed by a user rather than your editorial team, rel="ugc" is the honest label. Concretely:

  • Affiliate links (Amazon Associates, ShareASale, etc.), rel="sponsored", plus a visible FTC disclosure the reader can see.
  • Display and native ad units, rel="sponsored".
  • Paid guest posts and gifted-product reviews, rel="sponsored" on the brand links.
  • Blog comments, forum threads, user profiles, rel="ugc" (most CMSs add this automatically, verify yours does).

If you run an affiliate site, paid and gifted links are the single highest-risk area of your link profile. The affiliate link tracking guide covers how to tag, cloak, and attribute affiliate links without tripping Google, and the Outbound Link Checker shows which of your outbound links currently lack a sponsored attribute.

Default to dofollow for every link that is editorial, unpaid, and points somewhere you genuinely trust. That means your internal links, your citations to authoritative sources, and your links to your own properties. Linking out to good sources with dofollow links is a positive relevance signal, Google's own guidance and decades of SEO testing agree that generous, relevant outbound linking helps rather than hurts. Use plain nofollow only as the catch-all for links that are neither paid nor user-generated but that you still do not want to endorse. The outbound link audit checklist walks through keeping that outbound profile healthy.

The instinct to nofollow every outbound link "to keep the equity" is the most expensive superstition in SEO. PageRank sculpting died in 2009. Hoarding link equity does not concentrate it, it just makes your site look stingy and unhelpful to the one algorithm you are trying to please.

NoOpener and NoReferrer Are Not SEO Attributes

Here is a confusion that costs people hours: the rel attribute holds both SEO values and security values, and they have nothing to do with each other. Mixing them up leads marketers to think a link is nofollow when it is not, or to "fix" SEO by touching attributes that have zero ranking effect.

What noopener and noreferrer actually do

rel="noopener" is a browser security attribute. When a link opens in a new tab via target="_blank", the new page can otherwise access the original page through the JavaScript window.opener object, a vector for tab-napping attacks. noopener severs that reference. Modern browsers now apply it automatically for target="_blank" links, but many CMSs still add it explicitly.

rel="noreferrer" strips the HTTP Referer header when a visitor follows the link, so the destination site cannot see which page sent the traffic. It is a privacy attribute. Its only SEO-adjacent side effect is on the receiving end: that site loses referral data and may see the visit as direct traffic in analytics. Neither attribute changes whether your link passes equity:

rel valueCategoryAffects SEO / link equity?What it does
nofollowSEOYes, withholds ranking signalTells crawlers not to pass equity
sponsoredSEOYes, withholds ranking signalMarks a paid or compensated link
ugcSEOYes, withholds ranking signalMarks user-generated content
noopenerSecurityNoBlocks window.opener access
noreferrerPrivacyNo (only affects referral analytics)Strips the Referer header
Watch out

A link with rel="noopener noreferrer" and no nofollow is still a fully dofollow link, it passes equity normally. Many WordPress sites add noopener noreferrer to every "open in new tab" link, and site owners wrongly assume those links are therefore "safe" nofollow links. They are not. If you needed those links to be nofollow or sponsored, you have to add that value explicitly.

What this means for your audits

When you audit a link for SEO, look only for nofollow, sponsored, and ugc. Treat noopener and noreferrer as background noise, present for good security and privacy reasons, irrelevant to whether equity flows. A page can be wall-to-wall noopener noreferrer links and still pass full equity through every one of them.

Common NoFollow and DoFollow Mistakes

After auditing hundreds of sites, the same handful of errors show up everywhere. Each one quietly leaks rankings or invites a penalty. Here are the six to hunt down on your own site today.

Four common rel attribute mistakes paired with fixes: nofollowing internal navigation versus keeping it dofollow, leaving affiliate links as plain dofollow versus adding rel sponsored, treating noopener and noreferrer as SEO versus recognizing them as security attributes, and nofollowing every external link versus linking out to trusted sources
Four frequent mistakes and their fixes. Internal-nav nofollow and missing sponsored on affiliate links are the two most damaging, and the most common.

The equity-leaking mistakes

These three errors throw away ranking value you have already earned:

  • Nofollowing your own internal links. Some themes and plugins add rel="nofollow" to navigation, footers, or related-post links. Because PageRank sculpting is dead, that equity is not redirected, it is destroyed. Every internal link should be dofollow. Crawl your site and strip every internal nofollow you find.
  • Nofollowing every outbound link. Hoarding equity by nofollowing all external links does not help you and signals a low-quality, unhelpful page. Link out to trusted, relevant sources with normal dofollow links, it is a positive signal.
  • Treating nofollow as a noindex. Since 2019, nofollow does not reliably keep a page out of Google's index. If you genuinely need a URL excluded from search, use a noindex meta tag or robots rules, not rel="nofollow" on the links pointing to it.

The compliance and confusion mistakes

These three either invite a penalty or waste your time chasing the wrong attribute:

  • Missing sponsored on affiliate and paid links. Affiliate links left as plain dofollow are a textbook link scheme. Many affiliate sites built before 2019 still have thousands of bare affiliate links, retrofit rel="sponsored" across all of them. Most affiliate plugins now have a global setting for this.
  • Confusing security attributes with SEO. Assuming noopener or noreferrer makes a link "nofollow." It does not. Audit for nofollow, sponsored, and ugc specifically, and ignore the security values.
  • Ignoring how shared short links behave. Branded short links posted inside comments or forums are usually nofollowed or ugc-tagged, fine for traffic, but no SEO equity. And if a short link gets flagged as spam, even the referral value disappears.

Fixing these six is the highest-ROI link-hygiene work most sites can do. Use a clean branded domain and monitor link health so your shared links keep working, see Flyn's plans for branded-domain link management, or browse the full set of free SEO tools to audit every page as you go.

Frequently Asked Questions

Is there really no rel="dofollow" attribute?
Correct, rel="dofollow" does not exist in the HTML specification and never has. "Dofollow" is informal SEO shorthand for a normal link with no rel annotation that changes how search engines treat it. Every plain <a href> tag is already a dofollow link by default. If someone tells you to "add a dofollow attribute," what they actually mean is "leave the link alone, do not add nofollow, sponsored, or ugc." Adding the literal text rel="dofollow" does nothing harmful, but it also does nothing useful, search engines simply ignore the unrecognized value.
Do nofollow links help SEO at all?
Yes, indirectly, they just do not pass ranking equity. A nofollow link still sends referral traffic, builds brand awareness, and can lead to genuine dofollow links later when readers discover and cite you. A natural backlink profile also includes a healthy mix of nofollow links from social platforms, news sites, and forums, a profile that is 100% dofollow looks manipulated. And since Google made nofollow a hint in 2019, it may occasionally treat a nofollow link as a ranking signal anyway. So pursue good links regardless of attribute; just expect direct ranking lift only from dofollow ones.
What is the difference between rel="nofollow" and rel="sponsored"?
Both tell Google not to pass ranking equity, and Google treats them almost identically for ranking purposes. The difference is meaning and accuracy. rel="sponsored" specifically marks a link that is paid or compensated, ads, affiliate links, sponsored posts. rel="nofollow" is the generic "I do not vouch for this" value for untrusted or unverifiable links that are not paid. Google explicitly asks you to use sponsored for paid links. Using plain nofollow on a paid link is acceptable as a fallback, but using neither, leaving a paid link dofollow, is a link-scheme violation.
Did Google really make nofollow optional in 2019?
Google did not make it optional, it reclassified nofollow from a strict directive to a hint, effective March 2019 for ranking and September 2019 for crawling. Before the change, Google guaranteed it would never crawl or pass equity through a nofollowed link. After the change, Google reserves the right to crawl a nofollowed URL and even use it for ranking if its systems decide that is appropriate. In day-to-day practice Google still honors most nofollow links as "no equity," but the hard guarantee is gone. The practical consequence: never rely on nofollow to keep a page out of the search index.
Should internal links ever be nofollow?
Almost never. Internal links should be dofollow so link equity flows freely through your site to the pages that need to rank. The old tactic of nofollowing internal links to "sculpt" PageRank toward important pages stopped working in 2009, Google no longer redirects that equity elsewhere, it simply discards it. So a nofollowed internal link is pure waste. The rare exception is a utility link you genuinely do not want crawled, such as a login or cart URL, and even then a noindex page or robots rule is the cleaner solution. Audit your site and remove every internal nofollow you find.
How do I check if a link is nofollow or dofollow?
The fastest way is a dedicated checker. Paste any URL into the NoFollow Link Checker to list every nofollowed link on the page, or the DoFollow Link Checker to list the links that pass equity. To inspect a single link manually, right-click it, choose "Inspect," and look at the <a> tag, if you see rel="nofollow", rel="sponsored", or rel="ugc", it does not pass equity; if there is no rel attribute (or only noopener/noreferrer), it is a dofollow link. The Outbound Link Checker does the same across all outbound links at once.
Do affiliate links need rel="sponsored" or rel="nofollow"?
Use rel="sponsored", it is Google's recommended value for affiliate links because affiliate links are compensated placements. rel="nofollow" is accepted as a fallback and still keeps you compliant, since Google treats both as hints to not pass equity. What you must not do is leave affiliate links as plain dofollow: that passes ranking credit through a paid link, which violates Google's link-scheme policy and can trigger a manual penalty. Most affiliate plugins now offer a one-click global setting to apply sponsored to every affiliate link. The affiliate link tracking guide covers the full setup.
Does nofollow affect the noopener or noreferrer attributes?
No, they are completely independent. nofollow is an SEO value that controls whether link equity passes. noopener is a security attribute that prevents the destination page from accessing the original tab via window.opener. noreferrer is a privacy attribute that strips the Referer header so the destination cannot see the source page. A link can carry any combination of these, and they do not interact. Crucially, a link with rel="noopener noreferrer" but no nofollow is still a fully dofollow link that passes equity normally, a point many WordPress users get wrong because their CMS adds noopener noreferrer to new-tab links automatically.
What is the difference between a nofollow link and a nofollow meta tag?
Scope. rel="nofollow" on an individual <a> tag nofollows that one link. A nofollow inside the page's meta robots tag (<meta name="robots" content="nofollow">) or in the X-Robots-Tag HTTP header nofollows every link on the page at once, even links whose own markup looks perfectly clean. This is the sneakiest false positive in backlink valuation: a "dofollow" placement on a page with a page-level nofollow directive passes nothing. Per-link audits alone cannot catch it, which is why the NoFollow Link Checker reads the meta robots tag and X-Robots-Tag header on every check and warns you when a page-wide nofollow is in force.
What is a healthy ratio of dofollow to nofollow backlinks?
There is no official ratio, and Google has never published one. Natural backlink profiles typically land somewhere between 25% and 50% nofollow, simply because social platforms, forums, and UGC communities nofollow every link by default, and popular content inevitably collects mentions there. The signal to avoid is the opposite extreme: a profile that is nearly 100% dofollow looks engineered, because organic popularity always produces nofollow mentions along the way. Judge each link opportunity on relevance, authority, and traffic rather than the attribute alone, and let the ratio take care of itself.

Ready to try Flyn?

Free plan includes 25 links/month, full analytics, and access to all 30+ free tools above. No credit card required.

Already a member? Log in

Karan Bhakuni
Karan Bhakuni· Founder, Flyn

Karan Bhakuni is the founder of Flyn. He writes about branded links, click analytics, and the link-management tooling growth teams and creators actually need, drawn from building Flyn and reading a lot of user feedback.