IpQuery for WordPress
Track and analyse visitor IP data directly from your WordPress admin panel — see where your visitors come from on an interactive heatmap, identify VPN and proxy traffic, and drill into per-IP details.
Get started — Installation View on GitHub
Features
| Feature | Description |
|---|---|
| World heatmap | Leaflet.js map with a heat layer showing visitor density by coordinates |
| Country breakdown | Horizontal bar chart of top countries by visit count |
| Risk analysis | Per-IP flags for VPN, proxy, Tor, datacenter, and mobile; risk score 0–100 |
| Visitors table | Sortable, searchable, filterable list of all tracked IPs with full IP details |
| Manual IP lookup | Query any IP address on demand from the Visitors screen |
| Automatic tracking | Hooks into wp action; deferred to shutdown so page load is never blocked |
| Smart caching | WordPress transients cache each IP lookup for 1 hour — one API call per IP per hour |
| Data retention | Configurable retention period with automatic daily cleanup via WP-Cron |
| Privacy controls | Exclude IPs, skip logged-in users or admins, and disable tracking at any time |
Powered by ipquery-php
This plugin uses guibranco/ipquery-php as its API client library. The library is bundled inside the plugin (no Composer required on your server) and communicates with the IpQuery API — a free IP intelligence service providing location, ISP, and risk data.
Visitor request
│
▼
WordPress (wp action)
│ deferred to shutdown
▼
IpQueryClient::getIpData($ip) ← guibranco/ipquery-php
│
▼
https://api.ipquery.io/{ip}
│
▼
IpQueryResponse { location, isp, risk }
│
▼
wp_ipquery_visitors (DB table)
Requirements
- WordPress 6.0 or higher
- PHP 8.2 or higher
- cURL PHP extension
- MySQL / MariaDB (standard with any WordPress install)