Changeset 3373525
- Timestamp:
- 10/06/2025 09:07:37 AM (2 months ago)
- Location:
- koko-analytics
- Files:
-
- 2 edited
-
tags/2.0.18/readme.txt (modified) (4 diffs)
-
trunk/readme.txt (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
koko-analytics/tags/2.0.18/readme.txt
r3366958 r3373525 10 10 Requires PHP: 7.4 11 11 12 Lightweight, privacy-friendly website analytics & statistics for WordPress. No cookies, no personal data, 100% GDPR/CCPA compliant.12 Privacy-friendly and self-hosted stats for WordPress. Simple interface, plug and play, lightning fast. 13 13 14 14 == Description == 15 15 16 = Simple, privacy-f irst analytics andstatistics for WordPress =16 = Simple, privacy-focused, lightweight statistics for WordPress = 17 17 18 18 Koko Analytics is a lightweight, privacy-friendly statistics plugin that runs entirely on your WordPress site. … … 24 24 25 25 - **Instant setup** – Activate the plugin and stats start collecting right away. 26 - **Privacy-friendly by design** – GDPR and CCPA compliant , with no personal data tracking.26 - **Privacy-friendly by design** – GDPR and CCPA compliant by design. 27 27 - **Own your data** – All statistics are stored on your server only. 28 - **Fast and lightweight** – Adds less than 500 bytes of JavaScript and handles high trafficwith ease.29 - **No cookies needed** – Choose cookie-based, cookieless, or no tracking at all.28 - **Fast and lightweight** – Adds less than 500 bytes of JavaScript and handles traffic spikes with ease. 29 - **No cookies needed** – Choose between cookie-based, cookieless, or no tracking at all. 30 30 - **Accurate essentials** – Tracks pageviews, unique pageviews, and referral URLs. 31 31 32 **Perfect for site owners who want clear, reliable website analytics without giving away visitor data toadvertising companies.**32 **Perfect for site owners who want clear, reliable website analytics without sharing visitor data with advertising companies.** 33 33 34 34 You can view a [live demo here](https://www.kokoanalytics.com/?koko-analytics-dashboard). … … 83 83 == Frequently Asked Questions == 84 84 85 86 #### Does this respect my visitor's privacy? 87 Yes. Koko Analytics only stores aggregated counts. No personal data is tracked. 88 89 #### Does this use any external services? 90 No. All data stays on your server. 85 #### Is Koko Analytics privacy-friendly? 86 87 Yes. 88 89 - No personal data is processed or stored. 90 - Visitors are not tracked across pages or sites. 91 - Only aggregated counts are stored, nothing that could identify a single visitor. 92 - No third-party services are involved. 93 94 Read more about why [Koko Analytics is privacy-friendly](https://www.kokoanalytics.com/privacy-focused-wordpress-analytics/). 95 96 #### Is Koko Analytics lightweight? Will it slow down my site? 97 98 Koko Analytics is very fast. 99 100 - It only adds a single script of less than 500 bytes to your pages. 101 - Data is collected using an optimized tracking endpoint which bypasses loading WordPress entirely. 102 103 The performance impact for your visitors will be as close to zero as technically possible. 104 105 Read more about why [Koko Analytics is lightweight](https://www.kokoanalytics.com/lightweight-wordpress-analytics/). 106 107 #### Is Koko Analytics open-source? 108 109 Yes. [Koko Analytics is open-source software](https://www.kokoanalytics.com/open-source-wordpress-analytics/) released under the GPL license. 91 110 92 111 #### Does Koko Analytics set any cookies? 93 By default yes, but you can disable cookies entirely in the settings. 112 113 Yes, but you can disable cookies entirely in the settings. 94 114 95 115 If using cookies, Koko Analytics sets a single `_koko_analytics_pages_viewed` cookie (max 24h lifetime) to detect unique visitors without storing personal data. 116 96 117 More info: [Does Koko Analytics use cookies?](https://www.kokoanalytics.com/kb/does-koko-analytics-use-cookies/) 97 118 98 #### Will Koko Analytics slow down my website? 99 No. It’s built for speed: 100 101 - Only 500 bytes of JavaScript added. 102 - Data processing runs in the background. 103 - No extra DNS lookups — works with caching. 104 105 More info: [Will Koko Analytics slow down my website?](https://www.kokoanalytics.com/kb/will-koko-analytics-slow-down-my-website/) 106 107 #### Is the code open source? 108 Yes. [View on GitHub](https://github.com/ibericode/koko-analytics). 109 110 #### Where can I find documentation? 111 Visit the [Koko Analytics Knowledge Base](https://www.kokoanalytics.com/kb/). 112 113 #### How do I display visits for a page? 114 Use the `[koko_analytics_counter]` shortcode: 115 116 - `days`: Number of days (default `3650`). 117 - `global`: `true` for site-wide count, `false` for current page only. 118 - `metric`: `visitors` or `pageviews` (default `visitors`). 119 120 Example: 121 `[koko_analytics_counter days="30" metric="pageviews" global="true"]` 119 #### Where can I find more documentation? 120 On our [Koko Analytics Knowledge Base](https://www.kokoanalytics.com/kb/). 122 121 123 122 == Screenshots == … … 447 446 - Add Jetpack Stats importer to import your historical analytics data into Koko Analytics. Go to the settings page (with Jetpack still enabled) to access it. 448 447 - Fix settings page showing proxy IP instead of client IP if using reverse proxy. 449 - Fix use of PHP 7.4 only feature in thousands separator in source code. 450 - Auto-reload dashboard every minute if browser tab is active. 451 - Do not show chart for just a single day of data. 452 - Handle posts without title a little better by showing URL path instead. 453 454 455 #### 1.4.3 - Oct 29, 2024 456 457 - Fix "backtrack limit exhausted" triggering for certain referrer URL's without a subdomain part. 458 - Gracefully handle missing referrer blocklist file. This fixes an issue when security software on the server flags the blocklist file as suspicious (due to it containing a list of known malware domains) and deleting it. 459 - Increase width of first table column so rank isn't showing ellipsis. 460 - Remove light grey border on table header row. 461 - Right align numbers in dashboard widget. Thanks [Terence Eden](https://shkspr.mobi/blog/), who also did a wonderful post on [liberating your website statistics from Jetpack](https://shkspr.mobi/blog/2024/10/liberate-your-daily-statistics-from-jetpack/)! 462 - Improved validation of referrer URL's and request parameters at data collection endpoint. 463 464 465 #### 1.4.2 - Oct 25, 2024 466 467 - Fix fatal error "invalid string operand" when referrer URL contains `t.co` shortlink. 468 - Fix potential issue with `preg_match` returning incorrect type in function `get_referrer_url_label` 469 470 471 #### 1.4.1 - Oct 25, 2024 472 473 - Limit width of visitors and pageviews column in tables. 474 - Fix `preg_replace` from returning an invalid type when an error occurs and the log the actual error that occurred. 475 476 477 #### 1.4.0 - Oct 24, 2024 478 479 - All HTML for the dashboard is now server-side generated, drastically reducing the amount of JavaScript and generally making the code base easier to maintain and/or extend. 480 - All dashboard state can now be managed through URL query parameters, allowing you to bookmark or share your favorite views. 481 - Use actual `<table>` elements for dashboard tables, for improved screen reader support. 482 - Add filter hook `koko_analytics_referrer_url_href` to modify link `href` attribute for referrer URL's in dashboard. 483 - Add filter hook `koko_analytics_referrer_url_label` to modify link labels for referrer URL's in dashboard. 484 - Fix admin user not getting `view_koko_analytics` capability upon plugin activation. 485 - Prevent empty referrer URL from being stored. 486 - Group various Yandex referrer URL's into a single entry. 487 - Minor memory usage improvements in autoloader implementation. 488 489 490 #### 1.3.15 - Oct 15, 2024 491 492 - Fix `href` attribute on hyperlinks in most viewed posts widget/shortcode/function template. 493 494 495 #### 1.3.14 - Sep 23, 2024 496 497 - Explicitly call `sprintf` from global namespace to benefit from upcoming sprintf related performance improvements in PHP 8.4. 498 - Demo settings from [Koko Analytics Pro](https://www.kokoanalytics.com/pricing/) on plugin settings page. 499 500 501 #### 1.3.13 - Sep 17, 2024 502 503 - Ensure `Stats::get_totals` always returns a valid object. 504 - Escape return values from `add_query_arg` to prevent reflected XSS attacks. 505 - Use correct IP address even if client is behind proxy. 506 - Various minor template performance improvements. 507 508 509 #### 1.3.12 - Aug 18, 2024 510 511 - Fix double pageview counts introduced in version 1.3.11. 512 - Fix same-site showing up as referrer 513 514 515 #### 1.3.11 - Aug 16, 2024 516 517 - Only use referrer detection for determining returning visitors if cookie is disabled. 518 - Add referrer aggregation rule for Brevo email campaign links. 519 - Add referrer aggregation rule for Reddit links. 520 - Add filter hook for easily adding or modifying Koko Analytics settings. 521 - Add action hook for adding settings to Koko Analytics. 522 - Explicitly get rid of all ES6 code in tracking script. 523 524 525 #### 1.3.10 - Jun 20, 2024 526 527 - Registration for [Koko Analytics Pro](https://www.kokoanalytics.com/pricing/) is open again. Purchase a license if you need custom event tracking or would just like to support the plugin. 528 - Ignore requests from Facebook link previews and requests without a `User-Agent` HTTP header. 529 - Update referrer blocklist. 530 531 532 #### 1.3.9 - May 31, 2024 533 534 - Fix Webpack issue with tracking script. 535 536 537 #### 1.3.8 - May 29, 2024 538 539 - Add setting to exclude views from IP addresses. 540 - Show exact number of pageviews and visitors on hover. 541 - Use an optimized custom autoloader. 542 - Verify shortcode arguments for `[koko_analytics_counter]` shortcode. 543 - Fix error when using SQLite about ambiguous column name. 544 - Fix realtime pageview count using wrong duration. 545 546 547 #### 1.3.7 - Feb 26, 2024 548 549 - Add `[koko_analytics_counter]` shortcode. Thanks Anil Kulkarni! 550 - Show time since last aggregation on settings page. 551 - Validate data collection request more aggressively before writing to buffer file. 552 - Update referrer blocklist. 553 554 555 #### 1.3.6 - Jan 29, 2024 556 557 - Update referrer blocklist. 558 - Update third-party JS dependencies. 559 560 561 #### 1.3.5 - Jan 8, 2024 562 563 - Fix `HOUR_IN_SECONDS` constant not defined when using AMP with cookie enabled. 564 - Fix days without any data not showing up in chart. 565 - Improve chart y-axes for numbers just above 100.000. 566 567 568 #### 1.3.4 - Nov 21, 2023 569 570 - New feature that allows you to filter by page. Clicking any page in the "top pages" list now updates the totals and chart component to only show visitors and pageviews for that specific page. 571 - Fix warning that cron event isn't working not showing. 572 - Fix error when default date period is stuck at removed period. 573 - Fix API url for sites not using pretty permalinks. 574 - Performance improvement for rendering chart and tooltips. 575 576 577 #### 1.3.3 - Nov 6, 2023 578 579 - Fix quick navigation going forward. 580 - Add `manifest.json` file so (standalone) dashboard can be installed as a Progressive Web App. 581 582 583 #### 1.3.2 - Nov 2, 2023 584 585 - Fix chart tooltip immediately disappearing when viewing the dashboard widget on touch devices. 586 - Fix fatal error if lacking permissions to read database size from MySQL information tables. 587 - Fix double encoding of special characters in post titles. 588 - Fix arrow-key or arrow-icon navigation when viewing a single day of data. 589 - Automatically refresh dashboard data every 60s. 590 - Improve dashboard widget by showing a summary of today. 591 - Added filter hook `koko_analytics_dashboard_widget_number_of_top_items` to [modify or disable the top pages and referrers in the dashboard widget](https://github.com/ibericode/koko-analytics/blob/master/code-snippets/modify-dashboard-widget/README.md). 592 - The `[koko_analytics_most_viewed_posts]` shortcode now shows a debug message if the arguments did not lead to any results. 593 594 595 #### 1.3.1 - Nov 1, 2023 596 597 - Fix new visitors not being counted. 598 - Fix dashboard issues for users with a large UTC timezone offset. 599 - Fix date format in chart component if grouping by month. 600 - Revert to blue colors for the chart. If you want your chart to use different colors, please see this [example code snippet on how to change colors](https://github.com/ibericode/koko-analytics/blob/master/code-snippets/change-chart-colors.php). 601 - Change dashboard widget to show just a quick summary of today. 602 - Show some feedback after using the "create optimized endpoint" button. 603 604 605 #### 1.3.0 - Oct 31, 2023 606 607 - Major [performance improvements for the dashboard](https://www.kokoanalytics.com/2023/10/31/speeding-up-dashboard-removing-react-vanilla-js/) by removing the dependency on React and further optimizations. 608 - Added link for loading the dashboard outside of WordPress admin (standalone). 609 - Added setting to make the analytics dashboard publicly available. 610 - Only show button to create optimized endpoint file if location is writable. 611 - Remove `wp_koko_analytics_dates` on plugin uninstall. 612 - Optimized database query for getting most viewed posts and cache its results. 613 - Expand dashboard widget to include realtime pageviews and a list of the most viewed posts. 614 - Use `navigator.sendBeacon` for data collection requests. 615 616 617 #### 1.2.2 - Oct 18, 2023 618 619 - Fix link to settings page from plugins overview page. 620 - Fix pagination not working because `wp_localize_script` turns everything into a string. 621 - Fix React warning for dashboard widget when toggling visibility more than once. 622 - Fix chart tooltip not showing on touch devices. 623 - Minor styling improvements to settings page. 624 - Install custom endpoint on plugin activation only. 625 - Add button to settings page to re-attempt custom endpoint installation. 626 - Move table pagination to bottom of component and add text label. 627 - Wrap `input[type="radio"]` in `<fieldset>` tag. 628 - Remove support for honouring "Do Not Track" header as per [MDN recommendations](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/DNT). 629 630 631 #### 1.2.1 - Oct 11, 2023 632 633 - Fix issue with strict types and non-hourly UTC offsets. 634 635 636 #### 1.2.0 - Oct 11, 2023 637 638 - Fix compatibility with WordPress 6.0. 639 - Fix aggregation process not running for 5 minutes if an earlier run failed somehow. 640 - Fix chart tooltips not showing on WordPress dashboard. 641 - Minor performance improvements for aggregation process. 642 - Move seed (sample data) function out of the core plugin. 643 - Add message about checking browser console for error message in case the dashboard doesn't boot up. 644 - Format dates in dashboard using `Intl.DateTimeFormat` in browser, if available. 645 - Remove Pikaday datepicker in favor of native `<input type="date">` elements. 646 - Improve mobile view of datepicker dropdown. 647 - Exclude (fixed page) homepage from most viewed posts widget/shortcode/function. 648 - Add filter hook `koko_analytics_items_per_page` to override the number of items to show per page for the dashboard components. 649 - Bump required PHP version to 7.3. 650 651 652 #### 1.1.2 - Oct 3, 2023 653 654 - Fix broken totals and chart component on sites using a custom database table prefix. 655 656 657 #### 1.1.1 - Oct 3, 2023 658 659 - Fix for date table not being created, leading to an empty chart as of v1.1.0. 660 661 662 #### Koko Analytics v1.1.0 - Oct 3, 2023 663 664 - Switch out Preact for the React version that is bundled with WordPress, reducing bundle size for the admin dashboard by 40 kB (or 30%). 665 - Stop showing warning about WP Cron events not running if on local or developer environments. 666 - Use the same Browserslist configuration as WordPress core. 667 - Performance optimizations for fetching and parsing chart data. 668 - Create optimized endpoint for fetching data for the totals component. 669 - Settings page is now a server-side rendered page instead of a React component. 670 - Improved CSS selector performance. 671 - Add public PHP API. You can now call the following functions: 672 - `koko_analytics_get_most_viewed_posts()` to get a list of the most viewed posts. 673 - `koko_analytics_get_realtime_pageview_count('-1 hour')` to get the total number of pageviews in the last hour. 674 - `koko_analytics_track_pageview($post_id)` to track a pageview to the post with ID `$post_id` 675 676 677 #### 1.0.40 - Sep 14, 2023 678 679 - Fallback to post slug if post has no title 680 - Validate referrer URL and ignore if invalid 681 - Delete optimized tracking endpoint if buffer filename changed and is no longer present in it. This fixes an issue when moving between servers 682 - Always run database migrations when needed, regardless of current user role 683 - Allow specifying multiple post types in `KokoAnalytics\get_most_viewed_posts()` and the `[koko_analytics_most_viewed_posts]` shortcode. Example: `[koko_analytics_most_viewed_posts post_type="page,post"]` 684 - Limit attempts to install optimized tracking endpoint to once per hour 685 - On the analytics dashboard, use the date format from WordPress settings 686 - Translate day and month names (only relevant if using M, F, l or D in the date format string) 687 - WP CLI command to manually run aggregation now accepts an optional `--force` flag. Example: `wp koko-analytics aggregate --force` 688 - Don't show warning about WP Cron not working properly on sites on localhost, sites ending in `.local` and sites containing a port number 689 - Last but certainly not least, some preparatory work for event tracking... Coming soon! 690 691 692 ### 1.0.39 - Aug 29, 2023 693 694 - Update referrer blocklist 695 - Update third-party JS dependencies 696 - Bump tested WordPress version 697 698 699 ### 1.0.38 - Apr 25, 2023 700 701 - Fix issue with dashboard widget rendering incorrectly when it was initially hidden. 702 - Only render chart in dashboard widget when it is currently visible. 703 704 705 ### 1.0.37 - Dec 07, 2022 706 707 - Fix potential issue in tracking script causing incorrect stats collection. 708 709 710 ### 1.0.36 - Dec 06, 2022 711 712 - Shrink size of tracking script to 985 bytes (when using gzip compression). 713 714 715 ### 1.0.35 - Oct 21, 2022 716 717 - You can now call `koko_analytics.trackPageview( postId )` to manually track a pageview. This is especially useful for Single Page Applications. 718 - Update referrer blocklist. 719 - If referrer URL is on referrer blocklist, the entire request is now ignored (vs. just the referrer part). 720 - Update JavaScript dependencies. 721 722 723 #### 1.0.34 - Sep 19, 2022 724 725 - Track visits to front page (if not a static page) as well. 726 - Use gmdate() for determining whether to send cache headers. 727 - Update JavaScript dependencies. 728 729 730 #### 1.0.33 - Aug 17, 2022 731 732 - Always show at least 1 visitor if pageviews were recorded that day. 733 - Decrease Cache-Control header of REST API responses to 60s. 734 - Add button to reset all statistics. 735 - Add filter `koko_analytics_url_aggregations` to modify or add URL aggregations for referrer URL's. 736 - Created an initiative on OpenCollective for others to help fund development and support costs of Koko Analytics. Please visit https://opencollective.com/koko-analytics for more details. 737 738 739 #### 1.0.32 - Jun 2, 2022 740 741 - Fix error in latest release by ensuring Endpoint_Installer class is always loaded when needed. 742 743 744 #### 1.0.30 - Jun 1, 2022 745 746 - Delete option `koko_analytics_use_custom_endpoint` on plugin uninstall. 747 - Only load dashboard-widget.js if user has required capability for viewing stats. 748 - Add constant `KOKO_ANALYTICS_CUSTOM_ENDPOINT` for [disabling the custom endpoint](https://github.com/ibericode/koko-analytics/blob/master/code-snippets/disable-custom-endpoint.php) entirely. This filter can also be used to [manually install the endpoint file to a different file location](https://github.com/ibericode/koko-analytics/blob/master/code-snippets/use-different-custom-endpoint.php). 749 - Re-attempt installation of the custom endpoint file every hour. This also automatically re-tests whether the custom endpoint is still working as expected. The plugin already did this whenever you visited the dashboard page, but now it simply runs more often and without requiring you to log-in to your WordPress admin. 750 751 752 #### 1.0.29 - Jan 25, 2022 753 754 - Skip empty lines in buffer file to avoid a PHP notice in certain edge cases. 755 - Make use of JS library for date presets. 756 - Filter out user agents containing "preview". 757 - Normalize referrer URl's for Yahoo search results. 758 - Add class attribute to cron warning so it can be hidden using CSS by targeting `.koko-analytics-cron-warning`. 759 760 761 #### 1.0.28 - Sep 27, 2021 762 763 - Account for missing configuration object, for example if theme does not properly call `wp_head()`. 764 - Cast database result to integer types so we do not have to do it client-side. 765 - Cache dashboard ... 766 448 - Fix use of PHP 7.4 only feature in thousands separator in source ... 449 -
koko-analytics/trunk/readme.txt
r3366958 r3373525 10 10 Requires PHP: 7.4 11 11 12 Lightweight, privacy-friendly website analytics & statistics for WordPress. No cookies, no personal data, 100% GDPR/CCPA compliant.12 Privacy-friendly and self-hosted stats for WordPress. Simple interface, plug and play, lightning fast. 13 13 14 14 == Description == 15 15 16 = Simple, privacy-f irst analytics andstatistics for WordPress =16 = Simple, privacy-focused, lightweight statistics for WordPress = 17 17 18 18 Koko Analytics is a lightweight, privacy-friendly statistics plugin that runs entirely on your WordPress site. … … 24 24 25 25 - **Instant setup** – Activate the plugin and stats start collecting right away. 26 - **Privacy-friendly by design** – GDPR and CCPA compliant , with no personal data tracking.26 - **Privacy-friendly by design** – GDPR and CCPA compliant by design. 27 27 - **Own your data** – All statistics are stored on your server only. 28 - **Fast and lightweight** – Adds less than 500 bytes of JavaScript and handles high trafficwith ease.29 - **No cookies needed** – Choose cookie-based, cookieless, or no tracking at all.28 - **Fast and lightweight** – Adds less than 500 bytes of JavaScript and handles traffic spikes with ease. 29 - **No cookies needed** – Choose between cookie-based, cookieless, or no tracking at all. 30 30 - **Accurate essentials** – Tracks pageviews, unique pageviews, and referral URLs. 31 31 32 **Perfect for site owners who want clear, reliable website analytics without giving away visitor data toadvertising companies.**32 **Perfect for site owners who want clear, reliable website analytics without sharing visitor data with advertising companies.** 33 33 34 34 You can view a [live demo here](https://www.kokoanalytics.com/?koko-analytics-dashboard). … … 83 83 == Frequently Asked Questions == 84 84 85 86 #### Does this respect my visitor's privacy? 87 Yes. Koko Analytics only stores aggregated counts. No personal data is tracked. 88 89 #### Does this use any external services? 90 No. All data stays on your server. 85 #### Is Koko Analytics privacy-friendly? 86 87 Yes. 88 89 - No personal data is processed or stored. 90 - Visitors are not tracked across pages or sites. 91 - Only aggregated counts are stored, nothing that could identify a single visitor. 92 - No third-party services are involved. 93 94 Read more about why [Koko Analytics is privacy-friendly](https://www.kokoanalytics.com/privacy-focused-wordpress-analytics/). 95 96 #### Is Koko Analytics lightweight? Will it slow down my site? 97 98 Koko Analytics is very fast. 99 100 - It only adds a single script of less than 500 bytes to your pages. 101 - Data is collected using an optimized tracking endpoint which bypasses loading WordPress entirely. 102 103 The performance impact for your visitors will be as close to zero as technically possible. 104 105 Read more about why [Koko Analytics is lightweight](https://www.kokoanalytics.com/lightweight-wordpress-analytics/). 106 107 #### Is Koko Analytics open-source? 108 109 Yes. [Koko Analytics is open-source software](https://www.kokoanalytics.com/open-source-wordpress-analytics/) released under the GPL license. 91 110 92 111 #### Does Koko Analytics set any cookies? 93 By default yes, but you can disable cookies entirely in the settings. 112 113 Yes, but you can disable cookies entirely in the settings. 94 114 95 115 If using cookies, Koko Analytics sets a single `_koko_analytics_pages_viewed` cookie (max 24h lifetime) to detect unique visitors without storing personal data. 116 96 117 More info: [Does Koko Analytics use cookies?](https://www.kokoanalytics.com/kb/does-koko-analytics-use-cookies/) 97 118 98 #### Will Koko Analytics slow down my website? 99 No. It’s built for speed: 100 101 - Only 500 bytes of JavaScript added. 102 - Data processing runs in the background. 103 - No extra DNS lookups — works with caching. 104 105 More info: [Will Koko Analytics slow down my website?](https://www.kokoanalytics.com/kb/will-koko-analytics-slow-down-my-website/) 106 107 #### Is the code open source? 108 Yes. [View on GitHub](https://github.com/ibericode/koko-analytics). 109 110 #### Where can I find documentation? 111 Visit the [Koko Analytics Knowledge Base](https://www.kokoanalytics.com/kb/). 112 113 #### How do I display visits for a page? 114 Use the `[koko_analytics_counter]` shortcode: 115 116 - `days`: Number of days (default `3650`). 117 - `global`: `true` for site-wide count, `false` for current page only. 118 - `metric`: `visitors` or `pageviews` (default `visitors`). 119 120 Example: 121 `[koko_analytics_counter days="30" metric="pageviews" global="true"]` 119 #### Where can I find more documentation? 120 On our [Koko Analytics Knowledge Base](https://www.kokoanalytics.com/kb/). 122 121 123 122 == Screenshots == … … 447 446 - Add Jetpack Stats importer to import your historical analytics data into Koko Analytics. Go to the settings page (with Jetpack still enabled) to access it. 448 447 - Fix settings page showing proxy IP instead of client IP if using reverse proxy. 449 - Fix use of PHP 7.4 only feature in thousands separator in source code. 450 - Auto-reload dashboard every minute if browser tab is active. 451 - Do not show chart for just a single day of data. 452 - Handle posts without title a little better by showing URL path instead. 453 454 455 #### 1.4.3 - Oct 29, 2024 456 457 - Fix "backtrack limit exhausted" triggering for certain referrer URL's without a subdomain part. 458 - Gracefully handle missing referrer blocklist file. This fixes an issue when security software on the server flags the blocklist file as suspicious (due to it containing a list of known malware domains) and deleting it. 459 - Increase width of first table column so rank isn't showing ellipsis. 460 - Remove light grey border on table header row. 461 - Right align numbers in dashboard widget. Thanks [Terence Eden](https://shkspr.mobi/blog/), who also did a wonderful post on [liberating your website statistics from Jetpack](https://shkspr.mobi/blog/2024/10/liberate-your-daily-statistics-from-jetpack/)! 462 - Improved validation of referrer URL's and request parameters at data collection endpoint. 463 464 465 #### 1.4.2 - Oct 25, 2024 466 467 - Fix fatal error "invalid string operand" when referrer URL contains `t.co` shortlink. 468 - Fix potential issue with `preg_match` returning incorrect type in function `get_referrer_url_label` 469 470 471 #### 1.4.1 - Oct 25, 2024 472 473 - Limit width of visitors and pageviews column in tables. 474 - Fix `preg_replace` from returning an invalid type when an error occurs and the log the actual error that occurred. 475 476 477 #### 1.4.0 - Oct 24, 2024 478 479 - All HTML for the dashboard is now server-side generated, drastically reducing the amount of JavaScript and generally making the code base easier to maintain and/or extend. 480 - All dashboard state can now be managed through URL query parameters, allowing you to bookmark or share your favorite views. 481 - Use actual `<table>` elements for dashboard tables, for improved screen reader support. 482 - Add filter hook `koko_analytics_referrer_url_href` to modify link `href` attribute for referrer URL's in dashboard. 483 - Add filter hook `koko_analytics_referrer_url_label` to modify link labels for referrer URL's in dashboard. 484 - Fix admin user not getting `view_koko_analytics` capability upon plugin activation. 485 - Prevent empty referrer URL from being stored. 486 - Group various Yandex referrer URL's into a single entry. 487 - Minor memory usage improvements in autoloader implementation. 488 489 490 #### 1.3.15 - Oct 15, 2024 491 492 - Fix `href` attribute on hyperlinks in most viewed posts widget/shortcode/function template. 493 494 495 #### 1.3.14 - Sep 23, 2024 496 497 - Explicitly call `sprintf` from global namespace to benefit from upcoming sprintf related performance improvements in PHP 8.4. 498 - Demo settings from [Koko Analytics Pro](https://www.kokoanalytics.com/pricing/) on plugin settings page. 499 500 501 #### 1.3.13 - Sep 17, 2024 502 503 - Ensure `Stats::get_totals` always returns a valid object. 504 - Escape return values from `add_query_arg` to prevent reflected XSS attacks. 505 - Use correct IP address even if client is behind proxy. 506 - Various minor template performance improvements. 507 508 509 #### 1.3.12 - Aug 18, 2024 510 511 - Fix double pageview counts introduced in version 1.3.11. 512 - Fix same-site showing up as referrer 513 514 515 #### 1.3.11 - Aug 16, 2024 516 517 - Only use referrer detection for determining returning visitors if cookie is disabled. 518 - Add referrer aggregation rule for Brevo email campaign links. 519 - Add referrer aggregation rule for Reddit links. 520 - Add filter hook for easily adding or modifying Koko Analytics settings. 521 - Add action hook for adding settings to Koko Analytics. 522 - Explicitly get rid of all ES6 code in tracking script. 523 524 525 #### 1.3.10 - Jun 20, 2024 526 527 - Registration for [Koko Analytics Pro](https://www.kokoanalytics.com/pricing/) is open again. Purchase a license if you need custom event tracking or would just like to support the plugin. 528 - Ignore requests from Facebook link previews and requests without a `User-Agent` HTTP header. 529 - Update referrer blocklist. 530 531 532 #### 1.3.9 - May 31, 2024 533 534 - Fix Webpack issue with tracking script. 535 536 537 #### 1.3.8 - May 29, 2024 538 539 - Add setting to exclude views from IP addresses. 540 - Show exact number of pageviews and visitors on hover. 541 - Use an optimized custom autoloader. 542 - Verify shortcode arguments for `[koko_analytics_counter]` shortcode. 543 - Fix error when using SQLite about ambiguous column name. 544 - Fix realtime pageview count using wrong duration. 545 546 547 #### 1.3.7 - Feb 26, 2024 548 549 - Add `[koko_analytics_counter]` shortcode. Thanks Anil Kulkarni! 550 - Show time since last aggregation on settings page. 551 - Validate data collection request more aggressively before writing to buffer file. 552 - Update referrer blocklist. 553 554 555 #### 1.3.6 - Jan 29, 2024 556 557 - Update referrer blocklist. 558 - Update third-party JS dependencies. 559 560 561 #### 1.3.5 - Jan 8, 2024 562 563 - Fix `HOUR_IN_SECONDS` constant not defined when using AMP with cookie enabled. 564 - Fix days without any data not showing up in chart. 565 - Improve chart y-axes for numbers just above 100.000. 566 567 568 #### 1.3.4 - Nov 21, 2023 569 570 - New feature that allows you to filter by page. Clicking any page in the "top pages" list now updates the totals and chart component to only show visitors and pageviews for that specific page. 571 - Fix warning that cron event isn't working not showing. 572 - Fix error when default date period is stuck at removed period. 573 - Fix API url for sites not using pretty permalinks. 574 - Performance improvement for rendering chart and tooltips. 575 576 577 #### 1.3.3 - Nov 6, 2023 578 579 - Fix quick navigation going forward. 580 - Add `manifest.json` file so (standalone) dashboard can be installed as a Progressive Web App. 581 582 583 #### 1.3.2 - Nov 2, 2023 584 585 - Fix chart tooltip immediately disappearing when viewing the dashboard widget on touch devices. 586 - Fix fatal error if lacking permissions to read database size from MySQL information tables. 587 - Fix double encoding of special characters in post titles. 588 - Fix arrow-key or arrow-icon navigation when viewing a single day of data. 589 - Automatically refresh dashboard data every 60s. 590 - Improve dashboard widget by showing a summary of today. 591 - Added filter hook `koko_analytics_dashboard_widget_number_of_top_items` to [modify or disable the top pages and referrers in the dashboard widget](https://github.com/ibericode/koko-analytics/blob/master/code-snippets/modify-dashboard-widget/README.md). 592 - The `[koko_analytics_most_viewed_posts]` shortcode now shows a debug message if the arguments did not lead to any results. 593 594 595 #### 1.3.1 - Nov 1, 2023 596 597 - Fix new visitors not being counted. 598 - Fix dashboard issues for users with a large UTC timezone offset. 599 - Fix date format in chart component if grouping by month. 600 - Revert to blue colors for the chart. If you want your chart to use different colors, please see this [example code snippet on how to change colors](https://github.com/ibericode/koko-analytics/blob/master/code-snippets/change-chart-colors.php). 601 - Change dashboard widget to show just a quick summary of today. 602 - Show some feedback after using the "create optimized endpoint" button. 603 604 605 #### 1.3.0 - Oct 31, 2023 606 607 - Major [performance improvements for the dashboard](https://www.kokoanalytics.com/2023/10/31/speeding-up-dashboard-removing-react-vanilla-js/) by removing the dependency on React and further optimizations. 608 - Added link for loading the dashboard outside of WordPress admin (standalone). 609 - Added setting to make the analytics dashboard publicly available. 610 - Only show button to create optimized endpoint file if location is writable. 611 - Remove `wp_koko_analytics_dates` on plugin uninstall. 612 - Optimized database query for getting most viewed posts and cache its results. 613 - Expand dashboard widget to include realtime pageviews and a list of the most viewed posts. 614 - Use `navigator.sendBeacon` for data collection requests. 615 616 617 #### 1.2.2 - Oct 18, 2023 618 619 - Fix link to settings page from plugins overview page. 620 - Fix pagination not working because `wp_localize_script` turns everything into a string. 621 - Fix React warning for dashboard widget when toggling visibility more than once. 622 - Fix chart tooltip not showing on touch devices. 623 - Minor styling improvements to settings page. 624 - Install custom endpoint on plugin activation only. 625 - Add button to settings page to re-attempt custom endpoint installation. 626 - Move table pagination to bottom of component and add text label. 627 - Wrap `input[type="radio"]` in `<fieldset>` tag. 628 - Remove support for honouring "Do Not Track" header as per [MDN recommendations](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/DNT). 629 630 631 #### 1.2.1 - Oct 11, 2023 632 633 - Fix issue with strict types and non-hourly UTC offsets. 634 635 636 #### 1.2.0 - Oct 11, 2023 637 638 - Fix compatibility with WordPress 6.0. 639 - Fix aggregation process not running for 5 minutes if an earlier run failed somehow. 640 - Fix chart tooltips not showing on WordPress dashboard. 641 - Minor performance improvements for aggregation process. 642 - Move seed (sample data) function out of the core plugin. 643 - Add message about checking browser console for error message in case the dashboard doesn't boot up. 644 - Format dates in dashboard using `Intl.DateTimeFormat` in browser, if available. 645 - Remove Pikaday datepicker in favor of native `<input type="date">` elements. 646 - Improve mobile view of datepicker dropdown. 647 - Exclude (fixed page) homepage from most viewed posts widget/shortcode/function. 648 - Add filter hook `koko_analytics_items_per_page` to override the number of items to show per page for the dashboard components. 649 - Bump required PHP version to 7.3. 650 651 652 #### 1.1.2 - Oct 3, 2023 653 654 - Fix broken totals and chart component on sites using a custom database table prefix. 655 656 657 #### 1.1.1 - Oct 3, 2023 658 659 - Fix for date table not being created, leading to an empty chart as of v1.1.0. 660 661 662 #### Koko Analytics v1.1.0 - Oct 3, 2023 663 664 - Switch out Preact for the React version that is bundled with WordPress, reducing bundle size for the admin dashboard by 40 kB (or 30%). 665 - Stop showing warning about WP Cron events not running if on local or developer environments. 666 - Use the same Browserslist configuration as WordPress core. 667 - Performance optimizations for fetching and parsing chart data. 668 - Create optimized endpoint for fetching data for the totals component. 669 - Settings page is now a server-side rendered page instead of a React component. 670 - Improved CSS selector performance. 671 - Add public PHP API. You can now call the following functions: 672 - `koko_analytics_get_most_viewed_posts()` to get a list of the most viewed posts. 673 - `koko_analytics_get_realtime_pageview_count('-1 hour')` to get the total number of pageviews in the last hour. 674 - `koko_analytics_track_pageview($post_id)` to track a pageview to the post with ID `$post_id` 675 676 677 #### 1.0.40 - Sep 14, 2023 678 679 - Fallback to post slug if post has no title 680 - Validate referrer URL and ignore if invalid 681 - Delete optimized tracking endpoint if buffer filename changed and is no longer present in it. This fixes an issue when moving between servers 682 - Always run database migrations when needed, regardless of current user role 683 - Allow specifying multiple post types in `KokoAnalytics\get_most_viewed_posts()` and the `[koko_analytics_most_viewed_posts]` shortcode. Example: `[koko_analytics_most_viewed_posts post_type="page,post"]` 684 - Limit attempts to install optimized tracking endpoint to once per hour 685 - On the analytics dashboard, use the date format from WordPress settings 686 - Translate day and month names (only relevant if using M, F, l or D in the date format string) 687 - WP CLI command to manually run aggregation now accepts an optional `--force` flag. Example: `wp koko-analytics aggregate --force` 688 - Don't show warning about WP Cron not working properly on sites on localhost, sites ending in `.local` and sites containing a port number 689 - Last but certainly not least, some preparatory work for event tracking... Coming soon! 690 691 692 ### 1.0.39 - Aug 29, 2023 693 694 - Update referrer blocklist 695 - Update third-party JS dependencies 696 - Bump tested WordPress version 697 698 699 ### 1.0.38 - Apr 25, 2023 700 701 - Fix issue with dashboard widget rendering incorrectly when it was initially hidden. 702 - Only render chart in dashboard widget when it is currently visible. 703 704 705 ### 1.0.37 - Dec 07, 2022 706 707 - Fix potential issue in tracking script causing incorrect stats collection. 708 709 710 ### 1.0.36 - Dec 06, 2022 711 712 - Shrink size of tracking script to 985 bytes (when using gzip compression). 713 714 715 ### 1.0.35 - Oct 21, 2022 716 717 - You can now call `koko_analytics.trackPageview( postId )` to manually track a pageview. This is especially useful for Single Page Applications. 718 - Update referrer blocklist. 719 - If referrer URL is on referrer blocklist, the entire request is now ignored (vs. just the referrer part). 720 - Update JavaScript dependencies. 721 722 723 #### 1.0.34 - Sep 19, 2022 724 725 - Track visits to front page (if not a static page) as well. 726 - Use gmdate() for determining whether to send cache headers. 727 - Update JavaScript dependencies. 728 729 730 #### 1.0.33 - Aug 17, 2022 731 732 - Always show at least 1 visitor if pageviews were recorded that day. 733 - Decrease Cache-Control header of REST API responses to 60s. 734 - Add button to reset all statistics. 735 - Add filter `koko_analytics_url_aggregations` to modify or add URL aggregations for referrer URL's. 736 - Created an initiative on OpenCollective for others to help fund development and support costs of Koko Analytics. Please visit https://opencollective.com/koko-analytics for more details. 737 738 739 #### 1.0.32 - Jun 2, 2022 740 741 - Fix error in latest release by ensuring Endpoint_Installer class is always loaded when needed. 742 743 744 #### 1.0.30 - Jun 1, 2022 745 746 - Delete option `koko_analytics_use_custom_endpoint` on plugin uninstall. 747 - Only load dashboard-widget.js if user has required capability for viewing stats. 748 - Add constant `KOKO_ANALYTICS_CUSTOM_ENDPOINT` for [disabling the custom endpoint](https://github.com/ibericode/koko-analytics/blob/master/code-snippets/disable-custom-endpoint.php) entirely. This filter can also be used to [manually install the endpoint file to a different file location](https://github.com/ibericode/koko-analytics/blob/master/code-snippets/use-different-custom-endpoint.php). 749 - Re-attempt installation of the custom endpoint file every hour. This also automatically re-tests whether the custom endpoint is still working as expected. The plugin already did this whenever you visited the dashboard page, but now it simply runs more often and without requiring you to log-in to your WordPress admin. 750 751 752 #### 1.0.29 - Jan 25, 2022 753 754 - Skip empty lines in buffer file to avoid a PHP notice in certain edge cases. 755 - Make use of JS library for date presets. 756 - Filter out user agents containing "preview". 757 - Normalize referrer URl's for Yahoo search results. 758 - Add class attribute to cron warning so it can be hidden using CSS by targeting `.koko-analytics-cron-warning`. 759 760 761 #### 1.0.28 - Sep 27, 2021 762 763 - Account for missing configuration object, for example if theme does not properly call `wp_head()`. 764 - Cast database result to integer types so we do not have to do it client-side. 765 - Cache dashboard ... 766 448 - Fix use of PHP 7.4 only feature in thousands separator in source ... 449
Note: See TracChangeset
for help on using the changeset viewer.