{"id":334246,"date":"2026-07-22T18:45:48","date_gmt":"2026-07-22T18:45:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/sm-live-visitor-map\/"},"modified":"2026-07-22T18:45:18","modified_gmt":"2026-07-22T18:45:18","slug":"sm-live-visitor-map","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/sm-live-visitor-map\/","author":23525275,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.0","stable_tag":"1.1.0","tested":"7.0.2","requires":"5.0","requires_php":"7.4","requires_plugins":null,"header_name":"Sebamor Visitor Tracking Map","header_author":"Sebastian Morales","header_description":"Real-time visitor tracking with a live map showing visitor locations, session analytics, and an interactive dashboard. Pixel-based tracking works on any theme.","assets_banners_color":"574e75","last_updated":"2026-07-22 18:45:18","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/github.com\/sebastian-m-dev\/live-visitor-map","header_author_uri":"https:\/\/sebastianmorales.site","rating":0,"author_block_rating":0,"active_installs":0,"downloads":35,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.1.0":{"tag":"1.1.0","author":"sebastianmoralesdev","date":"2026-07-22 18:45:18"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon.svg":{"filename":"icon.svg","revision":3605216,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3605216,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3605216,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.1.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3605216,"resolution":"1","location":"assets","locale":"","width":1200,"height":900},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3605216,"resolution":"2","location":"assets","locale":"","width":1201,"height":900},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3605216,"resolution":"3","location":"assets","locale":"","width":1201,"height":900},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3605216,"resolution":"4","location":"assets","locale":"","width":1072,"height":870}},"screenshots":{"1":"Sebamor Visitor Tracking Map dashboard with real-time map, stats, charts, and glassmorphism UI.","2":"Visitor location markers with popup details (IP, city, country, page)."}},"plugin_section":[],"plugin_tags":[232,272854,866,550,41474],"plugin_category":[36],"plugin_contributors":[272855],"plugin_business_model":[],"class_list":["post-334246","plugin","type-plugin","status-publish","hentry","plugin_tags-analytics","plugin_tags-live-map","plugin_tags-real-time","plugin_tags-tracking","plugin_tags-visitor-map","plugin_category-analytics","plugin_contributors-sebastianmoralesdev","plugin_committers-sebastianmoralesdev"],"banners":{"banner":"https:\/\/ps.w.org\/sm-live-visitor-map\/assets\/banner-772x250.png?rev=3605216","banner_2x":"https:\/\/ps.w.org\/sm-live-visitor-map\/assets\/banner-1544x500.png?rev=3605216","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/sm-live-visitor-map\/assets\/icon.svg?rev=3605216","icon":"https:\/\/ps.w.org\/sm-live-visitor-map\/assets\/icon.svg?rev=3605216","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/sm-live-visitor-map\/assets\/screenshot-1.png?rev=3605216","caption":"Sebamor Visitor Tracking Map dashboard with real-time map, stats, charts, and glassmorphism UI."},{"src":"https:\/\/ps.w.org\/sm-live-visitor-map\/assets\/screenshot-2.png?rev=3605216","caption":"Visitor location markers with popup details (IP, city, country, page)."},{"src":"https:\/\/ps.w.org\/sm-live-visitor-map\/assets\/screenshot-3.png?rev=3605216","caption":""},{"src":"https:\/\/ps.w.org\/sm-live-visitor-map\/assets\/screenshot-4.png?rev=3605216","caption":""}],"raw_content":"<!--section=description-->\n<p>Sebamor Visitor Tracking Map gives you a real-time view of your website visitors on an interactive map. Track visitor locations, session durations, page views, and more \u2014 all from a beautiful glassmorphism admin dashboard with animated mesh background.<\/p>\n\n<h4>Key Features<\/h4>\n\n<ul>\n<li><strong>Live Map<\/strong> \u2014 See where your visitors are in real-time on a Leaflet map. Green animated markers for active visitors, blue markers for the last 24 hours.<\/li>\n<li><strong>Real-Time Dashboard<\/strong> \u2014 Auto-refreshing stats cards with active visitors, today's visits, unique visitors, sessions, and average session duration.<\/li>\n<li><strong>Hourly &amp; Daily Charts<\/strong> \u2014 Visual breakdown of traffic patterns throughout the day and over the last 30 days.<\/li>\n<li><strong>Top Countries<\/strong> \u2014 See which countries your visitors come from.<\/li>\n<li><strong>Recent Visits<\/strong> \u2014 Detailed table of recent visitors with IP, location, and page visited.<\/li>\n<li><strong>Animated UI<\/strong> \u2014 Glassmorphism cards with gradient reveals, animated mesh background, and micro-interactions.<\/li>\n<li><strong>Works on Any Theme<\/strong> \u2014 Uses pixel-based tracking (GET requests) with REST API fallback \u2014 no dependency on <code>wp_footer()<\/code>.<\/li>\n<li><strong>Privacy Friendly<\/strong> \u2014 Uses ip-api.com for geo-location (free tier, no API key). Geo data is cached for 24 hours. Optional IP anonymization.<\/li>\n<li><strong>Lightweight<\/strong> \u2014 Minimal footprint. Does not load external resources on the frontend. Tracking script is under 1KB.<\/li>\n<li><strong>Settings Page<\/strong> \u2014 Exclude user roles from tracking, configure data retention, enable IP anonymization.<\/li>\n<\/ul>\n\n<h4>Getting Started<\/h4>\n\n<p>After activation, go to <strong>Sebamor Visitor Tracking Map \u2192 Settings<\/strong> to enable visitor tracking (disabled by default for privacy). Then visit the dashboard to see your visitor data.<\/p>\n\n<h3>External Services<\/h3>\n\n<p>This plugin uses the ip-api.com geolocation service to determine visitor locations from their IP addresses, only when tracking is enabled in Settings. It is required to show visitor locations on the live map and display country-level analytics on the dashboard.<\/p>\n\n<p>When tracking is enabled and a visit is tracked, the visitor's IP address is sent to ip-api.com to obtain city, country, and coordinates. This data is cached locally for 24 hours to minimize API calls. No personal data beyond the IP address is transmitted.<\/p>\n\n<p>This service is provided by ip-api.com:\n- Terms of Service: https:\/\/ip-api.com\/docs\/legal\n- Privacy Policy: https:\/\/ip-api.com\/docs\/legal<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>sm-live-visitor-map<\/code> folder to <code>\/wp-content\/plugins\/<\/code><\/li>\n<li>Activate the plugin through the 'Plugins' screen in WordPress<\/li>\n<li>Go to <strong>Sebamor Visitor Tracking Map<\/strong> in your admin menu, enable tracking in Settings, then visit the dashboard<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20it%20work%20with%20caching%20plugins%3F\"><h3>Does it work with caching plugins?<\/h3><\/dt>\n<dd><p>Yes. The tracking uses pixel-based GET requests that bypass most caching layers including LiteSpeed Cache, WP Rocket, and W3 Total Cache.<\/p><\/dd>\n<dt id=\"does%20it%20work%20if%20my%20theme%20doesn%27t%20call%20wp_footer%28%29%3F\"><h3>Does it work if my theme doesn't call wp_footer()?<\/h3><\/dt>\n<dd><p>Yes. Tracking is injected via <code>wp_head<\/code> using a direct <code>&lt;script&gt;<\/code> tag. No dependency on <code>wp_footer()<\/code>.<\/p><\/dd>\n<dt id=\"where%20is%20geo-location%20data%20from%3F\"><h3>Where is geo-location data from?<\/h3><\/dt>\n<dd><p>The plugin uses the free ip-api.com service (no API key required). Responses are cached as WordPress transients for 24 hours to minimize API calls.<\/p><\/dd>\n<dt id=\"does%20it%20slow%20down%20my%20site%3F\"><h3>Does it slow down my site?<\/h3><\/dt>\n<dd><p>No. The tracking script is under 1KB and is loaded asynchronously. The tracking request is lightweight with both REST API and pixel fallback.<\/p><\/dd>\n<dt id=\"can%20i%20exclude%20certain%20user%20roles%20from%20tracking%3F\"><h3>Can I exclude certain user roles from tracking?<\/h3><\/dt>\n<dd><p>Yes. Go to <strong>Sebamor Visitor Tracking Map \u2192 Settings<\/strong> in your WordPress admin to select which user roles should not be tracked.<\/p><\/dd>\n<dt id=\"how%20long%20is%20visit%20data%20kept%3F\"><h3>How long is visit data kept?<\/h3><\/dt>\n<dd><p>By default, data is kept for 90 days. You can change this in <strong>Sebamor Visitor Tracking Map \u2192 Settings<\/strong>.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Added glassmorphism UI with animated mesh background<\/li>\n<li>Added settings page (exclude roles, data retention, IP anonymization)<\/li>\n<li>Added REST API tracking with pixel fallback<\/li>\n<li>Added automatic data purging via wp_scheduled_delete<\/li>\n<li>Added plugin uninstall cleanup<\/li>\n<li>Optimized dashboard icon (1.1MB \u2192 306 bytes)<\/li>\n<li>Improved SPA routing detection<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<\/ul>","raw_excerpt":"Real-time visitor tracking with a live map showing visitor locations, session analytics, and an interactive dashboard with animated glassmorphism UI.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/334246","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=334246"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/sebastianmoralesdev"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=334246"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=334246"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=334246"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=334246"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=334246"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=334246"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}