{"id":314853,"date":"2026-05-21T11:40:27","date_gmt":"2026-05-21T11:40:27","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/codersly-visitor-tracker\/"},"modified":"2026-08-28T12:24:02","modified_gmt":"2026-08-28T12:24:02","slug":"codersly-visitor-tracker","status":"publish","type":"plugin","link":"https:\/\/kab.wordpress.org\/plugins\/codersly-visitor-tracker\/","author":23465578,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.0","stable_tag":"1.1.0","tested":"7.1","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"Codersly Visitor Tracker","header_author":"Codersly","header_description":"Lightweight visitor tracking with bot\/referrer recording, privacy controls, and admin reports.","assets_banners_color":"4e6e92","last_updated":"2026-08-28 12:24:02","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/codersly.com\/","rating":5,"author_block_rating":0,"active_installs":10,"downloads":483,"num_ratings":2,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.9":{"tag":"1.0.9","author":"codersly","date":"2026-07-18 05:38:33","revision":3612240},"1.1.0":{"tag":"1.1.0","author":"codersly","date":"2026-08-28 12:24:02","revision":3670327}},"upgrade_notice":{"1.1.0":"<p>Faster cache-safe beacon, first-party visitor\/session IDs, and Pro 1.1.0 extension compatibility.<\/p>","1.0.9":"<p>Compliance, add-on separation, and shared-navigation update.<\/p>","1.1.0 tracking hotfix":"<ul>\n<li>Restored reliable visitor inserts for both guests and logged-in users.<\/li>\n<li>Removed cache-sensitive logged-in state from front-end configuration.<\/li>\n<li>Uses authenticated\/non-authenticated admin-ajax first, with REST fallback.<\/li>\n<\/ul>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":2},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3545180,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3545180,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3545198,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3545198,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.9","1.1.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3541793,"resolution":"1","location":"assets","locale":"","width":1187,"height":607},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3541793,"resolution":"2","location":"assets","locale":"","width":1204,"height":607},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3541793,"resolution":"3","location":"assets","locale":"","width":1204,"height":606},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3541793,"resolution":"4","location":"assets","locale":"","width":1204,"height":604},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3541793,"resolution":"5","location":"assets","locale":"","width":1203,"height":604},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3541793,"resolution":"6","location":"assets","locale":"","width":1222,"height":612}},"screenshots":[]},"plugin_section":[],"plugin_tags":[232,22770,262435,3397,2497],"plugin_category":[36],"plugin_contributors":[260016],"plugin_business_model":[],"class_list":["post-314853","plugin","type-plugin","status-publish","hentry","plugin_tags-analytics","plugin_tags-bot-detection","plugin_tags-traffic-analytics","plugin_tags-visitor-analytics","plugin_tags-visitor-tracking","plugin_category-analytics","plugin_contributors-codersly","plugin_committers-codersly"],"banners":{"banner":"https:\/\/ps.w.org\/codersly-visitor-tracker\/assets\/banner-772x250.png?rev=3545198","banner_2x":"https:\/\/ps.w.org\/codersly-visitor-tracker\/assets\/banner-1544x500.png?rev=3545198","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/codersly-visitor-tracker\/assets\/icon-128x128.png?rev=3545180","icon_2x":"https:\/\/ps.w.org\/codersly-visitor-tracker\/assets\/icon-256x256.png?rev=3545180","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/codersly-visitor-tracker\/assets\/screenshot-1.png?rev=3541793","caption":""},{"src":"https:\/\/ps.w.org\/codersly-visitor-tracker\/assets\/screenshot-2.png?rev=3541793","caption":""},{"src":"https:\/\/ps.w.org\/codersly-visitor-tracker\/assets\/screenshot-3.png?rev=3541793","caption":""},{"src":"https:\/\/ps.w.org\/codersly-visitor-tracker\/assets\/screenshot-4.png?rev=3541793","caption":""},{"src":"https:\/\/ps.w.org\/codersly-visitor-tracker\/assets\/screenshot-5.png?rev=3541793","caption":""},{"src":"https:\/\/ps.w.org\/codersly-visitor-tracker\/assets\/screenshot-6.png?rev=3541793","caption":""}],"raw_content":"<!--section=description-->\n<p><strong>Codersly Visitor Tracker<\/strong> records visitor activity in a dedicated table in your WordPress database and displays the information inside the WordPress admin area.<\/p>\n\n<p>The WordPress.org plugin is free and fully functional. No functionality implemented by this package requires a license key, payment, trial period, quota, time limit, or upgrade.<\/p>\n\n<p><strong>Free features<\/strong><\/p>\n\n<ul>\n<li>Visitor dashboard with online, daily, 7-day, 30-day, 90-day, total, human, and bot counters.<\/li>\n<li>Clean, responsive visitor list with human-readable visitor, location, activity, device, source and page columns.<\/li>\n<li>Page title\/path, referrer, browser, approximate location, masked IP details, and visit-time records.<\/li>\n<li>Human, suspected bot, verified bot, and unknown traffic classification.<\/li>\n<li>Exclusion of selected logged-in WordPress user roles.<\/li>\n<li>Local storage of visitor records in the site's WordPress database.<\/li>\n<li>Optional approximate city\/country lookup through documented external GeoIP providers.<\/li>\n<\/ul>\n\n<p><strong>Separate add-on information<\/strong><\/p>\n\n<p>The admin navigation contains informational placeholders for Analytics, Live Visitors, Campaigns, Reports, and Clear Data. The Visitors and Settings screens also describe advanced filters and bot-record suppression available through the separately distributed Pro add-on.<\/p>\n\n<p>These placeholders contain no Pro feature implementation, license validation, disabled local functionality, trial code, quotas, or time limits. When the separate add-on is installed, it replaces the informational callbacks and supplies its own functionality.<\/p>\n\n<h3>Privacy<\/h3>\n\n<p>This plugin can store visitor information in the site's WordPress database. Depending on settings and request data, records may include:<\/p>\n\n<ul>\n<li>IP address<\/li>\n<li>User agent and browser name<\/li>\n<li>Page path and landing page<\/li>\n<li>Referrer information<\/li>\n<li>Visit date and time<\/li>\n<li>Logged-in WordPress user ID, username and display name<\/li>\n<li>Human\/bot classification details<\/li>\n<li>Approximate city and country when GeoIP lookup is enabled<\/li>\n<\/ul>\n\n<p>The plugin does not send visitor analytics data to Codersly.<\/p>\n\n<p>Approximate location lookup is enabled in this build so visitor city\/country can be filled in automatically. A site administrator can disable it at any time. When enabled, a visitor IP address may be sent in the background to one of the documented GeoIP providers. Site owners are responsible for providing appropriate privacy notices and obtaining any consent required by applicable law.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin can optionally connect to external GeoIP services to obtain approximate visitor location data from an IP address. The feature is enabled in this build and can be disabled by the site administrator under Visitors Tracker \u2192 Settings.<\/p>\n\n<p>Supported providers:<\/p>\n\n<ul>\n<li>ipwho.is \u2014 Terms: https:\/\/ipwhois.io\/terms \u2014 Privacy: https:\/\/ipwhois.io\/privacy<\/li>\n<li>ipapi.co \u2014 Terms: https:\/\/ipapi.co\/terms\/ \u2014 Privacy: https:\/\/ipapi.co\/privacy\/<\/li>\n<li>DB-IP \u2014 Terms: https:\/\/db-ip.com\/tos.php \u2014 Privacy: https:\/\/db-ip.com\/privacy.php<\/li>\n<\/ul>\n\n<p>When enabled, the first available provider receives the visitor IP address and may return country, country code, region, city and timezone. Results are cached locally to reduce requests.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin to <code>\/wp-content\/plugins\/codersly-visitor-tracker\/<\/code>, or install it through the WordPress Plugins screen.<\/li>\n<li>Activate <strong>Codersly Visitor Tracker<\/strong>.<\/li>\n<li>Open <strong>Visitors Tracker \u2192 Dashboard<\/strong>.<\/li>\n<li>Review privacy and tracking options under <strong>Visitors Tracker \u2192 Settings<\/strong>.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"is%20every%20implemented%20feature%20in%20this%20package%20free%3F\"><h3>Is every implemented feature in this package free?<\/h3><\/dt>\n<dd><p>Yes. Every feature implemented by the WordPress.org package works without a license key, payment, trial period, quota, time limit, or upgrade.<\/p><\/dd>\n<dt id=\"why%20are%20pro-labelled%20pages%20visible%3F\"><h3>Why are Pro-labelled pages visible?<\/h3><\/dt>\n<dd><p>They are informational navigation placeholders. They contain no Pro implementation or disabled built-in controls. Installing the separately distributed add-on replaces those callbacks with the add-on's pages.<\/p><\/dd>\n<dt id=\"where%20are%20visitor%20records%20stored%3F\"><h3>Where are visitor records stored?<\/h3><\/dt>\n<dd><p>Visitor records are stored locally in a dedicated table in the site's WordPress database.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20send%20analytics%20data%20to%20codersly%3F\"><h3>Does the plugin send analytics data to Codersly?<\/h3><\/dt>\n<dd><p>No. It does not send visitor analytics data to Codersly. Optional GeoIP lookup can contact the selected provider when the administrator enables that setting.<\/p><\/dd>\n<dt id=\"is%20approximate%20location%20lookup%20enabled%20by%20default%3F\"><h3>Is approximate location lookup enabled by default?<\/h3><\/dt>\n<dd><p>Yes, in this build it is enabled so the Location column can populate automatically. It can be turned off under Visitors Tracker \u2192 Settings.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Added logged-in WordPress user ID, username and display-name association for visitor records.<\/li>\n<li>Added anonymous-to-registered visitor\/session identity merging after login.<\/li>\n<li>Added REST cookie authentication support so logged-in users are recognized by the browser beacon.<\/li>\n<li>Added cached background city, region, country, country-code and timezone lookup with provider fallbacks.<\/li>\n<li>Improved Cloudflare, trusted-proxy and forwarded-IP resolution.<\/li>\n<li>Rebuilt the Visitors screen with clean human-readable columns, masked technical details and responsive mobile cards.<\/li>\n<li>Added visible settings-save confirmation and Saving state.<\/li>\n<li>Reduced false bot classifications for paid\/social visitors.<\/li>\n<li>Kept the public plugin version and Pro compatibility at 1.1.0.<\/li>\n<\/ul>","raw_excerpt":"Privacy-aware visitor tracking with local visitor logs, referrer details, and human\/bot classification.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/kab.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/314853","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kab.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/kab.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/kab.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=314853"}],"author":[{"embeddable":true,"href":"https:\/\/kab.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/codersly"}],"wp:attachment":[{"href":"https:\/\/kab.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=314853"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/kab.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=314853"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/kab.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=314853"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/kab.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=314853"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/kab.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=314853"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/kab.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=314853"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}