{"id":355064,"date":"2026-08-23T06:55:48","date_gmt":"2026-08-23T06:55:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/safe-auto-updates\/"},"modified":"2026-08-23T06:55:23","modified_gmt":"2026-08-23T06:55:23","slug":"twincraft-autoguard","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/twincraft-autoguard\/","author":23549883,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.4.1","stable_tag":"1.4.1","tested":"7.0.4","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"TwinCraft AutoGuard","header_author":"TwinCraft Studio","header_description":"Automatically keeps WordPress core, plugins and themes updated \u2014 safely. Every update is backed up, verified, and logged, and you're emailed immediately if anything fails.","assets_banners_color":"b6b6d2","last_updated":"2026-08-23 06:55:23","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/twincraftstudio.com\/plugins\/twincraft-autoguard\/","header_author_uri":"https:\/\/www.twincraftstudio.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":41,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.4.1":{"tag":"1.4.1","author":"twincraftstudio","date":"2026-08-23 06:55:23"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3661464,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3661464,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3661496,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3661496,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.4.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3661464,"resolution":"1","location":"assets","locale":"","width":1325,"height":607},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3661464,"resolution":"2","location":"assets","locale":"","width":1192,"height":612}},"screenshots":{"1":"Dashboard \u2014 protection status, next\/last update summary, and automatic update toggles for WordPress core, plugins, and themes.","2":"Exclusions \u2014 a plain checklist to pick exactly which plugins or themes are allowed to update automatically."}},"plugin_section":[],"plugin_tags":[9709,151,732,600,2550],"plugin_category":[52,54,59],"plugin_contributors":[277049],"plugin_business_model":[],"class_list":["post-355064","plugin","type-plugin","status-publish","hentry","plugin_tags-automatic-updates","plugin_tags-backup","plugin_tags-maintenance","plugin_tags-security","plugin_tags-updates","plugin_category-performance","plugin_category-security-and-spam-protection","plugin_category-utilities-and-tools","plugin_contributors-twincraftstudio","plugin_committers-twincraftstudio"],"banners":{"banner":"https:\/\/ps.w.org\/twincraft-autoguard\/assets\/banner-772x250.png?rev=3661496","banner_2x":"https:\/\/ps.w.org\/twincraft-autoguard\/assets\/banner-1544x500.png?rev=3661496","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/twincraft-autoguard\/assets\/icon-128x128.png?rev=3661464","icon_2x":"https:\/\/ps.w.org\/twincraft-autoguard\/assets\/icon-256x256.png?rev=3661464","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/twincraft-autoguard\/assets\/screenshot-1.png?rev=3661464","caption":"Dashboard \u2014 protection status, next\/last update summary, and automatic update toggles for WordPress core, plugins, and themes."},{"src":"https:\/\/ps.w.org\/twincraft-autoguard\/assets\/screenshot-2.png?rev=3661464","caption":"Exclusions \u2014 a plain checklist to pick exactly which plugins or themes are allowed to update automatically."}],"raw_content":"<!--section=description-->\n<p>TwinCraft AutoGuard takes the worry out of keeping a WordPress site current. Instead of just flipping on WordPress's built-in auto-updates and hoping for the best, it follows a simple, safe sequence every time:<\/p>\n\n<p><strong>Backup \u2192 Update \u2192 Verify \u2192 Notify<\/strong><\/p>\n\n<ol>\n<li><strong>Backup<\/strong> \u2014 before anything is changed, the plugin or theme being updated is backed up automatically.<\/li>\n<li><strong>Update<\/strong> \u2014 the update is applied.<\/li>\n<li><strong>Verify<\/strong> \u2014 the plugin checks whether the update actually completed successfully.<\/li>\n<li><strong>Notify<\/strong> \u2014 if anything goes wrong, you get an email immediately with exactly what failed and why. Successful updates are simply logged for your records.<\/li>\n<\/ol>\n\n<h4>Key features<\/h4>\n\n<ul>\n<li>One clear dashboard that answers \"Is my website protected?\" at a glance<\/li>\n<li>Separate on\/off switches for WordPress core, plugins, and themes<\/li>\n<li>Automatic backup before every update<\/li>\n<li>Instant email alerts on failure, with full details<\/li>\n<li>A simple, readable Update History log<\/li>\n<li>Exclude individual plugins or themes from automatic updates in one click<\/li>\n<li>No ads, no upsells, no confusing settings \u2014 built to be understood by anyone<\/li>\n<\/ul>\n\n<h4>Who is this for?<\/h4>\n\n<p>Site owners who want the convenience of automatic updates without the risk of an update breaking their site unnoticed. If something fails, you'll know immediately \u2014 and you'll have a backup to fall back on.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>twincraft-autoguard<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install directly through the WordPress Plugins screen.<\/li>\n<li>Activate the plugin through the \"Plugins\" menu in WordPress.<\/li>\n<li>A popup will appear prompting you to run a quick Diagnostics check \u2014 this confirms nothing (like a hosting setting or another plugin) is silently blocking automatic updates. It takes a couple of clicks.<\/li>\n<li>Go to <strong>TwinCraft AutoGuard<\/strong> in your admin menu to review your settings \u2014 automatic updates, backups, and email notifications are all enabled by default.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"where%20are%20backups%20stored%3F\"><h3>Where are backups stored?<\/h3><\/dt>\n<dd><p>Backups are stored in <code>wp-content\/tcag-backups\/<\/code>, a folder that is protected from direct web access. Backups older than 30 days are automatically removed to save disk space.<\/p><\/dd>\n<dt id=\"will%20this%20slow%20down%20my%20site%3F\"><h3>Will this slow down my site?<\/h3><\/dt>\n<dd><p>No. TwinCraft AutoGuard only runs during WordPress's normal background update process \u2014 it adds no load to regular page views.<\/p><\/dd>\n<dt id=\"can%20i%20stop%20a%20single%20plugin%20or%20theme%20from%20updating%20automatically%20without%20turning%20everything%20off%3F\"><h3>Can I stop a single plugin or theme from updating automatically without turning everything off?<\/h3><\/dt>\n<dd><p>Yes. Go to <strong>TwinCraft AutoGuard \u2192 Exclusions<\/strong> and uncheck \"Automatically update\" next to that specific plugin or theme. Everything else keeps updating as normal.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20an%20update%20fails%3F\"><h3>What happens if an update fails?<\/h3><\/dt>\n<dd><p>You'll see it flagged on your dashboard immediately, with the item name, current and target versions, backup status, and the error message. You'll also receive an email with the same details and a link back to your dashboard.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.4.1<\/h4>\n\n<ul>\n<li>Fixed: WordPress core updates were still occasionally logged as \"Failed\" (with a false alarm email) even when the update genuinely succeeded. WordPress's own automatic-update skin can accumulate non-fatal feedback messages during core's multi-step update process, which were being misread as real errors. A proven version increase on disk is now the authoritative signal, overriding a noisy report either way \u2014 not just when a failure was reported. Also added a more reliable, independent way of capturing core's version right before an automatic update cycle starts, since WordPress's internal hook structure for core has shifted across versions (e.g. the 6.3+ rollback\/temp_backup mechanism).<\/li>\n<\/ul>\n\n<h4>1.4.0<\/h4>\n\n<ul>\n<li>Added: a one-time welcome popup right after activation, prompting a Diagnostics check in a couple of clicks. This surfaces the most common cause of \"nothing is updating\" (something outside the plugin silently blocking WordPress's background updater) before it causes confusion, rather than leaving it to be discovered later.<\/li>\n<\/ul>\n\n<h4>1.3.4<\/h4>\n\n<ul>\n<li>Fixed: two situations where a genuinely successful update was incorrectly logged as \"Failed\" and triggered a false failure email. First, background auto-updates (especially WordPress core) can retry internally \u2014 a failure signal from an earlier attempt could get attached even though a later retry in the same cycle actually succeeded; the plugin now trusts a proven version increase on disk over a noisy failure report. Second, updating something that's already on the latest version (a normal no-op) was being flagged as a failure just because no version change was detected; it's no longer treated as an error unless WordPress itself actually reported one.<\/li>\n<\/ul>\n\n<h4>1.3.3<\/h4>\n\n<ul>\n<li>Updated Plugin URI to the live landing page at twincraftstudio.com\/plugins\/twincraft-autoguard\/, now that it's published under the new name.<\/li>\n<\/ul>\n\n<h4>1.3.2<\/h4>\n\n<ul>\n<li>Fixed: WordPress core and theme updates were sometimes logged as \"Failed\" even though they succeeded. Verification was comparing against $wp_version and wp_get_theme(), both of which can hold outdated values in memory for the rest of the same request. Verification now reads the actual version straight from the file on disk (wp-includes\/version.php for core, style.css for themes) instead.<\/li>\n<\/ul>\n\n<h4>1.3.1<\/h4>\n\n<ul>\n<li>Fixed: the Diagnostics page no longer shows the \"something is blocking updates\" warning just because there's nothing to update right now. \"No updates currently available\" and \"Plugins toggle is off\" are informational, not blockers, and no longer trigger the warning banner or the daily health-check email.<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Added: a one-click \"Try to Fix This Automatically\" button on the Diagnostics page when something outside the plugin (a host or another plugin) has disabled WordPress's background updater. No file editing or hosting support ticket required for most cases.<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Added: a daily background health check that emails the site admin if something outside the plugin (hosting settings, a security plugin, wp-config.php) is blocking WordPress's automatic updates entirely \u2014 not just when an individual update fails.<\/li>\n<li>Added: a follow-up \"resolved\" email once a previously-reported blocker clears.<\/li>\n<li>The alert only re-sends once a week for the same unresolved issue, so it won't spam the inbox.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Fixed: automatic updates for plugins and themes now actually apply when their toggle is on, instead of only respecting WordPress's own per-item default.<\/li>\n<li>Fixed: manual updates (clicking \"Update Now\") are now logged and backed up too, not just background automatic updates.<\/li>\n<li>Added: independent verification \u2014 the plugin now checks the version actually installed on disk after an update, instead of only trusting the reported result.<\/li>\n<li>Added: each history entry now records whether it was triggered automatically or manually, with filter tabs on the Update History page.<\/li>\n<li>Added: a Diagnostics page that checks the real WordPress-level conditions (WP-Cron status, file modification permissions, scheduled checks, available updates) that control whether background auto-updates can run at all.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Developed by TwinCraft Studio. Automatically keeps WordPress core, plugins and themes updated \u2014 with a backup before every update, a verification chec &hellip;","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/355064","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=355064"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/twincraftstudio"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=355064"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=355064"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=355064"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=355064"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=355064"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=355064"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}