There are four states a link can be in and one state a checker can be in, and the fifth one is the one that matters. Most tools in this space will tell you a page is dofollow when what they mean is “this looks like WordPress and WordPress usually is”. That is a guess wearing the clothes of a measurement, and you cannot tell the two apart once they are in the same column.
The four attributes, and what they do now
Google changed how these work in 2019, and the change is still not reflected in most link-building advice. The current behaviour is documented in Google’s guidance on qualifying outbound links.
- No attribute at all, commonly called “dofollow”
- There is no such attribute as
dofollow. A followed link is simply a link with no qualifyingrelvalue, and it is the default state of an anchor tag. If a tool reportsrel="dofollow"as though it read it off the page, the tool is confused. rel="nofollow"- Originally an instruction: do not pass ranking signals, do not follow. Since 2019 Google treats it as a hint for ranking and crawling purposes rather than a directive. A hint is not a guarantee in either direction, which cuts both ways: you cannot count on the link being ignored, and you certainly cannot count on it being counted.
rel="ugc"- User-generated content. Introduced specifically for comments and forum posts. If a comment system stamps
ugcon its links, that is the platform telling search engines exactly what your link is, and it is the clearest signal on this list about what you are actually getting. rel="sponsored"- Paid or compensated placement. Rare on comment links and common on the kind of placement that is not what it claims to be. Seeing it on a page you were told was editorial is useful information about the seller.
Attributes combine. rel="ugc nofollow" is extremely common on comment systems and means both things at once. Any tool that reports one value per link and drops the rest is losing information.
The fifth state: Unknown, and why it is the honest answer more often than you would like
Here is the situation nobody advertises. A page has an open comment form and no comments on it yet. What will your link carry?
Nobody knows. There is nothing on the page to read. The form has never produced a link, so the page has not yet demonstrated what it does with one. You can guess from the platform, and the guess is often right, but it is a guess.
On the 1,001 rows we opened by hand, 33 of the 183 open comment forms, 18.0% of them, were in exactly this state. That is not a rounding error. It is close to one open form in five where the honest answer is that the evidence does not exist.
| What the 183 open forms would have given | Rows | Share of the open forms |
|---|---|---|
| Nofollow | 91 | 49.7% |
| Followed | 37 | 20.2% |
| Unknown, nothing on the page to read | 33 | 18.0% |
| ugc and nofollow together | 22 | 12.0% |
One purchased list, 1,001 rows, verified by hand on 7 September 2026. The 37 is a floor, not a point estimate: some of the 33 Unknowns would also have been followed, so the true figure sits somewhere between 37 and 70. We publish the number we measured.
How to read a page’s real behaviour
The reliable method is not complicated, and it is the one worth insisting on from any tool you use.
- Find the comment thread in the page source, not the form. The form tells you posting is possible. The thread tells you what happened to everyone who did.
- Look at the anchor tags inside existing comments, including the commenter-name links, which is where most comment systems put the link.
- Read every
relvalue on them, and note that they combine. - Count how many links you looked at. One followed link is an anomaly; nine followed links out of nine is the comment system telling you its configuration.
- If there are no comment links at all, stop. The answer is Unknown. Do not substitute the platform default.
Why the sample size is part of the answer
A page with one followed comment link might have a followed comment system, or might have one link that predates a plugin change, or one comment from the site owner that the system treats differently. A page with fifteen, all unqualified, is not ambiguous.
This is why our reports carry the count next to the verdict: High confidence, 9 links read means something different from Medium, 2 links read, and collapsing both to “dofollow” throws away the part you needed.
Why a platform default is not evidence
WordPress adds nofollow to comment links by default. Knowing a page runs WordPress is therefore a real expectation, and a bad substitute for looking.
- Plugins change it in both directions. There are plugins whose entire purpose is removing the nofollow, and plugins that add
ugcthat the core never did. - Themes override comment output. A custom comment walker can render anything.
- The default changed over time. A page from 2012 and a page from 2026 on the same install can differ.
- Detection is itself a guess. Platform fingerprinting from HTML is right most of the time, which is not the same as being right.
So a platform default belongs in a field labelled as an expectation, next to a field labelled as an observation, and never in the same column. That is a design rule in our methodology, and the reason our Link Type field says Unknown rather than filling the gap with the likely answer.
What none of this tells you
- Whether the comment will be published. Moderation is a person. An open followed form still ends with someone deciding.
- Whether the link will still be there in six months. Threads get pruned, plugins get updated. Everything above is true on the date it was read, which is why every row we report carries that date.
- What the link is worth. A followed link on a page nobody reads is a followed link on a page nobody reads. What comment links realistically do is a separate argument, and a narrower one than the tactic’s reputation suggests.
Checking this in bulk
All of the above is a per-page inspection, and doing it by hand on a list of any size is where the afternoon goes. The Backlink Prospect Checker does exactly this read on every URL you give it: the rel values from the links already in the thread, how many links that judgement came from, and an explicit Unknown where the thread was empty. The sample report shows the confidence column beside the verdict, which is the part most tools leave out.
Reading the attribute is one stage of a longer job. The full qualification sequence puts it third, after deduplication and after establishing that the page loads and has an open form at all, because there is no point reading a thread on a page that cannot take a comment.