[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fKSqysy6UNbrVrHuz2EBuw5egShQCd2Ww4VNcUibsl60":3,"$fpqQ0aaRrVAcY3iqEEjvPnpOP-L3B51xWg88BQxk4BEw":780,"$fNBVdSyflOwdQnC7c2e1_xWGwnb-8u4OeECfAvEkf8zQ":784},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":13,"last_updated":14,"tested_up_to":15,"requires_at_least":16,"requires_php":17,"tags":18,"homepage":24,"download_link":25,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28,"discovery_status":29,"vulnerabilities":30,"developer":31,"crawl_stats":27,"alternatives":38,"analysis":119,"fingerprints":760},"sfr-analytics","SFR Analytics","0.7.1","SupportFromRichard","https:\u002F\u002Fprofiles.wordpress.org\u002Fsupportfromrichard\u002F","\u003Cp>SFR Analytics is a self-hosted analytics plugin for WordPress. All visitor data is stored in your own database — nothing is sent to third-party services. No cookies, no external scripts, no tracking pixels.\u003C\u002Fp>\n\u003Cp>Get a clear picture of your site’s traffic without compromising your visitors’ privacy.\u003C\u002Fp>\n\u003Cp>Need a central multi-site dashboard? Use the free \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsfr-analytics-hub\u002F\" rel=\"ugc\">SFR Analytics Hub\u003C\u002Fa> plugin to aggregate analytics from multiple WordPress sites.\u003C\u002Fp>\n\u003Ch4>Dashboard at a Glance\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Views, Visitors, Sessions\u003C\u002Fstrong> — core metrics with period-over-period comparison\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Bounce Rate & Pages per Session\u003C\u002Fstrong> — engagement indicators\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Traffic Over Time\u003C\u002Fstrong> — interactive line chart with date range presets\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Top Content\u003C\u002Fstrong> — your most viewed posts and pages\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Traffic Sources\u003C\u002Fstrong> — where your visitors are coming from\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Top Referring Sites\u003C\u002Fstrong> — individual domains sending you traffic\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Entry & Exit Pages\u003C\u002Fstrong> — first and last pages in each visit\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Device Types\u003C\u002Fstrong> — desktop, mobile and tablet breakdown\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Browsers & Operating Systems\u003C\u002Fstrong> — which browsers and OS your visitors use\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Geographic Distribution\u003C\u002Fstrong> — visitor countries (only available if using a CDN like Cloudflare that provides country headers; all other tracking works without a CDN)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Campaign Performance\u003C\u002Fstrong> — UTM campaign results with source\u002Fmedium drill-down\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Online Now\u003C\u002Fstrong> — on-demand live visitor count with optional online-only auto-refresh in the dashboard\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>All dashboard sections are collapsible — show only what matters to you.\u003C\u002Fp>\n\u003Ch4>Campaign Manager & UTM Link Builder\u003C\u002Fh4>\n\u003Cp>Plan and track marketing campaigns without leaving WordPress:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Create campaigns\u003C\u002Fstrong> with notes and track their performance over time\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Build UTM links\u003C\u002Fstrong> with a visual tool — pick a page, choose source\u002Fmedium\u002Fcampaign, and get a ready-to-use URL\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Smart page picker\u003C\u002Fstrong> — search across all your content types with post type and category filtering\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Preset sources and mediums\u003C\u002Fstrong> — common options (Facebook, Google, newsletter, etc.) with clear descriptions\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Save generated links\u003C\u002Fstrong> for quick reference and reuse\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Custom sources and mediums\u003C\u002Fstrong> — add your own and they’re saved for next time\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Auto-lowercase\u003C\u002Fstrong> campaign names to prevent data fragmentation\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Smart Bot Detection\u003C\u002Fh4>\n\u003Cp>Not all traffic is human. SFR Analytics filters out noise automatically:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>200+ known bot patterns\u003C\u002Fstrong> — search engines, AI crawlers, SEO tools, monitoring bots, headless browsers, security scanners and more\u003C\u002Fli>\n\u003Cli>\u003Cstrong>JavaScript verification\u003C\u002Fstrong> — a lightweight inline script confirms real browser execution, so bots that don’t run JavaScript are never counted\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Missing header detection\u003C\u002Fstrong> — flags requests without User-Agent or Accept-Language headers\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Filterable patterns\u003C\u002Fstrong> — add your own via the \u003Ccode>sfran_bot_patterns\u003C\u002Fcode> filter\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>The dashboard shows you exactly how much traffic was filtered: total requests vs verified human visits.\u003C\u002Fp>\n\u003Ch4>Privacy First\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>No cookies\u003C\u002Fstrong> — visitor identification uses anonymous hashed fingerprints\u003C\u002Fli>\n\u003Cli>\u003Cstrong>No PII stored\u003C\u002Fstrong> — IP addresses are hashed (SHA-256), never stored in plain text\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Optional IP anonymisation\u003C\u002Fstrong> — strip the last octet before hashing\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Do Not Track support\u003C\u002Fstrong> — respects the browser DNT header when enabled\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Local storage only\u003C\u002Fstrong> — your data never leaves your server\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Configurable retention\u003C\u002Fstrong> — automatically delete data after 30 to 3,650 days\u003C\u002Fli>\n\u003Cli>\u003Cstrong>GDPR-ready privacy text\u003C\u002Fstrong> — copy-paste paragraph for your privacy policy\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>IP & Country Filtering\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Exclude specific IP addresses or CIDR ranges (e.g. \u003Ccode>192.168.1.0\u002F24\u003C\u002Fcode>)\u003C\u002Fli>\n\u003Cli>One-click “Ignore My IP” button\u003C\u002Fli>\n\u003Cli>Exclude entire countries by country code\u003C\u002Fli>\n\u003Cli>Exclude logged-in users by role (administrators, editors, etc.)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>REST API\u003C\u002Fh4>\n\u003Cp>A full set of authenticated REST API endpoints lets you access your analytics data programmatically:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>\u002Fsfran\u002Fv1\u002Fsummary\u003C\u002Fcode> — overview stats with optional comparison\u003C\u002Fli>\n\u003Cli>\u003Ccode>\u002Fsfran\u002Fv1\u002Ftop-content\u003C\u002Fcode> — most viewed content with pagination\u003C\u002Fli>\n\u003Cli>\u003Ccode>\u002Fsfran\u002Fv1\u002Ftraffic-sources\u003C\u002Fcode> — referrer breakdown\u003C\u002Fli>\n\u003Cli>\u003Ccode>\u002Fsfran\u002Fv1\u002Ftime-series\u003C\u002Fcode> — daily views\u002Fvisitors\u002Fsessions\u003C\u002Fli>\n\u003Cli>\u003Ccode>\u002Fsfran\u002Fv1\u002Fcampaigns\u003C\u002Fcode> — campaign performance\u003C\u002Fli>\n\u003Cli>\u003Ccode>\u002Fsfran\u002Fv1\u002Fentry-pages\u003C\u002Fcode> and \u003Ccode>\u002Fsfran\u002Fv1\u002Fexit-pages\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>\u002Fsfran\u002Fv1\u002Freferrers\u003C\u002Fcode> — top referring domains\u003C\u002Fli>\n\u003Cli>\u003Ccode>\u002Fsfran\u002Fv1\u002Fdevices\u003C\u002Fcode>, \u003Ccode>\u002Fsfran\u002Fv1\u002Fbrowsers\u003C\u002Fcode>, \u003Ccode>\u002Fsfran\u002Fv1\u002Fgeographic\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>\u002Fsfran\u002Fv1\u002Fonline-now\u003C\u002Fcode> — current active visitor count for the last N minutes (default 5)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>All endpoints require authentication (WordPress Application Passwords or other REST API auth) and the \u003Ccode>manage_options\u003C\u002Fcode> capability. Use these to build custom dashboards, export data, or integrate with other tools.\u003C\u002Fp>\n\u003Ch4>Performance\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Batch processing\u003C\u002Fstrong> — pageviews are buffered and written in batches, reducing database load\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Indexed tables\u003C\u002Fstrong> — optimised queries for fast dashboard rendering\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Lightweight frontend\u003C\u002Fstrong> — a single inline verification script, no external files loaded for visitors\u003C\u002Fli>\n\u003Cli>\u003Cstrong>No impact on page speed\u003C\u002Fstrong> — tracking uses \u003Ccode>navigator.sendBeacon\u003C\u002Fcode> (non-blocking)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Works with SFR Analytics Hub\u003C\u002Fh4>\n\u003Cp>SFR Analytics collects data on each individual site.\u003C\u002Fp>\n\u003Cp>For cross-site reporting, install the free \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsfr-analytics-hub\u002F\" rel=\"ugc\">SFR Analytics Hub\u003C\u002Fa> on your main site.\u003C\u002Fp>\n\u003Cp>With SFR Analytics Hub, you can also view \u003Cstrong>live online visitors across all connected sites\u003C\u002Fstrong> from one central dashboard.\u003C\u002Fp>\n\u003Cp>The WordPress.org Hub edition supports up to 3 connected sites.\u003C\u002Fp>\n\u003Cp>Need more than 3 sites with the same workflow? See \u003Ca href=\"https:\u002F\u002Fsupportfromrichard.co.uk\u002Fsfr-analytics\u002F\" rel=\"nofollow ugc\">SFR Analytics Hub Pro\u003C\u002Fa>.\u003C\u002Fp>\n","Lightweight, privacy-focused WordPress analytics. Track pageviews, visitors, campaigns and more — all data stored locally in your own database.",20,506,0,"2026-03-23T13:14:00.000Z","6.9.4","6.0","7.4",[19,20,21,22,23],"analytics","pageviews","privacy","statistics","tracking","https:\u002F\u002Fsupportfromrichard.co.uk\u002Fsfr-analytics\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsfr-analytics.0.7.1.zip",100,null,"2026-04-16T10:56:18.058Z","no_bundle",[],{"slug":32,"display_name":7,"profile_url":8,"plugin_count":33,"total_installs":34,"avg_security_score":26,"avg_patch_time_days":35,"trust_score":36,"computed_at":37},"supportfromrichard",7,70,30,94,"2026-05-20T02:05:40.945Z",[39,58,75,88,103],{"slug":40,"name":41,"version":42,"author":43,"author_profile":44,"description":45,"short_description":46,"active_installs":47,"downloaded":48,"rating":49,"num_ratings":50,"last_updated":51,"tested_up_to":15,"requires_at_least":52,"requires_php":53,"tags":54,"homepage":56,"download_link":57,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"statify","Statify","1.8.5","pluginkollektiv","https:\u002F\u002Fprofiles.wordpress.org\u002Fpluginkollektiv\u002F","\u003Cp>Statify provides a straightforward and compact access to the number of site views. It is privacy-friendly as it uses neither cookies nor a third party.\u003C\u002Fp>\n\u003Cp>An interactive chart is followed by lists of the most common reference sources and target pages. The period of statistics and length of lists can be set directly in the dashboard widget.\u003C\u002Fp>\n\u003Ch3>Data Privacy\u003C\u002Fh3>\n\u003Cp>In direct comparison to statistics services such as \u003Cem>Google Analytics\u003C\u002Fem>, \u003Cem>WordPress.com Stats\u003C\u002Fem> and \u003Cem>Matomo (Piwik)\u003C\u002Fem> \u003Cem>Statify\u003C\u002Fem> doesn’t process and store personal data as e.g. IP addresses – \u003Cem>Statify\u003C\u002Fem> counts site views, not visitors.\u003C\u002Fp>\n\u003Cp>Absolute privacy compliance coupled with transparent procedures: A locally in WordPress created database table consists of only four fields (ID, date, source, target) and can be viewed at any time, cleaned up and cleared by the administrator.\u003C\u002Fp>\n\u003Cp>Due to this tracking approach, Statify is 100% compliant with GDPR and serves as an lightweight alternative to other tracking services.\u003C\u002Fp>\n\u003Ch3>Display of the widget\u003C\u002Fh3>\n\u003Cp>The plugin configuration can be changed directly in the \u003Cem>Statify\u003C\u002Fem> Widget on the dashboard by clicking the \u003Cem>Configure\u003C\u002Fem> link.\u003C\u002Fp>\n\u003Cp>The amount of links shown in the \u003Cem>Statify\u003C\u002Fem> Widget can be set as well as the option to only count views from today. Of course, older entries are not deleted when changing this setting.\u003C\u002Fp>\n\u003Cp>The statistics for the dashboard widget are cached for four minutes.\u003C\u002Fp>\n\u003Ch3>Period of data saving\u003C\u002Fh3>\n\u003Cp>\u003Cem>Statify\u003C\u002Fem> stores the data only for a limited period (default: two weeks), longer intervals can be selected as option in the widget. Data which is older than the selected period is deleted by a daily cron job.\u003C\u002Fp>\n\u003Cp>An increase in the database volume can be expected because all statistic values are collected and managed in the local WordPress database (especially if you increase the period of data saving).\u003C\u002Fp>\n\u003Ch3>JavaScript tracking for caching compatibility\u003C\u002Fh3>\n\u003Cp>For compatibility with caching plugins like \u003Ca href=\"http:\u002F\u002Fcachify.de\" rel=\"nofollow ugc\">Cachify\u003C\u002Fa> \u003Cem>Statify\u003C\u002Fem> offers an optional switchable tracking via JavaScript. This function allows reliable count of cached blog pages.\u003C\u002Fp>\n\u003Cp>For this to work correctly, the active theme has to call \u003Ccode>wp_footer()\u003C\u002Fcode>, typically in a file named \u003Ccode>footer.php\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Ch3>Skip tracking for spam referrers\u003C\u002Fh3>\n\u003Cp>The comment blacklist can be enabled to skip tracking for views with a referrer URL listed in comment blacklist, i. e. which considered as spam.\u003C\u002Fp>\n\u003Ch3>Support\u003C\u002Fh3>\n\u003Cp>If you’ve problems or think you’ve found a bug (e.g. you’re experiencing unexpected behavior), please post at the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fstatify\" rel=\"ugc\">support forums\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>Contribute\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Active development of this plugin is handled \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fpluginkollektiv\u002Fstatify\" rel=\"nofollow ugc\">on GitHub\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>Pull requests for documented bugs are highly appreciated.\u003C\u002Fli>\n\u003Cli>If you want to help us translate this plugin you can do so \u003Ca href=\"https:\u002F\u002Ftranslate.wordpress.org\u002Fprojects\u002Fwp-plugins\u002Fstatify\" rel=\"nofollow ugc\">on WordPress Translate\u003C\u002Fa>.\u003C\u002Fli>\n\u003C\u002Ful>\n","Visitor statistics for WordPress with focus on data protection, transparency and clarity. Perfect as a widget in your WordPress Dashboard.",100000,2386433,96,50,"2025-12-21T16:02:00.000Z","4.7","5.2",[19,20,21,22,55],"stats","https:\u002F\u002Fstatify.pluginkollektiv.org\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fstatify.1.8.5.zip",{"slug":59,"name":60,"version":61,"author":62,"author_profile":63,"description":64,"short_description":65,"active_installs":26,"downloaded":66,"rating":26,"num_ratings":67,"last_updated":68,"tested_up_to":15,"requires_at_least":69,"requires_php":70,"tags":71,"homepage":73,"download_link":74,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"simple-webstats","Simple Webstats","2.0.2","Blucube","https:\u002F\u002Fprofiles.wordpress.org\u002Fedhicks\u002F","\u003Cp>Simple Webstats is an easy to use, privacy-focused web analytics solution for WordPress. Gain insights into how your website is used without sacrificing your visitors privacy.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>No personal data or personally identifiable information (PII) collected.\u003C\u002Fli>\n\u003Cli>No cookies.\u003C\u002Fli>\n\u003Cli>No cross-site tracking.\u003C\u002Fli>\n\u003Cli>Data is stored in your own WordPress database and is owned by you.\u003C\u002Fli>\n\u003C\u002Ful>\n","Privacy-focused cookie-free web analytics for WordPress.",2074,1,"2025-12-05T11:40:00.000Z","4.6","7.3",[19,21,22,23,72],"webstats","","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsimple-webstats.2.0.2.zip",{"slug":76,"name":77,"version":78,"author":79,"author_profile":80,"description":81,"short_description":82,"active_installs":50,"downloaded":83,"rating":26,"num_ratings":67,"last_updated":84,"tested_up_to":15,"requires_at_least":85,"requires_php":17,"tags":86,"homepage":73,"download_link":87,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"webful","WEBFUL Analytics","2.5.3","webfulchris","https:\u002F\u002Fprofiles.wordpress.org\u002Fwebfulchris\u002F","\u003Cp>WEBFUL Analytics is a WordPress plugin that allows you to easily track your website statistics without slowing down your pages.\u003C\u002Fp>\n\u003Ch4>Key Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Ultra-lightweight\u003C\u002Fstrong>: Tracking script under 1 KB, no impact on your site speed\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Privacy-friendly\u003C\u002Fstrong>: No cookies, GDPR compliant by design\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Simple installation\u003C\u002Fstrong>: Connect with your WEBFUL credentials and you’re done!\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Complete dashboard\u003C\u002Fstrong>: Access all your statistics from your WEBFUL account\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Quota management\u003C\u002Fstrong>: Automatic verification of your page views quota\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Flexible configuration\u003C\u002Fstrong>: Enable\u002Fdisable tracking with one click\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Tracking Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Page views tracking\u003C\u002Fli>\n\u003Cli>Unique visitors analysis\u003C\u002Fli>\n\u003Cli>Time spent calculation on each page\u003C\u002Fli>\n\u003Cli>Traffic sources detection (referrers)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Automatic conversion tracking\u003C\u002Fstrong> (phone clicks, email clicks, form submissions)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Conversion pages detection\u003C\u002Fstrong> (contact, thank you, confirmation)\u003C\u002Fli>\n\u003Cli>Real-time statistics\u003C\u002Fli>\n\u003Cli>Detailed reports by day, week, month\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Advanced WEBFUL Platform Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Evolution Score\u003C\u002Fstrong>: Track your site’s progression with a score out of 100 (7d, 30d, 365d)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>SEO Analysis\u003C\u002Fstrong>: Analyze your pages with 16 SEO criteria and get personalized recommendations (paid accounts)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>PDF Export\u003C\u002Fstrong>: Download your statistics as professional PDF with logo and charts\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Public sharing\u003C\u002Fstrong>: Generate secure sharing links to show your stats to clients\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Interactive charts\u003C\u002Fstrong>: Zoom and navigate through your traffic history\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Automatic alerts\u003C\u002Fstrong>: Receive notifications for traffic drops or inactivity\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Multi-sites\u003C\u002Fstrong>: Manage multiple sites from a single account (depending on your plan)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Why Choose WEBFUL?\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Performance\u003C\u002Fstrong>: No slowdown of your site\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Simplicity\u003C\u002Fstrong>: 2-minute installation\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Reliability\u003C\u002Fstrong>: Robust and secure infrastructure\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Support\u003C\u002Fstrong>: Responsive French team\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Requirements\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>A WEBFUL account (free or paid)\u003C\u002Fli>\n\u003Cli>WordPress 5.0 or higher\u003C\u002Fli>\n\u003Cli>PHP 7.4 or higher\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Support\u003C\u002Fh3>\n\u003Cp>For any questions or issues:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Visit \u003Ca href=\"https:\u002F\u002Fwebful.fr\" rel=\"nofollow ugc\">webful.fr\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Send an email to support@webful.fr\u003C\u002Fli>\n\u003Cli>Check the documentation at \u003Ca href=\"https:\u002F\u002Fwebful.fr\u002Fdocumentation.php\" rel=\"nofollow ugc\">webful.fr\u002Fdocumentation\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Development\u003C\u002Fh3>\n\u003Cp>This plugin is developed and maintained by the WEBFUL team.\u003C\u002Fp>\n\u003Cp>Source code: \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fwebful\u002Fwordpress-plugin\" rel=\"nofollow ugc\">GitHub\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Privacy Policy\u003C\u002Fh3>\n\u003Cp>WEBFUL Analytics respects your privacy and your visitors’ privacy:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>No cookies are used\u003C\u002Fli>\n\u003Cli>No personally identifiable data is collected\u003C\u002Fli>\n\u003Cli>IP addresses are irreversibly hashed\u003C\u002Fli>\n\u003Cli>GDPR compliant by design\u003C\u002Fli>\n\u003Cli>Data stored in France\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>For more information, see our \u003Ca href=\"https:\u002F\u002Fwebful.fr\u002Fpolitique-confidentialite\" rel=\"nofollow ugc\">privacy policy\u003C\u002Fa>.\u003C\u002Fp>\n","Ultra-lightweight and privacy-friendly traffic analytics system for your WordPress site.",416,"2026-03-07T22:24:00.000Z","5.0",[19,21,22,23,76],"https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwebful.2.5.3.zip",{"slug":89,"name":90,"version":91,"author":90,"author_profile":92,"description":93,"short_description":94,"active_installs":95,"downloaded":96,"rating":26,"num_ratings":97,"last_updated":98,"tested_up_to":15,"requires_at_least":99,"requires_php":17,"tags":100,"homepage":73,"download_link":102,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"scoby-analytics","Scoby Analytics","3.2.7","https:\u002F\u002Fprofiles.wordpress.org\u002Fscobyio\u002F","\u003Cp>Scoby Analytics is a privacy-focused analytics plugin for WordPress. It is designed to provide website operators with actionable usage statistics \u003Cstrong>without using cookies, device fingerprinting, or cross-site identifiers\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Cp>The WordPress integration is a \u003Cstrong>lightweight, client-side integration\u003C\u002Fstrong> that prioritizes visitor privacy. Scoby’s goal is to enable analytics in a way that can typically be operated under \u003Cstrong>legitimate interest\u003C\u002Fstrong> (Art. 6(1)(f) GDPR) and \u003Cstrong>without consent banners\u003C\u002Fstrong>, provided it is used as intended and configured appropriately. Scoby does not provide legal advice; always assess your specific setup with your DPO\u002Flegal counsel. We’re happy to answer their questions at \u003Ca href=\"mailto:hello@scoby.io\" rel=\"nofollow ugc\">hello@scoby.io\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Privacy approach (GDPR \u002F ePrivacy)\u003C\u002Fh3>\n\u003Cp>Scoby is designed around the following principles:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>No cookies \u002F no storage on the user device\u003C\u002Fstrong> (relevant for ePrivacy \u002F TDDDG)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>No device fingerprinting\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>No user profiles or cross-site tracking\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Anonymization before transmission\u003C\u002Fstrong> and \u003Cstrong>aggregated storage\u003C\u002Fstrong> (no individual-level analytics)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>This means Scoby is not trying to “optimize consent rates”. Instead, it aims to reduce or avoid regulated processing operations in the first place by keeping analytics \u003Cstrong>non-identifying\u003C\u002Fstrong> and \u003Cstrong>aggregate\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Ch3>What Scoby measures\u003C\u002Fh3>\n\u003Cp>Scoby provides aggregated statistics such as:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Page views and visits\u003C\u002Fli>\n\u003Cli>Entry\u002Fexit pages and content performance\u003C\u002Fli>\n\u003Cli>Engagement metrics (e.g., time-spent distributions\u002Fpercentiles)\u003C\u002Fli>\n\u003Cli>Conversion events (depending on your setup)\u003C\u002Fli>\n\u003Cli>Referrers and traffic sources (without persistent identifiers)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>What Scoby does not do\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>No cookies\u003C\u002Fli>\n\u003Cli>No device fingerprinting\u003C\u002Fli>\n\u003Cli>No cross-site tracking\u003C\u002Fli>\n\u003Cli>No user\u002Fdevice profiles\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Reporting & exports\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>WordPress dashboard reporting\u003C\u002Fli>\n\u003Cli>Export to \u003Ccode>.xlsx\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Integrations with BI tools (e.g., Looker Studio, PowerBI, Tableau)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Third Party Services\u003C\u002Fh3>\n\u003Cp>Scoby Analytics uses Scoby-operated servers for analytics processing.\u003C\u002Fp>\n\u003Ch3>Service Used\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Service:\u003C\u002Fstrong> Scoby Analytics Servers\u003Cbr \u002F>\n\u003Cstrong>Purpose:\u003C\u002Fstrong> Capture, process, and store website usage statistics in an anonymized and aggregated form to provide analytics reporting.\u003C\u002Fp>\n\u003Ch3>Data Handling and Privacy\u003C\u002Fh3>\n\u003Cp>– \u003Cstrong>Anonymization prior to transmission:\u003C\u002Fstrong> Page views and associated metrics are anonymized before being transmitted to Scoby Analytics servers.\u003Cbr \u002F>\n– \u003Cstrong>Aggregation:\u003C\u002Fstrong> Stored data is aggregated and not intended to relate to identifiable individuals.\u003Cbr \u002F>\n– \u003Cstrong>No personal identifiers:\u003C\u002Fstrong> Scoby is designed to avoid collecting or storing identifiers such as cookies, fingerprinting signals, or IP addresses.\u003C\u002Fp>\n\u003Ch3>Transparency and further information\u003C\u002Fh3>\n\u003Cp>– Service information: https:\u002F\u002Fwww.scoby.io\u002F\u003Cbr \u002F>\n– Terms of Use: https:\u002F\u002Fwww.scoby.io\u002Fterms\u003Cbr \u002F>\n– Privacy Policy: https:\u002F\u002Fwww.scoby.io\u002Fprivacy\u003C\u002Fp>\n","Privacy-focused analytics for WordPress — designed to minimize data protection risk under EU GDPR and ePrivacy.",40,1596,2,"2026-01-17T09:02:00.000Z","5.3",[19,101,20,21,22],"gdpr","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fscoby-analytics.3.2.7.zip",{"slug":104,"name":105,"version":106,"author":107,"author_profile":108,"description":109,"short_description":110,"active_installs":35,"downloaded":111,"rating":13,"num_ratings":13,"last_updated":112,"tested_up_to":15,"requires_at_least":113,"requires_php":114,"tags":115,"homepage":73,"download_link":118,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"easy-media-statistics","Easy Media Statistics","1.0.8","Jürgen Müller","https:\u002F\u002Fprofiles.wordpress.org\u002Fjuergen74\u002F","\u003Cp>Easy Media Statistics, a solution for tracking and analyzing audio and video engagement on your website. With this plugin, you’ll gain valuable insights into how visitors interact with your media content, including daily play statistics, in-depth analysis of each file, and a top ten of the most played media. Take advantage of the autoplay feature to create an immersive experience for your audience. Note that this plugin only tracks audio and video files hosted directly on your website – it does not support embedded content from third-party sources like YouTube or Vimeo (after all, you can already access those statistics through their respective platforms).\u003C\u002Fp>\n\u003Ch3>Media Insights and Analytics\u003C\u002Fh3>\n\u003Cp>Get valuable insights into how your website visitors engage with audio and video content. This plugin provides detailed statistics on which days specific media files were played, including information on which parts of each file were most popular.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Daily Play Statistics:\u003C\u002Fstrong> See when and how often individual media files are being played.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>In-Depth Media Analysis:\u003C\u002Fstrong> Discover which sections of your audio or video files are the most engaging for your audience.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Top Ten Most Played Media:\u003C\u002Fstrong> Identify the most popular content on your website.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Dashboard Widget\u003C\u002Fh3>\n\u003Cp>Stay up-to-date with how many clients have engaged with your media since your last logout. The dashboard widget provides a quick glance at:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Total Views and Plays:\u003C\u002Fstrong> See how many users have watched or listened to your audio\u002Fvideo files.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Up-to-date:\u003C\u002Fstrong> Get notified as new views and plays are recorded.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Settings\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Autoplay Feature:\u003C\u002Fstrong> Take advantage of our autoplay feature and let visitors seamlessly transition from one media file to another when they reach the end of their current selection. Perfect for creating an immersive experience on your website!\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Tracking option:\u003C\u002Fstrong> Choose when you want to track only logged-out users or everyone.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Privacy-friendly\u003C\u002Fh3>\n\u003Cp>Easy Media Statistics does not set any cookies and is not storing any private data. Instead, it uses a unique MD5 hash of each visitor’s IP address to track engagement anonymously – giving you the insights you need without compromising user privacy.\u003C\u002Fp>\n\u003Cp>With these features, you’ll gain a deeper understanding of how your audience interacts with your audio and video content, allowing you to optimize your strategy and improve engagement.\u003C\u002Fp>\n","Get detailed insights into visitors behavior when they listen to audio or view videos on your site - privacy-friendly.",732,"2025-12-23T11:10:00.000Z","6.2","7.2",[19,116,117,22,23],"media","privacy-friendly","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Feasy-media-statistics.1.0.8.zip",{"attackSurface":120,"codeSignals":302,"taintFlows":424,"riskAssessment":753,"analyzedAt":759},{"hooks":121,"ajaxHandlers":190,"restRoutes":226,"shortcodes":297,"cronEvents":298,"entryPointCount":207,"unprotectedCount":13},[122,128,132,135,138,142,146,150,154,158,163,167,171,176,181,184],{"type":123,"name":124,"callback":125,"file":126,"line":127},"action","admin_menu","add_menu","includes\\class-sfran-admin.php",19,{"type":123,"name":129,"callback":130,"file":126,"line":131},"admin_init","check_tables",27,{"type":123,"name":129,"callback":133,"file":126,"line":134},"handle_settings_save",28,{"type":123,"name":129,"callback":136,"file":126,"line":137},"handle_gdpr_actions",29,{"type":123,"name":139,"callback":140,"priority":67,"file":126,"line":141},"admin_notices","check_tables_early",32,{"type":123,"name":143,"callback":144,"file":126,"line":145},"init","schedule_cleanup",35,{"type":123,"name":147,"callback":148,"file":126,"line":149},"sfran_cleanup_old_data","cleanup_old_data",36,{"type":123,"name":151,"callback":152,"file":153,"line":127},"admin_enqueue_scripts","enqueue_admin","includes\\class-sfran-assets.php",{"type":123,"name":155,"callback":156,"file":157,"line":127},"rest_api_init","register_routes","includes\\class-sfran-rest-api.php",{"type":123,"name":159,"callback":160,"priority":67,"file":161,"line":162},"template_redirect","track_pageview","includes\\class-sfran-tracker.php",46,{"type":123,"name":164,"callback":165,"file":161,"line":166},"shutdown","flush_buffer",47,{"type":123,"name":168,"callback":169,"file":161,"line":170},"sfran_process_buffer","process_buffer",48,{"type":123,"name":172,"callback":173,"priority":174,"file":161,"line":175},"wp_footer","output_verification_script",999,51,{"type":123,"name":177,"callback":178,"file":179,"line":180},"plugins_loaded","sfran_init","sfr-analytics.php",74,{"type":123,"name":139,"callback":182,"file":179,"line":183},"closure",149,{"type":185,"name":186,"callback":187,"priority":188,"file":179,"line":189},"filter","plugin_row_meta","sfran_plugin_row_meta",10,175,[191,196,200,204,208,212,216,220,224],{"action":192,"nopriv":193,"callback":194,"hasNonce":195,"hasCapCheck":195,"file":126,"line":11},"sfran_test_api",false,"ajax_test_api",true,{"action":197,"nopriv":193,"callback":198,"hasNonce":195,"hasCapCheck":195,"file":126,"line":199},"sfran_toggle_table","ajax_toggle_table",21,{"action":201,"nopriv":193,"callback":202,"hasNonce":195,"hasCapCheck":195,"file":126,"line":203},"sfran_delete_user_data","ajax_delete_user_data",22,{"action":205,"nopriv":193,"callback":206,"hasNonce":195,"hasCapCheck":195,"file":126,"line":207},"sfran_export_user_data","ajax_export_user_data",23,{"action":209,"nopriv":193,"callback":210,"hasNonce":195,"hasCapCheck":195,"file":126,"line":211},"sfran_search_posts","ajax_search_posts",24,{"action":213,"nopriv":193,"callback":214,"hasNonce":195,"hasCapCheck":195,"file":126,"line":215},"sfran_get_taxonomies","ajax_get_taxonomies",25,{"action":217,"nopriv":193,"callback":218,"hasNonce":195,"hasCapCheck":195,"file":126,"line":219},"sfran_get_online_now","ajax_get_online_now",26,{"action":221,"nopriv":193,"callback":222,"hasNonce":195,"hasCapCheck":193,"file":161,"line":223},"sfran_verify","ajax_verify_pageview",52,{"action":221,"nopriv":195,"callback":222,"hasNonce":195,"hasCapCheck":193,"file":161,"line":225},53,[227,234,238,243,247,252,257,262,267,272,277,282,287,292],{"namespace":228,"route":229,"methods":230,"callback":232,"permissionCallback":233,"file":157,"line":131},"sfran\u002Fv1","\u002Fsummary",[231],"GET","get_summary","check_permission",{"namespace":228,"route":235,"methods":236,"callback":237,"permissionCallback":233,"file":157,"line":145},"\u002Ftop-content",[231],"get_top_content",{"namespace":228,"route":239,"methods":240,"callback":241,"permissionCallback":233,"file":157,"line":242},"\u002Ftraffic-sources",[231],"get_traffic_sources",43,{"namespace":228,"route":244,"methods":245,"callback":246,"permissionCallback":233,"file":157,"line":175},"\u002Ftime-series",[231],"get_time_series",{"namespace":228,"route":248,"methods":249,"callback":250,"permissionCallback":233,"file":157,"line":251},"\u002Fcampaigns",[231],"get_campaigns",59,{"namespace":228,"route":253,"methods":254,"callback":255,"permissionCallback":233,"file":157,"line":256},"\u002Fentry-pages",[231],"get_entry_pages",67,{"namespace":228,"route":258,"methods":259,"callback":260,"permissionCallback":233,"file":157,"line":261},"\u002Fexit-pages",[231],"get_exit_pages",75,{"namespace":228,"route":263,"methods":264,"callback":265,"permissionCallback":233,"file":157,"line":266},"\u002Freferrers",[231],"get_referrers",83,{"namespace":228,"route":268,"methods":269,"callback":270,"permissionCallback":233,"file":157,"line":271},"\u002Fdevices",[231],"get_devices",91,{"namespace":228,"route":273,"methods":274,"callback":275,"permissionCallback":233,"file":157,"line":276},"\u002Fbrowsers",[231],"get_browsers",99,{"namespace":228,"route":278,"methods":279,"callback":280,"permissionCallback":233,"file":157,"line":281},"\u002Fgeographic",[231],"get_geographic",107,{"namespace":228,"route":283,"methods":284,"callback":285,"permissionCallback":233,"file":157,"line":286},"\u002Fbulk",[231],"get_bulk",115,{"namespace":228,"route":288,"methods":289,"callback":290,"permissionCallback":233,"file":157,"line":291},"\u002Fdaily",[231],"get_daily",123,{"namespace":228,"route":293,"methods":294,"callback":295,"permissionCallback":233,"file":157,"line":296},"\u002Fonline-now",[231],"get_online_now",131,[],[299,301],{"hook":147,"callback":147,"file":126,"line":300},44,{"hook":168,"callback":168,"file":179,"line":291},{"dangerousFunctions":303,"sqlUsage":304,"outputEscaping":337,"fileOperations":13,"externalRequests":13,"nonceChecks":219,"capabilityChecks":215,"bundledLibraries":423},[],{"prepared":305,"raw":306,"locations":307},105,13,[308,312,315,317,319,321,323,326,328,330,332,334,335],{"file":309,"line":310,"context":311},"admin\\views\\campaigns.php",65,"$wpdb->get_results() with variable interpolation",{"file":126,"line":313,"context":314},780,"$wpdb->query() with variable interpolation",{"file":126,"line":316,"context":314},786,{"file":126,"line":318,"context":314},792,{"file":161,"line":320,"context":314},900,{"file":322,"line":300,"context":314},"includes\\functions.php",{"file":324,"line":325,"context":314},"uninstall.php",31,{"file":324,"line":327,"context":314},33,{"file":324,"line":329,"context":314},37,{"file":324,"line":331,"context":314},39,{"file":324,"line":333,"context":314},41,{"file":324,"line":242,"context":314},{"file":324,"line":336,"context":314},45,{"escaped":338,"rawEcho":95,"locations":339},380,[340,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,376,378,380,382,384,386,388,390,392,394,396,399,401,403,405,407,409,411,413,415,417,419,421],{"file":341,"line":342,"context":343},"admin\\views\\dashboard.php",82,"raw output",{"file":341,"line":345,"context":343},86,{"file":341,"line":347,"context":343},93,{"file":341,"line":349,"context":343},97,{"file":341,"line":351,"context":343},104,{"file":341,"line":353,"context":343},108,{"file":341,"line":355,"context":343},116,{"file":341,"line":357,"context":343},122,{"file":341,"line":359,"context":343},128,{"file":341,"line":361,"context":343},245,{"file":341,"line":363,"context":343},246,{"file":341,"line":365,"context":343},247,{"file":341,"line":367,"context":343},456,{"file":341,"line":369,"context":343},457,{"file":341,"line":371,"context":343},458,{"file":341,"line":373,"context":343},516,{"file":341,"line":375,"context":343},517,{"file":341,"line":377,"context":343},552,{"file":341,"line":379,"context":343},553,{"file":341,"line":381,"context":343},608,{"file":341,"line":383,"context":343},609,{"file":341,"line":385,"context":343},610,{"file":341,"line":387,"context":343},641,{"file":341,"line":389,"context":343},642,{"file":341,"line":391,"context":343},643,{"file":341,"line":393,"context":343},700,{"file":341,"line":395,"context":343},701,{"file":397,"line":398,"context":343},"admin\\views\\settings.php",81,{"file":397,"line":400,"context":343},84,{"file":397,"line":402,"context":343},117,{"file":397,"line":404,"context":343},120,{"file":397,"line":406,"context":343},162,{"file":397,"line":408,"context":343},165,{"file":126,"line":410,"context":343},523,{"file":126,"line":412,"context":343},555,{"file":126,"line":414,"context":343},570,{"file":126,"line":416,"context":343},584,{"file":126,"line":418,"context":343},596,{"file":126,"line":420,"context":343},627,{"file":126,"line":422,"context":343},640,[],[425,441,453,472,482,494,506,524,668],{"entryPoint":426,"graph":427,"unsanitizedCount":13,"severity":440},"\u003Csettings> (admin\\views\\settings.php:0)",{"nodes":428,"edges":438},[429,433],{"id":430,"type":431,"label":432,"file":397,"line":225},"n0","source","$_POST (x6)",{"id":434,"type":435,"label":436,"file":397,"line":261,"wp_function":437},"n1","sink","echo() [XSS]","echo",[439],{"from":430,"to":434,"sanitized":195},"low",{"entryPoint":442,"graph":443,"unsanitizedCount":13,"severity":440},"render_settings (includes\\class-sfran-admin.php:510)",{"nodes":444,"edges":451},[445,448],{"id":430,"type":431,"label":446,"file":126,"line":447},"$_POST (x3)",513,{"id":434,"type":435,"label":449,"file":126,"line":375,"wp_function":450},"update_option() [Settings Manipulation]","update_option",[452],{"from":430,"to":434,"sanitized":195},{"entryPoint":454,"graph":455,"unsanitizedCount":13,"severity":440},"render_campaigns (includes\\class-sfran-admin.php:532)",{"nodes":456,"edges":469},[457,460,464,466],{"id":430,"type":431,"label":458,"file":126,"line":459},"$_POST",542,{"id":434,"type":435,"label":461,"file":126,"line":462,"wp_function":463},"get_var() [SQLi]",548,"get_var",{"id":465,"type":431,"label":458,"file":126,"line":459},"n2",{"id":467,"type":435,"label":436,"file":126,"line":468,"wp_function":437},"n3",563,[470,471],{"from":430,"to":434,"sanitized":195},{"from":465,"to":467,"sanitized":195},{"entryPoint":473,"graph":474,"unsanitizedCount":13,"severity":440},"handle_settings_save (includes\\class-sfran-admin.php:673)",{"nodes":475,"edges":480},[476,478],{"id":430,"type":431,"label":446,"file":126,"line":477},679,{"id":434,"type":435,"label":449,"file":126,"line":479,"wp_function":450},686,[481],{"from":430,"to":434,"sanitized":195},{"entryPoint":483,"graph":484,"unsanitizedCount":13,"severity":440},"ajax_verify_pageview (includes\\class-sfran-tracker.php:334)",{"nodes":485,"edges":492},[486,488],{"id":430,"type":431,"label":458,"file":161,"line":487},341,{"id":434,"type":435,"label":489,"file":161,"line":490,"wp_function":491},"query() [SQLi]",354,"query",[493],{"from":430,"to":434,"sanitized":195},{"entryPoint":495,"graph":496,"unsanitizedCount":13,"severity":440},"\u003Cclass-sfran-tracker> (includes\\class-sfran-tracker.php:0)",{"nodes":497,"edges":503},[498,500,501,502],{"id":430,"type":431,"label":499,"file":161,"line":487},"$_POST (x2)",{"id":434,"type":435,"label":489,"file":161,"line":490,"wp_function":491},{"id":465,"type":431,"label":458,"file":161,"line":487},{"id":467,"type":435,"label":461,"file":161,"line":477,"wp_function":463},[504,505],{"from":430,"to":434,"sanitized":195},{"from":465,"to":467,"sanitized":195},{"entryPoint":507,"graph":508,"unsanitizedCount":67,"severity":523},"\u003Ccampaigns> (admin\\views\\campaigns.php:0)",{"nodes":509,"edges":520},[510,513,517,519],{"id":430,"type":431,"label":511,"file":309,"line":512},"$_GET",76,{"id":434,"type":435,"label":514,"file":309,"line":515,"wp_function":516},"get_row() [SQLi]",78,"get_row",{"id":465,"type":431,"label":518,"file":309,"line":512},"$_GET (x3)",{"id":467,"type":435,"label":436,"file":309,"line":349,"wp_function":437},[521,522],{"from":430,"to":434,"sanitized":193},{"from":465,"to":467,"sanitized":195},"high",{"entryPoint":525,"graph":526,"unsanitizedCount":306,"severity":523},"render_dashboard (includes\\class-sfran-admin.php:357)",{"nodes":527,"edges":641},[528,530,533,535,537,540,543,546,549,554,557,560,562,565,568,571,574,577,580,583,586,589,592,595,598,601,604,606,609,612,615,618,621,624,627,630,633,635,638],{"id":430,"type":431,"label":511,"file":126,"line":529},376,{"id":434,"type":531,"label":532,"file":126,"line":529},"transform","→ sfran_calculate_summary_stats()",{"id":465,"type":435,"label":514,"file":322,"line":534,"wp_function":516},201,{"id":467,"type":431,"label":511,"file":126,"line":536},391,{"id":538,"type":531,"label":539,"file":126,"line":536},"n4","→ sfran_calculate_additional_metrics()",{"id":541,"type":435,"label":514,"file":322,"line":542,"wp_function":516},"n5",808,{"id":544,"type":431,"label":511,"file":126,"line":545},"n6",397,{"id":547,"type":531,"label":548,"file":126,"line":545},"n7","→ sfran_get_time_series()",{"id":550,"type":435,"label":551,"file":322,"line":552,"wp_function":553},"n8","get_results() [SQLi]",359,"get_results",{"id":555,"type":431,"label":511,"file":126,"line":556},"n9",403,{"id":558,"type":531,"label":559,"file":126,"line":556},"n10","→ sfran_get_device_breakdown()",{"id":561,"type":435,"label":551,"file":322,"line":536,"wp_function":553},"n11",{"id":563,"type":431,"label":511,"file":126,"line":564},"n12",409,{"id":566,"type":531,"label":567,"file":126,"line":564},"n13","→ sfran_get_expanded_traffic_sources()",{"id":569,"type":435,"label":514,"file":322,"line":570,"wp_function":516},"n14",442,{"id":572,"type":431,"label":511,"file":126,"line":573},"n15",415,{"id":575,"type":531,"label":576,"file":126,"line":573},"n16","→ sfran_get_geographic_breakdown()",{"id":578,"type":435,"label":551,"file":322,"line":579,"wp_function":553},"n17",565,{"id":581,"type":431,"label":511,"file":126,"line":582},"n18",421,{"id":584,"type":531,"label":585,"file":126,"line":582},"n19","→ sfran_get_entry_pages()",{"id":587,"type":435,"label":551,"file":322,"line":588,"wp_function":553},"n20",611,{"id":590,"type":431,"label":511,"file":126,"line":591},"n21",427,{"id":593,"type":531,"label":594,"file":126,"line":591},"n22","→ sfran_get_exit_pages()",{"id":596,"type":435,"label":551,"file":322,"line":597,"wp_function":553},"n23",645,{"id":599,"type":431,"label":511,"file":126,"line":600},"n24",433,{"id":602,"type":531,"label":603,"file":126,"line":600},"n25","→ sfran_get_browser_breakdown()",{"id":605,"type":435,"label":551,"file":322,"line":477,"wp_function":553},"n26",{"id":607,"type":431,"label":511,"file":126,"line":608},"n27",439,{"id":610,"type":531,"label":611,"file":126,"line":608},"n28","→ sfran_get_os_breakdown()",{"id":613,"type":435,"label":551,"file":322,"line":614,"wp_function":553},"n29",712,{"id":616,"type":431,"label":511,"file":126,"line":617},"n30",445,{"id":619,"type":531,"label":620,"file":126,"line":617},"n31","→ sfran_get_filtered_traffic_stats()",{"id":622,"type":435,"label":514,"file":322,"line":623,"wp_function":516},"n32",750,{"id":625,"type":431,"label":511,"file":126,"line":626},"n33",451,{"id":628,"type":531,"label":629,"file":126,"line":626},"n34","→ sfran_get_campaign_stats()",{"id":631,"type":435,"label":551,"file":322,"line":632,"wp_function":553},"n35",893,{"id":634,"type":431,"label":511,"file":126,"line":369},"n36",{"id":636,"type":531,"label":637,"file":126,"line":369},"n37","→ sfran_get_top_referrers()",{"id":639,"type":435,"label":551,"file":322,"line":640,"wp_function":553},"n38",957,[642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667],{"from":430,"to":434,"sanitized":193},{"from":434,"to":465,"sanitized":193},{"from":467,"to":538,"sanitized":193},{"from":538,"to":541,"sanitized":193},{"from":544,"to":547,"sanitized":193},{"from":547,"to":550,"sanitized":193},{"from":555,"to":558,"sanitized":193},{"from":558,"to":561,"sanitized":193},{"from":563,"to":566,"sanitized":193},{"from":566,"to":569,"sanitized":193},{"from":572,"to":575,"sanitized":193},{"from":575,"to":578,"sanitized":193},{"from":581,"to":584,"sanitized":193},{"from":584,"to":587,"sanitized":193},{"from":590,"to":593,"sanitized":193},{"from":593,"to":596,"sanitized":193},{"from":599,"to":602,"sanitized":193},{"from":602,"to":605,"sanitized":193},{"from":607,"to":610,"sanitized":193},{"from":610,"to":613,"sanitized":193},{"from":616,"to":619,"sanitized":193},{"from":619,"to":622,"sanitized":193},{"from":625,"to":628,"sanitized":193},{"from":628,"to":631,"sanitized":193},{"from":634,"to":636,"sanitized":193},{"from":636,"to":639,"sanitized":193},{"entryPoint":669,"graph":670,"unsanitizedCount":306,"severity":523},"\u003Cclass-sfran-admin> (includes\\class-sfran-admin.php:0)",{"nodes":671,"edges":723},[672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,713,715,717,719,721],{"id":430,"type":431,"label":432,"file":126,"line":447},{"id":434,"type":435,"label":449,"file":126,"line":375,"wp_function":450},{"id":465,"type":431,"label":458,"file":126,"line":459},{"id":467,"type":435,"label":461,"file":126,"line":462,"wp_function":463},{"id":538,"type":431,"label":458,"file":126,"line":459},{"id":541,"type":435,"label":436,"file":126,"line":468,"wp_function":437},{"id":544,"type":431,"label":511,"file":126,"line":529},{"id":547,"type":531,"label":532,"file":126,"line":529},{"id":550,"type":435,"label":514,"file":322,"line":534,"wp_function":516},{"id":555,"type":431,"label":511,"file":126,"line":536},{"id":558,"type":531,"label":539,"file":126,"line":536},{"id":561,"type":435,"label":514,"file":322,"line":542,"wp_function":516},{"id":563,"type":431,"label":511,"file":126,"line":545},{"id":566,"type":531,"label":548,"file":126,"line":545},{"id":569,"type":435,"label":551,"file":322,"line":552,"wp_function":553},{"id":572,"type":431,"label":511,"file":126,"line":556},{"id":575,"type":531,"label":559,"file":126,"line":556},{"id":578,"type":435,"label":551,"file":322,"line":536,"wp_function":553},{"id":581,"type":431,"label":511,"file":126,"line":564},{"id":584,"type":531,"label":567,"file":126,"line":564},{"id":587,"type":435,"label":514,"file":322,"line":570,"wp_function":516},{"id":590,"type":431,"label":511,"file":126,"line":573},{"id":593,"type":531,"label":576,"file":126,"line":573},{"id":596,"type":435,"label":551,"file":322,"line":579,"wp_function":553},{"id":599,"type":431,"label":511,"file":126,"line":582},{"id":602,"type":531,"label":585,"file":126,"line":582},{"id":605,"type":435,"label":551,"file":322,"line":588,"wp_function":553},{"id":607,"type":431,"label":511,"file":126,"line":591},{"id":610,"type":531,"label":594,"file":126,"line":591},{"id":613,"type":435,"label":551,"file":322,"line":597,"wp_function":553},{"id":616,"type":431,"label":511,"file":126,"line":600},{"id":619,"type":531,"label":603,"file":126,"line":600},{"id":622,"type":435,"label":551,"file":322,"line":477,"wp_function":553},{"id":625,"type":431,"label":511,"file":126,"line":608},{"id":628,"type":531,"label":611,"file":126,"line":608},{"id":631,"type":435,"label":551,"file":322,"line":614,"wp_function":553},{"id":634,"type":431,"label":511,"file":126,"line":617},{"id":636,"type":531,"label":620,"file":126,"line":617},{"id":639,"type":435,"label":514,"file":322,"line":623,"wp_function":516},{"id":712,"type":431,"label":511,"file":126,"line":626},"n39",{"id":714,"type":531,"label":629,"file":126,"line":626},"n40",{"id":716,"type":435,"label":551,"file":322,"line":632,"wp_function":553},"n41",{"id":718,"type":431,"label":511,"file":126,"line":369},"n42",{"id":720,"type":531,"label":637,"file":126,"line":369},"n43",{"id":722,"type":435,"label":551,"file":322,"line":640,"wp_function":553},"n44",[724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752],{"from":430,"to":434,"sanitized":195},{"from":465,"to":467,"sanitized":195},{"from":538,"to":541,"sanitized":195},{"from":544,"to":547,"sanitized":193},{"from":547,"to":550,"sanitized":193},{"from":555,"to":558,"sanitized":193},{"from":558,"to":561,"sanitized":193},{"from":563,"to":566,"sanitized":193},{"from":566,"to":569,"sanitized":193},{"from":572,"to":575,"sanitized":193},{"from":575,"to":578,"sanitized":193},{"from":581,"to":584,"sanitized":193},{"from":584,"to":587,"sanitized":193},{"from":590,"to":593,"sanitized":193},{"from":593,"to":596,"sanitized":193},{"from":599,"to":602,"sanitized":193},{"from":602,"to":605,"sanitized":193},{"from":607,"to":610,"sanitized":193},{"from":610,"to":613,"sanitized":193},{"from":616,"to":619,"sanitized":193},{"from":619,"to":622,"sanitized":193},{"from":625,"to":628,"sanitized":193},{"from":628,"to":631,"sanitized":193},{"from":634,"to":636,"sanitized":193},{"from":636,"to":639,"sanitized":193},{"from":712,"to":714,"sanitized":193},{"from":714,"to":716,"sanitized":193},{"from":718,"to":720,"sanitized":193},{"from":720,"to":722,"sanitized":193},{"summary":754,"deductions":755},"The sfr-analytics plugin v0.7.0 demonstrates a generally good security posture with a notable absence of historical vulnerabilities and a strong emphasis on secure coding practices.  The plugin correctly implements nonce and capability checks for its entry points and utilizes prepared statements for the vast majority of its SQL queries.  Furthermore, output escaping is also handled well, indicating a proactive approach to preventing common web vulnerabilities.  However, the static analysis did identify three high-severity taint flows with unsanitized paths. While these flows did not directly lead to critical vulnerabilities in this analysis, they represent a potential risk that warrants careful investigation.  The lack of any recorded CVEs, even for older versions, is a positive indicator of consistent security efforts, but the presence of high-severity taint flows suggests that continued vigilance and code review are necessary.",[756],{"reason":757,"points":758},"High severity taint flows with unsanitized paths",12,"2026-03-16T22:58:54.077Z",{"wat":761,"direct":771},{"assetPaths":762,"generatorPatterns":766,"scriptPaths":767,"versionParams":768},[763,764,765],"\u002Fwp-content\u002Fplugins\u002Fsfr-analytics\u002Fassets\u002Fcss\u002Fadmin.css","\u002Fwp-content\u002Fplugins\u002Fsfr-analytics\u002Fassets\u002Fvendor\u002Fchart-js\u002Fchart.min.js","\u002Fwp-content\u002Fplugins\u002Fsfr-analytics\u002Fassets\u002Fjs\u002Fadmin.js",[],[765],[769,770],"sfr-analytics\u002Fassets\u002Fcss\u002Fadmin.css?ver=","sfr-analytics\u002Fassets\u002Fjs\u002Fadmin.js?ver=",{"cssClasses":772,"htmlComments":773,"htmlAttributes":774,"restEndpoints":775,"jsGlobals":776,"shortcodeOutput":779},[],[],[],[],[777,778],"SFRAN_PLUGIN_URL","SFRAN_VERSION",[],{"error":195,"url":781,"statusCode":782,"statusMessage":783,"message":783},"http:\u002F\u002Flocalhost\u002Fapi\u002Fplugins\u002Fsfr-analytics\u002Fbundle",404,"no bundle for this plugin yet",{"slug":4,"current_version":6,"total_versions":785,"versions":786},5,[787,792,799,806,813],{"version":6,"download_url":25,"svn_tag_url":788,"released_at":27,"has_diff":193,"diff_files_changed":789,"diff_lines":27,"trac_diff_url":790,"vulnerabilities":791,"is_current":195},"https:\u002F\u002Fplugins.svn.wordpress.org\u002Fsfr-analytics\u002Ftags\u002F0.7.1\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fsfr-analytics%2Ftags%2F0.7.0&new_path=%2Fsfr-analytics%2Ftags%2F0.7.1",[],{"version":793,"download_url":794,"svn_tag_url":795,"released_at":27,"has_diff":193,"diff_files_changed":796,"diff_lines":27,"trac_diff_url":797,"vulnerabilities":798,"is_current":193},"0.7.0","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsfr-analytics.0.7.0.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fsfr-analytics\u002Ftags\u002F0.7.0\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fsfr-analytics%2Ftags%2F0.6.1&new_path=%2Fsfr-analytics%2Ftags%2F0.7.0",[],{"version":800,"download_url":801,"svn_tag_url":802,"released_at":27,"has_diff":193,"diff_files_changed":803,"diff_lines":27,"trac_diff_url":804,"vulnerabilities":805,"is_current":193},"0.6.1","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsfr-analytics.0.6.1.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fsfr-analytics\u002Ftags\u002F0.6.1\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fsfr-analytics%2Ftags%2F0.6.0&new_path=%2Fsfr-analytics%2Ftags%2F0.6.1",[],{"version":807,"download_url":808,"svn_tag_url":809,"released_at":27,"has_diff":193,"diff_files_changed":810,"diff_lines":27,"trac_diff_url":811,"vulnerabilities":812,"is_current":193},"0.6.0","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsfr-analytics.0.6.0.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fsfr-analytics\u002Ftags\u002F0.6.0\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fsfr-analytics%2Ftags%2F0.5.0&new_path=%2Fsfr-analytics%2Ftags%2F0.6.0",[],{"version":814,"download_url":815,"svn_tag_url":816,"released_at":27,"has_diff":193,"diff_files_changed":817,"diff_lines":27,"trac_diff_url":27,"vulnerabilities":818,"is_current":193},"0.5.0","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsfr-analytics.0.5.0.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fsfr-analytics\u002Ftags\u002F0.5.0\u002F",[],[]]