← all articles

The outbound link leak nobody audits

seo technical-seo backlinks site-audit

I audited our own site’s outbound links this month. 15,321 dofollow links pointing out. Sixteen pointing in.

Sixteen. I checked three times because I assumed the crawler had misconfigured itself.

That’s roughly 950 to 1 in the wrong direction, on a property we actively sell link placements from. It had been that way for years and nobody had looked, including me. This is the default state of any site publishing for a while without someone watching this particular number. Treating it as a strange edge case is what lets it grow.

Why nobody audits outbound

Every tool you use is built to show you the opposite direction. Open your backlink checker and it opens on inbound: referring domains, new links, lost links, competitor gaps. The industry sells inbound analysis because inbound is what you can buy, and therefore what there’s a market in.

Outbound is a number you have to go looking for. No dashboard puts it on the front page, no vendor emails you about it, no client asks. So it accumulates in silence, one reasonable decision at a time.

We hadn’t published anywhere near enough articles to explain that number honestly.

Ordinary editorial linking accounts for some of it. Every guide citing three sources, every comparison linking to eight products. Call it five or ten per article and the arithmetic gets away from you faster than intuition suggests.

Much larger are the surfaces nobody thinks of as content: author profile fields, comment sections if they’re open, plugin-generated footers and widgets that link out on every page.

Then old partnerships and swaps that were never unwound. We place a link, the arrangement dies, the link stays because removing it was nobody’s job.

Do the sitewide arithmetic once

Intuition gets this badly wrong, so work it through.

Say you have 2,000 pages, which isn’t large. Somebody adds a single link to a footer widget. A theme credit, a tool they liked, a partner from three years ago. One link, one decision, thirty seconds.

That’s 2,000 outbound dofollow links.

Add four more over the years, each reasonable at the time, and you’re at 10,000 from five decisions nobody wrote down. Meanwhile the articles you actually laboured over, with their careful two or three citations, contribute a rounding error.

Which tells you where to look first. It’s almost never your content. It’s your templates, and the fix is usually one edit that removes thousands of links at once.

The surfaces people forget

Go and look at these specifically, because they’re where ours hid:

  • author bio and profile fields, which often allow a URL and render it followable
  • comment forms, including on old posts you forgot were still accepting comments
  • plugin and theme footers, particularly anything adding a “powered by” credit
  • sidebar widgets appearing on every page of an archive
  • auto-generated related-links or partner blocks pulling from a list configured once

None of these feel like publishing decisions, which is exactly why they escape review.

What it actually costs

Let me be careful here, because this is where SEO writing usually falls off a cliff into penalty talk.

You aren’t going to get penalised for linking out. Linking out is what the web is. A site linking to nothing looks stranger than one linking generously, and outbound links to genuinely relevant sources are part of a good page.

The real cost is quieter and it’s about proportion. A page carrying thirty outbound commercial links is a different kind of page from one carrying two, and both readers and search engines can tell. At the extreme, a site whose outbound profile looks like a directory gets treated like a directory.

There’s a second cost that’s purely about attention. Every one of those links is a promise that a destination still exists and is still what it was. Domains lapse, companies get acquired, and a tool you recommended in 2022 is now a parked page full of ads with your recommendation still attached.

The commercial cost specific to us

We sell placements on these sites. Somebody pays $250 for a dofollow link on an article because that link is meant to be worth something.

If that page is already handing out dozens of unintended dofollow links to plugin footers, dead partnerships and comment spam, then what we sold is worth less than we said.

So this stopped being technical hygiene and became product quality. The inventory we sell is only as good as the pages it sits on, and the pages had been quietly devaluing themselves for years.

The spam score connection

One more number worth putting next to this. That same domain vets at 48% spam on its own inbound profile.

I’d treated those as separate problems. They aren’t.

A site with a wide-open outbound surface, comment fields, profile links, unmoderated widgets, has been advertising itself to exactly the kind of automated network that then links back to it. The leak going out and the sediment coming in are two symptoms of the same missing supervision.

If your inbound spam percentage looks bad and you can’t explain it, check your outbound surface before assuming somebody attacked you. More often the site invited it, quietly, over several years.

How to run the audit

Crawl your own site and extract every outbound link with its rel attribute, source page and destination domain. Any decent crawler does this. Group by destination domain and sort by count.

That sort is where the answer jumps out. Genuine editorial links spread thin, one or two per destination. Leaks show up as a single domain appearing hundreds or thousands of times, which almost always means a template rather than anything anyone wrote.

Then check which destinations still resolve. A batch of requests against the unique domains tells you what’s dead, parked or redirecting somewhere unexpected.

Pay attention to redirects specifically. A domain that quietly began redirecting is the most dangerous category, because it still returns a healthy response code and looks fine to any check that only counts failures. That’s how a link to a legitimate tool ends up pointing at whoever bought the domain at auction.

I found several of those on our own pages. None catastrophic, all embarrassing, every one live for months.

Triage

Three buckets.

Remove outright: anything pointing at a lapsed, parked or repurposed domain. Those help nobody and damage the reader’s trust in the page.

Mark nofollow or sponsored: anything commercial you didn’t intend as an editorial endorsement. Old affiliate links, expired partner placements, anything from a finished deal. This is the correct use of those attributes and it’s honest labelling.

Leave completely alone: genuine editorial citations to sources you actually used. This is the category people get wrong when they panic after an audit. Stripping the citations that make your good articles credible is a self-inflicted wound that makes the content worse while fixing nothing.

If you take one rule from this, take that one. The goal is removing links you never decided to make, not linking less.

The 404s we found on the way

Audits like this turn up something adjacent, and ours turned up a bad one.

A sibling property had lost 334 blog articles. Deleted at some point, now returning 404, with inbound links and whatever rankings they had pointing at nothing. The content was recoverable from version control history, which is the only reason this is fixable rather than a total loss.

That deserves its own habit. Crawl your sitemap and internal links periodically and check everything you point at returns a page. A site linking internally to its own missing articles is a much clearer signal of neglect than a high outbound count.

Where we actually are

Honest status: the audit is done and the numbers above are real. The sitewide template leaks are the priority because they’re highest volume and fixable in one change. That work is in progress rather than finished.

Dead-destination cleanup is partially done. Article-level triage across years of posts has barely started, because it’s slow and there’s no clever way to automate judging whether a citation is editorial.

So I’m not writing this from the other side of a solved problem. I’m about four days into a cleanup that will take considerably longer, on a site still selling placements while the work happens.

The habit that prevents it

The fix that matters most is the boring one. Check the number on a schedule so it never reaches five figures again. The cleanup is a one-off, and one-offs decay.

Put the outbound count in whatever monthly review you already do. One number, tracked over time. If it jumps by hundreds between checks, something structural changed, and you’ll catch it while it’s one decision rather than after it multiplied across every page you own.

The audit queries I used are here.

for SEOs
Tracking rankings or scraping SERPs at scale?

Rank checkers and SERP crawlers get blocked and geo-skewed fast on datacenter IPs. Singapore Mobile Proxy runs real 4G/5G mobile IPs that search engines still trust, so your position data stays clean.

see plans →
read on
More from The SEO Desk

Technical SEO, link building, content and SERP strategy, and tool reviews for people who ship growth.

browse all articles →