Open-source backlink monitoring

The link was there last week. Now it's gone.

LinkRetriever re-checks every backlink you care about on a schedule, records what it finds, and tells you the moment a placement is removed, changed, or quietly set to nofollow.

Self-host it · the first account always signs up

Runs as
One Go binary
Database
PostgreSQL
License
MIT
~/monitors · checked 2m ago Monitoring
  • engineeringweekly.dev/resources → yoursite.com/guide · anchor "field guide" 200 · live
  • founderstack.io/tools link not found in latest crawl · was live 6d missing
  • devlist.example/apps → yoursite.com · rel changed this week nofollow
  • theweeklybyte.com/issue-84 → yoursite.com/blog · anchor "read more" 200 · live

The problem

Backlinks fail silently. You find out during the next audit.

Editors reorganize pages, migrations drop redirects, and a single CMS change can turn a hard-won dofollow into nothing. No one emails you when it happens.

Without monitoring

Guesswork and spreadsheets

The links you earned live in a spreadsheet that's out of date the day after you build it.

  • × A placement is removed and the ranking slips before anyone notices
  • × Anchor text or rel quietly changes value
  • × Re-checking by hand doesn't scale past a few dozen links

With LinkRetriever

A record that checks itself

Each backlink becomes a monitor that revisits the source page on a schedule and keeps a full history of every check.

  • Scheduled crawls confirm the link is still present and followed
  • State changes land in an inbox and, if you want, your email
  • Every check is logged with HTTP status, anchor, and rel tokens

How it works

Three steps, then it runs itself.

STEP 01

Add the placement

Record the source page and the destination you expect it to link to. Group monitors under the website they belong to.

STEP 02

Let the workers check on schedule

Bounded background workers revisit each source through one reviewed, SSRF-safe crawler — never hammering a remote site. Need an answer now? Hit Check now.

STEP 03

Act when something changes

A clear history shows what changed and when. Grouped alerts reach your notification inbox and email so the right person can fix it.

The product

Your backlink health, at a glance.

The dashboard leads with what needs attention — not a wall of green checkmarks.

Monitoring capabilities

Built to watch links carefully, not carelessly.

Presence & rel tracking

Confirms the link still exists, follows redirects safely, and flags changes to anchor text and rel tokens like nofollow or sponsored.

Scheduled checks

Durable background jobs re-check on a cadence with bounded concurrency and retries — plus one-click manual checks when you can't wait.

Full check history

Every check is stored with its HTTP status, links found, and any error — paginated so a monitor's whole record stays readable.

Grouped alerts

Related changes are grouped into a single notification so a bulk edit on one site doesn't bury your inbox.

Safe crawler

One reviewed transport rejects private and loopback addresses, re-validates every redirect, and bounds body size and total work.

Email & inbox

Status changes reach an in-app notification center and go out over your own SMTP — with STARTTLS or implicit TLS.

Self-hosting

You run it. You own the data.

What do I need to run it?

Go 1.26+ and a PostgreSQL database. LinkRetriever ships as a single binary with serve, worker, and migrate roles, or you can bring it up with the included Docker Compose file.

How are web and background work separated?

The same binary runs as a web role and a worker role. The web process serves the app; workers run the durable, scheduled crawl jobs. Both verify migrations are applied before they start.

Can other people sign up on my instance?

The first account can always be created. After that, registration is disabled by default — set ALLOW_SIGNUP=true to open it up for your team.

Does it send its own email?

Yes. Point it at any SMTP server for password resets and change alerts. STARTTLS and implicit TLS are both supported, and message bodies are never logged.

Is it really open source?

MIT licensed, standard-library-first Go, and no hosted lock-in. Read the code, fork it, and run it wherever you like.

Stop finding out at audit time.

Spin up LinkRetriever, add the links that matter, and let it watch them for you.