Most teams treat rel="nofollow" as a one-size-fits-all "I am not endorsing this link" attribute, the way it worked for the first 14 years of its existence. In September 2019 Google quietly redefined the entire rel-attribute space - nofollow became a "hint" instead of a directive, and two new attributes (sponsored and ugc) were introduced for finer-grained signaling. Six years later, most CMS templates still emit the old patterns and most SEO advice still uses the old mental model.
This guide skips the basic "what is nofollow" framing (the tool below covers that) and goes straight to the modern decision tree: when to use each of the four rel values, what each one signals to Google now, and the migration audit for legacy templates that emit blanket nofollow on every outbound link.
Audit any page's nofollow links right now
Paste any URL below. The tool extracts every link on the page and flags the rel attribute on each one - useful both for spotting blanket-nofollow templates and for verifying that ad / sponsored content is correctly marked.
The four rel values and what each one signals (post-2019)
Google's modern link-attribution scheme has four states. Use them in the right place and you give Google clearer signals about your linking intent; use them wrong and you waste credibility on authoritative links you wanted to credit.
- (no rel attribute) - dofollow. The default. Use for editorial outbound links to authoritative sources you are vouching for. The link can pass PageRank and topic signals fully.
rel="nofollow"- hint. Since 2019, this is a hint, not a directive. Google MAY pass PageRank and topic signals through nofollow links if other signals suggest it should. Use for editorial outbound links you don't fully endorse - questionable sources, references you're disagreeing with, sources you can't fully vet.rel="sponsored"- directive. Required by Google for any link that is paid for, including affiliate links, paid placements, sponsored posts, and disclosed affiliate sections. Failure to mark paid links as sponsored is a manual-action risk.rel="ugc"- directive for user-generated content. Use for links inside comments, forum posts, reviews - any content where the link came from a third-party user, not from your editorial process. Signals "we didn't put this here, the user did."
You can combine attributes: rel="sponsored noopener" is correct for an affiliate link that opens in a new tab. The order doesn't matter; multiple values are space-separated.
The blanket-nofollow template (and why it's wasting your credibility)
The most common modern bug: a CMS theme or markdown processor that emits rel="nofollow" on EVERY outbound link, regardless of context. The intention was usually "be safe, don't pass equity to sources we don't fully control." The actual effect, post-2019, is:
- Authoritative outbound links to topic-relevant sources get marked nofollow, so Google may discount the credibility lift you would otherwise earn.
- Sponsored / affiliate links don't get the correct
sponsoredrel, so Google's classifier has to guess - and guesses wrong sometimes, putting you at manual-action risk for undisclosed paid links. - Comment-section links don't get the correct
ugcrel, so Google can't differentiate user-contributed links from editorial ones.
The migration move: audit your templates and replace blanket nofollow with the right rel per link context. Editorial outbound links go dofollow; sponsored content gets sponsored; comments / forums get ugc; questionable / unvetted sources can keep nofollow.
The decision tree per link type
Editorial outbound link to an authoritative source
Default: dofollow (no rel attribute). You're citing the source; you're vouching for it. The credibility lift on Google's side is the point.
Editorial outbound link to a source you don't fully trust / endorse
Use rel="nofollow". You want the link to exist for the reader, but you're not signaling endorsement. Note: Google may still pass some signal through (it's a hint now), so don't rely on nofollow as a "definitely don't pass anything" guarantee.
Affiliate / paid / sponsored link
Required: rel="sponsored". This is non-negotiable per Google's quality guidelines. Failure to mark paid links is a manual-action risk for both the linking site and (sometimes) the linked site.
User-generated content (blog comments, forum posts, product reviews)
Use rel="ugc". Some platforms still default to nofollow in comment fields - that works but isn't optimal. Modern platforms (Disqus, etc.) emit rel="ugc nofollow" by default, which is the cleanest combination.
Internal links (same-domain)
Use NO rel attribute. Don't nofollow internal links - that just wastes the PageRank flow within your own site. The "use nofollow to sculpt PageRank internally" advice was deprecated in 2009; following it now actively hurts you.
The biggest mistake: missing sponsored on affiliate links
The single most-actionable bug in this space is missing sponsored on affiliate / paid links. Two reasons it matters more than the others:
- Manual-action risk for the LINKING site. Google's quality team flags sites with patterns of undisclosed paid links. Manual actions on this issue are increasingly automated and can suppress organic traffic across the entire domain, not just the offending pages.
- Manual-action risk for the LINKED site. If you're being paid to link out, the destination site might be participating in a link scheme (paying many sites for inbound links). Google occasionally penalizes these schemes by suppressing the destination's rankings - and traces the scheme back to the linking sites, which can also get manual-action review.
The audit move:
- Find every affiliate link on your site. Common patterns: links containing
?aff=,?ref=,?utm_source=affiliate, links toamzn.to,refer.app,tap.bn2.io, common affiliate-tracking domains. - Verify each has
rel="sponsored". Run the tool above on the top affiliate-heavy pages; flag any affiliate URL with no sponsored attribute. - Update the link-handling code in your CMS or template. If your "Affiliate Link" plugin still emits only
rel="nofollow", update it (or replace it) to emitrel="sponsored"instead. - Confirm the disclosure language on pages with affiliate links. Beyond the rel attribute, FTC requires "this post contains affiliate links" disclosure for paid content - editorial guidance, not just SEO.
What a clean rel-attribute audit looks like
Run this on the top 20 pages by inbound traffic, plus on every page that contains affiliate / sponsored / paid content.
- Run the page through the nofollow links checker. The output groups every outbound link by its rel attribute - dofollow, nofollow, sponsored, ugc.
- Reclassify each link by its actual context. Editorial citations should be dofollow; sponsored content should be sponsored; comments should be ugc; everything else either dofollow or nofollow based on endorsement.
- Identify blanket-nofollow templates. If 100% of your outbound links carry nofollow, your CMS or theme is emitting blanket attribution. Update the template to be context-aware.
- Verify affiliate links are tagged sponsored. Pull a list of affiliate domains; spot-check the rel attribute on each link. Missing
sponsoredis the single most important fix. - Audit your comment / forum sections if you have user-generated content. Confirm the platform emits
ugc(or at minimumnofollow) on user-submitted links. - Audit internal links. Internal links should have NO rel attribute. If you find internal links carrying nofollow, that's a template bug worth fixing - it's wasting your internal PageRank flow.
- Re-test the affected pages 2-4 weeks after fixing. Rel-attribute changes propagate within a single recrawl cycle, so the lift (if there is one) is fast.
Grab the one-page audit checklist
A printable version of the rel-attribute decision tree, the four-state cheat sheet (dofollow / nofollow / sponsored / ugc), the affiliate-link audit workflow, and the WordPress / Next.js template snippets that emit context-aware rel attributes by default.
Quick quiz: are you ready to audit your own rel attributes?
Five questions, takes two minutes. We'll show you the right answer and a one-line explanation after each one.
Nofollow / Sponsored / UGC - quick check
5 randomized questions drawn from a pool of 12. Different every time you take it. Takes about two minutes.
Next up in Off-Page SEO
The right rel signals on outbound links keep your topic classification clean. The next move is finding and fixing the broken links that drag everything down. From here:
- Finding and fixing broken links - the cleanup workflow that recovers lost equity at scale.