A specialized Python tool that scans an Excel export of your backlinks and automatically generates a Google disavow file for the suspicious ones — perfect for cleaning up after a negative-SEO or PBN (Private Blog Network) link attack.
When toxic backlinks point at your site, Google lets you disavow them so they're ignored in ranking. Doing this by hand across thousands of rows is painful. This tool reads your backlink spreadsheet, finds links matching a known PBN footprint (by default the wix.com/marketplace/wix-partner pattern), extracts their domains, and writes a ready-to-upload disavow file in Google's exact format.
- 📊 Reads Excel directly — point it at your backlink export (
.xlsx). - 🧠 Smart URL-column detection — works across different export formats without manual mapping.
- 🎯 Pattern filtering — flags links matching the
wix.com/marketplace/wix-partnerPBN footprint (fully customizable). - 🌐 Domain extraction — converts matched URLs into
domain:entries. - 📝 Google-ready output — proper headers, timestamps, and
domain:formatting for Search Console. - 🖱️ One-click run — a batch file handles dependencies and execution on Windows.
- 🐍 Python 3.6 or higher
- 🐼
pandas(auto-installed by the batch file if missing)
- Place your backlink Excel file somewhere accessible.
- Edit
run_disavow_generator.batto point at your file (or use the default path). - Double-click
run_disavow_generator.bat. - A timestamped disavow file appears in the same directory.
python create_disavow_list.py path/to/backlinks.xlsxThe generated file follows Google's disavow specification:
# Disavow file generated by Google Disavow File Generator
# Generated on: 2025-07-03 18:26:32
# Filtered for PBN links matching wix.com/marketplace/wix-partner pattern
domain:example-pbn-site.com
domain:another-suspicious-domain.com
- Read the Excel file of backlinks.
- Detect which column holds the URLs.
- Filter rows whose URL matches the configured PBN pattern.
- Extract the domain from each matched URL.
- Write a formatted disavow file with descriptive headers.
To target a different PBN footprint, open create_disavow_list.py and edit the pattern variable:
# create_disavow_list.py
pattern = r'wix\.com/marketplace/wix-partner' # ← change to your own regexDisavow-Generator/
├── create_disavow_list.py # Core logic
├── run_disavow_generator.bat # One-click Windows runner
└── README.md
Disavowing links is a powerful, advanced SEO action — disavowing good links can hurt your rankings. Always review the generated file before uploading it to Google Search Console.
Gunjan Jaswal — www.gunjanjaswal.me — hello@gunjanjaswal.me
If this saved you hours of manual cleanup, consider supporting development on Ko-fi: