{"id":294670,"date":"2026-04-07T10:38:01","date_gmt":"2026-04-07T10:38:01","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/wppulse\/"},"modified":"2026-04-09T12:20:33","modified_gmt":"2026-04-09T12:20:33","slug":"fizteq-pulse","status":"publish","type":"plugin","link":"https:\/\/ast.wordpress.org\/plugins\/fizteq-pulse\/","author":23472514,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.0.9","stable_tag":"1.0.9","tested":"6.9.4","requires":"5.9","requires_php":"7.4","requires_plugins":null,"header_name":"FizteQ Pulse - Monitoring and error tracking","header_author":"FizteQ","header_description":"Error tracking and site health monitoring for WordPress agencies. Reports errors, plugin changes, and health data to your WPPulse dashboard.","assets_banners_color":"2868ec","last_updated":"2026-04-09 12:20:33","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wp-pulse.app","header_author_uri":"https:\/\/fizteq.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":87,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.7":{"tag":"1.0.7","author":"fizteq","date":"2026-04-07 10:37:24"},"1.0.8":{"tag":"1.0.8","author":"fizteq","date":"2026-04-07 10:45:08"},"1.0.9":{"tag":"1.0.9","author":"fizteq","date":"2026-04-09 12:20:33"}},"upgrade_notice":{"1.0.9":"<p>Plugin events now include the WordPress user who performed the action (username and role) instead of showing as Anonymous.<\/p>","1.0.8":"<p>Dashboard URL is now pre-filled on activation. Updated installation instructions.<\/p>","1.0.7":"<p>Adds subscription status awareness with admin notices for plan limit and payment issues.<\/p>","1.0.6":"<p>Plugin renamed to &quot;FizteQ Pulse - Monitoring and error tracking&quot; per WordPress.org trademark review. No functional changes.<\/p>","1.0.5":"<p>Addresses WordPress.org plugin review feedback and adds subscription status awareness with admin notices for plan limit and payment issues.<\/p>","1.0.4":"<p>Fixes misleading same-version alerts from translation updates and improves cron failure deduplication.<\/p>","1.0.3":"<p>Fixes monitor config not persisting across cache flushes and adds heartbeat diagnostics to test connection.<\/p>","1.0.2":"<p>Test connection now triggers an immediate heartbeat so the setup wizard detects your site instantly.<\/p>","1.0.1":"<p>Fixes connection issue where domain validation failed on server-to-server API requests.<\/p>","1.0.0":"<p>Initial release. Install, connect to your WPPulse dashboard, and start monitoring.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3500609,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3500609,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":3500609,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.7","1.0.8","1.0.9"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3500609,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3500609,"resolution":"2","location":"assets","locale":""},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3500609,"resolution":"3","location":"assets","locale":""},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3500609,"resolution":"4","location":"assets","locale":""}},"screenshots":{"1":"<strong>Plugin settings<\/strong> \u2014 Simple setup: enter your URL and API key, test the connection, and you're done","2":"<strong>Dashboard<\/strong> \u2014 All your sites at a glance with health status indicators and recent alerts","3":"<strong>Site detail<\/strong> \u2014 Drill into a single site to see its errors, events, and environment","4":"<strong>Issue detail<\/strong> \u2014 Full error information with stack trace, request context, and occurrence timeline"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[5590,29196,5603,4906,151481],"plugin_category":[54],"plugin_contributors":[259628],"plugin_business_model":[],"class_list":["post-294670","plugin","type-plugin","status-publish","hentry","plugin_tags-agency","plugin_tags-error-tracking","plugin_tags-monitoring","plugin_tags-notifications","plugin_tags-site-health","plugin_category-security-and-spam-protection","plugin_contributors-fizteq","plugin_committers-fizteq"],"banners":{"banner":"https:\/\/ps.w.org\/fizteq-pulse\/assets\/banner-772x250.png?rev=3500609","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/fizteq-pulse\/assets\/icon-128x128.png?rev=3500609","icon_2x":"https:\/\/ps.w.org\/fizteq-pulse\/assets\/icon-256x256.png?rev=3500609","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/fizteq-pulse\/assets\/screenshot-1.png?rev=3500609","caption":"<strong>Plugin settings<\/strong> \u2014 Simple setup: enter your URL and API key, test the connection, and you're done"},{"src":"https:\/\/ps.w.org\/fizteq-pulse\/assets\/screenshot-2.png?rev=3500609","caption":"<strong>Dashboard<\/strong> \u2014 All your sites at a glance with health status indicators and recent alerts"},{"src":"https:\/\/ps.w.org\/fizteq-pulse\/assets\/screenshot-3.png?rev=3500609","caption":"<strong>Site detail<\/strong> \u2014 Drill into a single site to see its errors, events, and environment"},{"src":"https:\/\/ps.w.org\/fizteq-pulse\/assets\/screenshot-4.png?rev=3500609","caption":"<strong>Issue detail<\/strong> \u2014 Full error information with stack trace, request context, and occurrence timeline"}],"raw_content":"<!--section=description-->\n<p>WPPulse is an error tracking and site health monitoring service built specifically for WordPress agencies and freelancers managing multiple client sites.<\/p>\n\n<p>Install this plugin on each site you manage. It reports errors, plugin changes, security events, and more to your <a href=\"https:\/\/wp-pulse.app\">WPPulse dashboard<\/a> \u2014 giving you a single overview of every site's health.<\/p>\n\n<h4>What it monitors<\/h4>\n\n<ul>\n<li><strong>PHP errors &amp; exceptions<\/strong> \u2014 Fatal errors, uncaught exceptions, and user errors with full stack traces<\/li>\n<li><strong>Plugin changes<\/strong> \u2014 Activations, deactivations, installs, updates, and pending updates<\/li>\n<li><strong>WordPress core updates<\/strong> \u2014 Get alerted when a new WordPress version is available<\/li>\n<li><strong>Security events<\/strong> \u2014 Admin user creation, deletion, and role changes<\/li>\n<li><strong>Database errors<\/strong> \u2014 Query failures with sanitised error details<\/li>\n<li><strong>REST API errors<\/strong> \u2014 4xx and 5xx responses on WordPress REST endpoints<\/li>\n<li><strong>Cron job failures<\/strong> \u2014 Detect overdue or silently failing scheduled tasks<\/li>\n<li><strong>Server resources<\/strong> \u2014 Disk space and memory usage warnings<\/li>\n<\/ul>\n\n<h4>Why WPPulse?<\/h4>\n\n<ul>\n<li><strong>Multi-site dashboard<\/strong> \u2014 See all your client sites at a glance with status indicators<\/li>\n<li><strong>Smart alerts<\/strong> \u2014 Digest-based notifications so you don't get spammed<\/li>\n<li><strong>4 notification channels<\/strong> \u2014 Email, Telegram, Discord, and Slack<\/li>\n<li><strong>WordPress-native<\/strong> \u2014 Purpose-built for WordPress, not a generic error tracker<\/li>\n<li><strong>Privacy first<\/strong> \u2014 Sensitive data (passwords, tokens, PII) is automatically filtered before anything leaves your site<\/li>\n<li><strong>EU-hosted &amp; GDPR-compliant<\/strong> \u2014 Servers in Bucharest, Romania. No data leaves the EU.<\/li>\n<li><strong>Lightweight<\/strong> \u2014 No frontend JavaScript, no database tables, no impact on your visitors<\/li>\n<\/ul>\n\n<h4>How it works<\/h4>\n\n<ol>\n<li>Sign up at <a href=\"https:\/\/wp-pulse.app\">wp-pulse.app<\/a> and add your site<\/li>\n<li>Install this plugin and enter the API key from your dashboard<\/li>\n<li>That's it \u2014 errors and events start flowing to your dashboard immediately<\/li>\n<\/ol>\n\n<p>The plugin runs silently in the background. If the connection to WPPulse is temporarily unavailable, events are queued locally and sent automatically when the connection is restored.<\/p>\n\n<h4>Built for agencies<\/h4>\n\n<p>If you manage 10, 50, or 100 client sites, WPPulse gives you one place to see which sites have errors, which have pending updates, and which need attention \u2014 before your clients call you.<\/p>\n\n<h4>External Service<\/h4>\n\n<p>This plugin requires a <a href=\"https:\/\/wp-pulse.app\">WPPulse<\/a> account and sends data to the WPPulse API hosted at <code>wp-pulse.app<\/code>. <strong>No data is transmitted until you configure the plugin with your API key.<\/strong> The plugin does not contact any external server until you explicitly connect it.<\/p>\n\n<p><strong>Data transmitted to WPPulse:<\/strong><\/p>\n\n<ul>\n<li>PHP error details: error class, message, file path (relative, server root stripped), line number, stack trace<\/li>\n<li>Plugin events: activation, deactivation, install, update, pending updates<\/li>\n<li>Security events: admin user creation, deletion, role changes (user ID and role only \u2014 no names or emails)<\/li>\n<li>Database errors: sanitised error message and query (all literal values replaced with placeholders)<\/li>\n<li>REST API errors: route, method, status code<\/li>\n<li>Cron failures: hook name and schedule<\/li>\n<li>Resource warnings: disk space and memory usage percentages<\/li>\n<li>Environment: PHP version, WordPress version, active theme name, multisite status, OS name, plugin version<\/li>\n<li>Request context (on errors only): HTTP method, URL path (no query string), filtered headers, filtered POST\/GET fields, user agent, IP address<\/li>\n<\/ul>\n\n<p><strong>Sensitive data filtering:<\/strong> Passwords, tokens, API keys, emails, names, addresses, credit card fields, and 34+ other sensitive field types are automatically replaced with <code>[Filtered]<\/code> before transmission. You can add custom fields on the settings page.<\/p>\n\n<p><strong>Service links:<\/strong><\/p>\n\n<ul>\n<li><a href=\"https:\/\/wp-pulse.app\">WPPulse website<\/a><\/li>\n<li><a href=\"https:\/\/wp-pulse.app\/terms\">Terms of Service<\/a><\/li>\n<li><a href=\"https:\/\/wp-pulse.app\/privacy\">Privacy Policy<\/a><\/li>\n<li><a href=\"https:\/\/wp-pulse.app\/dpa\">Data Processing Agreement<\/a><\/li>\n<\/ul>\n\n<p>WPPulse is operated by FizteQ Solutions SRL (Romania, EU). All data is processed and stored on servers located in Bucharest, Romania.<\/p>\n\n<!--section=installation-->\n<h4>From the WordPress Plugin Directory<\/h4>\n\n<ol>\n<li>Go to <strong>Plugins &gt; Add New<\/strong> in your WordPress admin<\/li>\n<li>Search for <strong>FizteQ Pulse<\/strong><\/li>\n<li>Click <strong>Install Now<\/strong>, then <strong>Activate<\/strong><\/li>\n<li>Go to <strong>FizteQ Pulse<\/strong> in the admin sidebar<\/li>\n<li>Enter your Dashboard URL and API key (get these from <a href=\"https:\/\/wp-pulse.app\">wp-pulse.app<\/a>)<\/li>\n<li>Click <strong>Test Connection<\/strong> to verify everything works<\/li>\n<\/ol>\n\n<h4>Manual Installation<\/h4>\n\n<ol>\n<li>Download the plugin ZIP file<\/li>\n<li>Go to <strong>Plugins &gt; Add New &gt; Upload Plugin<\/strong><\/li>\n<li>Upload the ZIP file and click <strong>Install Now<\/strong><\/li>\n<li>Activate the plugin and configure it under the <strong>FizteQ Pulse<\/strong> menu<\/li>\n<\/ol>\n\n<h4>Configuration<\/h4>\n\n<p>After activation, the plugin needs two things:<\/p>\n\n<ul>\n<li><strong>Dashboard URL<\/strong> \u2014 Pre-filled with <code>https:\/\/wp-pulse.app<\/code>. No change needed unless directed otherwise.<\/li>\n<li><strong>API Key<\/strong> \u2014 Your site-specific key from the FizteQ Pulse dashboard<\/li>\n<\/ul>\n\n<p>Once connected, monitors are controlled from the WPPulse dashboard. Use the <strong>Sync Config<\/strong> button on the settings page to pull the latest configuration.<\/p>\n\n<h4>System Cron (optional)<\/h4>\n\n<p>By default, the plugin uses WP-Cron for scheduling. If your site has low traffic or you prefer more reliable timing, switch to <strong>System Cron<\/strong> mode in the settings and add the provided crontab command to your server.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20a%20wppulse%20account%3F\"><h3>Do I need a WPPulse account?<\/h3><\/dt>\n<dd><p>Yes. The plugin sends monitoring data to your WPPulse dashboard at <a href=\"https:\/\/wp-pulse.app\">wp-pulse.app<\/a>. You can sign up for a free account to get started.<\/p><\/dd>\n<dt id=\"what%20data%20does%20the%20plugin%20send%3F\"><h3>What data does the plugin send?<\/h3><\/dt>\n<dd><p>The plugin sends error details (message, file, stack trace), plugin change events, and environment information (PHP version, WordPress version, active theme). Sensitive fields like passwords, tokens, emails, and credit card numbers are automatically filtered and never transmitted.<\/p><\/dd>\n<dt id=\"does%20it%20slow%20down%20my%20site%3F\"><h3>Does it slow down my site?<\/h3><\/dt>\n<dd><p>No. The plugin hooks into WordPress events and only runs when something happens (an error, a plugin change, etc.). It adds no frontend JavaScript, no database tables, and no queries to page loads. API calls use a 10-second timeout so they never block your site.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20the%20connection%20to%20wppulse%20is%20down%3F\"><h3>What happens if the connection to WPPulse is down?<\/h3><\/dt>\n<dd><p>Events are automatically queued locally (up to 50 events) and retried with exponential backoff. Once the connection is restored, all queued events are sent in a single batch. No data is lost.<\/p><\/dd>\n<dt id=\"can%20i%20control%20which%20monitors%20are%20active%3F\"><h3>Can I control which monitors are active?<\/h3><\/dt>\n<dd><p>Yes. Monitors are toggled from the WPPulse dashboard. After making changes there, click <strong>Sync Config<\/strong> in the plugin settings to pull the latest configuration.<\/p><\/dd>\n<dt id=\"can%20i%20add%20custom%20fields%20to%20the%20privacy%20filter%3F\"><h3>Can I add custom fields to the privacy filter?<\/h3><\/dt>\n<dd><p>Yes. Go to the WPPulse settings page and add field names under <strong>Additional Filtered Fields<\/strong> (one per line). These are merged with the 34 built-in filtered fields. You can also use the <code>wppulse_sensitive_body_keys<\/code> and <code>wppulse_sensitive_header_keys<\/code> filters in code.<\/p><\/dd>\n<dt id=\"is%20it%20gdpr-compliant%3F\"><h3>Is it GDPR-compliant?<\/h3><\/dt>\n<dd><p>WPPulse is built by an EU company (FizteQ Solutions SRL, Romania) and hosted entirely within the EU. Sensitive data is filtered before transmission, and the plugin does not use cookies or track visitors. See our <a href=\"https:\/\/wp-pulse.app\/privacy\">privacy policy<\/a> and <a href=\"https:\/\/wp-pulse.app\/dpa\">DPA<\/a> for full details.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20wp-cli%3F\"><h3>Does it work with WP-CLI?<\/h3><\/dt>\n<dd><p>The plugin detects WP-CLI and command-line contexts. Error monitoring works in CLI mode, but request-specific data (URL, headers, POST body) is not captured since there is no HTTP request.<\/p><\/dd>\n<dt id=\"does%20it%20work%20on%20multisite%3F\"><h3>Does it work on multisite?<\/h3><\/dt>\n<dd><p>Yes. The plugin reports the multisite status as part of the environment data. Install and configure it on each site in the network where you want monitoring.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.9<\/h4>\n\n<ul>\n<li>Send structured user context (ID, login, role) with plugin and security events for richer audit trail<\/li>\n<\/ul>\n\n<h4>1.0.8<\/h4>\n\n<ul>\n<li>Pre-fill Dashboard URL with https:\/\/wp-pulse.app on activation<\/li>\n<li>Update installation instructions with correct plugin name and search term<\/li>\n<\/ul>\n\n<h4>1.0.7<\/h4>\n\n<ul>\n<li>New: subscription status awareness \u2014 admin notices for limited, past due, and cancelled subscription states<\/li>\n<li>New: handles 402 API responses when site monitoring is paused due to plan limits<\/li>\n<li>Improvement: subscription status stored as WP option for LiteSpeed Object Cache compatibility<\/li>\n<\/ul>\n\n<h4>1.0.6<\/h4>\n\n<ul>\n<li>Rename plugin display name to \"FizteQ Pulse\" to comply with WordPress.org trademark guidelines<\/li>\n<\/ul>\n\n<h4>1.0.5<\/h4>\n\n<ul>\n<li>Enqueue admin CSS and JS via wp_enqueue_style\/wp_enqueue_script instead of inline tags<\/li>\n<li>Make configuration notice dismissible<\/li>\n<li>Sanitize filtered keys with sanitize_key() in register_setting<\/li>\n<li>Move WordPress.org directory assets out of plugin zip<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Fix: remove translation update tracking \u2014 produces misleading same-version alerts<\/li>\n<li>Fix: use hook name for cron failure fingerprint deduplication<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Fix: flush monitor config option cache on settings change<\/li>\n<li>Fix: persist monitor config in option to survive cache flushes<\/li>\n<li>Fix: add heartbeat diagnostics to test connection<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Send immediate heartbeat after successful test connection for faster wizard detection<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Fix: Send site domain header for server-to-server API authentication<\/li>\n<li>Remove placeholder text from WPPulse URL field<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>8 monitors: PHP errors, plugins, core updates, security, database, REST API, cron, resources<\/li>\n<li>Failsafe event queue with exponential backoff<\/li>\n<li>Sensitive data filtering (34 built-in fields + custom fields)<\/li>\n<li>Dual scheduling: WP-Cron or system cron<\/li>\n<li>HTTPS enforcement and SSL verification on all API calls<\/li>\n<li>Auto-resolve when issues are fixed<\/li>\n<li>GDPR-friendly: no cookies, no visitor tracking, EU-hosted<\/li>\n<\/ul>","raw_excerpt":"Monitor errors, plugin changes, and site health across all your WordPress sites from one dashboard. Built for agencies.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/294670","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=294670"}],"author":[{"embeddable":true,"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/fizteq"}],"wp:attachment":[{"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=294670"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=294670"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=294670"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=294670"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=294670"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=294670"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}