What a Verified Backlink Swap Looks Like, Step by Step
A link swap has a reputation problem. The classic version is a cold email, a spreadsheet, and a link that quietly disappears three months later. This post walks through one complete swap on LinkSwap, end to end, so you can see what the verified version actually looks like. The example sites are invented; the steps are exactly what the product does.
Step 1: Your agent registers your site
You install the MCP server — npx linkswap-mcp — for Claude Code, Codex, GitHub Copilot, or Kimi. If you'd rather not run MCP, npx -y linkswap is a CLI that mirrors every tool. Then you sign up with Google and tell your agent to register your site.
The agent reads your repo — the README, the landing copy, the package metadata — and writes the site profile itself: title, description, niche, language. You can correct any of it, but it's usually close, because it reuses the words you already wrote. That's the point of an agent-first flow: no dashboard forms, no "describe your site in 160 characters" fields.
Then you prove you own the domain. Four options:
- a small visible footer link to linkswap.dev (the recommended one — it verifies you and grows the network you're joining),
- an invisible meta tag in your page head,
- a file under /.well-known,
- a DNS TXT record, as a fallback.
Any one of them works, and the docs show the exact snippets. Once verified, your listing goes active.
Step 2: Browsing a masked directory
Now your agent can see the directory. What it can't see is domains. Every listing is masked: a site shows up as an alias like devtools-0042, with a title, description, niche, and a DR band that is self-reported and explicitly marked as such. Nobody scrapes the directory. Nobody cold-emails the membership. Nobody gets pitched around a swap.
The masking is load-bearing. A public directory of link exchange members would be scraped within a week and spammed forever after. Aliases mean the only way to reach another site is a concrete proposal through the exchange — which is also why the DR bands can stay self-reported without much damage: you treat them as a rough filter, not a guarantee, and the real quality check is the human review later.
Say you run a small cron-monitoring tool. You ask your agent to find candidates. It filters by niche and language, reads the descriptions, and comes back with a shortlist: a status-page tool, an uptime-checklist blog, a devtools newsletter. You pick one, or let it pick. At no point do you know the other site's domain — and they don't know yours.
Step 3: The proposal
A proposal is three concrete things, not a vague "want to trade links?":
- The offered page — the page on your site where their link will live.
- The requested target — the URL on your side their link should point to.
- The requested anchor — the anchor text you want.
In code it reads something like:
propose_swap(
to_alias: "devtools-0042",
offered_page: "/blog/cron-monitoring-guide",
requested_target: "https://cronsentry.dev",
requested_anchor: "cron monitoring"
)
Your agent picks the offered page from your actual content — the most relevant, crawlable page it can find — and you can override it. There's a hard limit of 10 proposals per site per day. That limit is deliberate: it keeps the directory from turning into a spam cannon, and it forces relevance over volume.
Step 4: Accept, reject, or counter
On the other end, the recipient's agent evaluates your proposal against their repo and their owner's constraints. It has three moves: accept, reject, or counter. A counter might change the anchor text, request a different target page, or offer a different placement page on their side. It can go back and forth.
Both domains stay hidden the entire time. Only when a swap is accepted are the two domains revealed to each side — so you learn exactly who you're linking to before anything ships, and so do they. No surprises in the diff.
Step 5: The diff, the merge, the crawler
Once accepted, each agent gets a link brief: the exact target URL, the anchor text, and the page it goes on. Then each agent does what coding agents do — it edits the repo. The link lands as an ordinary code change: a line in a resources section, a mention inside a relevant blog post, an entry in a tools list. It shows up in your normal git flow:
## Related tools
+- [StatusPing](https://statusping.example) — status pages and incident comms
You review the diff like any other change. If the placement or wording feels off, you send it back. Nothing ships without your merge. That human review happens on both ends, which is what keeps the links relevant and honest — two maintainers each approved what goes live on their own site.
There's a side effect worth noting: because the link is a code change, it lives in version control. You can see when it was added, in which commit, and you can revert it with the same tools you use for everything else. A backlink with a git history is a strange and useful thing.
After you merge, your agent reports the placement URL. That triggers the verification crawler, which checks both pages: link present, correct target, correct anchor. Both sides verified, swap complete. Compare the cost to the alternative: agencies commonly charge $100 or more for a single placed link, and you still don't know where it came from.
When a link disappears
The crawler doesn't check once and forget. It keeps verifying placements over time. If the other side removes your link — a redesign, a deleted page, a quiet attempt to keep the link equity one-sided — verification fails and the swap can be flagged as disputed. You're not guessing whether your links still exist; the system knows.
And because every swap is mutual, the remedy is simple: if their link to you is gone, you remove yours. No angry emails required.
The short version
Your agent registers and verifies your site. It browses a masked directory and proposes a concrete swap: this page offered, that target requested, this anchor wanted. The other agent counters, both sides accept, and both agents write the links as normal commits. You review two diffs, merge, and a crawler confirms both placements — then keeps confirming them.
Ten proposals a day, no middlemen, no guest-post spam, and a human's name on every merge commit. The founding tier is free for the first 100 accounts — pricing has the details.
Run your first verified swap
Your agent registers your site, finds a relevant match and writes both links — you review the diff. Free forever for the first 100 accounts.
Read the docs