=== Netstan Count Lite ===
Contributors: spacexgen
Tags: post views, view counter, statistics, analytics, popular posts
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Lightweight post view counter with an eye-icon badge and a dashboard of daily and weekly charts, top posts and top categories. Works with any theme.

== Description ==

Netstan Count Lite counts how many times each of your posts is viewed and shows you the numbers.

* **View badge** - an eye icon with the post's view count. It appears above the content of single posts automatically, can be placed anywhere with the `[netstan_count]` shortcode, and themes can print it themselves.
* **Dashboard** - views today, in the last 7 days, in the last 30 days and all time; a daily chart (30 days) and a weekly chart (12 weeks); top posts and top categories for a date range you choose.
* **Accurate counts** - visits from logged-in staff and from known bots are ignored, and a reload within 30 minutes is not counted twice.
* **Works with page caching** - views are recorded by a small script after the page loads, so cached pages are counted too.
* **Private by design** - no IP addresses, user agents or visitor IDs are stored; only a daily total per post.
* **Your data, your call** - view history is kept if you delete the plugin, unless you opt in to removing it under Netstan Count > Settings.

= Shortcode =

`[netstan_count]` shows the badge for the current post. `[netstan_count id="123"]` shows it for a specific post.

= For theme developers =

Call `netstan_count_badge( $post_id )` (returns escaped HTML) to print the badge yourself. To load the counts for a whole list of posts in a single query first, call `netstan_count_prefetch( $post_ids )`. Declare `add_theme_support( 'netstan-count' )` so the plugin doesn't also add its automatic badge, or use the `netstan_count_theme_renders_badge` filter.

== Installation ==

1. Upload the plugin to `/wp-content/plugins/`, or install it from the Plugins screen.
2. Activate it. Views are counted from then on.
3. Open **Netstan Count** in the admin menu to see your stats.

== Frequently Asked Questions ==

= Does it work with my theme? =

Yes. Counting and the dashboard don't depend on the theme, and the badge is added above single-post content automatically. You can turn that off under Netstan Count > Settings and use the shortcode instead.

= Does it work with caching plugins? =

Yes. Views are sent from the visitor's browser to a REST endpoint, so a cached page is counted like any other.

= Are my visitors tracked? =

No. Only a per-post, per-day view total is stored. A first-party cookie that expires after 30 minutes stops one visitor's reloads from inflating the count; it holds no personal information.

= Will I lose my view history if I upgrade to Netstan Count? =

No. Both editions use the same data table. Deactivate Netstan Count Lite before activating Netstan Count; the two can't be active together.

= Who can see the dashboard? =

Administrators (anyone who can manage the site's settings).

= Does it work on multisite? =

It isn't built for network-wide use and can't be network-activated. Activate it on each site individually from that site's Plugins screen; every site then keeps its own counts. It has not been tested on a multisite network.

= Which versions of WordPress and PHP does it need? =

WordPress 6.0 or newer and PHP 7.4 or newer.

== Third-party libraries ==

This plugin bundles [Chart.js](https://www.chartjs.org) 4.5.1 (MIT License) in `vendor/chart.js`, used to draw the dashboard charts. Chart.js's own bundle includes [@kurkle/color](https://github.com/kurkle/color) (MIT License). Source: https://github.com/chartjs/Chart.js

== Privacy ==

Netstan Count Lite stores a daily view total per post (post ID, date, count). It stores no IP address, user agent or visitor identifier, and sends no data to any external service.

It sets one first-party cookie, `netstan_count_viewed_{post ID}`, on a visitor's first view of a post. It expires after 30 minutes, contains no personal information, and only prevents reloads from being counted repeatedly. Suggested wording is added to Settings > Privacy > Policy Guide.

== Changelog ==

= 1.0.0 =
* Initial release.
