{"id":293616,"date":"2026-04-09T23:33:26","date_gmt":"2026-04-09T23:33:26","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/site-pulse\/"},"modified":"2026-04-09T23:30:12","modified_gmt":"2026-04-09T23:30:12","slug":"site-pulse","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/site-pulse\/","author":20970017,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.1.0","stable_tag":"0.1.0","tested":"6.9.4","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Site Pulse","header_author":"otokichi3","header_description":"Lightweight site monitoring \u2014 page uptime, response time, DB performance, and slow query detection with a built-in dashboard.","assets_banners_color":"","last_updated":"2026-04-09 23:30:12","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/github.com\/otokichi3\/wp-site-pulse","header_author_uri":"https:\/\/github.com\/otokichi3","rating":0,"author_block_rating":0,"active_installs":0,"downloads":38,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.1.0":{"tag":"0.1.0","author":"otokichi3","date":"2026-04-09 23:30:12"}},"upgrade_notice":{"0.1.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.1.0"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Dashboard overview with health indicators.","2":"Page response time chart.","3":"DB saturation gauges with info tooltips.","4":"Settings page."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[434,5603,247,259861,29148],"plugin_category":[54],"plugin_contributors":[259862],"plugin_business_model":[],"class_list":["post-293616","plugin","type-plugin","status-publish","hentry","plugin_tags-dashboard","plugin_tags-monitoring","plugin_tags-performance","plugin_tags-slow-query","plugin_tags-uptime","plugin_category-security-and-spam-protection","plugin_contributors-otokichi3","plugin_committers-otokichi3"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/site-pulse.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Site Pulse is a monitoring plugin that runs entirely inside WordPress. It checks your pages and database automatically after each page load (via the shutdown hook) and shows the results on a dashboard in wp-admin. When something goes wrong, it sends you an email.<\/p>\n\n<p>No external monitoring service or API key required.<\/p>\n\n<p><strong>What it monitors:<\/strong><\/p>\n\n<ul>\n<li>Page HTTP status and response time (including login-required pages)<\/li>\n<li>DB read\/write performance via test queries (SELECT, INSERT, UPDATE, DELETE)<\/li>\n<li>Slow queries (requires <code>SAVEQUERIES<\/code> to be enabled)<\/li>\n<li>DB health indicators: autoload option size, expired transients, post revision bloat<\/li>\n<\/ul>\n\n<p><strong>Alerts:<\/strong><\/p>\n\n<p>The plugin sends email alerts when a page returns an error, responds too slowly, or a DB test query fails. You can choose which alert types to enable, and duplicate alerts are suppressed for 1 hour.<\/p>\n\n<p><strong>Dashboard:<\/strong><\/p>\n\n<p>The admin dashboard shows an overall site health indicator, then breaks down into page monitoring and DB status. Each section has charts (powered by Chart.js), error logs, and detail views.<\/p>\n\n<h4>Third-Party Libraries<\/h4>\n\n<p>This plugin bundles Chart.js (MIT license) for rendering charts on the admin dashboard. All files are included locally \u2014 no external requests are made.<\/p>\n\n<ul>\n<li><a href=\"https:\/\/www.chartjs.org\/\">Chart.js<\/a> \u2014 MIT License<\/li>\n<li><a href=\"https:\/\/github.com\/chartjs\/chartjs-adapter-date-fns\">chartjs-adapter-date-fns<\/a> \u2014 MIT License<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>site-pulse<\/code> folder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Open \"Site Pulse\" in the admin menu.<\/li>\n<li>Go to \"Site Pulse &gt; Settings\" to add URLs and configure alerts.<\/li>\n<\/ol>\n\n<p>Checks run automatically after page loads using a shutdown hook, so no server-side cron setup is required. The plugin throttles itself to run at most once every 15 minutes.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20need%20an%20external%20service%3F\"><h3>Does this need an external service?<\/h3><\/dt>\n<dd><p>No. Everything runs inside WordPress.<\/p><\/dd>\n<dt id=\"will%20it%20slow%20down%20my%20site%3F\"><h3>Will it slow down my site?<\/h3><\/dt>\n<dd><p>Checks run after the response is sent to the visitor (shutdown hook), so page speed is not affected. Slow query detection uses <code>SAVEQUERIES<\/code> which does add overhead \u2014 only enable it when you need it.<\/p><\/dd>\n<dt id=\"can%20it%20monitor%20pages%20that%20require%20login%3F\"><h3>Can it monitor pages that require login?<\/h3><\/dt>\n<dd><p>Yes. In Settings, tick the \"Auth\" checkbox next to any URL that requires login and pick a user account. The plugin creates temporary auth cookies (valid for 60 seconds) for those URLs.<\/p><\/dd>\n<dt id=\"what%20happens%20on%20uninstall%3F\"><h3>What happens on uninstall?<\/h3><\/dt>\n<dd><p>All tables and options created by the plugin are deleted.<\/p><\/dd>\n<dt id=\"how%20long%20is%20data%20kept%3F\"><h3>How long is data kept?<\/h3><\/dt>\n<dd><p>Check results are kept for 7 days. Slow query logs and alert history are capped at 100 entries each.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.1.0 (2026-03-19)<\/h4>\n\n<p>Initial release.<\/p>","raw_excerpt":"Internal site monitoring for WordPress. Checks page uptime, DB performance, and slow queries.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/293616","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=293616"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/otokichi3"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=293616"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=293616"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=293616"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=293616"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=293616"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=293616"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}