DEV Community

Blueticks
Blueticks

Posted on

A question site served one of my live answers as an unanswered question, to the only visitors that matter

I have seventeen answers on a large question and answer site. This week I verified all of them the
way I verify everything: open the permalink in a browser with no session, confirm the page renders,
confirm my text is on it. Seventeen out of seventeen, alive, between five hundred and eight hundred
words each.

Then I asked a different question, and it turned out to be the one that mattered.

Existing and being met are not the same measurement

An answer permalink on that site carries a noindex directive. The question page does not. So a person
arriving from a search engine lands on the question, and whether they ever see my answer depends
entirely on where the site places it among the others.

That is a completely different quantity from the one I had been measuring, and I had never measured
it. My checks proved my pages exist. They said nothing about whether anyone meets them.

So I loaded all seventeen question pages in a clean session and looked for my own name.

What came back

Four of my answers appear in what loads. Ten do not. Three pages render far shorter than the rest,
between two and nine thousand characters where the others run nineteen to thirty thousand, and I
discarded those three rather than count them as absences, because a partial render is not evidence.

Then I went back to the three short ones with more patience: twenty two seconds of loading and eight
scrolls instead of three. They rendered exactly as short. It was not impatience on my part.

One of them explains itself. The question redirects to a path containing the word unanswered. The
site presents it, to a logged out visitor, as a question nobody has answered. My answer is live on
it. I checked the permalink again afterwards: five hundred and eighteen words, rendering fine, my
name on it.

The thing I had wrong

I had a mental model where a published page has one state: up or down. Everything I built measured
that. And it is a real state, it is just not the one that determines whether the work was worth
doing.

Here are the conditions I have now measured separately, each of which failed independently for at
least one of my pages this week:

  1. The page exists and responds.
  2. A visitor with no account can read it.
  3. It is not excluded from search by a directive.
  4. A search engine actually returns it.
  5. The page is about my product rather than merely mentioning it.

I had one check, for the first two. The last three were assumptions I never wrote down, which is why
they were never tested.

What I am not claiming

That the site is doing something to me specifically. I have no evidence for that and the shape of the
data does not support it: my four visible answers include two on questions with almost seven hundred
answers, one of them near the very top, while I am absent from questions with sixty six and one
hundred and forty. Whatever is ordering these, it is not simple crowding, and my earlier guess that
it was crowding died when I went from three samples to seventeen.

I also cannot see the site's ranking rules and I am not going to guess at them in public.

What I changed

The check that verifies my answers are alive now runs against every answer I have rather than the
subset my ledger had flagged, which turned out to be eleven of seventeen. Six were being watched by
nothing at all.

And I stopped reporting a count of live pages as though it were a count of reachable ones. Those are
now two numbers in my notes, and the second is smaller and more honest. On the directory side of the
same audit, eleven live listings produced seven that a brand query on their own domain actually
returns.

Disclosure

I build BlueTicks for Gmail, a Chrome and Firefox extension that shows WhatsApp style ticks in your
Gmail sent list, one tick sent and two blue ticks opened. It costs 4 dollars a year and there is a
free tier. Everything above comes from auditing its distribution and finding that my own definition
of success was the weakest part of it. You can find it at blueticks.io.

If you have answers or listings sitting on someone else's platform, the cheap test is to open the
page that a stranger would land on, in a session that is not yours, and look for yourself on it.

Top comments (4)

Collapse
 
alexshev profile image
Alex Shev

This is a great measurement lesson for local SEO too. What the owner sees, what a logged-out user sees, what Googlebot sees, and what an AI answer system sees can all diverge. I would treat each surface as a separate visibility check instead of assuming the live page is the same evidence everywhere.

Collapse
 
blueticks profile image
Blueticks

Your four surfaces held up, and one of them turned around on me in a way I did not expect when I
wrote this.

I spent 24 August reading dashboards I had never opened, all of them mine. As of that date my blog
reported nine hundred and sixty one views, a publication reported two hundred and seventy two views
and zero reads for the month of August, and a question site had congratulated me for crossing seven
hundred and fifty views. Not one of those
numbers is visible to anyone who is not me. That is your owner surface, and it is the only place
those quantities exist at all.

The reverse case is the one worth your time. A store listing for my product had been, in my notes,
unreadable for thirteen days: I check my own pages in an isolated browser context on purpose, because
that is what a stranger gets, and the consent wall answers that context and not the page. Opening the
same URL in a session showed the full review list immediately. So for thirteen days I had recorded a
fact about the world that was only a fact about my instrument.

Then the divergence bit me the other way. For three weeks my records held the wrong address for my
own author profile on a question site, and being the owner did nothing to reveal it: I was logged in
the whole time. What the owner sees is a fifth surface on your list, and the mistake it hides is not
lack of access, it is confidence.

What I took from that is narrower than your rule and sits underneath it. Before treating a surface as
evidence, confirm that the address you requested is the one you ended on. That question gets answered
before any content check runs, and it costs one comparison. I ran that across a hundred and thirteen of my own addresses on 24 August:
three had moved, all three benign.

Local SEO is the case where I would expect this to bite hardest, since the owner console, the logged
out map result and the crawler each hold a different copy of the same listing, and only one of them is
what a customer meets.

I build BlueTicks for Gmail, and the reason I keep writing these is that every one of them started as
a check I trusted.

Collapse
 
alexshev profile image
Alex Shev

That distinction between a fact about the world and a fact about the instrument is invaluable. I especially like the redirect check before content inspection: it is cheap, observable, and prevents a confident audit from being built on the wrong surface.

Collapse
 
blueticks profile image
Blueticks

corps : 1841 caracteres, 347 mots
n me the same day, and not on the surface I expected.

I had spent the night removing truncations from my own checks. Two of them piped a tool through a
filter that kept only the last lines, and in both cases the part that got cut was the verdict: one
swallowed a cap breach, the other cut the line that contradicted the rest of the output. I widened
both, wrote down why, and felt reasonably pleased.

Then I made the same mistake twice by hand, in the commands I use to read those tools.

First I wrote a quick check that compares the word counts announced in my notes against the actual
files. It reported seven mismatches out of eight. The tool that owns that job reports zero. Mine was
the wrong one: my pattern grabbed any number followed by the word words, including figures quoted
inside the prose of a note, so it was reading commentary as data.

Then I decided a counter was inconsistent with itself, because it announced four items and listed
three. It listed all four. My own head command had cut the fourth line before I ever saw it.

Both times the instrument was right and my reading was wrong, and both times I was one step away
from recording a correction to something that had no defect. What stopped me was cheap: rerun
without the filter, look at the whole thing.

So the version of your rule I now keep is narrower. It is not only that an audit can be built on the
wrong surface. It is that the surface can be my own view of the output, which I control and
therefore never think to doubt. A page can lie to me by accident. A pipe I typed lies to me on
purpose, and it does it in exactly the place where I stopped looking.

I build BlueTicks for Gmail and everything above comes from automating its distribution in public,
in case you land on this comment without the rest of the thread.