{"id":382028,"date":"2026-11-04T07:14:31","date_gmt":"2026-11-04T07:14:31","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/anomaly-detector\/"},"modified":"2026-11-04T07:14:03","modified_gmt":"2026-11-04T07:14:03","slug":"no-cell-traffic-anomaly-detector","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/no-cell-traffic-anomaly-detector\/","author":23580252,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.8.0","stable_tag":"0.8.0","tested":"7.1.4","requires":"5.0","requires_php":"7.4","requires_plugins":null,"header_name":"noCell Traffic Anomaly Detector","header_author":"noCell","header_description":"Sends your site's traffic metrics to the Anomaly Detector service and notifies you by email when an anomaly is detected.","assets_banners_color":"","last_updated":"2026-11-04 07:14:03","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/anomaly-detector-console.eng-974.workers.dev","header_author_uri":"https:\/\/no-cell.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":114,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.8.0":{"tag":"0.8.0","author":"nocell","date":"2026-11-04 07:14:03","revision":3783260}},"upgrade_notice":[],"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.8.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[1110,232,271420,5603,493],"plugin_category":[36,54,55],"plugin_contributors":[290651],"plugin_business_model":[],"class_list":["post-382028","plugin","type-plugin","status-publish","hentry","plugin_tags-alerts","plugin_tags-analytics","plugin_tags-anomaly-detection","plugin_tags-monitoring","plugin_tags-traffic","plugin_category-analytics","plugin_category-security-and-spam-protection","plugin_category-seo-and-marketing","plugin_contributors-nocell","plugin_committers-nocell"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/no-cell-traffic-anomaly-detector.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Anomaly Detector watches your site's traffic and tells you when it behaves unexpectedly, such as a sudden drop in page views, a spike from an unknown referrer, or a shift in the mobile \/ desktop mix.<\/p>\n\n<p>The plugin collects a small set of aggregate metrics on your site and sends them to the Anomaly Detector service, where they are analysed. You receive an email when an anomaly is detected. Paid plans add hourly detection and Slack \/ Discord notifications.<\/p>\n\n<p><strong>What the plugin collects<\/strong><\/p>\n\n<ul>\n<li>Page views<\/li>\n<li>Unique visitors (daily and hourly, based on a first-party cookie)<\/li>\n<li>Referrer host names (external sites only)<\/li>\n<li>Device type (mobile \/ desktop)<\/li>\n<\/ul>\n\n<p>The plugin does not record IP addresses, user agents, page URLs or any personal data. Only aggregated counts leave your site.<\/p>\n\n<p><strong>How it works<\/strong><\/p>\n\n<ol>\n<li>A small script (<code>assets\/track.js<\/code>) is loaded on your public pages and sends a beacon to your own site for each page view. This also works behind full-page caches and CDNs.<\/li>\n<li>The plugin keeps daily and hourly counters in the WordPress options table.<\/li>\n<li>Once a day and once an hour, WP-Cron sends the completed counters to the Anomaly Detector API and deletes them locally.<\/li>\n<li>The service runs the anomaly detection and notifies you.<\/li>\n<\/ol>\n\n<p>Notification channels, detection history and monthly usage are managed in the Anomaly Detector dashboard, which you connect to from the plugin settings page.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin relies on the Anomaly Detector service, a third-party hosted service operated by the plugin author. It cannot work without it.<\/p>\n\n<p>The plugin communicates with the following endpoints:<\/p>\n\n<ul>\n<li><code>https:\/\/anomaly-detector.eng-974.workers.dev<\/code> (API) \u2013 receives the aggregated metrics listed above, once a day and once an hour, and serves plan information and the connection handshake. Requests are authenticated with a per-site API key.<\/li>\n<li><code>https:\/\/anomaly-detector-console.eng-974.workers.dev<\/code> (dashboard) \u2013 the site administrator is redirected here when connecting the plugin. The site URL and site name are passed in the URL so the service can register the site.<\/li>\n<\/ul>\n\n<p>No data is sent until the site administrator explicitly connects the plugin from the settings page. Disconnecting stops all transmission.<\/p>\n\n<p>Terms of service: https:\/\/anomaly-detector-console.eng-974.workers.dev\/terms\nPrivacy policy: https:\/\/anomaly-detector-console.eng-974.workers.dev\/privacy<\/p>\n\n<h3>Cookies<\/h3>\n\n<p>To count unique visitors the plugin sets two first-party cookies on your visitors' browsers: <code>webanomaly_seen_&lt;date&gt;<\/code> (expires after one day) and <code>webanomaly_seen_&lt;date&gt;T&lt;hour&gt;<\/code> (expires after one hour). They contain the value <code>1<\/code> only and are not used to identify visitors. Depending on your jurisdiction you may need to disclose them in your cookie policy.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>no-cell-traffic-anomaly-detector<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install it from the WordPress plugin directory.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> menu.<\/li>\n<li>Go to <strong>Settings \u2192 Anomaly Detector<\/strong> and click <strong>Connect to Anomaly Detector<\/strong>.<\/li>\n<li>Sign in to (or create) your Anomaly Detector account and approve the connection. You are sent back to WordPress with the connection configured.<\/li>\n<li>Add notification recipients in the dashboard. The first detection runs after enough data has been collected.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20the%20plugin%20slow%20down%20my%20site%3F\"><h3>Does the plugin slow down my site?<\/h3><\/dt>\n<dd><p>No. The tracking script is a few lines of JavaScript loaded after the page content, and it sends one small request per page view. Counters are stored without autoload so they are not loaded on every request.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20caching%20plugins%20or%20a%20cdn%3F\"><h3>Does it work with caching plugins or a CDN?<\/h3><\/dt>\n<dd><p>Yes. Page views are counted by a script that runs in the visitor's browser, so cached pages are counted too.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20my%20data%20when%20i%20deactivate%20or%20delete%20the%20plugin%3F\"><h3>What happens to my data when I deactivate or delete the plugin?<\/h3><\/dt>\n<dd><p>Deactivating stops the scheduled transmissions. Deleting the plugin removes all of its options, including the connection settings and any counters that have not been sent yet. Data already sent to the service stays in your Anomaly Detector account until you delete the site there.<\/p><\/dd>\n<dt id=\"is%20a%20paid%20plan%20required%3F\"><h3>Is a paid plan required?<\/h3><\/dt>\n<dd><p>No. The free plan includes weekly detection with email notification. Paid plans add hourly detection and Slack \/ Discord notifications.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.8.0<\/h4>\n\n<ul>\n<li>Prepared the plugin for the WordPress plugin directory: readme, license, uninstall routine, activation \/ deactivation hooks.<\/li>\n<li>All internal function, constant and hook names now use the <code>webanomaly_<\/code> prefix. Scheduled events are migrated automatically on update.<\/li>\n<li>User interface strings are now translatable.<\/li>\n<\/ul>\n\n<h4>0.7.0<\/h4>\n\n<ul>\n<li>Notification settings moved to the Anomaly Detector dashboard.<\/li>\n<\/ul>","raw_excerpt":"Sends your site's traffic metrics to the Anomaly Detector service and emails you when something unusual happens.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/382028","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=382028"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/nocell"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=382028"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=382028"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=382028"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=382028"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=382028"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=382028"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}