{"id":295045,"date":"2026-04-21T10:34:03","date_gmt":"2026-04-21T10:34:03","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/sitevitals-monitor\/"},"modified":"2026-04-21T10:33:45","modified_gmt":"2026-04-21T10:33:45","slug":"sitevitals-monitor","status":"publish","type":"plugin","link":"https:\/\/en-ca.wordpress.org\/plugins\/sitevitals-monitor\/","author":23472942,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.6.0","stable_tag":"0.6.0","tested":"6.9.4","requires":"6.0","requires_php":"8.0","requires_plugins":null,"header_name":"SiteVitals Monitor","header_author":"SiteVitals","header_description":"Reports WordPress core, plugin, and theme updates to your SiteVitals change timeline. Continuous monitoring across uptime, performance, SEO, security, and content change.","assets_banners_color":"ffffff","last_updated":"2026-04-21 10:33:45","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/www.sitevitals.co.uk","header_author_uri":"https:\/\/www.18aproductions.co.uk","rating":0,"author_block_rating":0,"active_installs":0,"downloads":82,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.6.0":{"tag":"0.6.0","author":"sitevitals","date":"2026-04-21 10:33:45"}},"upgrade_notice":{"0.6.0":"<p>Compliance update for WordPress.org review. Renames internal prefixes and adds nonce verification. Existing installations will need to reconnect once after updating.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3511698,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3511698,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3511698,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3511698,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.6.0"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"The settings page before connecting - one click takes you through the OAuth flow.","2":"The SiteVitals connection screen - sign in or create a free account to complete the connection.","3":"The settings page once connected, with links to your SiteVitals timeline and dashboard.","4":"The event log showing plugin, theme, and core updates with version jump types and send status.","5":"The SiteVitals change timeline showing WordPress update events alongside monitoring signals."}},"plugin_section":[],"plugin_tags":[260703,5603,151481,2550,29148],"plugin_category":[54],"plugin_contributors":[260704],"plugin_business_model":[],"class_list":["post-295045","plugin","type-plugin","status-publish","hentry","plugin_tags-change-tracking","plugin_tags-monitoring","plugin_tags-site-health","plugin_tags-updates","plugin_tags-uptime","plugin_category-security-and-spam-protection","plugin_contributors-sitevitals","plugin_committers-sitevitals"],"banners":{"banner":"https:\/\/ps.w.org\/sitevitals-monitor\/assets\/banner-772x250.png?rev=3511698","banner_2x":"https:\/\/ps.w.org\/sitevitals-monitor\/assets\/banner-1544x500.png?rev=3511698","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/sitevitals-monitor\/assets\/icon-128x128.png?rev=3511698","icon_2x":"https:\/\/ps.w.org\/sitevitals-monitor\/assets\/icon-256x256.png?rev=3511698","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Every WordPress site gets updated - plugins, themes, core. Most of the time, updates go smoothly. But sometimes a plugin update quietly breaks your contact form, slows your site down, or introduces a security regression. Without a record of what changed and when, diagnosing the problem can take hours.<\/p>\n\n<p>SiteVitals Monitor reports every update - plugin, theme, and WordPress core - directly to your <a href=\"https:\/\/www.sitevitals.co.uk\">SiteVitals<\/a> change timeline. When something goes wrong, you can immediately see what changed just before it happened.<\/p>\n\n<p><strong>How it works<\/strong><\/p>\n\n<p>Connect the plugin to your SiteVitals account in a couple of clicks. From that point on, every update is automatically recorded to your change timeline with:<\/p>\n\n<ul>\n<li>What was updated (plugin name, theme, or WordPress core)<\/li>\n<li>Which version it moved from and to<\/li>\n<li>Whether the update was manual or automatic<\/li>\n<li>Whether the update succeeded or failed<\/li>\n<li>The version jump type - major, minor, or patch<\/li>\n<\/ul>\n\n<p>Your SiteVitals dashboard monitors your site continuously for uptime and availability. On connection, SiteVitals also runs a one-time snapshot across performance, SEO health, security, integrity, and content \u2014 so you have an immediate baseline to work from. Ongoing daily monitoring across these additional areas is available on paid plans.<\/p>\n\n<p>With this plugin connected, your monitoring signals sit alongside a complete record of every WordPress update \u2014 so when your Lighthouse score drops or your uptime alert fires, you can see at a glance whether a recent update coincides with the problem.<\/p>\n\n<p><strong>Why this matters<\/strong><\/p>\n\n<p>Automated plugin updates are a good idea in principle. In practice, they introduce risk. A major version update to a form plugin, a caching plugin, or a security plugin can have side effects that aren't immediately visible. This plugin gives you the context to correlate monitoring signals with changes \u2014 the missing link between \"something is wrong\" and \"here's what changed right before it went wrong.\"<\/p>\n\n<p><strong>Features<\/strong><\/p>\n\n<ul>\n<li>Tracks plugin updates - name, slug, version, author, from\/to version, jump type<\/li>\n<li>Tracks theme updates<\/li>\n<li>Tracks WordPress core updates<\/li>\n<li>Distinguishes between manual and automatic (cron) updates<\/li>\n<li>Records both successful and failed updates<\/li>\n<li>One-click OAuth connection - no API keys to copy and paste<\/li>\n<li>Direct links to your SiteVitals timeline and dashboard from the plugin settings<\/li>\n<li>Clean event log in your WordPress admin showing recent events sent<\/li>\n<li>Full cleanup on uninstall - no options left behind<\/li>\n<\/ul>\n\n<p><strong>Free vs paid<\/strong><\/p>\n\n<p>A free SiteVitals account includes permanent uptime monitoring and a one-time health snapshot covering performance, SEO, security, integrity, and content. Ongoing daily checks across these areas, plus longer data history and faster check intervals, are available on paid plans starting at \u00a319\/month.<\/p>\n\n<p><strong>Requirements<\/strong><\/p>\n\n<p>A free SiteVitals account is required. <a href=\"https:\/\/www.sitevitals.co.uk\/signup\">Create one here<\/a> - no credit card needed.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to the SiteVitals API, a third-party service operated by SiteVitals (https:\/\/www.sitevitals.co.uk), to record WordPress update events to your change timeline. SiteVitals is the service this plugin exists to integrate with \u2014 using the plugin without a SiteVitals account is not possible.<\/p>\n\n<p><strong>What the service is and what it is used for<\/strong><\/p>\n\n<p>SiteVitals is a website monitoring service that tracks uptime, performance, SEO, security, and content changes for your site, and presents them on a shared change timeline. This plugin sends WordPress update events (plugin, theme, and core updates) to that timeline so they can be correlated with monitoring signals.<\/p>\n\n<p><strong>What data is sent and when<\/strong><\/p>\n\n<p>Data is only sent after you have explicitly connected the plugin via Settings \u2192 SiteVitals. No data is transmitted before you complete the connection flow.<\/p>\n\n<p>Once connected, the plugin sends data to SiteVitals at two points:<\/p>\n\n<ol>\n<li><p><strong>When you click \"Test Connection\"<\/strong> in the plugin settings \u2014 a single GET request to <code>https:\/\/www.sitevitals.co.uk\/api\/v1\/pages\/{site_id}\/health<\/code> containing your API key in the Authorization header. No site data is sent.<\/p><\/li>\n<li><p><strong>When a WordPress core, plugin, or theme update completes<\/strong> \u2014 a single POST request to <code>https:\/\/www.sitevitals.co.uk\/api\/v1\/pages\/{site_id}\/wordpress-events<\/code> containing:<\/p>\n\n<ul>\n<li>The type of update (core, plugin, or theme)<\/li>\n<li>The name, slug, and author of the updated item<\/li>\n<li>The version before and after the update<\/li>\n<li>The version jump type (major, minor, or patch)<\/li>\n<li>Whether the update was triggered manually or by WordPress automatic updates<\/li>\n<li>Whether the update succeeded or failed<\/li>\n<\/ul><\/li>\n<\/ol>\n\n<p>No site content, post data, user data, email addresses, or personally identifiable information is ever transmitted.<\/p>\n\n<p><strong>Service terms and privacy policy<\/strong><\/p>\n\n<p>By using this plugin you agree to the SiteVitals terms of service and privacy policy:<\/p>\n\n<ul>\n<li>Terms of Service: https:\/\/www.sitevitals.co.uk\/terms-of-service<\/li>\n<li>Privacy Policy: https:\/\/www.sitevitals.co.uk\/privacy-policy<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>sitevitals-monitor<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory, or install directly through the WordPress plugin screen.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> screen in WordPress.<\/li>\n<li>Go to <strong>Settings \u2192 SiteVitals<\/strong> and click <strong>Connect to SiteVitals<\/strong>.<\/li>\n<li>You will be taken to SiteVitals to sign in or create a free account. If you already have an account, the connection completes automatically.<\/li>\n<li>Once connected, updates will be reported automatically \u2014 no further configuration is needed.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20a%20sitevitals%20account%3F\"><h3>Do I need a SiteVitals account?<\/h3><\/dt>\n<dd><p>Yes. A free SiteVitals account is required to use this plugin. You can create one at <a href=\"https:\/\/www.sitevitals.co.uk\/signup\">sitevitals.co.uk\/signup<\/a> \u2014 no credit card is needed.<\/p><\/dd>\n<dt id=\"what%27s%20included%20in%20the%20free%20account%3F\"><h3>What's included in the free account?<\/h3><\/dt>\n<dd><p>The free plan includes permanent uptime monitoring for one site and a one-time health snapshot covering performance, SEO, security, integrity, and content. Ongoing daily monitoring across these areas is available on paid plans.<\/p><\/dd>\n<dt id=\"what%20data%20is%20sent%20to%20sitevitals%3F\"><h3>What data is sent to SiteVitals?<\/h3><\/dt>\n<dd><p>When an update occurs, the plugin sends the plugin or theme name, slug, author, version before and after the update, version jump type (major\/minor\/patch), whether the update was manual or automatic, and whether it succeeded or failed. No site content, user data, or personally identifiable information is ever transmitted. See the <strong>External services<\/strong> section above for full details.<\/p><\/dd>\n<dt id=\"what%20does%20sitevitals%20monitor%20beyond%20updates%3F\"><h3>What does SiteVitals monitor beyond updates?<\/h3><\/dt>\n<dd><p>SiteVitals provides continuous monitoring across uptime and availability, page performance and Core Web Vitals, SEO health, security headers and vulnerabilities, SSL and domain integrity, and content changes. The WordPress plugin feeds update events into the same shared timeline as these monitoring signals.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20slow%20down%20my%20site%3F\"><h3>Does this plugin slow down my site?<\/h3><\/dt>\n<dd><p>No. The plugin only runs during the WordPress update process and makes a single lightweight API call per update. It has no impact on front-end page load times.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20my%20data%20if%20i%20uninstall%20the%20plugin%3F\"><h3>What happens to my data if I uninstall the plugin?<\/h3><\/dt>\n<dd><p>All plugin data - your API key, site ID, event log, and settings - is removed from your WordPress database on uninstall.<\/p><\/dd>\n<dt id=\"can%20i%20see%20which%20events%20have%20been%20sent%3F\"><h3>Can I see which events have been sent?<\/h3><\/dt>\n<dd><p>Yes. Go to <strong>Settings \u2192 SiteVitals<\/strong> and scroll to the <strong>Recent events sent<\/strong> table, which shows the last 50 events reported to SiteVitals including the date, update type, plugin name, version, and whether the event was sent successfully.<\/p><\/dd>\n<dt id=\"does%20it%20track%20automatic%20background%20updates%3F\"><h3>Does it track automatic background updates?<\/h3><\/dt>\n<dd><p>Yes. The plugin distinguishes between manual updates (triggered by an admin in the WordPress dashboard) and automatic updates (triggered by WordPress cron), and records this distinction in each event.<\/p><\/dd>\n<dt id=\"what%20is%20tracked%20for%20each%20update%3F\"><h3>What is tracked for each update?<\/h3><\/dt>\n<dd><p>For plugin updates: plugin name, slug, author, from version, to version, version jump type (major\/minor\/patch), update trigger (manual or automatic), and whether the update succeeded or failed. For theme updates: the same set of fields. For core updates: the WordPress version before and after the update.<\/p><\/dd>\n<dt id=\"i%27m%20having%20trouble%20connecting.%20what%20should%20i%20do%3F\"><h3>I'm having trouble connecting. What should I do?<\/h3><\/dt>\n<dd><p>Go to <strong>Settings \u2192 SiteVitals<\/strong> and use the <strong>Test Connection<\/strong> button to check whether your site can reach the SiteVitals API. If the problem persists, contact support at <a href=\"https:\/\/www.sitevitals.co.uk\">sitevitals.co.uk<\/a>.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.6.0<\/h4>\n\n<ul>\n<li>Renamed all internal function, constant, and option prefixes from <code>svm_<\/code> to <code>sitevitals_monitor_<\/code> to comply with WordPress.org plugin guidelines on prefix length<\/li>\n<li>Added WordPress nonce verification to the OAuth callback alongside the existing OAuth 2.0 state parameter check<\/li>\n<li>Replaced direct <code>WP_PLUGIN_DIR<\/code> path references with <code>get_plugins()<\/code> lookups for compatibility with non-standard WordPress installations<\/li>\n<li>Added a dedicated <code>External services<\/code> section to the readme documenting all third-party API calls<\/li>\n<li>Note: existing installations will need to reconnect after updating, as option names have changed<\/li>\n<\/ul>\n\n<h4>0.5.0<\/h4>\n\n<ul>\n<li>Added direct links to the SiteVitals timeline and dashboard from the connected settings screen<\/li>\n<li>Removed debug mode - simplified for production use<\/li>\n<li>Simplified settings page - removed options that are not needed in normal use<\/li>\n<\/ul>\n\n<h4>0.4.0<\/h4>\n\n<ul>\n<li>Improved version snapshot logic to correctly capture pre-update versions across bulk updates<\/li>\n<li>Added distinction between manual and automatic (cron-triggered) updates<\/li>\n<li>Added failed update tracking via upgrader_process_complete fallback<\/li>\n<li>Improved OAuth state handling and cancellation flow<\/li>\n<\/ul>\n\n<h4>0.3.0<\/h4>\n\n<ul>\n<li>Added theme update tracking<\/li>\n<li>Added WordPress core update tracking<\/li>\n<li>Added version jump classification (major, minor, patch)<\/li>\n<\/ul>\n\n<h4>0.2.0<\/h4>\n\n<ul>\n<li>Switched from manual API key entry to one-click OAuth connection<\/li>\n<li>Added event log display in admin settings page<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Initial release - plugin update tracking<\/li>\n<\/ul>","raw_excerpt":"Know when a plugin update breaks something. Reports WordPress core, plugin, and theme updates to your SiteVitals change timeline.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/295045","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=295045"}],"author":[{"embeddable":true,"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/sitevitals"}],"wp:attachment":[{"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=295045"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=295045"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=295045"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=295045"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=295045"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=295045"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}