Description
Track-A-Bot helps you see which SEO, AI, and LLM crawlers are visiting your site — and exactly what they’re doing.
After activation, Track-A-Bot adds an admin page that shows a traffic log of known bots (identified by User-Agent matching) including the date/time, bot name, requested URL, HTTP status, user agent, IP address, and hostname (when available). The log can be filtered by bot and paginated, and the number of rows per page can be configured in Settings.
Track-A-Bot ships with a large built-in bot list (250+ bots for free) so you can quickly see which crawlers are visiting your site without complicated setup.
Features:
* Logs bot visits on front-end requests by matching against a known bot list (User-Agent match).
* Admin traffic log with filtering and pagination.
* Settings: choose how many log rows to display per page.
* Optional hostname enrichment in the background via WP-Cron (reverse DNS lookup + caching).
* Safe admin-only controls and nonce validation for filter actions.
Installation
- Upload the
track-a-botfolder to the/wp-content/plugins/directory, or install the plugin through the WordPress Plugins screen. - Activate the plugin through the “Plugins” screen in WordPress.
- In the WordPress admin menu, go to Track-A-Bot to view the bot traffic log.
- (Optional) Go to Track-A-Bot Settings to change how many rows are displayed per page.
Notes:
* Track-A-Bot creates a custom database table on activation to store bot traffic logs.
* Track-A-Bot uses WP-Cron to enrich missing hostnames in the background. Your site must receive traffic for WP-Cron to run automatically (or you can use a real cron job that triggers wp-cron.php).
FAQ
-
What does Track-A-Bot do?
-
Track-A-Bot tracks and logs automated traffic from SEO bots, AI crawlers, and LLM agents visiting your WordPress site. It helps you understand which bots are accessing your content, when they visit, and what pages they request, using a built-in list of known bots and detailed request-level logging.
-
How does Track-A-Bot detect bots?
-
Track-A-Bot matches the request’s User-Agent string against a built-in list of known bots. If a match is found, the visit is logged. (Hostname matching can also be used by the detection function when you supply a hostname, but the front-end logger uses User-Agent matching by default.)
-
Does this log human visitors too?
-
No. Track-A-Bot only logs requests that match a known bot in the bot list.
-
What data is stored when a bot is logged?
-
The plugin stores the timestamp, bot ID/name, requested URL, HTTP status, user agent, IP address, and (when available) the hostname.
-
Why is the Hostname column sometimes blank?
-
Hostnames are resolved using reverse DNS lookups. Track-A-Bot fills in missing hostnames in the background using WP-Cron and caches lookups to reduce load. Some IPs do not have a valid reverse DNS hostname, in which case the hostname will remain blank.
-
Does Track-A-Bot slow down my site?
-
The front-end logger is designed to be lightweight: it performs a simple User-Agent match and inserts a row when a known bot is detected. Hostname lookups (the expensive part) are performed later in small batches via WP-Cron and cached using transients.
-
Can I change how many rows are shown per page?
-
Yes. Go to Track-A-Bot Settings and choose “Bots per page”.
-
Does Track-A-Bot modify my robots.txt?
-
No, Track-A-Bot does not modify your /robots.txt file.
-
How many bots are included?
-
Track-A-Bot includes 250+ bots in its built-in bot list for free.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“Track-A-Bot” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Track-A-Bot” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.0.2
- Expanded bot detection list to ~250 known bots (bot-list.php update).
- Fixed Settings page so the “Bots per page” option saves and applies correctly.
- Improved validation and sanitization for pagination settings.
1.0.1
- Documentation updates and readme improvements.
1.0.0
- Initial release.
