| 开发者 |
humantrends
abignu |
|---|---|
| 更新时间 | 2026年6月15日 21:48 |
| PHP版本: | 8.1 及以上 |
| WordPress版本: | 7.0 |
| 版权: | GPL-2.0+ |
| 版权网址: | 版权信息 |
debug.log, access logs, and PHP error logs, identifies AI crawlers by their User-Agent string, and displays a clean analytics dashboard inside your WordPress admin.
What you get
live.log (no server log access needed), capturing every frontend, REST API, and AJAX request in Combined Log Format, with automatic 5 MB rotation.X-Forwarded-For / CF-Connecting-IP headers for sites behind Cloudflare or a reverse proxy.debug.log (WP_DEBUG_LOG)error_log (auto-detected from php.ini)geo-metrics-logs directory to /wp-content/plugins/, or install via the WordPress Plugins screen.Yes. The plugin's built-in Live Traffic Monitor captures every request through WordPress's hook system and writes its own Combined Log Format file inside wp-content/uploads/geo-metrics-logs/. No server log access or WP_DEBUG configuration is required.
Log files are read using SplFileObject which streams lines without loading the entire file into memory. By default all available lines are read. If you have very large log files (hundreds of MB), you can set a Lines per Source limit in Settings to cap how many lines are parsed per sync.
Aggregated counts and bot lists are stored in WordPress options. Raw parsed events are cached in a WordPress transient with a 6-hour TTL. Raw log file content is never written to the database.
Yes. Enable Trust Proxy Headers in Settings to use CF-Connecting-IP (or X-Forwarded-For) for correct visitor IP detection. Only enable this if your site is actually behind a trusted proxy.
Common paths are /home/username/logs/access.log or /var/log/apache2/access.log. Contact your host if unsure. The Settings page shows a Readable / Not readable indicator after you save the path.
The Live Traffic Monitor hook fires at template_redirect (priority 99) and writes a single line to disk — negligible overhead. Log parsing runs on WP-Cron, not on page load.
daily_bot_counts option is rebuilt from the transient cache on first load after upgrade, so the chart is populated immediately without waiting for the next sync.