Network Viewer is a real-time HTTP request log built into your WordPress admin. It records every connection that hits your site so you can see, at a glance, who’s reaching it, where they’re from, what they’re asking for, and how the server responded.
What this feature does
Once enabled, AdminEase intercepts incoming requests and writes a row to its own database table for each one. Every entry captures the request method, full URI, response code, response time, request size, protocol, port, IP address, country and hostname, browser and device, user agent, user ID and role (when logged in), and session ID. The result is a searchable, filterable timeline of activity on your site, viewable straight from the AdminEase dashboard with no FTP or hosting panel access required.
It’s especially useful for spotting automated scanners probing for vulnerabilities, debugging integrations that touch your REST API or admin-ajax.php, identifying slow endpoints, and answering “what hit my site at 3am?” without trawling raw access logs.
If you see paths like /-/-/-/-/, /wp-admin/setup-config.php, or random PHP file names you don’t recognise, those are automated scanners crawling the public internet looking for known weaknesses. Their presence does not mean your site is compromised, only that it’s online.
How to enable it
- Open AdminEase › Debug. In the WordPress admin menu, click AdminEase, then switch to the Debug tab.
- Toggle Network Viewer on. Find the Network Viewer setting and flip the switch. The settings panel expands to reveal sub-options.
- Choose your retention. Set Maximum Log Entries and Auto Clear Logs After to a window you’re comfortable with. The defaults (1,000 entries, cleared after 24 hours) work well for most sites.
- Save settings. Scroll to the bottom of the dashboard and click Save settings. AdminEase creates the database table on first save and the dashboard reloads so the Network Viewer screen appears underneath the toggle.
Each log entry is a row in your wp_adminease_network_viewer_log table. Busy sites can generate thousands of rows per hour. The Maximum Log Entries cap and the hourly cleanup cron prevent runaway growth, but if your host has tight database quotas, start with a low cap like 500 and increase only if you need more history.
Settings reference
| Setting | What it does | Default |
|---|---|---|
| Network Viewer | Master switch. Turning it off stops new entries from being recorded. The table and existing entries are preserved. | Off |
| Maximum Log Entries | Hard cap on how many rows the table can hold. When the cap is hit, the oldest entries are pruned first. Range: 100 to 100,000. | 1000 |
| Auto-Refresh Interval | How often the Network Viewer screen reloads itself when auto-refresh is on. Choose 3, 5, 10, 30, or 60 seconds. | 10 seconds |
| Auto Clear Logs After | Maximum age of a log entry before the hourly cleanup cron deletes it. Choose 1 Hour, 24 Hours, 7 Days, or Never. | 24 Hours |
| Exclude IP Addresses | Comma- or line-separated list of IPs to skip. Useful for filtering out your own office IP, monitoring services, or known internal traffic. | Empty |
| Log WP AJAX Requests | Include WordPress AJAX calls (anything hitting admin-ajax.php) in the log. |
Off |
| Log Cron Requests | Include WordPress cron triggers (wp-cron.php) in the log. |
Off |
| Log REST API Requests | Include calls to the WordPress REST API (/wp-json/…) in the log. |
Off |
| Auto-Load Network Viewer | When on, the viewer fetches its first page of entries as soon as the AdminEase dashboard opens. Off means you click Refresh manually. | Off |
Using the Network Viewer
With the feature enabled and saved, a Network Viewer panel appears below the settings on the Debug tab. The panel has three rows of controls and a paginated table beneath them.
Top action bar
Three buttons sit above the filters:
- Refresh reloads the current page of entries on demand.
- Clear wipes every row from the table after a confirmation prompt. There is no undo.
- Auto-refresh is a toggle. Switch it on and the table reloads every n seconds (the interval you set in the settings).
Filters
Below the actions are six filters you can combine freely:
- Method:
GET,POST,PUT,DELETE,PATCH, orHEAD. - Status: 2xx success, 3xx redirect, 4xx client error, or 5xx server error.
- Type: Frontend, Admin, Ajax, REST API, or Cron.
- Location: free-text country name match.
- IP: exact-match IP filter.
- Path: URL-path substring match.
The log table
Each row in the table is a single request. Click a row to expand the full detail panel, which groups information into four sections: Request Information (timestamp, method, type, protocol, port, full URI, query string, POST data), Client Information (IP, hostname, country, browser, device, user agent), Response Information (status code, response time, request size, referer), and User Information (user ID, user role, session ID).
What happens behind the scenes
Network Viewer uses one custom table, wp_adminease_network_viewer_log, with indexes on timestamp, IP, user ID, method, response code, request type, and bot flag for fast filtering. Logging hooks into the WordPress request lifecycle on init, capturing the request before it’s routed.
An hourly cron event named adminease_cleanup_network_viewer_logs runs in the background to enforce the Auto Clear Logs After retention window and the Maximum Log Entries cap. The cron is registered when the feature is enabled and unscheduled automatically when AdminEase is deactivated.
AdminEase Pro extras
With AdminEase Pro active, the Network Viewer panel gains three additional capabilities:
Pro also raises the maximum-entries ceiling for sites that need long retention windows.
Troubleshooting
The Network Viewer panel doesn’t appear after I enable it
The dashboard reloads automatically after the first save, which is when AdminEase mounts the viewer screen. If the panel still isn’t visible, hard-refresh your browser. If the table itself is missing in the database (you’ll see a query error in the debug log), deactivate and reactivate AdminEase to trigger the table-creation routine.
I see no entries even though traffic is hitting the site
Three things to check, in order: confirm the master toggle is on; confirm the request type isn’t filtered out (Frontend requests are logged by default, but AJAX, Cron, and REST API need their own toggles); confirm your IP isn’t in the Exclude IP Addresses list.
The country column is empty
Country and city are populated from the request’s headers (Cloudflare and similar CDNs add them) or, when those are absent, from a best-effort lookup of the IP. If your site sits behind a reverse proxy that doesn’t forward client headers, the column may be blank.
Logging is slowing down my site
Each request adds a small write to the log table. If you notice latency on a high-traffic site, lower the Maximum Log Entries cap (so the cleanup cron runs faster) and turn off the AJAX, Cron, and REST API toggles. As a last resort, set Auto Clear Logs After to 1 Hour so the table stays small.
