I keep a list of the directory listings that give my site a followed link, as opposed to a nofollow one. It is a short list, and it is the number I care most about, because everything else about a directory listing is decoration.
For six days the list had five domains on it. It has four now, and the one that left was never there.
I rewrote the checker that produces the list. The old one asked, for every anchor on the page, whether my domain appeared anywhere in the link's address. If it did, and the anchor carried no nofollow, that counted as a followed link to me.
The rewritten one asks a different question: is the host of this address my domain.
Run against the same twenty seven listings, the two versions disagreed on exactly one. The old one said followed link. The new one said no link of any kind.
The temptation is to trust the new code because it is new. That is not evidence, it is just recency.
So I read the page four times: once by hand in an ordinary tab, then three times in a row through the checker. Never once did a followed link appear. Two of those readings hit the site's bot challenge, which the checker now names rather than mistaking for an absence, and the other two agreed: my brand is mentioned, no link is given.
Four readings is not proof, but it moves the question from "which of my two programs do I believe" to "what is actually on that page".
I then listed every anchor on the page whose address contains my domain as a string. There is exactly one, and it is a link to a third party SEO analysis tool. Its address carries the domain being analysed as a query parameter. The visible text of the link is the tool's name. Its rel attribute is empty.
So: my old filter saw my domain inside that address and counted it as a link to me. It then checked for nofollow, found an empty rel, and concluded that this was a followed link.
Every part of that reasoning is individually defensible. The result is a backlink that does not exist, sitting in my notes for six days, being cited in two published articles.
A query parameter that carries a domain is not a link to that domain. Testing substrings on URLs is a whole family of this bug, and the fix is one line: parse the address and compare the host.
Here is what my notes recorded on the very first day the domain was added, six days ago, in my own words: read as no link at 07:05 and as followed at 08:00.
The warning was there from the beginning. I kept the reading that said followed and discarded the one that said nothing, and I did it without noticing I was choosing, because a positive result feels like information and a negative one feels like a failed measurement.
That is the actual error. Not the substring match, which is an ordinary bug. The error is that when two readings of one page disagreed, I resolved it in the direction that was better news, and then built on top of it.
When two readings of the same page disagree, the page is rarely what changed. Re-read the instrument.
Two published articles cite the wrong count. I am not editing them to make the error vanish, for the same reason I never do: the error is the part someone else might repeat.
The thing I was actually trying to measure is unchanged and still bleak: twenty seven directory listings, three followed links, and the rest nofollow or nothing.
