| column | counts distinct sources that… | WP:ORPHAN role |
|---|---|---|
inlinks |
are candidate articles¹, redirect-resolved, self excluded | the orphan-defining count² |
inlinks_direct |
are any ns-0 non-redirect page (dabs included), unresolved | diagnostic raw in-degree |
inlinks_text |
typed the link in body prose | the links WP:ORPHAN wants |
inlinks_infobox_only |
typed the link only inside an infobox template | de-orphaning, but not prose |
inlinks_unattributed |
link exists only via transclusion (navboxes, mostly) | weakest link class |
¹ candidate = ns-0, not a redirect, not a disambiguation page.
² orphans.parquet ≡ rows with inlinks == 0.
A source counting in inlinks_text may also link from an infobox
(text takes precedence). Invariant, enforced as a hard publish gate:
inlinks = inlinks_text + inlinks_infobox_only + inlinks_unattributed.
What inlinks already honors: links from disambiguation pages,
redirects, and non-article namespaces never count; a link to a redirect
counts for its target (single hop); So this is the most basic, complete
definition of a absolute orphan.
Known divergences: hatnote-only links and surname/given-name index
pages still count toward inlinks, but not for
WP:ORPHAN. The published orphans list is therefore slightly conservative:
a hatnote-only article stays off the
list, though the guideline would call it an orphan.
What the provenance columns add: WP:ORPHAN treats an article as de-orphaned only by meaningful article-text links, and navbox/infobox linkage is the classic gray zone. The split makes stricter readings queryable without changing the published orphan definition:
-- "orphan in spirit": no prose links at all
-- (includes the official orphans, inlinks = 0)
SELECT page_id, page_title FROM inlink_counts
WHERE inlinks_text = 0;
-- linked only by machinery: navboxes/infoboxes, never typed prose
-- ... WHERE inlinks > 0 AND inlinks_text = 0;