Key Takeaways

  • Bots now account for 53% of all internet traffic — but standard analytics tools like Google Analytics filter them out entirely. The bot traffic hitting your WordPress site every day is invisible unless you know where to look.
  • Your server access logs are the ground truth. Every bot that visits your site leaves a footprint — the URL it requested, the timestamp, its IP address, and a user-agent string that identifies what it is. This data exists right now and is almost certainly accessible through your hosting control panel.
  • There are two categories of bots worth identifying: good bots (Googlebot, Bingbot, legitimate AI crawlers) that you want crawling your site, and bad bots (scrapers, contact harvesters, vulnerability scanners) that you want to understand and block.
  • AI training bots are the fastest-growing bot category in 2026 — GPTBot, ClaudeBot, PerplexityBot, and dozens of others are systematically crawling WordPress sites. They’re invisible in standard analytics and they’re harvesting your content at scale.
  • Seeing which bots are crawling your site is the first step. What you do with that information — particularly regarding contact-scraping bots — determines whether your site keeps feeding spam pipelines or stops them at the source.

Open Google Analytics right now and look at your traffic. What you’re seeing is a filtered version of reality. By design, Google Analytics strips out bot traffic and shows you only human visitors. The bots that visit your site — sometimes hundreds of times a day — are invisible in the data you look at every week.

This matters for two distinct reasons. First, you can’t make informed decisions about your content strategy, server performance, or security posture without knowing what’s actually hitting your site. Second, some of those invisible bots are doing things you’d actively want to stop — harvesting your contact information, scraping your content, scanning for vulnerabilities, or probing for weaknesses.

This is how you see them. All of them.

Why Your Analytics Show a Fraction of Your Real Traffic

Google Analytics works by loading a JavaScript snippet on every page. When a real browser loads your page, it executes the JavaScript and sends a tracking event. Bots don’t execute JavaScript — they request the HTML and move on. So the JavaScript never fires and the visit is never recorded.

The result: your analytics shows you human traffic. Your server logs show you everything. A 2026 analysis of AI crawler detection across 50+ sites found that over 40% of “traffic” on content-heavy sites wasn’t human — it was AI bots, scrapers, and automated systems that standard analytics reported as zero. The site owners had no idea.

53%

Of all internet traffic is now bots — 2026 Imperva Bad Bot Report. Analytics shows none of it.

6,900%

Year-over-year growth in agentic AI bot traffic — HUMAN Security 2026. The bot landscape is changing fast.

40%+

Of traffic on content sites can be bot traffic that analytics never reports — invisible without server log access.

The fastest-growing bot category in 2026 is AI crawlers. GPTBot alone grew 305% between May 2024 and May 2025, climbing from ninth to third among crawlers tracked by Cloudflare. ClaudeBot (Anthropic), PerplexityBot, Google-Extended, Bytespider (ByteDance/TikTok), and dozens of others are systematically visiting WordPress sites — indexing content for AI training pipelines and answer engines. A single bot can hit a site thousands of times in a day.

A close-up of a laptop displaying an analytics dashboard with page views, bar charts, and real-time data, representing what standard analytics shows WordPress site owners — a filtered view that strips out all bot traffic, hiding the 53% of visits made by automated systems that never execute JavaScript.

The Two Categories of Bots on Your Site

Before looking at how to see them, it’s worth understanding what you’re looking for. Bots fall into two meaningful categories for WordPress site owners — and the response to each is completely different.

Bot / User-AgentWho It IsWhat It DoesVerdict
GooglebotGoogleIndexes your pages for Google Search rankings✓ ALLOW
BingbotMicrosoftIndexes your pages for Bing Search✓ ALLOW
GPTBotOpenAICrawls content for ChatGPT training and answers— YOUR CALL
ClaudeBotAnthropicCrawls content for Claude training and answers— YOUR CALL
PerplexityBotPerplexity AICrawls for real-time AI search answers— YOUR CALL
BytespiderByteDance/TikTokAggressive crawler — training data collection✗ BLOCK
AhrefsBotAhrefsSEO tool — crawls for competitor research data— YOUR CALL
SemrushBotSemrushSEO tool — crawls for competitive intelligence— YOUR CALL
Generic strings, blank agentsUnknown scrapersContact harvesting, vulnerability scanning, content theft✗ BLOCK

The AI crawler category (GPTBot, ClaudeBot, PerplexityBot, Google-Extended) is a judgment call that depends on your content strategy. Allowing them means your content may appear in AI-generated answers — which can drive awareness. Blocking them means your content stays exclusively on your site and in traditional search. Neither choice is wrong; the important thing is making it deliberately rather than by default.

The bad bot category — scrapers, contact harvesters, vulnerability scanners — deserves active attention. These are the bots covered in Good Bots vs Bad Bots: What’s the Difference? and the ones most directly connected to the spam calls, junk emails, and robocalls covered in Why Your WordPress Contact Page Is a Spam Magnet.

Method 1: Server Access Logs — The Most Complete Picture

Your server access log records every request made to your site — human or bot, JavaScript-capable or not. It’s the most complete bot visibility tool available, and it’s almost certainly accessible through your hosting control panel right now.

Where to find your logs:

Most WordPress hosting control panels expose access logs directly. In cPanel, look under Metrics → Raw Access or Logs → Access Log. In Plesk, find them under Websites & Domains → Logs. In RunCloud and similar managed hosting panels, logs are typically under the server or application settings. On WP Engine, Kinsta, and other managed WordPress hosts, logs are usually downloadable from the user dashboard or accessible via SSH.

What a log entry looks like:

Example access log entries

56a41047@7dcae6ad.com - - [13/Jun/2026:09:14:22 +0000] "GET /contact/ HTTP/1.1" 200 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
774924ae@bd316356.com - - [13/Jun/2026:09:31:08 +0000] "GET /about/ HTTP/1.1" 200 "-" "Mozilla/5.0 AppleWebKit/537.36 (compatible; GPTBot/1.0; +https://openai.com/gptbot)"
d39b0396@d87d492d.com - - [13/Jun/2026:10:02:51 +0000] "GET /contact/ HTTP/1.1" 200 "-" "python-requests/2.31.0"

The user-agent string at the end of each line identifies the visitor. Googlebot is Google’s crawler. GPTBot is OpenAI’s. python-requests/2.31.0 — no recognized bot name, just a generic Python HTTP library — is almost certainly a scraper or automated tool, not a legitimate crawler.

Searching your logs for specific bots:

If you have SSH access, you can grep your access log directly for specific user-agent strings:

SSH commands — search your access log

# Find all GPTBot visits
grep "GPTBot" /var/log/apache2/access.log
# Find all contact page visits by any bot
grep "/contact/" /var/log/apache2/access.log | grep -v "Mozilla/5.0 (Windows\|Macintosh\|Linux x86_64)"
# Count visits per user agent (top 20)
awk '{print $12}' /var/log/apache2/access.log | sort | uniq -c | sort -rn | head -20

If you’re on shared hosting without SSH access, download the raw log file and open it in a text editor, then use Find to search for bot user-agent strings. It’s less elegant but gives you the same data.

Log File Location Varies by ServerApache logs are typically at /var/log/apache2/access.log or /var/log/httpd/access_log. Nginx logs are usually at /var/log/nginx/access.log. LiteSpeed logs (common on cPanel hosts) are at /usr/local/lsws/logs/access.log. If you’re unsure, check your hosting control panel — most expose a log viewer or download link without requiring SSH.

Two developers reviewing a laptop screen together in an office setting, representing the process of analyzing WordPress server access logs to identify bot traffic — reading user-agent strings to distinguish legitimate crawlers like Googlebot from contact scrapers using generic Python HTTP library identifiers.

Method 2: WordPress Plugins — Easier, No SSH Required

If direct log access isn’t available or isn’t comfortable, several WordPress plugins bring bot visibility into the admin dashboard without requiring any command-line work.

Option 01

LLM Bot Tracker

Monitors AI crawler visits specifically — GPTBot, ClaudeBot, PerplexityBot, Bytespider, and 20+ others. Shows which pages each bot visited, timestamps, frequency, and whether they honored your robots.txt.

✓ Free, zero configuration, dashboard view

✗ Focused on AI bots — doesn’t show all bot categories

Option 02

Bot Traffic Shield

Logs blocked bot attempts with user-agent, IP, URL, and timestamp. Includes a pre-configured blocklist of 20+ known AI crawlers and scrapers. CSV export for analysis.

✓ Logs and blocks simultaneously, CSV export

✗ Only shows bots it’s configured to block — gaps possible

Option 03

Blackhole for Bad Bots

Plants invisible links that only bots follow. When a bot enters the honeypot, it’s logged and blocked automatically. Shows you which bots are actively probing your site rather than following your sitemap.

✓ Catches bots that ignore robots.txt, passive detection

✗ Only catches bots that enter the honeypot — doesn’t log all traffic

Option 04

Cloudflare Analytics

If your site is behind Cloudflare (free tier available), its bot analytics dashboard shows bot traffic volume, categories, and sources without requiring server log access.

✓ No plugin needed, detailed bot category breakdown

✗ Requires routing your DNS through Cloudflare

WP Mayor’s review of LLM Bot Tracker is worth reading if you want a detailed walkthrough of what the dashboard reveals — most site owners who install it report being surprised by the volume and frequency of AI crawler visits they had no idea were happening.

Method 3: Google Search Console — For Googlebot Specifically

Google Search Console provides detailed Googlebot-specific data that server logs can’t match. Under Settings → Crawl Stats, you can see how often Googlebot crawls your site, which pages it visits most, what response codes it’s getting, and how long pages take to load for the crawler.

This is the right tool for diagnosing crawl budget issues — situations where Googlebot isn’t crawling your important pages because it’s spending time on low-value content. It won’t show you other bots, but for the specific question of “is Google seeing my site correctly,” Search Console is more useful than raw log analysis.

Bing Webmaster Tools provides equivalent data for Bingbot. Both are free and worth having connected to your WordPress site regardless of your bot monitoring approach.

What to Do With What You Find

Once you can see which bots are crawling your site, three responses apply depending on what you find.

For AI crawlers (GPTBot, ClaudeBot, PerplexityBot, Google-Extended): Make a deliberate decision. If you want to block them, add the appropriate User-agent directives to your robots.txt file. Nexter WP’s 2026 crawler reference provides copy-paste robots.txt rules for each major AI crawler with their verified user-agent strings. If you want to allow them, do nothing — they’ll continue crawling.

For SEO tool bots (AhrefsBot, SemrushBot, MajesticBot): These crawl your site as part of competitor research by other site owners. Blocking them is optional — they don’t directly harm your site, but they do consume crawl budget and server resources. Many site owners block them via robots.txt or .htaccess.

For scrapers, contact harvesters, and unknown bots: This is where the action matters most. Generic user-agent strings like python-requests, curl, libwww-perl, or blank user agents are almost always automated tools without legitimate purpose. Bots hitting your contact page repeatedly with these strings are likely harvesting your contact information.

What Scraper Bots Actually Look ForWhen you look at your logs and see a bot making repeated requests to your contact page, about page, footer, and any page with contact information — that’s a contact harvesting run. The bot is reading those pages, parsing the HTML source for email addresses, phone numbers, and physical addresses, and feeding them into data broker lists. The server log shows you it’s happening. WhoKnew Shield™ addresses what happens next: encrypting that contact information at the source so even if a scraper reads the HTML, there’s nothing harvestable to find.

The Connection Between Bot Visibility and Contact Protection

Seeing which bots are crawling your site is diagnostic. It tells you what’s happening. What you do with that information is where protection actually lives.

For search engine bots and AI crawlers, robots.txt and content strategy are the tools. For contact-scraping bots, the most effective response isn’t blocking the bot after it’s found — it’s ensuring that even if it reads your pages, it finds nothing worth harvesting.

This is what WhoKnew Shield™ does. The free version automatically detects and applies dual-layer obfuscation to every email address across your entire WordPress site — no shortcodes, no manual configuration. When a scraper reads your contact page HTML, the email addresses aren’t readable patterns anymore. Pro extends this to phone numbers and physical addresses, adds rotating-key encryption that changes every 15 minutes, and includes Scraper Trap™ honeypots that catch and block bots the moment they probe your pages.

The WhoKnew Intelligence™ network — included in Shield Pro — maintains a community blocklist of over 15 million known bad actors blocked network-wide. When a known scraper visits your site, it’s blocked before it reads a single page. The combination of passive protection (encryption that makes contact data unreadable) and active blocking (honeypots and IP intelligence that stops scrapers in the act) is what separates a site that’s defended from one that’s simply harder to scrape.

For the full picture of what bad bots do once they’ve identified your site as a target, What Is Contact Scraping and Is It Happening to You? covers the detection methods in depth. For what to do if your contact information is already in circulation, What to Do When Your Email Is Already on Spam Lists covers the remediation path. And for why robots.txt alone doesn’t stop the bots that are actually a threat, What robots.txt Does (And Why Bad Bots Ignore It) covers the gap directly.

A glowing green WhoKnew™ shield surrounded by mechanical spider bots with red eyes on a dark background, representing WhoKnew Shield™ blocking contact-scraping bots from harvesting email addresses, phone numbers, and physical addresses from WordPress sites — active Scraper Trap™ honeypots and WhoKnew Intelligence™ stopping bad bots before they can read contact data.

Once You Can See Them, Stop the Ones That Matter Most

WhoKnew Shield™ encrypts contact information at the source so contact-scraping bots find nothing harvestable — even when they successfully read your pages. Free version covers email across your entire site automatically.

Download Shield Free from WordPress.org
See Pro Features →

Free version available. No credit card required.


Who knew that the traffic report you check every week is missing more than half the story — and that the half you can’t see includes the bots reading your contact page right now.

J. Moody, Founder/CEO

Author J. Moody, Founder/CEO

I build WordPress and WooCommerce plugins to solve problems I've actually hit myself — not theoretical ones. I've done a little bit of everything and built the tools I wished existed along the way.

More posts by J. Moody, Founder/CEO
Share