Purchased links not showing up: six myths, six repro steps
Your tool says zero new links, the vendor says delivered. Both can be right for a while. Here is how to find out which one stops being right.
LinksVerifier research team ·
Bug triage
Most missing links are timing, not fraud
Index lag explains a large share of reports. Fraud, a noindex page and a changed rel attribute explain most of the rest. Test in that order and you save a lot of angry email.
Our index refreshes roughly monthly
Search Console lists links with its own delay
Only a live fetch proves the link is in the HTML today
Myth against reality
Myth
Reality
Repro step
If a tool shows no link, the link does not exist
Every tool has a crawl date, and ours is monthly
Fetch the source page and search for your domain
Search Console should list it within days
Its link report updates on its own schedule and samples data
Compare the report date with the placement date
Ahrefs, Semrush and Majestic always agree
Each runs its own crawler, so counts differ by design
Check the same domain in two tools, expect gaps
A 200 response means the link is fine
The page can return 200 and carry noindex or a canonical elsewhere
It is slang; the actual values are nofollow, sponsored and ugc
View source and read the rel string
The first-week timeline we expect
Day 0, the vendor reports the link live. Fetch it. Your job is to fetch it that same day and save the HTML. A saved copy is worth more than a screenshot.
Give it time. Within the first month our crawler may or may not have visited. If the refresh already happened before the placement, you will see nothing until the next one, so a call at day 10 can legitimately return no row. Log it as pending rather than failed.
After the next refresh, run it. Call backlinks for your domain and look for the source host. If it is missing now, you have a real discrepancy. Dig in: fetch the page again, check for a changed anchor, a new rel value or a redirect. The glossary lists each of those tests.
Reproduction steps for a missing link ticket
Save the live source HTML with a timestamp, using curl or your browser's save function.
Record the HTTP status of the source URL and of your target URL with curl -I.
Note the date of the latest monthly refresh you know of, and whether the placement came before it.
Run refdomains for your site and search the list for the source host.
Attach all four items to the vendor ticket before asking for a replacement.
When to stop waiting
Two refreshes. That is our rule of thumb, not a Google rule, and you can stretch it for slow-moving niches where publishers rarely change a page. If the page is live, indexable and followed as agreed but two monthly refreshes still miss it, the source page may be unreachable for crawlers, behind a login or blocked in robots.txt.
At that point, test with a second source of data such as Ahrefs or Semrush rather than ours alone. Disagreement across three indexes is rare for a normal public page. Agreement on absence is strong evidence and belongs in the cost-aware re-check plan.
If the link is live and findable only by fetching, accept that and move on. Indexing questions about the page itself go to the runbook for traffic drops if rankings also moved.