TraceLinker
Docs
Disavow Toxic Links

Disavow Toxic Links

How TraceLinker detects toxic backlinks and generates a Google-ready disavow.txt with smart domain grouping in one click.

When you have toxic backlinks - PBN placements, link farm spam, or anchor over-optimization - the safe move is filing a disavow file with Google. TraceLinker identifies the candidates with AI heuristics and generates a Google-ready file in one click.

What "toxic" means here

The toxicity flag on every audited link is a separate AI evaluation focused on negative-SEO signals, not link value. A link can be score: 80, toxicity: safe (a great link), score: 25, toxicity: safe (a low-value but harmless link), or score: 25, toxicity: toxic (a disavow candidate).

The classifier looks for:

SignalExample
PBN markersFooter-only link blocks. Pages that are almost entirely outbound links. Whois-private, recently registered, low traffic.
Anchor over-optimizationOne page with 5+ exact-match keyword anchors pointing at the same target.
Bad TLD patterns.tk, .ml, mass new-gTLD spam, country TLDs unrelated to the topic.
Suspicious contextCasino, adult, malware, pharma, or auto-generated text near the link.
Comment spamAnchors in user-generated comment sections of unrelated blog posts.
Network footprintMultiple sites with shared IP, identical theme, repeated linking patterns.

Each toxic link comes with a toxicity_reasons[] array explaining which signals fired. You can override - if the AI flagged something you know is fine, click Mark safe to remove it from the disavow candidate set.

Where toxicity shows up

On the audit detail page

Every row has a toxicity badge in the Toxicity column.

📸 Audit detail page with toxicity column highlighted showing safe / caution / toxic badges

A red banner appears at the top if any rows are flagged toxic, with a one-click Download disavow.txt button.

On the dashboard overview

The dashboard summary card "Toxic links" shows the count across all audits and monitored links. Click to drill into the full list.

Toxicity is rechecked on every monitor cycle. If a previously-safe link becomes toxic (e.g. the surrounding context changed), you get a transition email of type safe → toxic and the link appears in the disavow candidate set.

Generating disavow.txt

You can generate a disavow file scoped to a single audit (most common) or scoped to your entire account (the global toxic candidates list).

For a single audit: click Audits → pick one → Download disavow.txt at the top. For account-wide: click Disavow in the sidebar (Pro+).

📸 Disavow page with all toxic candidates listed

Review candidates

Before downloading, review what's about to be disavowed. The candidate table shows source URL, source domain, why it was flagged, and a checkbox to exclude.

Common reasons to exclude a candidate:

  • It's actually a paid placement you control - leave it alone.
  • It's a journalism citation that happens to live on a low-DR site - the link is real, even if the host looks weird.
  • The toxicity reason is "anchor over-optimization" but the anchor is actually your brand name (false positive on common brand names).

Use Mark safe to permanently remove a link from the disavow candidate set across all future generations.

Click Generate disavow.txt

We build the file with two formatting modes:

  • Domain mode (default) - groups links by source domain and outputs domain:bad-domain.example per domain. Recommended by Google for most cases.
  • URL mode - lists each individual URL. Use only when you want to disavow specific pages from a domain that also has legitimate inbound links you keep.

The smart-grouping logic: if 3+ toxic links share a domain, we collapse to domain: format automatically. Otherwise we use URL-level entries.

File downloads

A plain text file lands in your Downloads folder. Format:

# Generated by TraceLinker on 2026-05-03
# https://backlinkmonitor.com/dashboard/audits/abc123

# Excluded by user: 2 entries
# Total entries: 47 (35 domains, 12 URLs)

domain:badpbn1.example
domain:badpbn2.example
http://specific-spam.example/comments/123
http://specific-spam.example/forum/456

The header comments are ignored by Google but help you remember where the file came from when you revisit it 6 months later.

Uploading to Google Disavow Tool

After generating:

Open the Disavow Tool

Go to search.google.com/search-console/disavow-links and select the property matching your target domain.

Upload the file

The tool accepts a single .txt file. Click Disavow Links and upload the file you just downloaded. Google parses it and shows you the count of domains + URLs disavowed.

Wait

Disavow files take effect over weeks, not minutes. Google re-crawls the listed sources at its own pace and ignores those backlinks during ranking decisions. Don't expect ranking changes immediately.

Re-uploading

Google replaces the entire disavow file every upload - it does NOT merge with the previous one. If you generated a new file with 47 entries last month and a new one with 51 entries today, you need to upload the file with all 51 entries (which TraceLinker does for you - we always include the full current candidate set, never just the delta).

We snapshot every generation in Disavow → History so you can roll back to a previous version if needed.

When NOT to disavow

Disavow is a heavy hammer. Most users overuse it. Don't disavow when:

  • Score is low but toxicity is safe. A weak link is just a weak link, not a harmful one.
  • You don't have a manual penalty or unnatural-link warning. Google's Penguin algorithm largely handles bad links automatically these days. Most sites don't need a disavow file at all.
  • The signal is "anchor over-optimization" but it's your brand. False positive.
  • You're disavowing single rows on a domain you otherwise like. Domain-mode disavow knocks out the whole domain - if some of those are legit, use URL mode and review carefully.

A good rule of thumb: if you don't have a manual action in Search Console and your rankings haven't dropped suspiciously, you may not need to disavow at all. Use the toxicity report as awareness, not always action.

Quotas

Disavow generation is unlimited on all plans (no AI cost - the file is just a text serialization of already-computed flags). The Disavow page itself is Pro+ for the account-wide view; Free users can still download per-audit disavow files.

What TraceLinker does NOT do

  • Submit the file to Google for you. Google requires manual upload through their UI for security. We give you the file; you upload.
  • Reverse a disavow. Once uploaded to Google, removing entries is also manual - upload a new file without those entries (which TraceLinker will help you build by un-checking the ones you want to keep).
  • Identify links via Google Search Console "Disavow this link" buttons. GSC doesn't expose those programmatically. We use our own toxicity classifier on the link content.

Troubleshooting

My disavow file has 0 entries. Either no links were flagged toxic, or you marked them all safe. Run a fresh audit on a known-bad list to test the classifier.

A safe link was flagged toxic. Click Mark safe on the row. We add it to your safe-list and won't flag it again, even on rerun audits. If the false positive is a recurring pattern (e.g. all your .io startup blog links flagged), file a feedback ticket - we use these to improve the classifier.

Google says my disavow file is invalid. The format is the standard Google spec. If Google rejects it, common causes: the file has BOM (byte-order mark) added by some text editors. Open in a fresh editor and re-save as UTF-8 without BOM, or just re-download from TraceLinker.

Next