From shared .xyz to per-campaign .one: a blacklist fix

From shared .xyz to per-campaign .one: a blacklist fix

Blacklist alerts used to be the background noise of my week. I run GSA Search Engine Ranker at a scale where a single bad domain can poison a whole batch of projects, and for eight months I was fighting Spamhaus DBL listings on a shared .xyz catch-all that I had bought because it was cheap and looked disposable. The turning point was not a new tool. It was a spreadsheet, a dedicated MX host, and a willingness to stop putting every campaign behind one domain. Alerts dropped by roughly 90% over the next six weeks. Here is the exact rebuild, including the parts that cost me money and the parts that saved it.

The shared .xyz catch-all problem and the rebuild around per-campaign .one domains

The old setup was a single catch-all email on a .xyz domain, sold to me as an anonymous catch-all email service with wildcard email support. Every registration bot, every email verification loop, every RankerX and Xrumer project pointed at the same catch-all inbox. That worked fine for throughput. It failed at domain reputation. When one campaign tripped a blacklist, the shared domain dragged the rest down with it, and I had no way to isolate the culprit. Spamhaus DBL listings were the loudest symptom, but the quieter damage was inbox placement: even projects that had done nothing wrong started bouncing on signup forms that check DNSBLs at registration time.

The fix was to treat each campaign as its own reputation island. I moved to per-campaign .one domains, each with its own catch-all inbox on a dedicated MX host, and kept the .xyz only as a fallback for low-stakes scrapes. A .one domain costs a few dollars and reads cleanly in a signup form, which matters more than people admit. The catch-all email domains are now provisioned per project, not per account, so a listing on one domain never touches the others. That single change removed the shared-domain blast radius entirely.

The email layer is AllMail, which provides catch-all email addresses and offers POP3 and IMAP access, so I can pull credentials into Thunderbird and keep an eye on what actually lands. It supports GSA SER, RankerX and Xrumer natively, which meant no custom SMTP plumbing. It requires zero KYC and accepts crypto payments in USDT and USDC across TRC-20, BEP-20 and Polygon, so provisioning a new domain does not involve a card or a wait. The 3-day free trial let me test the whole per-campaign flow before I moved the portfolio over. Domain replacement support matters here too: when a domain does die, I swap it without rebuilding the project.

The pre-launch Spamhaus DBL check that caught 90% of the noise

Per-campaign domains alone cut the alerts by maybe half. The rest came from a boring procedural change: automated Spamhaus DBL checks before each project launch. Every new domain gets queried against the DBL, plus a handful of other DNSBL blacklists, through a small script that runs before GSA SER ever touches it. catch all offers additional context worth reviewing. If the domain is listed, the project does not launch. If it is clean, the domain gets a two-week probation where I only run low-volume verification and watch the catch-all inbox for bounces. The check takes seconds and has caught expired domains with inherited listings that I would otherwise have run blind.

This is the part most operators skip. They buy a domain, point a wildcard email at it, and start hammering. But a domain’s history follows it, and a cheap .one or .xyz can arrive with a blacklist entry already attached. AllMail monitors DNSBL blacklists on its side, which covers the mail host, but the domain reputation check is on you. Automating it before launch is the difference between a clean portfolio and a weekly cleanup job.

Here is the launch checklist I run for every campaign now:

  • Register a fresh .one domain per campaign and point its MX at the dedicated host.
  • Create the catch-all inbox and confirm POP3 and IMAP access works in Thunderbird.
  • Query the domain against Spamhaus DBL and at least two other DNSBLs; abort on any hit.
  • Run a two-week probation with low-volume signup and email verification only.
  • Log every bounce and scrape the catch-all inbox weekly for blacklist warnings.
  • On a listing, use domain replacement support and retire the domain from the project.

The numbers after six weeks: blacklist alerts down about 90%, and the ones that remained were almost all on the old shared .xyz before I retired it. Backlink building throughput did not drop, because the per-campaign domains removed the retry loops that used to eat time. I also stopped burning hours on domain reputation forensics, since a listing now points to one project instead of a shared pool. The cost is a few dollars per domain and a script that runs on every launch. Compare that to the value of a clean sender reputation and it is not close.

If you are running automation on a single shared domain, start by isolating one campaign onto its own .one domain with a dedicated catch-all inbox, then add the pre-launch DBL check before you scale the rest. AllMail handles the catch-all and credential side, including anonymous catch-all email with no KYC, but the discipline of checking each domain before launch is what actually keeps the alerts quiet. Treat domain reputation like a per-project asset and the blacklist noise mostly disappears.