Link attributes explained: DoFollow, nofollow, UGC, sponsored
What rel=nofollow, ugc and sponsored mean, how Google treats them and how to label paid links correctly. With HTML examples and common mistakes.
This image was generated entirely with AI
ProviderHiggsfield
ModelGPT Image 2.5
PromptIsometric 3D illustration in soft pastel blue, teal and warm accent colours on a clean white background. A small website building on the left and a second website building on the right are connected by exactly four separate, parallel miniature railway tracks, stacked evenly from back to front, each track running all the way from the left building to the right building. Each of the four tracks has its own small level-crossing gate standing directly on that track with a clearly readable sign: back track "follow" (green light), second track "nofollow", third track "ugc", front track "sponsored" (amber lights). Every gate sits on its track. Clean geometric shapes, soft shadows, plenty of white space, crisp lettering on the signs, no other text. No watermark, no signature.
The rel attribute in a link tag describes how the linking page relates to the link target. Search engines use it to classify links. There are four common states: no attribute, nofollow, ugc and sponsored. They can be combined.
For advertisers, one rule matters most: under Google's spam policies, paid links should be labelled with rel="sponsored" or rel="nofollow". In addition, advertising must be recognisable as advertising to readers. This article is the technical reference, with HTML examples and the most common mistakes.
The attributes at a glance
| Attribute | Typical use | Meaning |
|---|---|---|
| No rel attribute | Editorial links in body text | Normal link, often called "DoFollow" in the industry |
nofollow |
Links the page does not want to endorse | Tells search engines not to treat the link as an endorsement |
ugc |
Comments, forums, reviews | Link comes from user-generated content |
sponsored |
Ads, advertorials, paid placements | Link is part of an advertising or compensation agreement |
Google introduced sponsored and ugc in 2019. Before that, nofollow was the catch-all for anything you did not want to endorse.
The values in detail
No attribute ("DoFollow")
A link without a rel attribute is the normal case:
<a href="https://example.com">Anchor text</a>
"DoFollow" is an industry term. There is no dofollow value in the HTML standard or in Google's documentation. If you add it, nothing changes. The link behaves like a link with no attribute.
nofollow
<a href="https://example.com" rel="nofollow">Anchor text</a>
The linking page uses this to signal that it does not want the link read as an editorial endorsement. That suits links it does not control or does not want to vouch for. A nofollow link can still bring readers to your site and make your brand visible in a relevant setting.
ugc
<a href="https://example.com" rel="ugc">Anchor text</a>
This attribute belongs on links that users place themselves, for example in comments or forum posts. Many content management systems add it automatically.
sponsored
<a href="https://example.com" rel="sponsored">Anchor text</a>
This value is meant for links where money, goods or other consideration changes hands. It makes the relationship clear to search engines without treating everything as nofollow across the board.
Combinations and syntax
Multiple values go in one rel attribute, separated by spaces:
<a href="https://example.com" rel="sponsored nofollow">Anchor text</a>
<a href="https://example.com" rel="ugc nofollow">Anchor text</a>
Google allows these combinations. sponsored nofollow is common because systems that do not yet know sponsored still read it correctly. The attribute belongs on the individual link. If you want to affect every link on a page, use the robots meta tag with nofollow. That applies to every link on the page, including editorial ones.
How Google treats the attributes
Google treats nofollow, ugc and sponsored as hints, not strict instructions. The search engine can therefore decide for itself how to evaluate a link. How much effect a single link has on rankings cannot be known for certain from the outside. All that is certain is how Google documents the attributes.
In practice, this means you should not plan links as a ranking guarantee. In practice, a mention in a suitable outlet is often useful even without a DoFollow link, for example through reach, brand awareness and mentions that chat assistants and AI overviews draw on as sources. How AI search chooses its sources is explained in How AI search decides which links to trust.
Labelling paid links
There are two separate levels here.
- For search engines: Google's spam policies require paid links to be marked with
rel="sponsored"orrel="nofollow". Links meant to influence rankings through payment without being marked this way violate these policies. - For readers: Advertising must be recognisable as advertising. An advertorial therefore carries a visible notice such as "Advertisement" or "Sponsored post". The attribute in the code does not replace this notice.
If you are unsure about the legal position in a specific case, ask a specialist lawyer. Never disguise paid placements. It harms publisher and brand alike.
An editorial piece with no consideration in the sense of an ad is a different case from an advertorial. Editorial links: authority through editorial mentions covers the difference.
Common mistakes
rel="dofollow"in the code: This value does not exist. It does nothing and at most shows that someone does not know the syntax.- Paid link without labelling: If
sponsoredornofollowis missing, the link violates Google's spam policies. - Missing advertising notice for readers: A correct attribute is not enough for advertorials. The visible notice is part of the job.
- Attribute on the wrong element: The rel attribute belongs in the
atag, not in a surrounding paragraph or container. - Overlooking the meta robots tag: If the page has
nofollowin its robots meta tag, it applies to all links, even if an individual link has no attribute. - Typos: Words such as
nofoloworsponseredare not recognised as valid values by any system. - Blanket nofollow on everything: Marking editorial links for no reason wastes signal strength. Failing to mark paid links risks trouble.
What this means for your booking
Whether a link appears with no attribute, with nofollow or with sponsored is the publisher's decision, based on its editorial guidelines. Clarify this in the brief before booking. How to word it cleanly is covered in Your first booking in four steps. Which link type you can realistically expect for each format is shown in DoFollow vs. nofollow: what advertisers need to know.
Our recommendation: in the brief, ask about the planned attribute and the labelling for readers, rather than insisting on DoFollow at any price. In the catalogue you can filter by format, niche and metrics such as Domain Rank or spam score. The format determines what is usual: a sponsored post is labelled as advertising, while an editorial mention follows the outlet's guidelines. mention.media does not promise any particular ranking results.
Frequently asked questions
Is there a dofollow rel attribute?
No. In the industry, "DoFollow" describes a link without a restricting rel attribute. You do not need to enter anything in the HTML code, and a dofollow value has no function.
Do I have to label paid links with sponsored?
Google's spam policies require rel="sponsored" or rel="nofollow" for paid links. sponsored is the more precise label. In addition, advertising must be recognisable as such to readers.
Can I combine sponsored and nofollow?
Yes. Separate the values with a space, for example rel="sponsored nofollow". ugc nofollow is also common.
Is a mention with nofollow useless?
No. Even without a passed-on link endorsement, a mention can bring readers to your site and show your brand in a suitable setting. Whether it plays a role in AI answers cannot be guaranteed. In practice, though, brands that media outlets mention repeatedly often show up in assistant answers too. The content assistant suggests suitable channels for your content.