=== Live Traffic Analytics - Real-Time Visitor & Bot Tracking - Google Analytics Alternative === Contributors: bhumi239 Tags: real-time analytics, visitor tracking, traffic analytics, bot detection, seo Requires at least: 5.5 Tested up to: 7.1 Requires PHP: 7.4 Stable tag: 2.5.1 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html Real-time WordPress analytics with live visitor tracking, bot detection, UTM campaign tracking, 404 monitoring and SEO health checks. == Description == **Live Traffic Analytics** is a real-time WordPress analytics plugin for live visitor tracking, website traffic statistics and bot detection inside your WordPress dashboard. See active users, popular pages, traffic sources, countries, devices and browsers without switching to an external analytics dashboard. Use **UTM campaign tracking** and the **campaign URL builder** to review tagged traffic, **404 monitoring** to find missing pages receiving visits, and **SEO Preview + Health** for a **Google SERP preview** and on-page SEO checks. Export dashboard reports as CSV or PDF when you need to review or share your website statistics. Looking for a Google Analytics alternative for on-site visitor reporting? Live Traffic Analytics stores visitor analytics in your own WordPress database and does not require a Google Analytics account. Additional reports cover detailed visitor activity, user journeys, named bots, an interactive live map and visitor comparisons. SEO Preview + Health reads your published pages to preview search snippets and flag common SEO issues. It works alongside your existing SEO plugin and needs no Google Search Console connection. It does not measure keyword rankings or confirm Google indexing. = Why Use Live Traffic Analytics? = Many website owners want to know: * who is on the site right now * which pages are getting live traffic * how visitors move from one page to another * which traffic may be bot activity * which pages are performing best * how page titles and descriptions may appear in search * which published pages have SEO issues to review * which tagged campaigns bring recorded sessions * which missing page URLs receive visits Live Traffic Analytics helps answer those questions directly inside the WordPress admin area with a simple and focused interface. = Real-Time Website Analytics and Visitor Tracking = * **Top Pages and Page View Statistics** - most-viewed URLs with recent visits, a 10/20/30 rows-per-page selector and pagination. * **Real-Time Visitor Tracking** - monitor active users, sessions and page views in the Overview dashboard. * Device and browser breakdown of your traffic. * **Traffic Source and Referrer Tracking** - see where recorded visits come from. * Country breakdown of your visitors. * Bot ratio - what share of your traffic is automated. * Hourly page-view and session trend charts. * In-dashboard License page to activate, view, and manage your license without leaving wp-admin. * Custom database tables for scalable analytics storage. * Configurable reporting window, data retention, optional automatic cleanup and a Never retention option. * Automatically saved settings for report ranges, dashboard refresh and visitor heartbeat intervals. * Active-user count shortcode: `[wplta_active_users]`. * Campaign / UTM reports and a campaign link builder. * 404 Visit Reports grouped by missing page path and referring site. * SEO search previews and published-page health checks. * CSV/PDF dashboard report export from Settings, including zero values. PDF reports reuse the dashboard charts. = WordPress 404 Monitoring and Visit Reports = Use 404 Visit Reports as a WordPress 404 monitor for recorded human visits to missing pages. Review the requested path and referring site to decide which URLs need attention. * Record visits to actual WordPress 404 pages, grouped by URL path and referring site. * See recorded human page views and last visit, with Today / 7-day / 30-day ranges and 25 rows per page (up to 2,500 page/source combinations). * Signed page markers identify WordPress 404 templates; query strings and fragments are omitted from report paths. * Reports load on demand, cache for five minutes and reuse cached results across pages. Tracking reuses existing requests and activity writes. * Data follows existing activity retention, reset and uninstall controls. Old visits are not backfilled. * Does not crawl links, add redirects or record server-level errors, soft 404s, excluded admin visits, blocked trackers or themes that do not run the tracking script. = UTM Campaign Tracking and Campaign URL Builder = Build UTM links for email newsletters, social media posts and advertising campaigns. Campaign / UTM Reports show the sessions recorded from those links on your website without requiring a Google Analytics connection. * Create tagged links with source, medium, campaign, content and term; existing query parameters and URL fragments are preserved. * Capture up to 100 characters per UTM field on tagged page visits, including links opened after a session has started. Original first-landing attribution is preserved. * Reports count each session once per combination of the five UTM values. Repeated links and heartbeats do not duplicate counts. A session that visits different campaigns can appear in more than one row. Detected bots are excluded. * Today, last 7 days and last 30 days use the WordPress site timezone. Reports show 25 combinations per page, up to 2,500 combinations. * Campaign results are cached for one minute with a per-report generation lock. The open campaign tab refreshes every minute while visible; Reload report requests fresh data immediately. * UTM data uses existing session and page-view writes, with the same retention/reset controls. No additional custom table, browser tracking request or visitor-side report query is added. * Reports count sessions, not ad clicks, unique people, page views, leads or purchases. Previously recorded first-landing attribution remains available. Older mid-session campaign visits are not backfilled. * Campaign values are stored locally with sessions and tagged page visits. Never include personal information in UTM links. = Google SERP Preview and On-Page SEO Checks = Use SEO Preview + Health as a SERP preview and meta description checker for published WordPress content. Review SEO titles, search snippets and common page issues before editing them in WordPress or your existing SEO plugin. * Search and select your homepage, published pages, posts and public custom post types. * Google-style search preview with site name, favicon, URL, actual published SEO title and meta description. * Desktop/mobile and light/dark previews, with a notice when text is shortened. * Reads published HTML, including metadata output by your existing SEO plugin. It does not add or overwrite SEO tags. * Check missing titles and descriptions, H1 headings, canonical URLs, noindex instructions, image alt attributes, favicon links and page response errors. * Scan published content for duplicate SEO titles and meta descriptions, with summary counts and five-row pagination. * Site settings checks for WordPress search visibility, robots.txt and common sitemap endpoints. * Internal link checks cover up to five unique URLs per page; query-string links are excluded. Redirects and failed requests are marked as not verified. * Preview and Edit actions, selected-page rescan, site rescan and stop controls. * Public metadata is cached temporarily in WordPress. Previous site scan results are saved in the dashboard browser with scan timestamps. * Private and password-protected posts are excluded. Checks report passed, attention, review or not-checked states instead of inventing results. Search previews are estimates. Google may choose different titles, snippets and site names. SEO checks do not confirm Google indexing or measure keyword rankings, clicks or impressions. Those search performance metrics require a separate integration that is not included in this release. = Visitor Journey Tracking, Bot Analytics and Live Visitor Map = * **User Activity and Time on Page** - live per-visitor feed with IP, country, current page, referrer, browser, device and elapsed time on page. * **User Journey Tracking** - review the recorded visitor path from the entry page through later page visits in the session. * **Bot Traffic Analytics** - named bot detection (Googlebot, GPTBot, AhrefsBot and more) with a full breakdown. * **Live Visitor Map** - interactive OpenStreetMap with clustered visitor markers, zoom/pan controls and visitor details. Location precision depends on available host/CDN data. * **Visitor Comparison** - today vs. yesterday totals with an hour-by-hour chart. = What You Can Monitor = * Active users currently browsing your website. * Realtime page activity across important URLs. * Page-level engagement trends and recent visits. * Session-based movement from entry page to later steps. * Referrer traffic sources. * Device and browser distribution. * Bot traffic patterns and suspicious automation. * Geographic traffic distribution through the live map dashboard. = Built for Speed and Growing Traffic = Your analytics should help you understand your visitors while keeping your website running smoothly. Live Traffic Analytics is built for lightweight tracking and efficient data handling, with a focus on minimizing its impact on site speed. * **Lightweight visitor tracking** - collect useful traffic insights while keeping background activity to a minimum. * **Smooth dashboard experience** - explore your traffic through responsive reports and easy-to-browse visitor records. * **Efficient handling of growing data** - optimized reporting supports larger visitor and session datasets as your website grows. * **Long-term performance control** - flexible data retention and automatic cleanup help keep your analytics database manageable. = Privacy and Control = * Data is stored in your own WordPress database. * No forced external analytics dashboard. * Admin actions are protected with capability checks and nonce validation. * The public tracking beacon is validated by a same-site origin check and a per-IP rate limit, and all payloads are sanitized. * Designed to keep analytics ownership on your website. = Dashboard Sections = * Overview * SEO Preview + Health * Campaign / UTM Reports * Top Pages * 404 Visits * User Activity * Live Map * Journeys - recorded visitor paths * Bot Analytics - bot ratio and named-bot breakdown * Visitor Comparison * License * Settings, including CSV/PDF report export == Installation == 1. Upload the `live-traffic-analytics` folder to `/wp-content/plugins/`. 2. Activate the plugin through the 'Plugins' screen in WordPress. 3. Open **Traffic Analytics** from the WordPress admin menu. 4. Visit your site in a browser to start generating analytics data. == Screenshots == 1. Overview dashboard with live summary cards and charts. 2. User Activity table with user and bot classification. 3. User Journey view with session path tracking. 4. Top Pages analytics with paginated page insights. 5. Realtime world map with live visitor markers. 6. Bot Analytics panel with detection summary. == Privacy == Live Traffic Analytics stores visitor analytics in your own WordPress database. The Live Map dashboard loads map tiles from OpenStreetMap when opened. These requests expose the dashboard viewer's IP address and the requested map area to OpenStreetMap; visitor IP addresses and popup details are not sent to the tile service. Map tiles require an internet connection. Map service: https://www.openstreetmap.org/ Privacy policy: https://osmfoundation.org/wiki/Privacy_Policy Tile usage policy: https://operations.osmfoundation.org/policies/tiles/ For each page view it records: a randomly generated session id (kept in the visitor's browser localStorage), the page URL and title, the referrer, the browser and device type, the country reported by your host or CDN, and the visitor's IP address. IP addresses can be masked before storage (the last part of the address is replaced with 0, e.g. 203.0.113.0); this is on by default for new installs and can be toggled under Traffic Analytics → Settings. New installations default to a 12-month retention period with automatic cleanup enabled. The dashboard reporting window defaults to 1 month and is a separate setting. Existing saved preferences are preserved. You can change retention, disable automatic cleanup, or select Never to disable both automatic and manual retention cleanup. Cumulative page-view counters are preserved by retention cleanup. You can erase tracked analytics using Delete All Data in Settings. Deactivating the plugin retains its data; deleting it removes its analytics tables and plugin settings. == Frequently Asked Questions == = What does this plugin track? = The plugin tracks page views, sessions, visitor countries, referrers, devices, browsers, top pages and bot activity. It also records first-landing UTM attribution and visits to WordPress 404 pages. = What is the Visitor Comparison feature? = Visitor Comparison shows today's visitor total against yesterday's, side by side, with a percentage change indicator and an hour-by-hour comparison chart, so you can see whether traffic is trending up or down. = Is this a live visitor tracker for WordPress? = Yes. The plugin works as a live visitor tracker and shows active traffic in the WordPress dashboard using recent activity data from your own site. = Is this a realtime analytics plugin for WordPress? = Yes. The admin dashboard refreshes automatically, so you can monitor active sessions, live activity, top pages, and bot traffic in near realtime. = Does it work on localhost? = Yes, but localhost traffic commonly uses private IP addresses such as `127.0.0.1` or `::1`, so country and map data may appear as unknown during local testing. = Does the plugin use custom database tables? = Yes. The plugin stores analytics data in dedicated custom tables for activity, sessions, and page statistics. = Which database tables does the plugin create? = The plugin uses dedicated tables for activity logs, session paths, and page statistics so analytics queries stay separate from standard WordPress content tables. = Can I see the most visited pages? = Yes. The Top Pages section shows page URLs, total views, and latest visit timestamps, with a 10/20/30 rows-per-page selector and pagination so you can browse large sites comfortably. = Can I track user journey or visitor path flow? = Yes. The User Journey section groups multiple page visits into a session path so you can understand how visitors move through your website. = Does this plugin show referrer and source traffic? = Yes. Live activity and session tracking can include referrer data when it is available from the visitor request. = Is the data shown in real time? = The admin dashboard uses lightweight refresh requests to show near realtime analytics updates. = Can it detect bots? = Yes. The plugin includes bot detection using user-agent checks and suspicious request pattern scoring. = What kind of bots can it detect? = The plugin can identify common bots through user-agent patterns and can also flag suspicious automated traffic based on repeated request behavior. = Can I use this plugin instead of a large analytics platform? = It depends on your needs. Live Traffic Analytics is useful for lightweight realtime visibility inside WordPress, but full enterprise analytics platforms may still offer broader reporting, attribution, and historical analysis. = Will it slow down my site? = The plugin is designed to be lightweight and uses optimized storage and scoped tracking, but every analytics system adds some overhead. It is best practice to test on your own hosting stack before production rollout on very high traffic sites. = Does the plugin track wp-admin visitors? = No. The tracking flow avoids admin requests and other noisy request types where possible to keep analytics cleaner. = How can I track UTM campaigns in WordPress? = Open Campaign / UTM Reports and use the campaign link builder. Create a tagged link and view recorded sessions by source, medium, campaign, content and term. Tagged links are recorded even within an existing session. Each session counts once per UTM combination and can appear under different campaigns. Reload report fetches fresh results. Reports count sessions rather than ad clicks, sales or conversions; older mid-session campaign visits are not backfilled. = How is time on page measured? = New tracker visits count time while the page is visible. Time spent in a background tab is excluded. A return after an expired session starts a new session unless another active tab is keeping the shared session alive. Historical records are kept as previously recorded. = How are reverse-proxy visitor IPs handled? = Cloudflare visitor IP headers are accepted when the direct peer belongs to its verified proxy ranges. Other proxies must be explicitly trusted through the wplta_trusted_proxy_peer filter or an existing WPLTA_TRUST_PROXY integration. The proxy must overwrite client-supplied forwarding headers. The wplta_client_ip filter remains available for custom integrations. = How does WordPress 404 monitoring work? = 404 Visit Reports show recorded visits to actual WordPress 404 pages, grouped by path and referring site. They do not crawl your site for broken links or create redirects. Reports start with visits recorded after the feature is installed and its database upgrade completes. = Can I display the active-user count on my site? = Yes. Add `[wplta_active_users]` to a shortcode block or another shortcode-enabled area to display the active-user count as text. Full-page caching can delay updates to the displayed count. = How do I preview Google search snippets and check on-page SEO? = Open Traffic Analytics → SEO Preview + Health. Select a published page to view its search preview and health checks. Choose Scan site for a page-by-page overview with duplicate metadata checks. Use Edit to make changes in WordPress or your SEO plugin, then Rescan page to fetch fresh HTML. = Does SEO Preview + Health require Google Search Console? = No. It reads your published pages and WordPress settings. It does not provide Google search queries, clicks, impressions, rankings or verified indexing status. The preview is an estimate, and intentional noindex or canonical rules should be reviewed before changing them. = Can this replace my SEO plugin? = SEO Preview + Health inspects the published output of your theme and SEO plugin. It does not generate metadata, change canonical URLs, create sitemaps or automatically fix SEO issues. Continue editing those settings in your existing tools. = How do I export analytics? = Open Traffic Analytics → Settings → Export analytics. Choose PDF for a report with graphs and tables, or CSV for the underlying data in Section/Record/Field/Value columns. Exports use the saved dashboard window and include zero values. Settings save automatically; wait for any changes to finish saving before exporting. The report labels live, last-24-hours and comparison metrics separately. Top lists and recent records keep the dashboard's row limits; this is a dashboard report, not a complete database backup. Files are generated locally in your browser; PDF generation does not send your data to a third-party service. = Why does the live map show limited location detail? = The plugin is designed to remain lightweight and privacy-conscious. On some environments, exact latitude and longitude precision may depend on the hosting or proxy headers available to WordPress. = Is this plugin suitable for blogs, business websites, and ecommerce stores? = Yes. It can be useful for blogs, agency sites, company websites, landing pages, and ecommerce stores that want lightweight live analytics inside WordPress. = Can developers extend this plugin later? = Yes. The plugin uses a modular structure with separate admin, public, and include layers, which makes future feature expansion easier. = Where can I view the analytics after activation? = After activating the plugin, open the **Traffic Analytics** menu in WordPress admin. Visit a few frontend pages first if you want to immediately generate test data. = How do database upgrades run? = Existing analytics tables update automatically in small background steps. Opening WordPress admin also advances the update when scheduled tasks are delayed. Existing tracking continues, and the progress notice disappears when the update finishes. You normally do not need to click Retry or configure cron. If an update reports an actual failure, check its message before retrying. A large database index build can still take time and use server resources. == Changelog == = 2.5.1 = * Fixed: Sustained traffic below the configured per-IP rate limit could be incorrectly blocked; counters now reset at minute boundaries and count concurrent requests atomically. * Fixed: Untrusted proxy headers overriding visitor IPs on directly accessible servers, while preserving verified Cloudflare and explicitly trusted proxy integrations. * Fixed: Simultaneous first visits in the same session losing a page view during session creation. * Fixed: Concurrent page visits overwriting a visitor journey step. * Fixed: Delayed duplicate page-view requests increasing session depth or adding a false journey step. * Fixed: Time on page including time spent in a hidden browser tab for newly tracked visits. * Fixed: Expired sessions being reused after a long-idle tab resumes; active shared-tab sessions are preserved. * Fixed: Failed or rejected exit beacons being dropped without a keepalive fallback. * Fixed: Live Map location and country totals counting multiple active pages from the same session more than once. * Improved: Large automatic cleanup backlogs continue in bounded background batches, honoring Never and auto-delete settings on every run. * Improved: Tracker asset cache versioning so updated tracking code is requested by freshly rendered pages. = 2.5.0 = * Added: Campaign / UTM reports for tagged visits with a campaign link builder. * Added: 404 Visit Reports with date filters, referring sites and pagination. * Added: Never data retention option and automatic saving for dashboard settings. * Improved: Top Pages reporting with a covering date index and details loaded only for ranked pages. * Improved: Overview performance with combined queries and exact unique-visitor aggregation. * Improved: Dashboard loading with active-tab requests, loading placeholders and server-side pagination. * Improved: Campaign and 404 reports with bounded date ranges, bot exclusion, caching and concurrent-report protection. * Improved: Database upgrades with resumable background steps, automatic admin processing and progress updates. * Improved: Dashboard compatibility with older WordPress installations using an isolated React runtime. * Improved: Sidebar navigation with SEO Preview + Health second, Campaign / UTM third and Top Pages fourth. * Fixed: Tracking write failures returning success; failed InnoDB event writes now roll back and transient deadlocks retry automatically. * Fixed: Duplicate page-view IDs incrementing cumulative page-view counters more than once. * Fixed: Visitor heartbeats continuing while a page is hidden; returning to the page resumes the existing view. * Fixed: Overview trend captions showing an incorrect comparison period or an unavailable trend as growth. * Fixed: Completed database update notices remaining visible; normal updates no longer require manual Retry clicks. * Fixed: Dashboard scrolling moving the WordPress admin menu, with scrollbars hidden while scrolling remains available. * Fixed: Cleanup and reset failures being reported as successful, and incomplete preference cleanup on uninstall. = 2.4.0 = * Added: SEO Preview + Health with published-page selection, Google-style desktop/mobile previews and light/dark modes. * Added: SEO checks for titles, meta descriptions, favicon links, H1 headings, canonical URLs, noindex, image alt attributes and page response errors. * Added: Whole-site SEO scanning, duplicate metadata checks, site settings/sitemap/robots checks, bounded internal-link inspection and five-row results pagination. * Added: Rescan, stop, Preview/Edit actions, scan timestamps and restoration of previous site scan results in the same browser. * Added: CSV/PDF analytics exports from Settings with actual values, including zero values, and dashboard charts/tables in PDF reports. Dashboard row limits apply. * Improved: Live Map with OpenStreetMap tiles, marker clustering, visitor details, resize handling and map loading feedback. * Improved: Brand-green upgrade and Special Offer buttons, responsive welcome-offer popup and clearer first-year offer text. * Improved: SEO toolbar alignment, compact page actions and neutral hover/focus borders; removed em dashes from UI copy. * Updated: Plugin description and documentation to include SEO Health alongside visitor analytics. = 2.3.1 = * Fixed: Removed a per-page-view transient that could bloat the wp_options table and slow the whole site over time; the visitor rate limit is now keyed per IP and actually enforced. * Fixed: Schema upgrades no longer run on front-end requests. They run once in wp-admin after an update, guarded by a lock, so a busy site is not hit by a stampede of migrations right after updating. * Fixed: The tracking endpoint now rejects requests that carry neither an Origin nor a Referer header (plain scripted POSTs), while real browser beacons continue to work. * Fixed: Page-view counts are now incremented atomically, so two simultaneous views of the same URL no longer lose a count. Bots are excluded from Top Pages and view totals. * Fixed: A visitor session's stored journey path is now capped so a long-lived session cannot grow without bound; the true page count is preserved. * Improved: New installs default the dashboard auto-refresh to 60 seconds, and the dashboard only polls while its browser tab is visible. Existing sites keep their chosen interval. * Improved: Removed a blocking ANALYZE TABLE that ran every time the Settings tab loaded. * Added: IP anonymization - the last part of a visitor's IP can be masked before it is stored (on by default for new installs, off for existing installs, toggle under Traffic Analytics → Settings). Country and map data are unaffected. * Added: A Privacy section in the readme and a proper uninstall routine that removes the plugin's tables, options, transients and scheduled task on deletion. * Security: The install's secret key is no longer sent in every dashboard refresh; it is fetched only when you click "Show" on the Account tab. = 2.3.0 = * Improved: Bot Analytics system : more accurate bot detection and a clearer bot vs. human breakdown. * Improved: Database queries : optimized and better indexed for faster dashboards and lighter load on busy sites. * Improved: Performance : heartbeat/leave beacons now take a two-query fast path (no geo/bot re-computation), dashboard aggregates are bounded to the selected window, new indexes were added (created_at, ip_address+last_seen), and redundant count queries that ran on every visitor request were removed. * Improved: Bot detection no longer misclassifies real visitors who share a public IP (offices, mobile carriers, VPNs) as bots. * Improved: Visitor IP resolution is now spoof-resistant and Cloudflare/CDN-aware (CF-Connecting-IP, True-Client-IP); other proxies can opt in via WPLTA_TRUST_PROXY or the wplta_client_ip filter. * Improved: Geolocation now recognises more CDN headers (Cloudflare, AWS CloudFront, Google) and many more countries for map plotting; documented the filter for custom providers. * Fixed: Visitor tracking no longer stops on sites with full-page caching (removed the cached-nonce dependency that could silently drop data after the nonce expired). * Added: Data controls in Settings - a "show data from the last N months" window and an optional daily auto-cleanup with configurable retention, to keep the database small and the dashboard fast on busy sites. All-time page-view totals are always preserved. * Removed: Leftover unused files and a dead REST endpoint. = 2.2.3 = * Update : WordPress Version Compatibility . = 2.2.2 = * Fix: Minor CSS and JS improvements for smoother transitions. = 2.2.1 = * Fix: Minor CSS and JS improvements for smoother transitions. = 2.2.0 = * Improved: Active Users, Page Views, and Sessions metrics on the Overview tab are more stable and now link straight through to their detail tab. * Fixed: Bot Ratio tracking now shows accurate, real-time data consistently across accounts. * Improved: Unique Visitors tracking, with a quick link from the Overview tab to the Visitor Comparison view. * Redesigned: Settings moved from a popup into its own dedicated Settings tab. * Added: Database usage indicator in Settings, showing real-time storage used by the plugin's own tables. * Added: "Reset Data" option in Settings to permanently clear all tracked analytics data, with admin-only permissions and a confirmation step. * Improved: License activation is now a direct field in the License tab instead of a popup, and reactivating a license after deactivating one is more reliable. * Fixed: An admin-notices layout issue that could push unrelated WordPress notices into the plugin's dashboard. = 2.1.4 = * Fix: Minor CSS and JS improvements for smoother transitions. = 2.1.3 = * Improved : UI Design for dashboard. * Fix: Minor CSS and JS improvements for smoother transitions. = 2.1.0 = * Added configurable dashboard refresh and visitor heartbeat intervals. * Added Settings popup directly inside the analytics dashboard header. * Improved dashboard spacing, card padding, table alignment, and responsive layout polish. * Improved live activity visibility window so longer heartbeat intervals keep active visitor data consistent. = 2.0.0 = * Added advanced live traffic analytics dashboard experience. * Added Live Activity tracking with browser, device, referrer, and time-on-page data. * Added User Journey session path tracking. * Added Top Pages analytics with improved table presentation. * Added bot detection and bot analytics summary. * Added realtime world map visualization. * Added custom analytics tables for activity, sessions, and page stats. * Improved admin design, pagination, and dashboard structure. * Hardened request validation and tracking abuse protection. = 1.1.0 = * Added expanded analytics foundation and modular plugin structure. = 1.0.4 = * Initial lightweight live visitor tracking release. == Upgrade Notice == = 2.5.1 = Fixes visitor tracking, session and journey reliability, visible time measurement, trusted-proxy IP handling and Live Map counts. Large automatic cleanup backlogs continue in bounded batches. Existing records and saved preferences are preserved; no new database schema update is required. Custom proxy integrations must explicitly trust their forwarding headers. = 2.5.0 = Adds UTM campaign and 404 visit reports, improves report performance and tracking write safety, and runs database updates automatically. Progress notices clear when updates finish. Existing records and saved preferences are preserved. = 2.4.0 = Adds SEO search previews and site health checks, CSV/PDF reporting, an interactive live map and refreshed offer UI. SEO checks need no Search Console connection and do not measure Google rankings. = 2.2.0 = Fixes Bot Ratio incorrectly showing 0%, moves Settings into its own tab with a new database usage/reset data option, and improves License activation reliability. = 2.0.0 = Adds User Activity, User Journeys, Top Pages, Bot Analytics, and the realtime map. Back up your site before upgrading from 1.x.