Title: Rhoos Analytics
Author: Rob Art
Published: <strong>November 1, 2026</strong>
Last modified: November 1, 2026

---

Search plugins

![](https://ps.w.org/rhoos-analytics/assets/banner-772x250.png?rev=3778016)

![](https://ps.w.org/rhoos-analytics/assets/icon-256x256.png?rev=3778016)

# Rhoos Analytics

 By [Rob Art](https://profiles.wordpress.org/robword/)

[Download](https://downloads.wordpress.org/plugin/rhoos-analytics.1.5.5.zip)

 * [Details](https://wordpress.org/plugins/rhoos-analytics/#description)
 * [Reviews](https://wordpress.org/plugins/rhoos-analytics/#reviews)
 *  [Installation](https://wordpress.org/plugins/rhoos-analytics/#installation)
 * [Development](https://wordpress.org/plugins/rhoos-analytics/#developers)

 [Support](https://wordpress.org/support/plugin/rhoos-analytics/)

## Description

Rhoos gives you clear, honest data about who visits your site, where they come from,
and how they behave — all without cookies, without third-party services, and without
storing IP addresses.

A small first-party script records each page view and sends it to your own site,
where it is stored in your WordPress database. Nothing is loaded from, or sent to,
a third party. IP addresses are never stored: Rhoos keeps a salted one-way hash 
to count unique visitors, and by default drops the last part of the address before
it does (Anonymise IP, in the setup wizard).

**Visitor Analytics**

Know your audience at a glance. The dashboard shows unique visitors, total visits,
and downloads in a D3 chart across 7, 30 or 90 days, or month by month over 12 months,
with percentage change against the previous period. A live visitor card updates 
every 30 seconds showing the most recent page view.

**Pages & Content**

See which pages attract the most traffic. A D3 horizontal bar chart ranks your top
pages and downloads by visit count, with a sortable table showing average scroll
depth, time on page, and load time per page.

**Referrers & Campaigns**

Understand where your traffic originates. Traffic is grouped by source type (organic
search, social, referral, direct) and by referring domain, alongside your site’s
own search terms and the outbound links visitors click. Pro adds source performance:
time on page, pages per session and bounce rate for each source.

**Geography**

A D3 choropleth world map shows visitor distribution by country, with countries,
cities and browser languages in sortable tables alongside it. Pro adds a live traffic
map.

**Devices**

Browser market share is shown as a D3 ring chart. Operating systems are broken down
by family and version in a two-column ring layout. Screen resolutions are visualised
as a D3 treemap grouped by category — Widescreen, Mobile, Tablet, Ultrawide — alongside
a sortable table.

**Behaviour**

Rhoos passively records scroll depth (at 25%, 50%, 75%, and 100% milestones), time
on page, and page load time — no additional scripts, no cookies. The overview tab
shows three D3 charts: a scroll depth funnel, a time-on-page distribution, and a
load time traffic-light breakdown. Per-page behaviour tables and a bounce rate chart
are available in Pro.

**404 Monitoring**

Track every broken URL on your site. A D3 bar chart shows the top broken pages by
hit count, separating real visitor hits from bot and scanner activity. Pro users
get an external referrer outreach table with one-click contact finding and a pre-
filled email template to notify site owners of broken links.

**Reports**

Generate clean, printable PDF reports via DOMPDF. The Traffic Summary covers visitors,
downloads, top pages, countries, devices, and referrers. The 404 Report covers broken
URLs, hit counts, and bot analysis. Both cover the last 7, 30 or 90 days.

**Settings**

Configure tracking exclusions, geolocation database options, and data retention 
from a single Settings page.

**Pro Features**

 * Per-page behaviour tables (scroll, time, load) across all behaviour tabs
 * Bounce rate by page chart
 * Entry pages, exit pages and bounce rate by page
 * Sessions tab and source performance
 * Live traffic map
 * 404 external referrer outreach tools
 * CSV data export (visits, pages, referrers, countries, devices)
 * New vs Returning visitors tab
 * Period Comparison and Year on Year comparison charts

**Premium Features**

 * Security Monitor — login brute force and credential stuffing detection with D3
   threat map with zoom and city dots
 * Security alert email notifications (brute force, real account probes, possible
   compromise, credential stuffing)
 * Security PDF report and CSV export
 * Whitelist individual login attempts (“not a threat”)
 * Live traffic map city dots
 * All Pro features included

Rhoos does not collect, store, or transmit any personal data externally. All tracking
is performed locally within your WordPress environment.

#### Feature Summary

 * Self-hosted — all data stays in your own database
 * No cookies — zero cookies set on visitors’ browsers
 * No IP storage — used for the location lookup and a salted one-way hash, then 
   discarded
 * No external scripts — no tracking pixel or third-party JS on your front end
 * First-party tracking — your own small script, no third-party tags
 * Bot filtering — known crawlers and scanners flagged and separated
 * Download tracking — files counted separately from page views
 * D3.js charts throughout — treemaps, ring charts, choropleth maps, funnel charts,
   bar charts
 * Behaviour metrics — scroll depth, time on page, load time recorded passively
 * Session tracking — multi-page journeys with entry and exit pages
 * 404 monitoring with bot detection and referrer outreach (Pro)
 * PDF reports via DOMPDF
 * Universal sortable tables across all pages

### Uninstall

Deleting Rhoos from the Plugins screen always removes its scheduled tasks. Your 
data is kept by default, so reinstalling picks up where you left off.

To remove everything, tick **Delete all Rhoos tables and settings when the plugin
is deleted** in Rhoos  Settings before deleting the plugin. Rhoos then removes:

 * All its database tables (visits, sessions, daily totals, outbound clicks, video
   plays, 404 and security logs)
 * All plugin settings and options prefixed with `rhoo_`
 * Its private folder in your uploads directory (visit archives and the GeoLite2
   database)

A separate tick box deletes the GeoLite2 database file on its own. Uninstalling 
does **not** delete:

 * Any PDF reports you have already downloaded to your computer
 * Any site content — posts, pages, users, WooCommerce data, etc.

### Disclaimer

Rhoos tracks visitor activity on your WordPress site. Whilst every effort is made
to ensure data accuracy, bot filtering is heuristic and not guaranteed to be exhaustive.
Visitor counts should be treated as indicative rather than absolute.

Rhoos is provided as-is, without warranty of any kind. Rob Snow / Rob Art | WordPress
Development accepts no responsibility or liability for data loss, inaccurate analytics,
or any damage arising from the use of this plugin. You are solely responsible for
ensuring that your use of this plugin complies with applicable privacy law in your
jurisdiction.

Rhoos’s built-in geolocation is approximate. City and region-level data in particular
may be inaccurate, especially for mobile users connecting via cellular networks.

### External Services

Rhoos uses the GeoLite2-City database for IP geolocation. The database is installed
separately via the automatic installer in Settings (requires a free MaxMind licence
key) or by providing a path to a manually downloaded copy. No visitor data is sent
to MaxMind or any external service during normal operation.

If you use the **automatic GeoLite2 installer** in Settings  MaxMind, the plugin
will make a direct HTTPS request to `download.maxmind.com` using your licence key
to download the GeoLite2-City.tar.gz archive. The downloaded file is extracted locally
and no data about your visitors is sent to MaxMind. The licence key you provide 
is stored in your WordPress options table.

Please review MaxMind’s privacy policy: https://www.maxmind.com/en/privacy-policy

Country flag images are bundled with the plugin (`assets/flags/`) and served from
your own site, so no request is made to a flag service.

Rhoos Pro, sold separately, contacts robart-illustration.eu to check its licence
key. The free plugin never does.

### Credits

The free plugin bundles these open-source libraries for PDF reports, unmodified,
in `vendor/dompdf/`:

 * [Dompdf](https://github.com/dompdf/dompdf) 3.1.5: LGPL-2.1
 * [php-font-lib](https://github.com/dompdf/php-font-lib): LGPL-2.1-or-later
 * [php-svg-lib](https://github.com/dompdf/php-svg-lib): LGPL-3.0-or-later
 * [HTML5-PHP](https://github.com/Masterminds/html5-php): MIT
 * [PHP CSS Parser](https://github.com/MyIntervals/PHP-CSS-Parser): MIT

Each library’s licence file is included alongside its code.

The charts and maps use these, unmodified:

 * [D3](https://github.com/d3/d3) 7.9.0 (`assets/js/d3.min.js`): ISC. Source: https://
   github.com/d3/d3/tree/v7.9.0
 * [TopoJSON Client](https://github.com/topojson/topojson-client) 3.1.0 (`assets/
   js/topojson.min.js`): ISC. Source: https://github.com/topojson/topojson-client/
   tree/v3.1.0
 * [World Atlas](https://github.com/topojson/world-atlas) `countries-110m.json` (`
   assets/maps/`): ISC, from Natural Earth (public domain)
 * Country flags (`assets/flags/`, 16×12 PNG) from [Flagpedia](https://flagpedia.net),
   based on the public-domain flag artwork on Wikimedia Commons

### Support

For documentation, guides, and FAQs visit the [Help & Documentation](https://robart-illustration.eu/plugins-wordpress-development/help-documentation-wp/)
page.

For bug reports or feature requests, please use the support forum on the plugin 
page or contact us via the [Rhoos plugin page](https://robart-illustration.eu/plugins-wordpress-development/rhoos-analytics/).

## Screenshots

[⌊Dashboard — D3 visitor chart, live visitor card, stat cards, and geography and
device summaries.⌉⌊Dashboard — D3 visitor chart, live visitor card, stat cards, 
and geography and device summaries.⌉[

Dashboard — D3 visitor chart, live visitor card, stat cards, and geography and device
summaries.

[⌊Visitors — full visit log with behaviour columns and D3 journey paths sunburst.⌉⌊
Visitors — full visit log with behaviour columns and D3 journey paths sunburst.⌉[

Visitors — full visit log with behaviour columns and D3 journey paths sunburst.

[⌊Pages — D3 horizontal bar chart and sortable page performance table.⌉⌊Pages — 
D3 horizontal bar chart and sortable page performance table.⌉[

Pages — D3 horizontal bar chart and sortable page performance table.

[⌊Referrers — traffic sources ranked by visits with direct, search, and external
breakdown.⌉⌊Referrers — traffic sources ranked by visits with direct, search, and
external breakdown.⌉[

Referrers — traffic sources ranked by visits with direct, search, and external breakdown.

[⌊Geography — D3 choropleth world map with country and city drill-down.⌉⌊Geography—
D3 choropleth world map with country and city drill-down.⌉[

Geography — D3 choropleth world map with country and city drill-down.

[⌊Devices — browser ring chart, OS family and version rings, and screen resolution
treemap.⌉⌊Devices — browser ring chart, OS family and version rings, and screen 
resolution treemap.⌉[

Devices — browser ring chart, OS family and version rings, and screen resolution
treemap.

[⌊Behaviour — scroll depth funnel, time-on-page distribution, and load time traffic-
light chart.⌉⌊Behaviour — scroll depth funnel, time-on-page distribution, and load
time traffic-light chart.⌉[

Behaviour — scroll depth funnel, time-on-page distribution, and load time traffic-
light chart.

[⌊404 Errors — D3 bar chart, broken URL log, and referrer outreach tools.⌉⌊404 Errors—
D3 bar chart, broken URL log, and referrer outreach tools.⌉[

404 Errors — D3 bar chart, broken URL log, and referrer outreach tools.

[⌊Reports — PDF traffic summary and 404 report with history log.⌉⌊Reports — PDF 
traffic summary and 404 report with history log.⌉[

Reports — PDF traffic summary and 404 report with history log.

[⌊Compare — side-by-side period comparison across all key metrics.⌉⌊Compare — side-
by-side period comparison across all key metrics.⌉[

Compare — side-by-side period comparison across all key metrics.

[⌊Settings — tracking toggles, GeoIP mode, data retention, and licence management.⌉⌊
Settings — tracking toggles, GeoIP mode, data retention, and licence management.⌉[

Settings — tracking toggles, GeoIP mode, data retention, and licence management.

[⌊Security — login attempt log, blocked IPs, and brute-force protection controls.⌉⌊
Security — login attempt log, blocked IPs, and brute-force protection controls.⌉[

Security — login attempt log, blocked IPs, and brute-force protection controls.

## Installation

 1. Download the Rhoos plugin zip file.
 2. In your WordPress admin, go to **Plugins > Add New > Upload Plugin**.
 3. Choose the downloaded zip file and click **Install Now**.
 4. Once installed, click **Activate Plugin**.
 5. Rhoos will appear as **Rhoos** in the WordPress admin sidebar. Click it to open
    the dashboard.

Alternatively, install via FTP by uploading the `rhoos-analytics` folder to `/wp-
content/plugins/` and activating from the Plugins screen.

On first activation you will be redirected to a setup confirmation screen. Use the**
Ping Test** on the dashboard to verify that tracking is working correctly.

## FAQ

### Is Rhoos free?

Yes. The core plugin is free and includes the dashboard, visitors and journey paths,
pages, referrers, geography, devices, behaviour overview, 404 tracking, anomaly 
alerts and PDF reports. Rhoos Pro (sold separately) adds per-page behaviour tables,
entry and exit pages, sessions, new vs returning visitors, live traffic, 404 referrer
outreach and CSV export.

### Does it require a cookie consent banner?

Rhoos sets no cookies and stores nothing on the visitor’s device, so its own tracking
does not need a cookie banner. It does process visit data (pages viewed, browser
and device, approximate location, and a hashed IP), so mention it in your privacy
policy: Rhoos adds suggested wording to Settings  Privacy  Policy Guide. This is
not legal advice; check with a legal adviser for your situation.

### Will it work with caching plugins?

Yes. Visits are reported by a small script in the visitor’s browser, so pages served
from a full-page cache are counted too.

### Will it slow my site down?

No. The tracking script is small, loads in the footer and reports the visit after
the page has loaded, so it does not delay rendering.

### Can I exclude my own visits?

Yes. Logged-in staff (anyone who can edit posts) are excluded by default. This is
set in the setup wizard, where you can also exclude URLs.

### What happens to data when I deactivate the plugin?

Deactivating the plugin stops tracking but preserves all data. Data is only removed
when the plugin is deleted.

### Can I export my data?

PDF reports are available on the Reports page (free). CSV export of visits, top 
pages, referrers, countries, and devices is available on the Reports page for Pro
and Premium users. For full raw database export, use a tool such as DBDumpWP or 
phpMyAdmin.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Rhoos Analytics” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ Rob Art ](https://profiles.wordpress.org/robword/)

[Translate “Rhoos Analytics” into your language.](https://translate.wordpress.org/projects/wp-plugins/rhoos-analytics)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/rhoos-analytics/), 
check out the [SVN repository](https://plugins.svn.wordpress.org/rhoos-analytics/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/rhoos-analytics/)
by [RSS](https://plugins.trac.wordpress.org/log/rhoos-analytics/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.5.5

 * New: the dashboard chart covers 7, 30 and 90 days, and month by month over 12
   months. The stat cards show the percentage change against the previous period.
 * New: visitor journey paths go up to 6 pages deep over the last 365 days.
 * New: anomaly detection learns from up to 90 days of history.
 * New: an Anomaly sensitivity setting (Sensitive, Normal, Relaxed or Calm) in Settings,
   so ordinary ups and downs stop showing as unusual on quieter sites. The Anomalies
   screen shows the current level.
 * New: YouTube video plays are counted when a visitor clicks to play an embedded
   video.
 * New: suggested text for your privacy policy, in Settings > Privacy > Policy Guide.
 * Fixed: bounce rate read close to 100% because the pages of one visit were rarely
   linked into a session. Sessions are now grouped on your server without cookies,
   and past visits are regrouped once after the update.
 * Fixed: the privacy choices in the setup wizard (anonymise IP addresses, exclude
   logged-in staff, filter bots, excluded URLs) were saved but never applied. They
   now are. IP anonymisation is on by default, so unique-visitor counts start fresh
   once after this update.
 * Fixed: listing pages (a portfolio, the blog page, plugin or product lists, categories
   and tags) were recorded under the title of their first item. They are now named
   for what they are, and visits already recorded show the right names.
 * Fixed: a page opened from a Facebook, Google or newsletter link was listed twice,
   because of the tag added to its address (fbclid, utm_ and similar). These tags
   are now dropped, and stored addresses are tidied once after the update.
 * Fixed: times on the Visitors, Behaviour, 404s and Reports screens showed hours
   ahead of your site’s time.
 * Fixed: the rate limit and duplicate checks for page views and downloads never
   matched, so a repeat could be counted twice.
 * Fixed: scroll depth and time on page were missing for most one-page visits on
   phones, because the update was only sent when the page unloaded, which phones
   often skip. It is now also sent when the page is hidden, and what is already 
   on screen counts as seen.
 * Fixed: visits from Android phones and tablets, games consoles and Windows phones
   were not saved on servers running MySQL in strict mode, because the device name
   was too long for its column. The column is widened automatically on update.
 * Changed: country flags are bundled with the plugin; no request goes to an outside
   flag service.
 * Improved: the page charts no longer show page titles or addresses as HTML in 
   their pop-ups.
 * Changed: the visit archive folder moved into your uploads folder. Existing archives
   move automatically.
 * Changed: bulk activation no longer opens the welcome screen.
 * Changed: all scripts and styles load from files, and output escaping was tightened
   throughout.
 * Changed: the readme describes tracking, privacy and the free/Pro split accurately.

#### 1.5.4

 * Security: internal hardening.

#### 1.5.3

 * Security: internal hardening.

#### 1.5.2

 * Fixed: Anomaly Detection never finished learning on quieter sites. Hours with
   no visits were not counted, so many hours stayed at “0 of 3 samples” no matter
   how long Rhoos had been running. A quiet hour now counts as an hour of history.
 * New: early checks. After 3 days of history Rhoos compares each hour with the 
   same hour on the previous days. After 3 weeks it moves on by itself to the more
   accurate comparison with the same hour on the same weekday. Before, nothing was
   checked for the first three weeks.
 * New: the Anomalies screen lists every unusual period of the last 7 days, newest
   first, instead of judging only the latest hour — so a spike that is over by the
   time you look is still shown. Back-to-back unusual hours are shown as one event
   with its peak hour and total.
 * New: while learning, the Anomalies screen says how long it takes and shows progress
   week by week (Week 1 | Week 2 | Week 3) with the day count. The Dashboard shows
   the day count too.
 * Fixed: in the “Why is this unusual?” breakdown, a page reached from Facebook 
   was split into many separate pages, because every Facebook click adds a different
   tracking tag to the address. Pages are now grouped by their address without tags,
   and shown as a short path. Referrers are grouped by site (m.facebook.com and 
   l.facebook.com count as facebook.com), and your own site no longer counts as 
   a referrer.
 * Fixed: an unusual hour on a normally quiet hour read “+0%”. It now says it in
   plain numbers, e.g. “reached 16 in an hour that is usually quiet (normal 0–7)”.
 * Fixed: a long page address squashed the labels of the breakdown into a narrow
   column.
 * Fixed: search-engine crawlers that run JavaScript — Googlebot, Bingbot, Applebot,
   Google Search Console’s live URL test, PageSpeed Insights / Lighthouse and headless
   browsers — were counted as human visitors, because they describe themselves as
   Chrome or Safari and the browser was recognised before the bot. Bots are now 
   recognised first. Visits recorded before this update are not changed.

#### 1.5.1

 * Fixed: the Referrers chart listed one bar per referring _page_ rather than per
   site, so a single site could fill the chart with a dozen identical-looking rows
   and Facebook was split across facebook.com, m.facebook.com and l.facebook.com
   instead of showing its real total. Referrers are now grouped by site, with mobile
   and link-wrapper subdomains folded into the parent.
 * Fixed: your own site appeared in the Referrers chart. Moving between pages of
   your own site is internal navigation, not a referral, so it no longer crowds 
   out the real sources.
 * Fixed: in the session tables the home page showed as a bare “/”, which read as
   missing data. It is now labelled “Homepage”, and long page addresses are shortened
   in the middle rather than the end so two similar addresses can still be told 
   apart. The full address is shown on hover.
 * Changed: all plugin links and the licence server moved from robsnow.eu to robart-
   illustration.eu.
 * Changed: added a donate link to the plugin listing.
 * Fixed: the Security screen’s stylesheet did not load because of an internal page-
   name mismatch, and a caption on that screen was hard to read against the dark
   header.

#### 1.5.0

 * New: Anomaly Detection. Rhoos now learns what a normal hour looks like for your
   site — for each hour of each weekday — and flags when the latest completed hour
   falls well outside that range, with a plain-language “Why is this unusual?” breakdown(
   what changed: a referral surge, a single page, and so on). All computed locally
   from your own data — no AI, no external services. A new “Anomalies” screen sits
   right after the Dashboard, and the Dashboard shows an at-a-glance anomaly status.
 * Menu: the first item is now labelled “Dashboard” (was the plugin name).

#### 1.4.9

 * Fixed Compare page rendering as a blank screen when the Pro add-on is not installed—
   the Compare submenu now shows a proper placeholder page with sidebar content 
   explaining the Pro feature and an Upgrade to Pro button
 * Fixed sidebar flowing below main content and a stray closing div on the Compare
   placeholder layout (iterative fixes across 1.4.6–1.4.8 consolidated)

#### 1.4.5

 * Fixed native colour pickers (`<input type="color">`) being squashed to a thin
   line under WordPress 7.0 — restored to a proper 48×30 swatch
 * Added a custom chevron arrow, right padding, and 110px minimum width to select
   dropdowns so the arrow no longer overlaps the option text under WordPress 7.0

#### 1.4.4

 * WordPress 7.0 compatibility — restored familiar form, button, checkbox and radio
   styling that WP 7.0 changed

#### 1.4.3

 * Fixed Devices > Browser & Version chart legend deforming layout; capped at 4 
   version rows
 * Fixed Devices > Screen Resolution classifier incorrectly categorising desktop
   resolutions as Tablet
 * Fixed Behaviour > Scroll Depth percentages now exclude unrecorded visits from
   denominator

#### 1.4.1

 * Added Visitor ID column on Visitors page — sortable anonymised hash prefix to
   spot repeat visitors (Pro)
 * Added Visitor ID column and whitelist action on Security Monitor attempts table(
   Premium)
 * Added Security PDF report and CSV export (Premium)
 * Added CSV delimiter setting in Settings  General (comma or semicolon)
 * Added zoom, click-to-zoom, and city dots to live traffic map (Pro/Premium)
 * Added zoom and click-to-zoom to Security threat origin map; city dots (Premium)
 * Added Smart TV and Games Console device detection and icons
 * Added Security quick action to dashboard (Premium)
 * Fixed session duration always showing — on Visitors page
 * Fixed 404 bot detection not catching zero-engagement visits
 * Fixed Security Monitor chart rendering blank
 * Fixed manual flush not archiving data correctly
 * Fixed Settings General card label overflow on narrow screens
 * Changed CDN to “CDN (Content Delivery Network)” in Behaviour recommendations

#### 1.4.0

 * Added Security Monitor page (Premium) — brute force and credential stuffing detection
   with D3 choropleth threat map, attack log, and per-IP drill-down
 * Added security alert email notifications (Premium) — rate-limited HTML emails
   for brute force, real account probes, possible compromise, and credential stuffing
   events
 * Added Compare page (Pro+) — Period Comparison tab with dual date pickers and 
   D3 dual-line chart; Year on Year tab with automatic period offset
 * Added New vs Returning visitors tab (Pro+) — ip_hash-based returning detection
   with stacked D3 bar chart and source breakdown table
 * Added CSV export on Reports page (Pro+) — export visits, top pages, referrers,
   countries, and devices; all exports logged in report history
 * Added MaxMind GeoLite2 automatic installer — downloads, extracts, and installs
   GeoLite2-City.mmdb via licence key with a progress indicator
 * Added GeoLite2 sidebar notice on all pages when the database file is missing
 * Added Daily Aggregates purge card in Settings — shows table size, row count, 
   date range, and safe-to-purge date with a YoY data warning
 * Added Security Monitor settings card (Premium) — retention period, brute force
   threshold, and track-success-logins toggle
 * Added Security Alerts settings card (Premium) — master toggle, recipient address,
   and per-alert-type enable/disable
 * Upgraded dashboard trend indicators (Pro) — plain arrows replaced with percentage
   change pills (green up, red down, grey neutral)
 * Fixed settings cards overflowing right edge — grid updated to minmax(0,1fr) with
   min-width:0 on card elements

#### 1.3.0

 * Added Behaviour page — scroll depth funnel, time-on-page distribution, and load
   time D3 charts; sessions tab; per-page behaviour tables (Pro); bounce rate by
   page chart (Pro)
 * Added 404 page — D3 bar chart with bot detection; external referrer outreach 
   table with contact tools (Pro)
 * Added Reports page — DOMPDF PDF generation for traffic summary and 404 report
   with history log
 * Added universal sortable tables across all pages with numeric-aware comparator
 * Added User Manual and README modal viewer on dashboard, rendered from Markdown
   source
 * Added icons throughout — page headers, stat cards, device type indicators
 * Added screen resolution treemap (D3) on Devices page with category classification
 * Added OS family and version two-column ring layout on Devices page
 * Fixed behaviour chart right-margin clipping on time and load charts
 * Fixed table sort not working on non-Visitors pages

#### 1.2.0

 * Added Geography choropleth world map (D3)
 * Added Devices page — browser rings, OS rings, screen resolution treemap
 * Added Visitor journey paths sunburst chart (D3)
 * Added Pro and Premium tier gating throughout

#### 1.1.0

 * Added Geography choropleth world map (D3)
 * Added Devices page — browser rings, OS family and version rings, screen resolution
   treemap (D3)
 * Added Visitor journey paths sunburst chart (D3)
 * Added Pro and Premium tier gating throughout

#### 1.0.0

 * Initial release — dashboard, visitors, pages, referrers, geography, devices

## Meta

 *  Version **1.5.5**
 *  Last updated **6 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.0 or higher **
 *  Tested up to **7.1.4**
 *  PHP version ** 8.0 or higher **
 * Tags
 * [analytics](https://wordpress.org/plugins/tags/analytics/)[privacy](https://wordpress.org/plugins/tags/privacy/)
   [statistics](https://wordpress.org/plugins/tags/statistics/)[tracking](https://wordpress.org/plugins/tags/tracking/)
   [visitors](https://wordpress.org/plugins/tags/visitors/)
 *  [Advanced View](https://wordpress.org/plugins/rhoos-analytics/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/rhoos-analytics/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/rhoos-analytics/reviews/)

## Contributors

 *   [ Rob Art ](https://profiles.wordpress.org/robword/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/rhoos-analytics/)

## Donate

Would you like to support the advancement of this plugin?

 [ Donate to this plugin ](https://paypal.me/robsnowcreative)