METHODOLOGY
How every field is produced, and where it stops
Nothing here is a model output. Every field is regular expressions, CSS selectors and arithmetic, which is why the same page scores the same way on every run. This page is the reference the tooltips in the app point at.
The evidence model, before the fields
Three states, and the difference between them is the point of the product. Anything we did not measure is labelled as something we did not measure.
Observed
5 or more existing comment links read on the page. Confidence High.
Inferred
A platform default with no links to read. Confidence Low.
Unknown
No evidence either way. Reported, not guessed.
Unknown is a result. It means the check ran and found no evidence either way. A tool that fills that gap with a platform default is reporting an assumption in a column that looks like an observation, and you cannot tell the two apart afterwards.
The five core fields, in full
Each record says what the field is for, what it reads, how it decides, what it can output, when it declines to answer, and what it cannot prove.
URL
- Purpose
- Identifies the exact page checked.
- Input
- The row you supplied.
- Method
- Normalised, then requested. Redirects are followed and the final URL is recorded separately in the detailed export.
- Output
- The URL as supplied, plus the final URL where they differ.
- Unknown
- Never. A page that could not be loaded is reported as a load failure on its own row.
- Limit
- A URL that resolves today may not resolve tomorrow. Every row carries its scan date.
Comment Opportunity
- Purpose
- Whether a human could leave a comment on this page today.
- Input
- The rendered page.
- Method
- CSS selectors and regular expressions locate a real comment form. A form containing a textarea is not automatically a comment form: a store form or a page-level search form wrapping a textarea does not count, and innermost matching nodes are used so a wrapper is never counted as a comment.
- Output
- Open, Closed, or None.
- Unknown
- A form was present but could not be classified.
- Limit
- It cannot tell you whether a moderator will approve what you write.
Link Type
- Purpose
- What a link in your comment would most likely carry.
- Input
- Links already sitting inside that page’s comments.
- Method
- Read the rel attribute of existing comment links. Confidence is High at 5 or more links, Medium at 1 to 4. A platform default is never presented as a measurement.
- Output
- Dofollow, Nofollow, UGC, Sponsored, None, or Unknown, with the evidence count beside it.
- Unknown
- No existing comment links to read, so there is no evidence either way.
- Limit
- It describes existing links, not a guarantee about yours. A site can change its plugin settings at any time.
Ahrefs DR
- Purpose
- Domain-level strength, for context beside the page-level read.
- Input
- The page’s registrable domain.
- Method
- Domain Rating by Ahrefs, from the Ahrefs API, served from a local cache where possible. Hosted subdomains inherit their platform’s rating, so those rows carry a label saying the value is inherited rather than earned.
- Output
- An integer 0 to 100, or Unknown.
- Unknown
- The domain was not returned by the Ahrefs lookup.
- Limit
- DR is a domain property. It does not describe the page, which is the whole reason for the other five fields.
Comment Spam Risk
- Purpose
- Whether the comment section already looks like a link dump.
- Input
- The comments visible on that page.
- Method
- Arithmetic over signals in the existing comments: outbound link density, repetition, and anchor patterns. Deterministic; no model, no scoring service.
- Output
- Low, Medium, High, or a dash where there is nothing to assess.
- Unknown
- No comments visible, so there is nothing to assess.
- Limit
- This is about this page. It is not a domain reputation score and must not be read as one.
Rules the scanner follows, and why
Each of these exists because the naive version produced a wrong answer on a real page.
- A form containing a textarea is not a comment form. A store form and an ASP.NET page-level form wrapping a search box both matched an early version, and both produced comment forms on sites that have no comments at all.
- Retry failures, not answers. Network errors and 429/5xx responses are retried. A 403 or a 404 is an answer and is never retried. One timeout once marked a live site permanently dead.
- Count innermost nodes only. A generic selector matches both the comments wrapper and every comment inside it. Counting the wrapper once made a single page report 4,532 outbound comment links.
- A login link in the header is not a login wall. Weak evidence needs a qualifying link whose href and text both point at commenting.
- Anti-bot software on the site is not a challenge on the page. A weak signal only counts when the response also looks like a wall: a 403, 429 or 503, or under 200 characters of text.
What is never measured
- No comment is posted, ever. No sign-in is attempted. No CAPTCHA is answered.
- Nothing behind authentication is read. Those pages are reported unread rather than guessed at.
- Nothing about guest posts, directories, forums or editorial placements. The fields do not transfer to those and are not offered for them.
Why every figure carries a date
A comment form is a live property of a page. Forms close, posts get archived, plugins change the rel attribute on every comment link without touching the copy. A result is true on the day it was read, so the day it was read is printed beside it. Anything older than a quarter is worth re-running.
Domain Rating is a metric by Ahrefs and is shown here as supplied.