⚡ Key Takeaways
- Spam texts aren’t random — in most cases your phone number was scraped directly off a website, probably one you own or are listed on
- The same scraping pipeline that harvests email addresses also harvests phone numbers and physical addresses — it’s all one problem with one source
- Most WordPress site owners don’t realize their contact page is actively feeding spam lists right now, in plain text, every time a bot crawls it
- Basic single-layer encoding gets bypassed automatically by off-the-shelf scraping scripts — it’s the digital equivalent of locking your door with tape
- Encrypting contact info at the source — before it ever reaches a scraper — is the only fix that actually works long-term
You’re sitting at your desk and your phone buzzes. Unknown number. You ignore it. It buzzes again — different number, same garbage. A text this time, something about a package you didn’t order, a prize you didn’t win, a car warranty you definitely don’t have. You put the phone down. It buzzes again.
If this is your life right now, you’re not alone. Spam texts have exploded over the last few years to the point where a lot of people have essentially stopped answering calls from numbers they don’t recognize. It’s become background noise — an annoying, persistent, maddening kind of background noise that nobody asked for and nobody seems able to stop.
But here’s the thing most people never find out: those texts didn’t come from nowhere. Your number ended up on those lists for a specific reason. And if you have a WordPress website with your phone number on it, there’s a very good chance that website is part of the problem.
How Your Number Gets on the List in the First Place
Let’s trace the actual path, because it’s more direct than most people realize.
- 1You put your phone number on your WordPress website. Contact page, footer, about page — somewhere visible so customers can reach you. Completely reasonable thing to do.
- 2Automated scraping bots crawl your site. They do this constantly, across millions of websites, looking for patterns that match phone numbers, email addresses, and physical addresses. They’re not hacking you — they’re just reading your page source the same way a browser does. If your number is sitting there in plain text, they take it.
- 3That number gets added to a database. The database gets sold. Multiple times, to multiple buyers. Each one uses it differently — robocalls, spam texts, telemarketing, scam operations. The number spreads across lists you’ll never see and can never opt out of.
- 4Your phone starts buzzing. And it doesn’t stop — because once a number is on the lists, removing it from one doesn’t remove it from the others. The damage compounds over time.
The same pipeline that harvests your phone number also takes your email address and your physical office or business address. That’s why people who start getting spam texts often notice they’re simultaneously getting more junk email and more physical junk mail. It all comes from the same scrape event, the same database, the same sale.

This Isn’t a Small Problem
It’s easy to think of spam texts as a personal annoyance — something that happens to you individually, that you deal with individually by blocking numbers one at a time. But the scale of what’s actually happening is staggering.
Blocking individual numbers doesn’t work because spammers rotate through thousands of numbers automatically. Registering with do-not-call lists helps at the margins but doesn’t touch the underlying data brokers who already have your number. Changing your number is a last resort that most people can’t practically do.
None of those approaches fix the actual problem. The actual problem is upstream — it’s the moment your number gets harvested in the first place. Fix that, and the pipeline starves.
Every month your contact info sits unprotected on a website, more bots find it and add it to more lists. The volume of spam you receive isn’t static — it grows over time as your number spreads through more and more data broker databases. The sooner you cut off the source, the less damage compounds.
Why WordPress Sites Are Such a Rich Target
WordPress powers around 43% of all websites on the internet. That’s an enormous concentration of contact information sitting in a relatively predictable structure — scrapers know where WordPress sites tend to put phone numbers, email addresses, and contact details because the themes and page builders that power most of them follow consistent patterns.
A scraper built to harvest contact info from WordPress sites doesn’t need to be particularly sophisticated. It just needs to look for footer widgets, contact page templates, and the common shortcodes and HTML structures that appear on millions of WordPress sites. Your site looks like thousands of others to a bot. It knows where to look.
Your website isn’t just your storefront. To a scraper, it’s a directory entry — one of millions being read and catalogued right now.
The problem is made worse by the fact that most WordPress site owners have no idea this is happening. There’s no notification when a bot crawls your site. There’s no alert when your phone number gets added to a list. You find out weeks or months later when the texts start, and by then there’s no obvious connection to draw between your website and your buzzing phone.

Why Basic Protection Doesn’t Cut It
A lot of WordPress site owners who’ve heard about this problem have installed some kind of obfuscation plugin — something that encodes email addresses so they don’t appear as plain text in the page source. The thinking is sound. The execution is where things fall apart.
Most of these plugins use a single layer of encoding — typically base64 or HTML entities. It’s better than nothing, but not by much. Scraper vendors have published one-line PHP scripts that decode base64 automatically. HTML entities are decoded by standard server-side libraries without any special effort. The protection that feels meaningful to a site owner is essentially invisible to a halfway competent scraping operation.
Base64 encoding — what most single-layer plugins use — can be reversed with a single line of code: base64_decode($encoded). That’s it. That’s the entire bypass. Scrapers run this automatically on anything that looks encoded. Your “protected” contact info is one function call away from being readable.
There’s also a coverage problem. Most obfuscation plugins require you to manually wrap every contact in a shortcode. That works fine on a new site with a handful of pages. It fails completely on a site that’s been running for two years — because you will miss something. An old blog post. A footer widget that got updated and lost its shortcode. A sidebar someone edited three years ago. Scrapers scan your entire site. One unprotected number anywhere is enough.
And almost none of these plugins protect phone numbers or physical addresses at all. They’re built for email. Meanwhile your phone number is sitting in your footer in plain text, being harvested by the same bots that can’t read your encoded email.
What Actually Stops It
The protection that actually works has three components working together — and each one handles a different part of the problem.
Dual-Layer Encryption
Two independent layers of protection mean that reversing one doesn’t expose the real contact. The free tier of WhoKnew Shield uses this — already a significant step up from every single-layer competitor.
Military-Grade + Full Coverage
Pro adds site-specific encryption that can’t be reversed with a generic script, and auto-detection that finds and protects every email, phone number, and address across your entire site automatically — no shortcodes, no gaps.
Active Bot Blocking
Scraper Trap™ honeypots catch bots the moment they probe your site and block them automatically. Plus the WhoKnew Intelligence Network — over 15 million known bad actors blocked network-wide before they ever reach your pages.
The difference between passive protection and active blocking matters more than most people realize. A plugin that just hides your contacts is playing defense — it makes harvesting harder, but bots keep trying. A system that catches bots and blocks them site-wide means the same bot can’t come back tomorrow, can’t try a different page, can’t probe for gaps. You’re not just hiding — you’re locking the door and keeping a record of everyone who tried to pick the lock.
The auto-detection piece is what closes the coverage gap completely. Instead of relying on manually added shortcodes that inevitably get missed, WhoKnew Shield™ scans your entire WordPress site and protects every contact it finds — in posts, pages, widgets, page builders, footers, everywhere. Set it once and every contact on your site is covered, including the ones in blog posts from three years ago you’ve completely forgotten about.

The Bigger Picture: This Is a WordPress-Wide Problem
Here’s a thought worth sitting with: the spam text epidemic isn’t primarily caused by data breaches or sophisticated hacking operations. A significant portion of it traces back to something much more mundane — contact information sitting in plain text on websites, being read by bots that face no resistance whatsoever.
If every WordPress site encrypted its contact information by default, scrapers would have nothing to harvest. The pipeline would starve. The lists would stop growing. The texts would slow down.
We’re not there yet — most site owners don’t know this is happening and most plugins in this space are either manual, single-layer, or email-only. But the tools exist right now to protect your site completely, starting with a free install that takes about five minutes.
Your phone number doesn’t have to be on those lists. But it will keep ending up there until you close the door it’s walking out of.
WhoKnew Shield™ free installs in minutes, automatically detects and protects email addresses across your entire WordPress site with dual-layer encoding, and costs nothing. It’s a better baseline than what the majority of WordPress sites are running right now — and it’s the first step to cutting off the scraping pipeline for good.
Who knew the reason your phone won’t stop buzzing was a WordPress footer from three years ago?
