Skip to content

FarosCMS 0.1.47

Choose a tag to compare

@github-actions github-actions released this 03 Oct 19:35
  • A new System > Analytics screen with a first choice: No tracking (the default), Your own tracking code or FarosCMS analytics. Your own code takes a Google tag or Tag Manager ID (G-…, GT-…, AW-…, GTM-…, made into its code for you) and boxes for any other code (Plausible, Matomo, Meta Pixel…), one for the head and one for the start of the body; saving code needs the raw HTML permission, and a person who is signed in gets none of it unless the site chooses to count them
  • FarosCMS analytics count visits without cookies and without keeping an address. A 2 KB deferred script reports each page view with sendBeacon to /_a/collect, and the clicks on links that leave the site, downloads, email and phone links (never the address or the number); a form that is sent is counted on the server. A visitor is a hash of the address, the browser and a secret made again every day, so it cannot be traced or matched with the next day. Robots, signed-in people, Do Not Track and Global Privacy Control, pages the site lists as ignored, reports from other sites and floods are not counted. Two days of rows are kept in the system database and every finished day is summed into small counts (so a site stays small however long reports are kept: 1, 2 or 5 years, or forever)
  • The reports: a period (today, yesterday, 7/30/90 days, 12 months, this or last month, two dates), visitors, page views, pages per visit, bounce rate and visit time with the change from the period before, a chart (an hour, a day or a month at a time, with the same numbers in a table for screen readers), lists of pages, entry pages, channels, sources, campaigns, devices, browsers, systems, countries, languages and goals (each exportable as CSV), and who is on the site now (refreshed every 30 seconds). A site that never opens the screen is unchanged
  • New capability analytics.manage (administrators; a custom role can have it). New tables analytics_hits and analytics_daily (part of the backups). Docs: docs/analytics.md. Theme 1.18.7 (the layout adds the tracking where the site chose it)
  • Tests: tests/unit/analytics.php (the settings and the code they make, what a visit is made into and refused as, the store, a day summed and read back, the periods, totals, chart and lists) and tests/http/analytics_test.py (who may, each choice and what the pages get, what is counted and what is not, a form as a goal, the reports, CSV, who is on the site now, deleting what was counted). The full suite and CI were not run