{"id":219942,"date":"2025-01-23T19:38:28","date_gmt":"2025-01-23T19:38:28","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/traffic-monitor\/"},"modified":"2025-10-21T17:44:23","modified_gmt":"2025-10-21T17:44:23","slug":"traffic-monitor","status":"publish","type":"plugin","link":"https:\/\/eo.wordpress.org\/plugins\/traffic-monitor\/","author":20374972,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"3.2.7","stable_tag":"3.2.7","tested":"6.8.5","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"Traffic Monitor","header_author":"Dmitri Martin","header_description":"Monitor and log HTTP traffic, including headers and User-Agent details, directly from your WordPress admin panel.","assets_banners_color":"657278","last_updated":"2025-10-21 17:44:23","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/github.com\/dmitrimartin817\/traffic-monitor","header_author_uri":"https:\/\/www.linkedin.com\/in\/dmitriamartin\/","rating":5,"author_block_rating":0,"active_installs":1000,"downloads":5381,"num_ratings":3,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.3":{"tag":"1.0.3","author":"dmitriamartin","date":"2025-01-24 01:01:13"},"1.0.4":{"tag":"1.0.4","author":"dmitriamartin","date":"2025-01-24 01:25:46"},"1.1.0":{"tag":"1.1.0","author":"dmitriamartin","date":"2025-01-28 02:26:36"},"1.1.1":{"tag":"1.1.1","author":"dmitriamartin","date":"2025-01-28 20:47:36"},"1.1.2":{"tag":"1.1.2","author":"dmitriamartin","date":"2025-01-28 21:30:47"},"1.1.3":{"tag":"1.1.3","author":"dmitriamartin","date":"2025-01-28 21:54:55"},"1.2.0":{"tag":"1.2.0","author":"dmitriamartin","date":"2025-01-29 20:28:45"},"1.3.0":{"tag":"1.3.0","author":"dmitriamartin","date":"2025-02-05 17:07:57"},"1.3.1":{"tag":"1.3.1","author":"dmitriamartin","date":"2025-02-05 18:20:33"},"1.3.2":{"tag":"1.3.2","author":"dmitriamartin","date":"2025-02-05 21:10:26"},"1.4.0":{"tag":"1.4.0","author":"dmitriamartin","date":"2025-02-11 19:15:07"},"2.0.0":{"tag":"2.0.0","author":"dmitriamartin","date":"2025-02-14 00:07:49"},"2.1.0":{"tag":"2.1.0","author":"dmitriamartin","date":"2025-02-15 00:01:06"},"2.1.1":{"tag":"2.1.1","author":"dmitriamartin","date":"2025-02-16 01:33:07"},"2.2.0":{"tag":"2.2.0","author":"dmitriamartin","date":"2025-02-19 18:57:51"},"2.2.1":{"tag":"2.2.1","author":"dmitriamartin","date":"2025-02-19 21:30:40"},"2.3.0":{"tag":"2.3.0","author":"dmitriamartin","date":"2025-02-21 18:49:19"},"3.0.0":{"tag":"3.0.0","author":"dmitriamartin","date":"2025-04-12 17:02:38"},"3.1.0":{"tag":"3.1.0","author":"dmitriamartin","date":"2025-05-07 20:21:05"},"3.1.1":{"tag":"3.1.1","author":"dmitriamartin","date":"2025-05-19 17:27:31"},"3.1.10":{"tag":"3.1.10","author":"dmitriamartin","date":"2025-06-06 16:21:17"},"3.1.11":{"tag":"3.1.11","author":"dmitriamartin","date":"2025-06-06 16:38:35"},"3.1.12":{"tag":"3.1.12","author":"dmitriamartin","date":"2025-06-06 20:08:24"},"3.1.2":{"tag":"3.1.2","author":"dmitriamartin","date":"2025-05-19 17:55:46"},"3.1.3":{"tag":"3.1.3","author":"dmitriamartin","date":"2025-05-19 18:19:53"},"3.1.4":{"tag":"3.1.4","author":"dmitriamartin","date":"2025-05-19 18:39:44"},"3.1.5":{"tag":"3.1.5","author":"dmitriamartin","date":"2025-05-21 22:01:09"},"3.1.6":{"tag":"3.1.6","author":"dmitriamartin","date":"2025-05-21 22:50:03"},"3.1.7":{"tag":"3.1.7","author":"dmitriamartin","date":"2025-06-03 19:28:06"},"3.1.8":{"tag":"3.1.8","author":"dmitriamartin","date":"2025-06-06 00:00:45"},"3.1.9":{"tag":"3.1.9","author":"dmitriamartin","date":"2025-06-06 14:07:04"},"3.2.0":{"tag":"3.2.0","author":"dmitriamartin","date":"2025-06-09 19:06:13"},"3.2.1":{"tag":"3.2.1","author":"dmitriamartin","date":"2025-06-09 23:26:01"},"3.2.2":{"tag":"3.2.2","author":"dmitriamartin","date":"2025-06-10 20:31:53"},"3.2.3":{"tag":"3.2.3","author":"dmitriamartin","date":"2025-06-11 18:26:11"},"3.2.4":{"tag":"3.2.4","author":"dmitriamartin","date":"2025-06-16 19:51:30"},"3.2.5":{"tag":"3.2.5","author":"dmitriamartin","date":"2025-07-02 21:01:50"},"3.2.6":{"tag":"3.2.6","author":"dmitriamartin","date":"2025-07-03 15:09:24"},"3.2.7":{"tag":"3.2.7","author":"dmitriamartin","date":"2025-10-21 17:44:23"}},"upgrade_notice":[],"ratings":{"1":0,"2":0,"3":0,"4":0,"5":3},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3227788,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3227695,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3227658,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3227789,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.3","1.0.4","1.1.0","1.1.1","1.1.2","1.1.3","1.2.0","1.3.0","1.3.1","1.3.2","1.4.0","2.0.0","2.1.0","2.1.1","2.2.0","2.2.1","2.3.0","3.0.0","3.1.0","3.1.1","3.1.10","3.1.11","3.1.12","3.1.2","3.1.3","3.1.4","3.1.5","3.1.6","3.1.7","3.1.8","3.1.9","3.2.0","3.2.1","3.2.2","3.2.3","3.2.4","3.2.5","3.2.6","3.2.7"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3271568,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3271568,"resolution":"2","location":"assets","locale":""}},"screenshots":{"1":"<strong>Admin log view<\/strong> \u2013 Track all visits with sortable data.","2":"<strong>Request details<\/strong> \u2013 See full information about a specific visit."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[232,2359,12891,1522,493],"plugin_category":[52,55],"plugin_contributors":[237341],"plugin_business_model":[],"class_list":["post-219942","plugin","type-plugin","status-publish","hentry","plugin_tags-analytics","plugin_tags-bot","plugin_tags-fraud","plugin_tags-logging","plugin_tags-traffic","plugin_category-performance","plugin_category-seo-and-marketing","plugin_contributors-dmitriamartin","plugin_committers-dmitriamartin"],"banners":{"banner":"https:\/\/ps.w.org\/traffic-monitor\/assets\/banner-772x250.png?rev=3227789","banner_2x":"https:\/\/ps.w.org\/traffic-monitor\/assets\/banner-1544x500.png?rev=3227658","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/traffic-monitor\/assets\/icon-128x128.png?rev=3227788","icon_2x":"https:\/\/ps.w.org\/traffic-monitor\/assets\/icon-256x256.png?rev=3227695","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/traffic-monitor\/assets\/screenshot-1.png?rev=3271568","caption":"<strong>Admin log view<\/strong> \u2013 Track all visits with sortable data."},{"src":"https:\/\/ps.w.org\/traffic-monitor\/assets\/screenshot-2.png?rev=3271568","caption":"<strong>Request details<\/strong> \u2013 See full information about a specific visit."}],"raw_content":"<!--section=description-->\n<p>Traffic Monitor gives you full visibility into how people and bots are hitting your site.<\/p>\n\n<p>Unlike bloated analytics and security plugins, Traffic Monitor focuses on logging raw request data that you control. You\u2019ll know which pages are cached, which bots are visiting, where users are coming from, and how many requests are tied to each IP\/browser combination.<\/p>\n\n<p>Perfect for developers, marketers, and site owners who want fast insights\u2014without handing over their traffic data.<\/p>\n\n<h3>What Makes It Different<\/h3>\n\n<ul>\n<li>\u2705 Logs requests for both <strong>cached and non-cached pages<\/strong><\/li>\n<li>\u2705 Lets you <strong>export raw traffic logs<\/strong> as raw CSV for your own analysis<\/li>\n<li>\u2705 Identifies <strong>repeat ad clicks<\/strong> for spotting potential click fraud<\/li>\n<li>\u2705 Reveals <strong>which bots are hitting your site<\/strong>, so you can block them elsewhere (example: Cloudflare)<\/li>\n<li>\u2705 Tracks <strong>IP address, fingerprint, device type, cache status, response code<\/strong>, and more<\/li>\n<li>\u2705 Displays <strong>referrer URLs and query strings<\/strong><\/li>\n<li>\u2705 Records the <strong>original source<\/strong> of requests by the same visitor as they surf your website<\/li>\n<li>\u2705 Doesn\u2019t auto-block or inject junk\u2014<strong>just clean, useful data<\/strong><\/li>\n<li>\u2705 Works great with <strong>Cloudflare, caching plugins, and reverse proxies<\/strong><\/li>\n<\/ul>\n\n<h3>Key Features<\/h3>\n\n<ul>\n<li><strong>Logs every page request<\/strong>, including IP address, referrer, user-agent, browser, device, method, and more.<\/li>\n<li><strong>Detects cached traffic<\/strong> even if served by Cloudflare, your web host, or a plugin.<\/li>\n<li><strong>Identifies bot traffic<\/strong> by bot name and category.<\/li>\n<li><strong>View click IDs<\/strong> like gclid and fbclid from ad platforms like Google and Meta.<\/li>\n<li><strong>Records repeat ad clicks<\/strong> to detect potential click fraud.<\/li>\n<li><strong>Bulk delete or export logs<\/strong> with one click.<\/li>\n<li><strong>Search, sort, and drill into data<\/strong> from your dashboard.<\/li>\n<li><strong>Built-in help tabs<\/strong> with definitions, setup help, and troubleshooting.<\/li>\n<\/ul>\n\n<h3>Use Cases<\/h3>\n\n<ul>\n<li><strong>Debug integrations instantly<\/strong>: Know exactly what URLs are being hit, by which devices, and with what parameters. No guesswork.<\/li>\n<li><strong>Spot caching gaps<\/strong>: See which pages are served from cache and which aren\u2019t, even with Cloudflare or plugin-level caching.<\/li>\n<li><strong>Understand real-world traffic<\/strong>: Track entry pages, referrers, devices, and browsers\u2014whether human or bot.<\/li>\n<li><strong>Catch click fraud signals<\/strong>: Identify repeat ad clicks tied to the same IP\/user agent fingerprint or session, even if served from cache.<\/li>\n<li><strong>Audit referrers<\/strong>: View exactly which websites or campaigns are driving traffic (including query strings).<\/li>\n<li><strong>Filter out noise<\/strong>: Use bot labels and device types to focus only on human traffic when analyzing patterns.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<h4>Automatic installation<\/h4>\n\n<ol>\n<li>Log into your WordPress admin<\/li>\n<li>Go to <strong>Plugins &gt; Add New<\/strong><\/li>\n<li>Search for <strong>Traffic Monitor<\/strong><\/li>\n<li>Click <strong>Install Now<\/strong> and then <strong>Activate<\/strong><\/li>\n<\/ol>\n\n<h4>Manual installation<\/h4>\n\n<ol>\n<li>Download the plugin<\/li>\n<li>Unzip the contents<\/li>\n<li>Upload to <code>wp-content\/plugins\/<\/code><\/li>\n<li>Activate from your WordPress dashboard<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id='does%20this%20plugin%20track%20users%20across%20pages%3F'><h3>Does this plugin track users across pages?<\/h3><\/dt>\n<dd><p>No. Traffic Monitor logs each request separately, so you\u2019ll see every page load, but it doesn\u2019t track full visitor journeys.<\/p><\/dd>\n<dt id='where%20is%20the%20data%20stored%3F'><h3>Where is the data stored?<\/h3><\/dt>\n<dd><p>In custom database tables within your WordPress site\u2014nothing is sent to third parties.<\/p><\/dd>\n<dt id='can%20i%20export%20the%20logs%3F'><h3>Can I export the logs?<\/h3><\/dt>\n<dd><p>Yes, as CSV files. Export selected rows or the entire log.<\/p><\/dd>\n<dt id='how%20long%20are%20logs%20kept%3F'><h3>How long are logs kept?<\/h3><\/dt>\n<dd><p>Until you delete them. Use the bulk delete option if you need to manage storage.<\/p><\/dd>\n<dt id='will%20it%20slow%20down%20my%20site%3F'><h3>Will it slow down my site?<\/h3><\/dt>\n<dd><p>No. The plugin is optimized to skip static assets and unnecessary requests.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>3.2.7 (2025-10-21)<\/h4>\n\n<ul>\n<li>Guard session bootstrap to front-end only (no sessions on admin, REST, AJAX, cron, or WP-CLI) to resolve Site Health \u201cActive PHP session\u201d warning.<\/li>\n<li>Immediately release PHP session lock after hashing the session ID to prevent REST\/loopback cURL 28 timeouts and late cron notices.<\/li>\n<\/ul>\n\n<h4>3.2.6 (2025-07-03)<\/h4>\n\n<ul>\n<li>Added source as a search field<\/li>\n<\/ul>\n\n<h4>3.2.4 (2025-06-16)<\/h4>\n\n<ul>\n<li>Removed prompt when hitting enter instead of Search button<\/li>\n<\/ul>\n\n<h4>3.2.3 (2025-06-11)<\/h4>\n\n<ul>\n<li>Fixed pagination when searching or filtering log<\/li>\n<\/ul>\n\n<h4>3.2.2 (2025-06-10)<\/h4>\n\n<ul>\n<li>Fixed issue where referrer was incorrect for cached pages<\/li>\n<li>Fixed issue where source was not inherited when session matches<\/li>\n<\/ul>\n\n<h4>3.2.1 (2025-06-09)<\/h4>\n\n<ul>\n<li>Added logging of original source of requests when known<\/li>\n<li>Included other fields in search feature<\/li>\n<\/ul>\n\n<h4>3.1.12 (2025-06-06)<\/h4>\n\n<ul>\n<li>Fixed PHP warning concerning session<\/li>\n<li>Fixed issue regarding matching bot names to user agents<\/li>\n<\/ul>\n\n<h4>3.1.8 (2025-06-05)<\/h4>\n\n<ul>\n<li>Fixed PHP warning concerning fingerprint<\/li>\n<\/ul>\n\n<h4>3.1.7 (2025-06-03)<\/h4>\n\n<ul>\n<li>Added detection of bots that switch sessions to avoid detection<\/li>\n<li>Fixed issue where response code was logged too early<\/li>\n<\/ul>\n\n<h4>3.1.6 (2025-05-21)<\/h4>\n\n<ul>\n<li>Fixed bug where AJAX cache detection could run scripts triggered by query strings<\/li>\n<li>Improved database schema resilience by ensuring <code>bots.name<\/code> column supports longer strings<\/li>\n<\/ul>\n\n<h4>3.1.4 (2025-05-19)<\/h4>\n\n<ul>\n<li>Fixed nonce check issue<\/li>\n<li>Added bots to detection list<\/li>\n<\/ul>\n\n<h4>3.1.0 (2025-05-07)<\/h4>\n\n<ul>\n<li>Replaced external call to ipfiy with internal API<\/li>\n<li>Added bots to detection list<\/li>\n<\/ul>\n\n<h4>3.0.0 (2025-03-18)<\/h4>\n\n<ul>\n<li>Normalized database into multiple tables with added fields<\/li>\n<li>Added bot detection with category tracking  <\/li>\n<li>Added advertising click tracking (example: gclid, fbclid)  <\/li>\n<li>Added fingerprint hash and session hash for tracking repeat visitors<\/li>\n<li>Added filters to log table<\/li>\n<li>Added ability to combine filtering, searching, and sorting to drill into data<\/li>\n<\/ul>\n\n<h4>2.3.0 (2025-02-21)<\/h4>\n\n<ul>\n<li>Removed user agent parsing dependency<\/li>\n<\/ul>\n\n<h4>2.2.1 (2025-02-19)<\/h4>\n\n<ul>\n<li>Minor layout updates.<\/li>\n<li>Added field for whether page requested was cached.<\/li>\n<\/ul>\n\n<h4>2.1.1 (2025-02-15)<\/h4>\n\n<ul>\n<li>Improved comments and code organization.<\/li>\n<\/ul>\n\n<h4>2.1.0 (2025-02-14)<\/h4>\n\n<ul>\n<li>Improved branding, cache busting, and updating.<\/li>\n<\/ul>\n\n<h4>2.0.0 (2025-02-12)<\/h4>\n\n<ul>\n<li>Added logging of cached pages.<\/li>\n<\/ul>\n\n<h4>1.4.0 (2025-02-11)<\/h4>\n\n<ul>\n<li>Added Request Type field.<\/li>\n<li>Refactored code from proceedural to OOP with MVC design.<\/li>\n<\/ul>\n\n<h4>1.3.2 (2025-02-05)<\/h4>\n\n<ul>\n<li>Fixed version error.<\/li>\n<li>Removed cache detection.<\/li>\n<\/ul>\n\n<h4>1.2.0 (2025-01-29)<\/h4>\n\n<ul>\n<li>Added sorting for each column and increased number of search fields.<\/li>\n<li>Removed forwarded, x_real_ip, x_forwarded_for, and x_forwarded_host fields<\/li>\n<li>Improved help file and code comments<\/li>\n<\/ul>\n\n<h4>1.1.3 (2025-01-28)<\/h4>\n\n<ul>\n<li>Fixed bugs and improved help.<\/li>\n<li>Security enhancements.<\/li>\n<li>Fixed bugs.<\/li>\n<\/ul>\n\n<h4>1.1.0 (2025-01-27)<\/h4>\n\n<ul>\n<li>Added cache detection and bug fixes.<\/li>\n<\/ul>\n\n<h4>1.0.4 (2025-01-22)<\/h4>\n\n<ul>\n<li>Improved readme.txt and fixed bugs.<\/li>\n<li>Fixed bugs.<\/li>\n<\/ul>\n\n<h4>1.0.2 (2025-01-21)<\/h4>\n\n<ul>\n<li>Security enhancements.<\/li>\n<\/ul>\n\n<h4>1.0.1 (2025-01-20)<\/h4>\n\n<ul>\n<li>Security enhancements.<\/li>\n<\/ul>\n\n<h4>1.0.0 (2025-01-16)<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Lightweight traffic logger for WordPress analytics. View, filter, and export page request data; monitor caching; detect bots; and spot click fraud.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/eo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/219942","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/eo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/eo.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/eo.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=219942"}],"author":[{"embeddable":true,"href":"https:\/\/eo.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/dmitriamartin"}],"wp:attachment":[{"href":"https:\/\/eo.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=219942"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/eo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=219942"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/eo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=219942"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/eo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=219942"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/eo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=219942"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/eo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=219942"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}