Nofollow Links: What They Are, When to Use Them and How to Check
What a nofollow link does, when to use rel nofollow, sponsored or ugc, and how our free report checks the external links on your page.
Free to use 14 min read Updated Oct 2026
Quick answer: what nofollow links are and what our report checks
Quick answer: Nofollow links are anchors whose rel attribute contains the value nofollow, which tells search engines you do not vouch for the page they point to. Google treats it as a hint, not a command. Our report checks every external link on the page and, when any of them lacks the value, fails the row and lists those links for signed in users.
- Pass: Every external link the report finds carries nofollow in its rel attribute, or the page has no external links at all.
- Fail: At least one external link has no nofollow value, so the row turns red and the How to Fix button appears.
- Fix: Add rel="nofollow", with sponsored or ugc beside it where they fit, to links you cannot vouch for, or accept the finding for trusted editorial links.
No account is needed to run the report. Some people say nofollow tag, but it is really a value inside the rel attribute of an anchor tag. The Noopener and Noreferrer row beside it is a separate check.
What are nofollow links?
A nofollow link is an ordinary hyperlink with one extra word in its rel attribute. It signals that the author doesn't want the link treated as an endorsement, and the WHATWG HTML Living Standard defines it as a link type. MDN Web Docs covers the attribute in its MDN rel attribute reference.
<a href="https://example.com/" rel="nofollow">Example</a>The value dates from 2005, when major search engines introduced it so that blog owners could stop blog comment spam from earning links. Google announced two more values, sponsored and ugc, in September 2019 in a Google Search Central post called Evolving nofollow. Since then all three work as hints for ranking, and from March 1, 2020 nofollow is also a crawl hint and an indexing hint. A nofollowed target can therefore still be crawled or indexed if Google reaches it another way.
Nofollow links versus follow (dofollow) links
The word dofollow is SEO slang, not HTML, so dofollow vs nofollow is really a comparison between a normal link and one that carries a rel value. Followed links are the default. Search engines read them as ordinary references, the votes of trust behind what older articles call link juice or link equity. A nofollow link asks the crawler not to read it that way.
| Link type | Default behavior | Typical use |
|---|---|---|
| Followed (no rel value) | Treated as a normal reference | Navigation, internal links, trusted citations |
| rel="nofollow" | Treated as a hint not to vouch | Untrusted or unvetted destinations |
| rel="sponsored" or "ugc" | Treated as a hint with a stated reason | Ads, affiliate links, comments, forums |
rel nofollow versus meta robots nofollow
The two share a name and little else. The meta robots tag sits in the head of a page and applies nofollow to every link on it, and the same instruction can arrive as an X-Robots-Tag HTTP header. The rel value applies to one link. Our row tests only the link attribute, so neither page level form changes the result. Nofollow vs noindex, and how the tags combine, is covered in our noindex tag guide.
Do nofollow links help SEO?
Nobody can promise a ranking lift from a nofollow link, because Google reads the value as a hint it may or may not act on, and it has never published how much weight it gives.
The value you can count on is indirect. A link on a respected site sends referral traffic, and some of those visitors remember your brand or later link to you from places that do pass signals. Many SEOs also believe a profile made only of followed links looks engineered, so a natural link profile mixes both types. That is a practitioner view, not a Google statement.
On your own outbound links the logic flips. You qualify paid, user submitted or unvetted pages so you don't vouch for them, which keeps you clear of the link scheme rules in Google Search Essentials and its spam policies. SpamBrain, Google's spam detection system, and manual actions both target link spam. Google's advice is to qualify links you cannot vouch for, so nofollowing every external link is rarely needed.
Nofollow is not access control. Googlebot and Bing can still discover the URL through a sitemap or someone else's link, so pages that must stay out of search need a noindex rule or a login. Robots.txt controls crawling, not indexing, so a blocked URL can still appear in results if other pages link to it. Our robots.txt basics guide covers it as crawl control. For the wider picture, read how Google crawls pages and how backlinks fit into off page SEO.
How SEO Site Checker Tests Nofollow Links
The Nofollow Attribute row answers one narrow question: does every link on this page that leaves the site carry a nofollow value? It does not judge whether a link is good, paid or risky.
Exact rule: We read the rendered HTML, collect every anchor with an href whose host differs from the tested page, lowercase its rel value, split it on spaces and look for the piece nofollow. One missing value fails the row.
- Pass: No external link lacks the token, or the page has no external links at all.
- Fail: One or more external links lack the token.
- Not tested: Page level robots directives, link and area elements, forms, late script links, and whether a link is paid.
A headless Chromium browser opens your URL, waits for the load event and hands back the rendered HTML, so links added by scripts before load are seen while later injections may be missed. External means the host differs from the tested page by an exact string match on host and port, so the www version, any subdomain and a different port all count. Protocol relative links such as //cdn.example.org/page count as external links to that host, and the host match is case sensitive, so capital letters in a domain can read as external.
Relative links, empty hrefs, a bare #, javascript: links and mailto: or tel: links are skipped. There is no warning state: the status is passed or failed, and the row counts as one check in your score.
A site that cites trusted sources will usually fail this row, and that is fine: read red as an inventory of outbound links to review, not a penalty. A failed row shows a count badge and an expandable panel, and only signed in users see the addresses, while guests get a prompt to log in or register.
What passes and what fails
This table shows how the code behaves today, which is stricter than the advice Google publishes.
| Markup | Result | Reason |
|---|---|---|
| No external links on the page | Pass | Nothing lacks nofollow |
| rel="nofollow" | Pass | The token is present |
| rel="NOFOLLOW" | Pass | Case is ignored |
| rel="sponsored nofollow" | Pass | Space separated, token present |
| rel="sponsored" only | Fail | No nofollow token |
| rel="nofollow,noopener" | Fail | A comma joins the words into one token |
| Plain external link | Fail | No rel value at all |
| mailto: or relative link | Not checked | Not an external web link |
Edge cases that surprise site owners
Links to your own www or subdomain read as external, so a footer link from example.com to blog.example.com can turn the row red. Social profile links, share buttons and images wrapped in a link count too, because the test looks at the anchor and not at its contents. Duplicates are counted per element, so one address linked three times adds three. Links that scripts add or change can make view source and the report disagree.
The Noopener and Noreferrer row next to it
A second row fails when an external link has neither noopener nor noreferrer, whether or not that link opens a new tab. It is a separate check, explained in the rel noopener noreferrer guide. Both rows open the same How to Fix popup, so the steps there cover both.
rel nofollow, sponsored and ugc: which value should you use?
Google's Google outbound link guidance on qualifying links gives each value a job. Sponsored is the preferred value for paid placements. Ugc is for user content. Nofollow covers links that fit neither or that you would rather not be associated with, and it remains acceptable for paid links. Google's 2019 announcement also made clear that existing nofollow links don't need rewriting.
| Value | Meaning | Use it for | Example |
|---|---|---|---|
| nofollow | Not vouched for, no other value fits | Unvetted sites, sources you criticize | rel="nofollow" |
| sponsored | Paid or compensated | Ads, affiliate links, sponsored posts | rel="sponsored" |
| ugc | Created by users | Comments, forum posts, profile links | rel="ugc" |
You can list several values in one attribute. Google accepts spaces or commas between them, but our report accepts spaces only, and spaces are the HTML standard separator anyway. To satisfy the Nofollow Attribute row, include nofollow in the list even when you also use sponsored or ugc.
Combining rel values correctly
The three lines below show the usual combinations. Single spaces separate the values in each line and their order doesn't matter.
<a href="https://example.com/" rel="nofollow">Plain nofollow</a>
<a href="https://example.com/offer" rel="sponsored nofollow">Paid placement</a>
<a href="https://example.com/profile" rel="ugc nofollow noopener">Member link</a>When to use nofollow on links and when to leave them followed
The decision comes down to whether you would stand behind the destination.
- Paid and affiliate links. Mark ads, affiliate links, sponsored content and guest posts you were paid or given something for with sponsored, plus nofollow so our row agrees. In the US, the Federal Trade Commission endorsement guides also expect readers to be told about paid relationships, which a rel value alone does not do.
- User content. Comments, forum posts, reviews and other user generated content links you don't edit should carry ugc and nofollow.
- Sources you can't vouch for. A page you are criticizing or a site you haven't vetted deserves nofollow, even when no money is involved.
- Trusted citations. Navigation, internal links and references you want readers to follow should stay followed.
- Internal links. Don't nofollow your own pages to steer authority around the site, because that makes them harder for crawlers to find.
If the report row is red only because of trusted editorial links, that is a judgment call for you as the owner and not an error. Read our link building tips to see how followed and nofollow links fit into outreach.
How to check if a link is nofollow
Four methods work. The report and the console snippet cover a whole page, while Inspect and view source suit a single link.
- Run the report. Open the free audit for your URL and find the Nofollow Attribute row. When it is red, signed in users see the offending links listed under it.
- Inspect one link. Right click the link, choose Inspect and read the rel value on the highlighted a element in Chrome DevTools.
- Search the source. View the page source and search for rel=. Scripts can add attributes after load, so the rendered page may differ from the raw source.
- Use the console. Paste the snippet below into the browser console to list every external link without nofollow.
To rule out a page level directive, look for a robots meta tag in the head, or paste the URL into our meta tag analyzer.
Console snippet to list external links without nofollow
const rows = [...document.querySelectorAll('a[href]')]
.filter(a => a.host && a.host !== location.host)
.filter(a => !a.rel.toLowerCase().split(/\s+/).includes('nofollow'))
.map(a => ({ href: a.href, rel: a.rel }));
console.table(rows);The snippet reads the live page, as the report does, so the two should usually agree, apart from links scripts add after the load event. Browsers lowercase hostnames and drop default ports, so a rare edge case may differ. To see who links to you, use the Google Search Console links report.
How to add a nofollow link in HTML and WordPress
Edits made in developer tools vanish on reload, so every change has to land in the source.
- List the external links. Run the report or the console snippet and write down which links leave your site.
- Pick a value for each. Choose sponsored, ugc or plain nofollow from the table above, and leave trusted citations alone.
- Edit the source. Change the template, CMS field or database record that holds the link.
- Run the report again. Clear any page cache first, then confirm the row is green.
<!-- before -->
<a href="https://example.com/">Example</a>
<!-- nofollow added -->
<a href="https://example.com/" rel="nofollow">Example</a>
<!-- paid link, opens a new tab -->
<a href="https://example.com/offer" target="_blank" rel="sponsored nofollow noopener noreferrer">Offer</a>Plain HTML
Add the rel attribute to the a tag, in the same tag as target. Separate values with spaces, never commas. Write the attribute once with space separated values, because browsers ignore a second rel attribute on the same tag.
WordPress block editor
The WordPress link control guide describes the route in the Gutenberg block editor. Select the linked text, edit the link, expand Advanced and turn on Mark as nofollow, then save. WordPress.com uses the same editor.
That toggle adds plain nofollow only. The Button block may differ by version: look for a link rel text field in its Advanced settings and type the values there, for example sponsored nofollow. The label can change between releases. For sponsored or ugc in ordinary text links, use an SEO plugin that offers them, or switch to the Custom HTML block and type the rel value yourself. A plugin or theme setting can also add rel values to many links at once.
Templates, React and other frameworks
Rather than remembering the attribute on every link, build one shared component that sets rel whenever the destination host differs from yours.
const OWN_HOSTS = ['example.com', 'www.example.com'];
function SmartLink({ href, rel: custom, children }) {
const isWeb = /^(https?:)?\/\//i.test(href);
const host = isWeb ? new URL(href, 'https://' + OWN_HOSTS[0]).host : '';
const external = isWeb && !OWN_HOSTS.includes(host);
const rel = external ? (custom || 'nofollow noopener noreferrer') : undefined;
return <a href={href} rel={rel}>{children}</a>;
}List every host you treat as your own, usually the bare domain and the www version, or links between them get nofollowed. With no rel prop, every external link gets nofollow, which is blunt but turns the row green. For a trusted citation, pass rel="noopener noreferrer" so it stays followed, though the Nofollow Attribute row will stay red for those links, which is a deliberate choice. For an ad, pass sponsored nofollow noopener noreferrer. A custom rel prop is ignored on internal links.
Nofollow link mistakes and myths
A few errors make the attribute useless or leave the row red.
Myth: rel nofollow keeps a page out of Google. It does not. Indexing is decided by noindex or access control, and a nofollowed URL can still be listed if a sitemap or another site's link points to it.
- Writing rel="dofollow". Crawlers ignore it because it is not a real value, and links with no rel value are followed already. Adding it to clear a red row changes nothing, because it is not the word the check looks for.
- Commas between values. The markup looks right and the row still fails. Google accepts commas, our test does not, so use spaces.
- Sponsored or ugc alone. A coupon site that tags every affiliate link rel="sponsored" still fails, because the nofollow token is missing. Add it beside the other value.
- Sculpting with internal nofollow. This stopped working the way people hoped years ago, and it can make your own pages harder for crawlers to discover.
- Mixing up the neighbors. Nofollow vs noopener is a difference in purpose: noopener and noreferrer protect visitors and the referrer, and have no effect on search signals. Browsers imply noopener for target="_blank", yet the report row still wants it explicit.
Internal links belong to a different check, described in our in-page links check, and they are normally left followed.
How to Fix
The short version, the same steps you see when you click How to Fix in your report.
Why this fails: The report found at least one external link, meaning a link to a different host, whose rel attribute has no nofollow value. The Noopener and Noreferrer row opens this same popup, so the steps below cover that row too.
How to fix it:
- Open the list under the row (sign in to see it) and decide what each link is.
- Give paid, affiliate and ad links rel="sponsored nofollow", comment, forum and profile links rel="ugc nofollow", and links you cannot vouch for rel="nofollow".
- Leave trusted editorial citations alone if you want, but know that the row will stay red, so this is your judgment call.
- Edit the source (template, CMS field or database) and separate values with spaces. Never write dofollow, because it is not a real value.
<a href="https://example.com/offer">Offer</a>
<a href="https://example.com/offer" rel="sponsored nofollow">Offer</a>- WordPress editor: select the text, press Ctrl+K (Cmd+K on a Mac), open Advanced in the link box and switch on Mark as nofollow. For sponsored or ugc, use an SEO plugin or Custom HTML.
- Button block: look for a link rel field under Advanced and type the values there.
- Static HTML: add rel to the a tag.
- CMS link fields and SEO plugins: many page builders and SEO plugins put a nofollow switch beside the link field, and some also offer sponsored and ugc, so look there before editing code.
- Templates and React: set rel in the shared link component when the host is external.
If the Noopener and Noreferrer row is red, add noopener, noreferrer or both (both is the common habit) to external links, starting with those that use target="_blank". Links to your own www or subdomain also count as external, so check those first.
<a href="https://example.com/" target="_blank" rel="nofollow noopener noreferrer">Example</a>Re-test: clear any page cache, run our free report again and confirm the Nofollow Attribute row is green, and the Noopener row too if it was red. See the rel noopener noreferrer guide for that second row.
Frequently Asked Questions
Do nofollow links help SEO?
What is the difference between dofollow and nofollow links?
How do I check if a link is nofollow?
When should I use nofollow on a link?
Does Google still crawl and follow nofollow links?
Should internal links be nofollow?
Should affiliate and paid links use nofollow, sponsored or ugc?
What is the difference between nofollow and noindex?
How do I add a nofollow link in WordPress?
What does rel nofollow mean in HTML?
See how your site scores right now
Paste your address into the free report, then use the How to Fix button on anything that needs work.
Free to use. Results in under a minute for most sites.