{"id":1434,"date":"2026-10-14T16:37:18","date_gmt":"2026-10-14T16:37:18","guid":{"rendered":"https:\/\/www.ahosting.net\/blog\/?p=1434"},"modified":"2026-10-14T17:58:46","modified_gmt":"2026-10-14T17:58:46","slug":"your-site-may-have-problems-auto-updating-plugins-and-themes","status":"publish","type":"post","link":"https:\/\/www.ahosting.net\/blog\/your-site-may-have-problems-auto-updating-plugins-and-themes\/","title":{"rendered":"Problems Auto-Updating Plugins and Themes? It Is a Filter Test, Not a Server Fault"},"content":{"rendered":"\n<script type=\"application\/ld+json\">{\"@context\": \"https:\/\/schema.org\", \"@type\": \"FAQPage\", \"mainEntity\": [{\"@type\": \"Question\", \"name\": \"Why won't my WordPress plugins update in 2026 when Site Health reports problems auto-updating plugins and themes?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Specifically, this warning does not explain a failed manual update. It says a filter named auto_update_plugin or auto_update_theme returned false for a made-up test plugin, so the per-plugin auto-update switches are probably being overridden. If a click on Update now also fails, that is a separate problem: check file ownership, disk quota and the Background updates item in Site Health.\"}}, {\"@type\": \"Question\", \"name\": \"Is it safe to ignore the problems auto-updating plugins and themes warning if I update plugins by hand?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"In practice, yes for the moment, because the filter governs automatic updates, not the Update now button. The risk is the gap between releases: if you rely on auto-updates for a security fix and a filter blocks them, nothing installs until you notice. Either remove the filter or accept that you own every update.\"}}, {\"@type\": \"Question\", \"name\": \"Does the problems auto-updating plugins and themes warning mean my cron or file permissions are broken?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"However, nothing in this test reads cron or permissions. It builds a fake plugin and theme, asks the auto_update filters what they would do, and compares that with whether the dashboard shows the toggles. Broken cron and wrong file ownership produce other Site Health items, not this one.\"}}, {\"@type\": \"Question\", \"name\": \"Critical vs recommended in 2026: which problems auto-updating plugins and themes result is worse?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Notably, critical is the contradictory one. It means a filter refuses updates while the dashboard still offers the switch, so the screen is lying to you. Recommended means the filter and the dashboard agree that updates are off, which is a deliberate state that only needs a decision.\"}}, {\"@type\": \"Question\", \"name\": \"Can AHosting support help me find which plugin is behind the problems auto-updating plugins and themes warning?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"In practice, yes. Open a ticket with the exact Site Health line and the list of must-use plugins in your account, and we will look at it with you. The filter lives in your own files, so the quickest route is usually a search for auto_update_plugin across wp-content.\"}}, {\"@type\": \"Question\", \"name\": \"On AHosting WordPress hosting, auto_update_plugin filter vs plugins_auto_update_enabled filter in 2026: which switches updates off?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Specifically, the auto_update_plugin filter decides whether a given update runs, and returning false there blocks it. The plugins_auto_update_enabled filter only decides whether the dashboard shows the switches. Returning false from it hides the interface without turning anything on or off, which is why the two together can produce either Site Health result.\"}}, {\"@type\": \"Question\", \"name\": \"How do I clear the problems auto-updating plugins and themes warning on an AHosting WordPress plan without editing core files?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"In other words, find the code that returns false and change that, never WordPress itself. Search mu-plugins, active plugins, the theme functions file and wp-config for auto_update_plugin and auto_update_theme, then remove the blanket false or narrow it to named plugins. Reload Site Health afterward to confirm.\"}}, {\"@type\": \"Question\", \"name\": \"What does DISALLOW_FILE_MODS do to the problems auto-updating plugins and themes check on a WordPress site?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Indeed, on its own it does not trigger this warning. The constant makes the updater report itself as disabled, which hides the dashboard switches, but the test still starts from true and nothing has filtered it, so the result stays good. Pair the constant with a filter that returns false and you get the recommended result instead.\"}}, {\"@type\": \"Question\", \"name\": \"Will fixing problems auto-updating plugins and themes make my WordPress site safer in 2026?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Consequently, only if the filter was blocking updates you wanted. Auto-updates close the gap between a plugin vulnerability being published and your site receiving the fixed version, but they do nothing about plugins that are abandoned or themes that no longer receive releases. Treat the fix as one control among several.\"}}, {\"@type\": \"Question\", \"name\": \"Must-use plugins vs wp-config: where should an auto-update filter live to avoid problems auto-updating plugins and themes?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"For example, a must-use plugin is the safer home because it is a single named file that does not depend on the active theme, so you can find it again. Filters pasted into wp-config or a theme functions file get lost in upgrades, which is how they end up blocking updates years later.\"}}]}<\/script>\n\n\n<div class=\"wp-block-aioseo-table-of-contents\"><ul><li><a class=\"aioseo-toc-item\" href=\"#aioseo-problems-auto-updating-plugins-and-themes-what-the-warning-actually-tests\">Problems Auto-Updating Plugins and Themes: What the Warning Actually Tests<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-the-three-results-of-the-problems-auto-updating-plugins-and-themes-check\">The Three Results of the Problems Auto-Updating Plugins and Themes Check<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-why-site-health-reports-problems-auto-updating-plugins-and-themes-as-critical\">Why Site Health Reports Problems Auto-Updating Plugins and Themes as Critical<\/a><ul><li><a class=\"aioseo-toc-item\" href=\"#aioseo-what-the-test-sends-through-the-filter\">What the test sends through the filter<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-why-the-dashboard-switch-stops-meaning-anything\">Why the dashboard switch stops meaning anything<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-filter-patterns-that-trip-the-check-and-ones-that-do-not\">Filter patterns that trip the check, and ones that do not<\/a><\/li><\/ul><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-finding-the-code-behind-your-problems-auto-updating-plugins-and-themes-warning\">Finding the Code Behind Your Problems Auto-Updating Plugins and Themes Warning<\/a><ul><li><a class=\"aioseo-toc-item\" href=\"#aioseo-constants-that-change-what-the-dashboard-shows\">Constants that change what the dashboard shows<\/a><\/li><\/ul><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-what-the-problems-auto-updating-plugins-and-themes-check-cannot-see\">What the Problems Auto-Updating Plugins and Themes Check Cannot See<\/a><ul><li><a class=\"aioseo-toc-item\" href=\"#aioseo-why-the-filter-matters-for-security\">Why the filter matters for security<\/a><\/li><\/ul><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-fixing-problems-auto-updating-plugins-and-themes-on-ahosting\">Fixing Problems Auto-Updating Plugins and Themes on AHosting<\/a><ul><li><a class=\"aioseo-toc-item\" href=\"#aioseo-replay-the-result-before-you-change-anything\">Replay the result before you change anything<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-when-to-open-a-ticket\">When to open a ticket<\/a><\/li><\/ul><\/li><li><a class=\"aioseo-toc-item\" href=\"#faq-your-site-may-have-problems-auto-updating-plugins-and-themes\">Frequently Asked Questions: Problems Auto-Updating Plugins and Themes<\/a><ul><li><a class=\"aioseo-toc-item\" href=\"#faq-wordpress-plugins-wont-update-2026\">Why won&#039;t my WordPress plugins update in 2026 when Site Health reports problems auto-updating plugins and themes?<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#faq-ignore-warning-manual-updates\">Is it safe to ignore the problems auto-updating plugins and themes warning if I update plugins by hand?<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#faq-cron-permissions-not-the-cause\">Does the problems auto-updating plugins and themes warning mean my cron or file permissions are broken?<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#faq-critical-vs-recommended-2026\">Critical vs recommended in 2026: which problems auto-updating plugins and themes result is worse?<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#faq-ahosting-support-find-plugin\">Can AHosting support help me find which plugin is behind the problems auto-updating plugins and themes warning?<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#faq-ahosting-filter-vs-enabled-2026\">On AHosting WordPress hosting, auto_update_plugin filter vs plugins_auto_update_enabled filter in 2026: which switches updates off?<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#faq-ahosting-clear-warning-no-core-edits\">How do I clear the problems auto-updating plugins and themes warning on an AHosting WordPress plan without editing core files?<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#faq-disallow-file-mods-effect\">What does DISALLOW_FILE_MODS do to the problems auto-updating plugins and themes check on a WordPress site?<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#faq-safer-after-fixing-2026\">Will fixing problems auto-updating plugins and themes make my WordPress site safer in 2026?<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#faq-mu-plugin-vs-wp-config-filter\">Must-use plugins vs wp-config: where should an auto-update filter live to avoid problems auto-updating plugins and themes?<\/a><\/li><\/ul><\/li><\/ul><\/div>\n\n\n<div class=\"ah-tldr\">\n  <span class=\"ah-tldr-badge\">TL;DR<\/span>\n  <p>Your site may have problems auto-updating plugins and themes means one thing: code on your site is returning false from the auto_update_plugin or auto_update_theme filter for a made-up test plugin. It is not a cron fault, a permissions fault or a full disk. Critical means the dashboard still offers auto-updates that the filter overrides. Recommended means the filter and the dashboard agree that updates are off. Search your files for the filter, then reload Site Health.<\/p>\n<\/div>\n\n\n\n<h2 id=\"aioseo-problems-auto-updating-plugins-and-themes-what-the-warning-actually-tests\" class=\"wp-block-heading\">Problems Auto-Updating Plugins and Themes: What the Warning Actually Tests<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Site Health says Your site may have problems auto-updating plugins and themes, and the natural reaction is to hunt for a broken cron job, a permissions fault or a full disk. None of those is what this check looks at. The test never touches a file, never reads the cron schedule and never contacts WordPress.org. It asks a narrower question: has some code told WordPress to refuse plugin or theme updates while the dashboard still offers the switch? When the answer is yes, you get problems auto-updating plugins and themes in your Site Health list.<\/p>\n\n\n\n<figure class=\"wp-block-audio\"><audio preload=\"none\" controls src=\"https:\/\/www.ahosting.net\/blog\/wp-content\/uploads\/2026\/10\/PODCAST-your-site-may-have-problems-auto-updating-plugins-and-themes.m4a\"><\/audio><figcaption class=\"wp-element-caption\">Listen: the Site Health auto-update warning is a filter test against a made-up plugin, not a cron, permissions or disk fault. By Matt Chrust, Director of Business Development, AHosting.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">We read the source instead of the forum threads. This guide follows the WordPress 7.1.3 source tag, which we opened on October 14, 2026. The test is <code>get_test_plugin_theme_auto_updates()<\/code> at line 1815 of <code>class-wp-site-health.php<\/code>, and the warning label is set at line 1836. The actual decision is made further down in <code>detect_plugin_theme_auto_update_issues()<\/code>, which you can read on <a href=\"https:\/\/github.com\/WordPress\/wordpress-develop\/blob\/7.1.3\/src\/wp-admin\/includes\/class-wp-site-health.php#L3192-L3267\" target=\"_blank\" rel=\"noopener\">GitHub at lines 3192 to 3267<\/a>. Core&#8217;s own comment on that function admits it is making educated guesses, because nobody can prove auto-updates are configured correctly from inside a request.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The short answer: the warning means a filter named <code>auto_update_plugin<\/code> or <code>auto_update_theme<\/code> returned false for a made-up plugin, so the per-plugin switches on your Plugins screen are probably being overridden. Here is the whole test in one diagram.<\/p>\n\n\n\n<div class=\"ah-infographic\">\n  <svg viewBox=\"0 0 760 330\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" role=\"img\" aria-label=\"Diagram of how WordPress 7.1.3 decides between critical, recommended and good for plugin and theme auto-updates: a fake plugin goes through the auto_update_plugin filter, the dashboard setting is read separately, and the two answers are compared.\">\n    <title>How Site Health grades plugin and theme auto-updates<\/title>\n    <desc>Two inputs feed one comparison. On the left, WordPress builds a fake plugin called a-fake-plugin and passes true through the auto_update_plugin filter, which gives the filter answer. Below it, WordPress asks whether the dashboard still shows auto-update switches, which gives the interface answer. On the right three outcomes follow. If the filter answer is false and the interface answer is on, the result is critical. If the filter answer is false and the interface is already off, the result is recommended. Otherwise the result is good.<\/desc>\n    <rect x=\"0\" y=\"0\" width=\"760\" height=\"330\" fill=\"#0f172a\"\/>\n    <text x=\"28\" y=\"38\" fill=\"#ffffff\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"19\" font-weight=\"700\">A filter test against a fake plugin<\/text>\n    <text x=\"28\" y=\"60\" fill=\"#dbe7ff\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"13\">WordPress 7.1.3, class-wp-site-health.php lines 3192 to 3267. No files, cron or network involved.<\/text>\n    <rect x=\"28\" y=\"82\" width=\"300\" height=\"86\" rx=\"10\" fill=\"#1e293b\" stroke=\"#2563eb\" stroke-width=\"2\"\/>\n    <text x=\"44\" y=\"108\" fill=\"#ffffff\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"15\" font-weight=\"700\">1. Filter answer<\/text>\n    <text x=\"44\" y=\"130\" fill=\"#dbe7ff\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"13\">auto_update_plugin( true, a-fake-plugin )<\/text>\n    <text x=\"44\" y=\"150\" fill=\"#dbe7ff\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"13\">Same for the fake theme. Line 3223.<\/text>\n    <rect x=\"28\" y=\"190\" width=\"300\" height=\"86\" rx=\"10\" fill=\"#1e293b\" stroke=\"#2563eb\" stroke-width=\"2\"\/>\n    <text x=\"44\" y=\"216\" fill=\"#ffffff\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"15\" font-weight=\"700\">2. Interface answer<\/text>\n    <text x=\"44\" y=\"238\" fill=\"#dbe7ff\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"13\">Does the dashboard still show the<\/text>\n    <text x=\"44\" y=\"258\" fill=\"#dbe7ff\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"13\">auto-update switches? Line 3226.<\/text>\n    <line x1=\"328\" y1=\"125\" x2=\"400\" y2=\"125\" stroke=\"#2563eb\" stroke-width=\"3\"\/>\n    <line x1=\"328\" y1=\"233\" x2=\"400\" y2=\"233\" stroke=\"#2563eb\" stroke-width=\"3\"\/>\n    <line x1=\"400\" y1=\"125\" x2=\"400\" y2=\"233\" stroke=\"#2563eb\" stroke-width=\"3\"\/>\n    <line x1=\"400\" y1=\"179\" x2=\"430\" y2=\"179\" stroke=\"#2563eb\" stroke-width=\"3\"\/>\n    <rect x=\"430\" y=\"82\" width=\"302\" height=\"62\" rx=\"10\" fill=\"#7f1d1d\" stroke=\"#fca5a5\" stroke-width=\"2\"\/>\n    <text x=\"446\" y=\"108\" fill=\"#ffffff\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"15\" font-weight=\"700\">Critical<\/text>\n    <text x=\"446\" y=\"130\" fill=\"#ffe4e6\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"13\">Filter says false, switches still shown<\/text>\n    <rect x=\"430\" y=\"154\" width=\"302\" height=\"62\" rx=\"10\" fill=\"#78350f\" stroke=\"#fcd34d\" stroke-width=\"2\"\/>\n    <text x=\"446\" y=\"180\" fill=\"#ffffff\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"15\" font-weight=\"700\">Recommended<\/text>\n    <text x=\"446\" y=\"202\" fill=\"#fef3c7\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"13\">Filter says false, switches already hidden<\/text>\n    <rect x=\"430\" y=\"226\" width=\"302\" height=\"62\" rx=\"10\" fill=\"#14532d\" stroke=\"#86efac\" stroke-width=\"2\"\/>\n    <text x=\"446\" y=\"252\" fill=\"#ffffff\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"15\" font-weight=\"700\">Good<\/text>\n    <text x=\"446\" y=\"274\" fill=\"#dcfce7\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"13\">Filter says true, or nothing is hooked<\/text>\n    <text x=\"28\" y=\"312\" fill=\"#dbe7ff\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"13\">The real updater calls the same filter at class-wp-automatic-updater.php line 268.<\/text>\n  <\/svg>\n<\/div>\n\n\n\n<h2 id=\"aioseo-the-three-results-of-the-problems-auto-updating-plugins-and-themes-check\" class=\"wp-block-heading\">The Three Results of the Problems Auto-Updating Plugins and Themes Check<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The function can return only three statuses, and Site Health changes its label only when the status is not good. Good keeps the calm label that says auto-updates appear to be configured correctly. Critical and recommended both swap in the warning you are reading about, and the sentence under it is the only clue to which one you have.<\/p>\n\n\n\n<figure class=\"wp-block-table ah-ladder\"><table><thead><tr><th>Result<\/th><th>Condition in the code<\/th><th>What the message says<\/th><th>Lines<\/th><\/tr><\/thead><tbody><tr><td>Critical<\/td><td>The filter returns false for the fake plugin or theme AND the dashboard still shows the switches<\/td><td>Auto-updates appear disabled, yet the settings are still displayed, which could stop them working<\/td><td>3231 to 3238<\/td><\/tr><tr><td>Recommended<\/td><td>The filter returns false, a filter is hooked, and the dashboard switches are already hidden<\/td><td>Auto-updates for plugins, themes or both appear disabled, so new versions will not arrive on their own<\/td><td>3240 to 3260<\/td><\/tr><tr><td>Good<\/td><td>Anything else, including no filter at all<\/td><td>There appear to be no issues with plugin and theme auto-updates<\/td><td>3263 to 3266<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">AHosting Auto-Update Check Outcome Table: the three results of the WordPress 7.1.3 plugin and theme auto-update test, with the condition and line numbers in class-wp-site-health.php.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Notice the order. Critical is tested first, so it wins whenever the dashboard and the filter disagree. Recommended is the quieter state: someone turned auto-updates off on purpose and made the screen match. The label is identical for both, which is why people assume the worst.<\/p>\n\n\n\n<h2 id=\"aioseo-why-site-health-reports-problems-auto-updating-plugins-and-themes-as-critical\" class=\"wp-block-heading\">Why Site Health Reports Problems Auto-Updating Plugins and Themes as Critical<\/h2>\n\n\n\n<h3 id=\"aioseo-what-the-test-sends-through-the-filter\" class=\"wp-block-heading\">What the test sends through the filter<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">WordPress builds a fake plugin with the slug <code>a-fake-plugin<\/code> and version 9.9, and a fake theme called <code>a-fake-theme<\/code> (lines 3194 to 3216). It then calls the same hook a real update would use, passing <code>true<\/code> as the starting answer (lines 3223 and 3224, through <code>wp_is_auto_update_forced_for_item()<\/code> at line 1085 of <code>update.php<\/code>). The hook is documented as <a href=\"https:\/\/developer.wordpress.org\/reference\/hooks\/auto_update_type\/\" target=\"_blank\" rel=\"noopener\">the auto_update_{$type} filter<\/a>. If nothing is hooked, true comes back unchanged and the result is good.<\/p>\n\n\n\n<h3 id=\"aioseo-why-the-dashboard-switch-stops-meaning-anything\" class=\"wp-block-heading\">Why the dashboard switch stops meaning anything<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The real updater starts from your own choice. The per-plugin switch is stored in a site option, read at line 227 of <code>class-wp-automatic-updater.php<\/code>, and the result is then passed through the same filter at line 268. Whatever the filter returns replaces your choice. A blanket false therefore turns every plugin switch into decoration: you can click Enable auto-updates on all of them and none will update.<\/p>\n\n\n\n<h3 id=\"aioseo-filter-patterns-that-trip-the-check-and-ones-that-do-not\" class=\"wp-block-heading\">Filter patterns that trip the check, and ones that do not<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Because the test uses a fake slug, the shape of your filter decides the result. We worked these out from the source, and have not yet confirmed each one on a clean install.<\/p>\n\n\n\n<figure class=\"wp-block-table ah-ladder\"><table><thead><tr><th>Filter pattern<\/th><th>Answer for the fake plugin<\/th><th>Result<\/th><\/tr><\/thead><tbody><tr><td>Return false for every plugin<\/td><td>false<\/td><td>Trips the check<\/td><\/tr><tr><td>Allowlist: true only for named slugs<\/td><td>false, because a-fake-plugin is not on the list<\/td><td>Trips the check<\/td><\/tr><tr><td>Denylist: false only for named slugs<\/td><td>true, because a-fake-plugin is not on the list<\/td><td>Passes, even though real plugins are blocked<\/td><\/tr><tr><td>Return true for every plugin<\/td><td>true<\/td><td>Passes<\/td><\/tr><tr><td>No filter hooked anywhere<\/td><td>true, unchanged<\/td><td>Passes<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">How common auto_update_plugin filter shapes behave against the fake plugin used by the WordPress 7.1.3 Site Health test, derived from reading the source.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The denylist row matters most. A green result does not prove your plugins update, because the check cannot see a filter aimed at specific slugs. The allowlist row is the surprise: a careful setup that updates only approved plugins looks identical to a blanket block.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<div class=\"ah-yt\" data-id=\"Hl_vCvD466o\" data-title=\"Problems Auto-Updating Plugins and Themes: Fix It (2026)\"><img src=\"https:\/\/i.ytimg.com\/vi\/Hl_vCvD466o\/hqdefault.jpg\" alt=\"\" width=\"480\" height=\"360\" loading=\"lazy\" decoding=\"async\"><button type=\"button\" class=\"ah-yt-play\" aria-label=\"Play video: Problems Auto-Updating Plugins and Themes: Fix It (2026)\"><span aria-hidden=\"true\"><\/span><\/button><\/div>\n<\/div><\/figure>\n\n\n\n<h2 id=\"aioseo-finding-the-code-behind-your-problems-auto-updating-plugins-and-themes-warning\" class=\"wp-block-heading\">Finding the Code Behind Your Problems Auto-Updating Plugins and Themes Warning<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The filter is ordinary PHP that something on your site registers. You are looking for four strings: <code>auto_update_plugin<\/code>, <code>auto_update_theme<\/code>, <code>plugins_auto_update_enabled<\/code> and <code>themes_auto_update_enabled<\/code>. Search for them in this order, which runs from the most likely culprit to the least:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>The <code>wp-content\/mu-plugins<\/code> folder. Must-use plugins load on every request and cannot be switched off from the Plugins screen, so a forgotten snippet can sit there for years.<\/li>\n\n\n\n<li>Active plugins. Anything that manages updates, maintenance mode, staging or client handover may register the filter. Search the plugin folders rather than guessing from names.<\/li>\n\n\n\n<li>The active theme&#8217;s <code>functions.php<\/code> and any child theme. Snippets pasted here vanish and reappear with theme changes.<\/li>\n\n\n\n<li><code>wp-config.php<\/code>. It can hold <code>add_filter<\/code> lines as well as constants, and it is the file people forget to read.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">If you have terminal access, a recursive search for those strings finds them quickly. Without it, open each file in the order above and read it. Do the bisecting on a copy, not the live site: our <a href=\"https:\/\/www.ahosting.net\/blog\/wordpress-staging-site-hosting\/\">WordPress staging guide<\/a> covers setting one up, and renaming a plugin folder on production switches that plugin off for every visitor.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If the search finds nothing, the filter may be registered from code that builds the hook name dynamically, or from a plugin that is only active for some users. In that case switch the suspects off one at a time on the staging copy and reload Site Health after each change. The plugin whose removal turns the warning to good is the one holding the filter.<\/p>\n\n\n\n<h3 id=\"aioseo-constants-that-change-what-the-dashboard-shows\" class=\"wp-block-heading\">Constants that change what the dashboard shows<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Two constants affect the interface side of the test rather than the filter side. <code>AUTOMATIC_UPDATER_DISABLED<\/code> and <code>DISALLOW_FILE_MODS<\/code> both make the updater report itself as disabled (<code>is_disabled()<\/code>, lines 33 to 59 of the updater class, and <code>wp_is_file_mod_allowed()<\/code> at line 1829 of <code>load.php<\/code>). Both are documented on the <a href=\"https:\/\/developer.wordpress.org\/advanced-administration\/wordpress\/wp-config\/\" target=\"_blank\" rel=\"noopener\">wp-config reference<\/a>. On their own they hide the switches and still leave the result good, because nothing has filtered the starting true. Together with a false filter they give you recommended.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The hide-the-interface filters work the same way. The <a href=\"https:\/\/make.wordpress.org\/core\/2020\/07\/15\/controlling-plugin-and-theme-auto-updates-ui-in-wordpress-5-5\/\" target=\"_blank\" rel=\"noopener\">WordPress 5.5 developer note<\/a> says returning false from <code>plugins_auto_update_enabled<\/code> or <code>themes_auto_update_enabled<\/code> only removes the interface, and does not turn auto-updates on or off. That is exactly why a site can end up critical: the filter blocks updates and nothing hides the switch.<\/p>\n\n\n\n<h2 id=\"aioseo-what-the-problems-auto-updating-plugins-and-themes-check-cannot-see\" class=\"wp-block-heading\">What the Problems Auto-Updating Plugins and Themes Check Cannot See<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Equally important is what this test ignores. It does not check that the server can write files, that cron fires, that the disk has room or that WordPress.org is reachable. Core runs a different item for those: Background updates, which is <code>get_test_background_updates()<\/code> at line 1740 and hands off to a separate class of tests. A site can pass this check and still fail to update, and fail this check while every other part of the update path is healthy.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">So match the symptom to the right guide. Should WordPress ask for FTP details when you click Update, read <a href=\"https:\/\/www.ahosting.net\/blog\/wordpress-asking-for-ftp-credentials\/\">why it is a file-owner check, not a password problem<\/a>. If updates are scheduled but never run, <a href=\"https:\/\/www.ahosting.net\/blog\/a-scheduled-event-has-failed\/\">what the scheduled event check actually tests<\/a> explains the cron side, and core&#8217;s own auto-update message at line 1096 of <code>update.php<\/code> blames WP-Cron when the update event is missing. When an install fails midway, <a href=\"https:\/\/www.ahosting.net\/blog\/installation-failed-could-not-create-directory\/\">finding the folder before the cause<\/a> covers it.<\/p>\n\n\n\n<h3 id=\"aioseo-why-the-filter-matters-for-security\" class=\"wp-block-heading\">Why the filter matters for security<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The reason to care is the gap between a fix being published and installed. The US government publishes a <a href=\"https:\/\/www.cisa.gov\/known-exploited-vulnerabilities-catalog\" target=\"_blank\" rel=\"noopener\">catalog of vulnerabilities known to be exploited<\/a>, the <a href=\"https:\/\/nvd.nist.gov\/vuln\" target=\"_blank\" rel=\"noopener\">National Vulnerability Database<\/a> records them, and <a href=\"https:\/\/wpscan.com\/plugins\" target=\"_blank\" rel=\"noopener\">WPScan lists WordPress plugin vulnerabilities<\/a> specifically. A filter that silently blocks auto-updates removes the one mechanism that closes that gap without your attention, and the critical result is the one where nothing on screen tells you so.<\/p>\n\n\n\n<h2 id=\"aioseo-fixing-problems-auto-updating-plugins-and-themes-on-ahosting\" class=\"wp-block-heading\">Fixing Problems Auto-Updating Plugins and Themes on AHosting<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The fix is a decision followed by a small change. Decide first whether you want auto-updates at all, because the answer sets which Site Health result is acceptable.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>You want auto-updates. Remove the filter that returns false, or replace a blanket false with a denylist of the few plugins you must pin. Reload Site Health: the result should return to good.<\/li>\n\n\n\n<li>You want an allowlist. The check cannot see through it, so you will get critical while the switches show. Hide them with <code>plugins_auto_update_enabled<\/code> and <code>themes_auto_update_enabled<\/code> and you will get recommended, which is accurate and honest.<\/li>\n\n\n\n<li>You want no auto-updates. Return false from the two interface filters as well, so the screen matches the code. The result becomes recommended, and you take on every update yourself.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Whichever you pick, put the filter in a single must-use plugin file with a clear name, so the next person can find it. The same filters work identically on our <a href=\"https:\/\/www.ahosting.net\/web-hosting.html\">AHosting shared web hosting<\/a> and <a href=\"https:\/\/www.ahosting.net\/vps-hosting.html\">AHosting VPS hosting<\/a> plans, because the filter lives in your WordPress files and not in the server. After the change, reload Site Health to confirm the result.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Check the cron side separately. The Plugins screen has an auto-updates column, and the WordPress 5.5 developer note says it carries the toggle links and the time until the next update attempt. That time is built from the shared <code>wp_version_check<\/code> event (line 1096 of <code>update.php<\/code>), so it shows that cron is alive, not that your filter is clear. Site Health answers the filter question, and the column answers the cron question.<\/p>\n\n\n\n<h3 id=\"aioseo-replay-the-result-before-you-change-anything\" class=\"wp-block-heading\">Replay the result before you change anything<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The reader tool below runs the same two questions as core, so you can check which result you should expect before and after the change.<\/p>\n\n\n\n<style>\n.ahautoupd-tool{border:1px solid #cbd5e1;border-radius:12px;padding:20px;margin:24px 0;background:#f8fafc}\n.ahautoupd-tool h3{margin:0 0 12px;font-size:1.2rem}\n.ahautoupd-tool label{display:block;margin:12px 0 4px;font-weight:600}\n.ahautoupd-tool select{width:100%;max-width:520px;padding:8px;border:1px solid #94a3b8;border-radius:6px}\n.ahautoupd-tool .ahautoupd-btn{display:inline-block;margin-top:14px;padding:10px 18px;border:0;border-radius:6px;background:#2563eb;color:#ffffff;font-weight:600;cursor:pointer;text-decoration:none}\n.ahautoupd-tool .ahautoupd-out{margin-top:16px;padding:12px 14px;border-left:4px solid #2563eb;background:#ffffff}\n<\/style>\n<div class=\"ahautoupd-tool\" data-ahautoupd=\"replay\">\n  <h3>Replay the Auto-Update Check<\/h3>\n  <p>Answer the two questions the test asks, and see which Site Health result core would print.<\/p>\n  <label for=\"ahautoupd-ui\">Does your Plugins screen still show the auto-update switches?<\/label>\n  <select id=\"ahautoupd-ui\">\n    <option value=\"yes\">Yes, the switches are visible<\/option>\n    <option value=\"no\">No, the switches are hidden<\/option>\n  <\/select>\n  <label for=\"ahautoupd-filter\">Does anything hooked to auto_update_plugin return false for every plugin?<\/label>\n  <select id=\"ahautoupd-filter\">\n    <option value=\"yes\">Yes, something returns false<\/option>\n    <option value=\"no\">No, nothing blocks it<\/option>\n  <\/select>\n  <button type=\"button\" class=\"ahautoupd-btn\" id=\"ahautoupd-go\">Replay the check<\/button>\n  <div class=\"ahautoupd-out\" id=\"ahautoupd-out\" aria-live=\"polite\">Pick your answers, then replay the check.<\/div>\n  <p><a class=\"ahautoupd-btn wp-element-button\" href=\"https:\/\/www.ahosting.net\/wordpress-hosting.html\">AHosting WordPress hosting plans<\/a><\/p>\n<\/div>\n<script>\n(function(){\n  document.addEventListener('DOMContentLoaded', function(){\n    var root = document.querySelector('.ahautoupd-tool');\n    if (!root) { return; }\n    if (root.getAttribute('data-ahautoupd') !== 'replay') { return; }\n    var ui = document.getElementById('ahautoupd-ui');\n    var flt = document.getElementById('ahautoupd-filter');\n    var go = document.getElementById('ahautoupd-go');\n    var out = document.getElementById('ahautoupd-out');\n    if (!ui) { return; }\n    if (!flt) { return; }\n    if (!go) { return; }\n    if (!out) { return; }\n    go.addEventListener('click', function(){\n      var verdict = '';\n      if (flt.value === 'no') {\n        verdict = 'Good. Nothing returns false, so core reports that there appear to be no issues with plugin and theme auto-updates. A denylist for named plugins would still pass here, so a green result does not prove every plugin updates.';\n      } else if (ui.value === 'yes') {\n        verdict = 'Critical. The filter says no while the dashboard still offers the switches, so core reports your site may have problems auto-updating plugins and themes. Find the code returning false.';\n      } else {\n        verdict = 'Recommended. The filter says no and the switches are already hidden, so the screen and the code agree. Core still prints the warning, because updates will not arrive on their own.';\n      }\n      out.textContent = verdict;\n    });\n  });\n})();\n<\/script>\n\n\n\n<h3 id=\"aioseo-when-to-open-a-ticket\" class=\"wp-block-heading\">When to open a ticket<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">If you have searched every file above and the warning remains, open a ticket with the exact Site Health line and the list of must-use plugins in your account, and we will look at it with you.<\/p>\n\n\n\n<h2 id=\"faq-your-site-may-have-problems-auto-updating-plugins-and-themes\" class=\"wp-block-heading\">Frequently Asked Questions: Problems Auto-Updating Plugins and Themes<\/h2>\n\n\n\n<h3 id=\"faq-wordpress-plugins-wont-update-2026\" class=\"wp-block-heading\">Why won&#8217;t my WordPress plugins update in 2026 when Site Health reports problems auto-updating plugins and themes?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Specifically, this warning does not explain a failed manual update. It says a filter named auto_update_plugin or auto_update_theme returned false for a made-up test plugin, so the per-plugin auto-update switches are probably being overridden. If a click on Update now also fails, that is a separate problem: check file ownership, disk quota and the Background updates item in Site Health.<\/p>\n\n\n\n<h3 id=\"faq-ignore-warning-manual-updates\" class=\"wp-block-heading\">Is it safe to ignore the problems auto-updating plugins and themes warning if I update plugins by hand?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">In practice, yes for the moment, because the filter governs automatic updates, not the Update now button. The risk is the gap between releases: if you rely on auto-updates for a security fix and a filter blocks them, nothing installs until you notice. Either remove the filter or accept that you own every update.<\/p>\n\n\n\n<h3 id=\"faq-cron-permissions-not-the-cause\" class=\"wp-block-heading\">Does the problems auto-updating plugins and themes warning mean my cron or file permissions are broken?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">However, nothing in this test reads cron or permissions. It builds a fake plugin and theme, asks the auto_update filters what they would do, and compares that with whether the dashboard shows the toggles. Broken cron and wrong file ownership produce other Site Health items, not this one.<\/p>\n\n\n\n<h3 id=\"faq-critical-vs-recommended-2026\" class=\"wp-block-heading\">Critical vs recommended in 2026: which problems auto-updating plugins and themes result is worse?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Notably, critical is the contradictory one. It means a filter refuses updates while the dashboard still offers the switch, so the screen is lying to you. Recommended means the filter and the dashboard agree that updates are off, which is a deliberate state that only needs a decision.<\/p>\n\n\n\n<h3 id=\"faq-ahosting-support-find-plugin\" class=\"wp-block-heading\">Can AHosting support help me find which plugin is behind the problems auto-updating plugins and themes warning?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">In practice, yes. Open a ticket with the exact Site Health line and the list of must-use plugins in your account, and we will look at it with you. The filter lives in your own files, so the quickest route is usually a search for auto_update_plugin across wp-content.<\/p>\n\n\n\n<h3 id=\"faq-ahosting-filter-vs-enabled-2026\" class=\"wp-block-heading\">On AHosting WordPress hosting, auto_update_plugin filter vs plugins_auto_update_enabled filter in 2026: which switches updates off?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Specifically, the auto_update_plugin filter decides whether a given update runs, and returning false there blocks it. The plugins_auto_update_enabled filter only decides whether the dashboard shows the switches. Returning false from it hides the interface without turning anything on or off, which is why the two together can produce either Site Health result.<\/p>\n\n\n\n<h3 id=\"faq-ahosting-clear-warning-no-core-edits\" class=\"wp-block-heading\">How do I clear the problems auto-updating plugins and themes warning on an AHosting WordPress plan without editing core files?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">In other words, find the code that returns false and change that, never WordPress itself. Search mu-plugins, active plugins, the theme functions file and wp-config for auto_update_plugin and auto_update_theme, then remove the blanket false or narrow it to named plugins. Reload Site Health afterward to confirm.<\/p>\n\n\n\n<h3 id=\"faq-disallow-file-mods-effect\" class=\"wp-block-heading\">What does DISALLOW_FILE_MODS do to the problems auto-updating plugins and themes check on a WordPress site?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Indeed, on its own it does not trigger this warning. The constant makes the updater report itself as disabled, which hides the dashboard switches, but the test still starts from true and nothing has filtered it, so the result stays good. Pair the constant with a filter that returns false and you get the recommended result instead.<\/p>\n\n\n\n<h3 id=\"faq-safer-after-fixing-2026\" class=\"wp-block-heading\">Will fixing problems auto-updating plugins and themes make my WordPress site safer in 2026?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Consequently, only if the filter was blocking updates you wanted. Auto-updates close the gap between a plugin vulnerability being published and your site receiving the fixed version, but they do nothing about plugins that are abandoned or themes that no longer receive releases. Treat the fix as one control among several.<\/p>\n\n\n\n<h3 id=\"faq-mu-plugin-vs-wp-config-filter\" class=\"wp-block-heading\">Must-use plugins vs wp-config: where should an auto-update filter live to avoid problems auto-updating plugins and themes?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">For example, a must-use plugin is the safer home because it is a single named file that does not depend on the active theme, so you can find it again. Filters pasted into wp-config or a theme functions file get lost in upgrades, which is how they end up blocking updates years later.<\/p>\n\n\n\n<script>\n(function(){\n  document.addEventListener('DOMContentLoaded', function(){\n    var allH3s = document.querySelectorAll('h3.wp-block-heading');\n    var inFaq = false;\n    for (var i = 0; i < allH3s.length; i++) {\n      var h3 = allH3s[i];\n      var prev = h3.previousElementSibling;\n      if (prev) {\n        if (prev.tagName === 'H2') {\n          var prevId = prev.getAttribute('id');\n          if (prevId) {\n            if (prevId.indexOf('faq-') === 0) {\n              inFaq = true;\n            } else {\n              inFaq = false;\n            }\n          }\n        }\n      }\n      if (inFaq) {\n        initToggle(h3);\n      }\n    }\n    function initToggle(h3) {\n      var answer = h3.nextElementSibling;\n      if (!answer) { return; }\n      if (answer.tagName !== 'P') { return; }\n      answer.style.display = 'none';\n      h3.style.cursor = 'pointer';\n      h3.setAttribute('tabindex', '0');\n      h3.setAttribute('aria-expanded', 'false');\n      h3.addEventListener('click', function(){\n        toggleOne(h3, answer);\n      });\n      h3.addEventListener('keydown', function(ev){\n        if (ev.key === 'Enter') { toggleOne(h3, answer); }\n        if (ev.key === ' ') { ev.preventDefault(); toggleOne(h3, answer); }\n      });\n    }\n    function toggleOne(h3, answer) {\n      var open = h3.getAttribute('aria-expanded') === 'true';\n      if (open) {\n        answer.style.display = 'none';\n        h3.setAttribute('aria-expanded', 'false');\n      } else {\n        answer.style.display = 'block';\n        h3.setAttribute('aria-expanded', 'true');\n      }\n    }\n  });\n})();\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>TL;DR Your site may have problems auto-updating plugins and themes means one thing: code on your site is returning false from the auto_update_plugin or auto_update_theme filter for a made-up test plugin. It is not a cron fault, a permissions fault or a full disk. Critical means the dashboard still offers auto-updates that the filter overrides. [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":1436,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"footnotes":""},"categories":[8],"tags":[311,310,110,276,113,117,288],"class_list":["post-1434","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-wordpress","tag-auto-updates","tag-problems-auto-updating-plugins-and-themes","tag-shared-hosting","tag-site-health","tag-wordpress-errors","tag-wordpress-troubleshooting","tag-wordpress-updates"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"Your site may have problems auto-updating plugins and themes means a filter blocks updates, not your server. What the check tests, and how to fix it.\" \/>\n\t<meta name=\"robots\" content=\"max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n\t<meta name=\"author\" content=\"Matt Chrust\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.ahosting.net\/blog\/your-site-may-have-problems-auto-updating-plugins-and-themes\/\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"AHosting Blog | WordPress Hosting Tips &amp; Guides\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Problems Auto-Updating Plugins and Themes | AHosting\" \/>\n\t\t<meta property=\"og:description\" content=\"Your site may have problems auto-updating plugins and themes means a filter blocks updates, not your server. What the check tests, and how to fix it.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.ahosting.net\/blog\/your-site-may-have-problems-auto-updating-plugins-and-themes\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/www.ahosting.net\/blog\/wp-content\/uploads\/2026\/10\/your-site-may-have-problems-auto-updating-plugins-and-themes-ahosting.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/www.ahosting.net\/blog\/wp-content\/uploads\/2026\/10\/your-site-may-have-problems-auto-updating-plugins-and-themes-ahosting.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t\t<meta property=\"og:image:height\" content=\"675\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-10-14T16:37:18+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-10-14T17:58:46+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@ahostingdotnet\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Problems Auto-Updating Plugins and Themes | AHosting\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Your site may have problems auto-updating plugins and themes means a filter blocks updates, not your server. What the check tests, and how to fix it.\" \/>\n\t\t<meta name=\"twitter:creator\" content=\"@ahostingdotnet\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/www.ahosting.net\/blog\/wp-content\/uploads\/2026\/10\/your-site-may-have-problems-auto-updating-plugins-and-themes-ahosting.jpg\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/your-site-may-have-problems-auto-updating-plugins-and-themes\\\/#article\",\"name\":\"Problems Auto-Updating Plugins and Themes | AHosting\",\"headline\":\"Problems Auto-Updating Plugins and Themes? It Is a Filter Test, Not a Server Fault\",\"author\":{\"@type\":\"Person\",\"name\":\"Matt Chrust\",\"url\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/author\\\/matt-chrust\\\/\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/your-site-may-have-problems-auto-updating-plugins-and-themes-ahosting.jpg\",\"width\":1200,\"height\":675,\"caption\":\"Problems auto-updating plugins and themes is a filter test: Site Health checks what a filter says against what your dashboard offers, not your server. By Matt Chrust, Director of Business Development, AHosting.\"},\"datePublished\":\"2026-10-14T16:37:18+00:00\",\"dateModified\":\"2026-10-14T17:58:46+00:00\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/your-site-may-have-problems-auto-updating-plugins-and-themes\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/your-site-may-have-problems-auto-updating-plugins-and-themes\\\/#webpage\"},\"articleSection\":\"WordPress, auto-updates, problems auto-updating plugins and themes, Shared Hosting, Site Health, WordPress errors, WordPress troubleshooting, WordPress updates\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/your-site-may-have-problems-auto-updating-plugins-and-themes\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/category\\\/wordpress\\\/#listItem\",\"name\":\"WordPress\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/category\\\/wordpress\\\/#listItem\",\"position\":2,\"name\":\"WordPress\",\"item\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/category\\\/wordpress\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/your-site-may-have-problems-auto-updating-plugins-and-themes\\\/#listItem\",\"name\":\"Problems Auto-Updating Plugins and Themes? It Is a Filter Test, Not a Server Fault\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/your-site-may-have-problems-auto-updating-plugins-and-themes\\\/#listItem\",\"position\":3,\"name\":\"Problems Auto-Updating Plugins and Themes? It Is a Filter Test, Not a Server Fault\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/category\\\/wordpress\\\/#listItem\",\"name\":\"WordPress\"},\"item\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/your-site-may-have-problems-auto-updating-plugins-and-themes\\\/\"}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/#organization\",\"name\":\"AHosting\",\"description\":\"WordPress Hosting Tips & Guides\",\"url\":\"https:\\\/\\\/www.ahosting.net\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.ahosting.net\\\/assets\\\/img\\\/ahosting-logo.svg\",\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/your-site-may-have-problems-auto-updating-plugins-and-themes\\\/#organizationLogo\"},\"image\":{\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/your-site-may-have-problems-auto-updating-plugins-and-themes\\\/#organizationLogo\"},\"sameAs\":[\"https:\\\/\\\/x.com\\\/ahostingdotnet\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/author\\\/matt-chrust\\\/#author\",\"url\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/author\\\/matt-chrust\\\/\",\"name\":\"Matt Chrust\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/your-site-may-have-problems-auto-updating-plugins-and-themes\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/795895edac1c44589f6c7f5e6bb79df405fbbaac15817bdd387ec57da61731ec?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Matt Chrust\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/your-site-may-have-problems-auto-updating-plugins-and-themes\\\/#webpage\",\"url\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/your-site-may-have-problems-auto-updating-plugins-and-themes\\\/\",\"name\":\"Problems Auto-Updating Plugins and Themes | AHosting\",\"description\":\"Your site may have problems auto-updating plugins and themes means a filter blocks updates, not your server. What the check tests, and how to fix it.\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/your-site-may-have-problems-auto-updating-plugins-and-themes\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/author\\\/matt-chrust\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/author\\\/matt-chrust\\\/#author\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/your-site-may-have-problems-auto-updating-plugins-and-themes-ahosting.jpg\",\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/your-site-may-have-problems-auto-updating-plugins-and-themes\\\/#mainImage\",\"width\":1200,\"height\":675,\"caption\":\"Problems auto-updating plugins and themes is a filter test: Site Health checks what a filter says against what your dashboard offers, not your server. By Matt Chrust, Director of Business Development, AHosting.\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/your-site-may-have-problems-auto-updating-plugins-and-themes\\\/#mainImage\"},\"datePublished\":\"2026-10-14T16:37:18+00:00\",\"dateModified\":\"2026-10-14T17:58:46+00:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/#website\",\"url\":\"https:\\\/\\\/www.ahosting.net\\\/\",\"name\":\"AHosting\",\"description\":\"WordPress Hosting Tips & Guides\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Problems Auto-Updating Plugins and Themes | AHosting","description":"Your site may have problems auto-updating plugins and themes means a filter blocks updates, not your server. What the check tests, and how to fix it.","canonical_url":"https:\/\/www.ahosting.net\/blog\/your-site-may-have-problems-auto-updating-plugins-and-themes\/","robots":"max-snippet:-1, max-image-preview:large, max-video-preview:-1","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/www.ahosting.net\/blog\/your-site-may-have-problems-auto-updating-plugins-and-themes\/#article","name":"Problems Auto-Updating Plugins and Themes | AHosting","headline":"Problems Auto-Updating Plugins and Themes? It Is a Filter Test, Not a Server Fault","author":{"@type":"Person","name":"Matt Chrust","url":"https:\/\/www.ahosting.net\/blog\/author\/matt-chrust\/"},"publisher":{"@id":"https:\/\/www.ahosting.net\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/www.ahosting.net\/blog\/wp-content\/uploads\/2026\/10\/your-site-may-have-problems-auto-updating-plugins-and-themes-ahosting.jpg","width":1200,"height":675,"caption":"Problems auto-updating plugins and themes is a filter test: Site Health checks what a filter says against what your dashboard offers, not your server. By Matt Chrust, Director of Business Development, AHosting."},"datePublished":"2026-10-14T16:37:18+00:00","dateModified":"2026-10-14T17:58:46+00:00","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/www.ahosting.net\/blog\/your-site-may-have-problems-auto-updating-plugins-and-themes\/#webpage"},"isPartOf":{"@id":"https:\/\/www.ahosting.net\/blog\/your-site-may-have-problems-auto-updating-plugins-and-themes\/#webpage"},"articleSection":"WordPress, auto-updates, problems auto-updating plugins and themes, Shared Hosting, Site Health, WordPress errors, WordPress troubleshooting, WordPress updates"},{"@type":"BreadcrumbList","@id":"https:\/\/www.ahosting.net\/blog\/your-site-may-have-problems-auto-updating-plugins-and-themes\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/www.ahosting.net\/blog\/#listItem","position":1,"name":"Home","item":"https:\/\/www.ahosting.net\/blog\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.ahosting.net\/blog\/category\/wordpress\/#listItem","name":"WordPress"}},{"@type":"ListItem","@id":"https:\/\/www.ahosting.net\/blog\/category\/wordpress\/#listItem","position":2,"name":"WordPress","item":"https:\/\/www.ahosting.net\/blog\/category\/wordpress\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.ahosting.net\/blog\/your-site-may-have-problems-auto-updating-plugins-and-themes\/#listItem","name":"Problems Auto-Updating Plugins and Themes? It Is a Filter Test, Not a Server Fault"},"previousItem":{"@type":"ListItem","@id":"https:\/\/www.ahosting.net\/blog\/#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/www.ahosting.net\/blog\/your-site-may-have-problems-auto-updating-plugins-and-themes\/#listItem","position":3,"name":"Problems Auto-Updating Plugins and Themes? It Is a Filter Test, Not a Server Fault","previousItem":{"@type":"ListItem","@id":"https:\/\/www.ahosting.net\/blog\/category\/wordpress\/#listItem","name":"WordPress"},"item":"https:\/\/www.ahosting.net\/blog\/your-site-may-have-problems-auto-updating-plugins-and-themes\/"}]},{"@type":"Organization","@id":"https:\/\/www.ahosting.net\/#organization","name":"AHosting","description":"WordPress Hosting Tips & Guides","url":"https:\/\/www.ahosting.net\/","logo":{"@type":"ImageObject","url":"https:\/\/www.ahosting.net\/assets\/img\/ahosting-logo.svg","@id":"https:\/\/www.ahosting.net\/blog\/your-site-may-have-problems-auto-updating-plugins-and-themes\/#organizationLogo"},"image":{"@id":"https:\/\/www.ahosting.net\/blog\/your-site-may-have-problems-auto-updating-plugins-and-themes\/#organizationLogo"},"sameAs":["https:\/\/x.com\/ahostingdotnet"]},{"@type":"Person","@id":"https:\/\/www.ahosting.net\/blog\/author\/matt-chrust\/#author","url":"https:\/\/www.ahosting.net\/blog\/author\/matt-chrust\/","name":"Matt Chrust","image":{"@type":"ImageObject","@id":"https:\/\/www.ahosting.net\/blog\/your-site-may-have-problems-auto-updating-plugins-and-themes\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/795895edac1c44589f6c7f5e6bb79df405fbbaac15817bdd387ec57da61731ec?s=96&d=mm&r=g","width":96,"height":96,"caption":"Matt Chrust"}},{"@type":"WebPage","@id":"https:\/\/www.ahosting.net\/blog\/your-site-may-have-problems-auto-updating-plugins-and-themes\/#webpage","url":"https:\/\/www.ahosting.net\/blog\/your-site-may-have-problems-auto-updating-plugins-and-themes\/","name":"Problems Auto-Updating Plugins and Themes | AHosting","description":"Your site may have problems auto-updating plugins and themes means a filter blocks updates, not your server. What the check tests, and how to fix it.","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/www.ahosting.net\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/www.ahosting.net\/blog\/your-site-may-have-problems-auto-updating-plugins-and-themes\/#breadcrumblist"},"author":{"@id":"https:\/\/www.ahosting.net\/blog\/author\/matt-chrust\/#author"},"creator":{"@id":"https:\/\/www.ahosting.net\/blog\/author\/matt-chrust\/#author"},"image":{"@type":"ImageObject","url":"https:\/\/www.ahosting.net\/blog\/wp-content\/uploads\/2026\/10\/your-site-may-have-problems-auto-updating-plugins-and-themes-ahosting.jpg","@id":"https:\/\/www.ahosting.net\/blog\/your-site-may-have-problems-auto-updating-plugins-and-themes\/#mainImage","width":1200,"height":675,"caption":"Problems auto-updating plugins and themes is a filter test: Site Health checks what a filter says against what your dashboard offers, not your server. By Matt Chrust, Director of Business Development, AHosting."},"primaryImageOfPage":{"@id":"https:\/\/www.ahosting.net\/blog\/your-site-may-have-problems-auto-updating-plugins-and-themes\/#mainImage"},"datePublished":"2026-10-14T16:37:18+00:00","dateModified":"2026-10-14T17:58:46+00:00"},{"@type":"WebSite","@id":"https:\/\/www.ahosting.net\/#website","url":"https:\/\/www.ahosting.net\/","name":"AHosting","description":"WordPress Hosting Tips & Guides","inLanguage":"en-US","publisher":{"@id":"https:\/\/www.ahosting.net\/#organization"}}]},"og:locale":"en_US","og:site_name":"AHosting Blog | WordPress Hosting Tips &amp; Guides","og:type":"article","og:title":"Problems Auto-Updating Plugins and Themes | AHosting","og:description":"Your site may have problems auto-updating plugins and themes means a filter blocks updates, not your server. What the check tests, and how to fix it.","og:url":"https:\/\/www.ahosting.net\/blog\/your-site-may-have-problems-auto-updating-plugins-and-themes\/","og:image":"https:\/\/www.ahosting.net\/blog\/wp-content\/uploads\/2026\/10\/your-site-may-have-problems-auto-updating-plugins-and-themes-ahosting.jpg","og:image:secure_url":"https:\/\/www.ahosting.net\/blog\/wp-content\/uploads\/2026\/10\/your-site-may-have-problems-auto-updating-plugins-and-themes-ahosting.jpg","og:image:width":1200,"og:image:height":675,"article:published_time":"2026-10-14T16:37:18+00:00","article:modified_time":"2026-10-14T17:58:46+00:00","twitter:card":"summary_large_image","twitter:site":"@ahostingdotnet","twitter:title":"Problems Auto-Updating Plugins and Themes | AHosting","twitter:description":"Your site may have problems auto-updating plugins and themes means a filter blocks updates, not your server. What the check tests, and how to fix it.","twitter:creator":"@ahostingdotnet","twitter:image":"https:\/\/www.ahosting.net\/blog\/wp-content\/uploads\/2026\/10\/your-site-may-have-problems-auto-updating-plugins-and-themes-ahosting.jpg"},"aioseo_meta_data":{"post_id":"1434","title":"Problems Auto-Updating Plugins and Themes | AHosting","description":"Your site may have problems auto-updating plugins and themes means a filter blocks updates, not your server. What the check tests, and how to fix it.","keywords":null,"keyphrases":{"focus":{"keyphrase":"problems auto-updating plugins and themes","score":0,"analysis":[]},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":{"faqs":[],"keyPoints":[],"schemas":[],"titles":[],"descriptions":[],"socialPosts":{"email":{"subject":"","preview":"","content":""},"linkedin":[],"twitter":[],"facebook":[],"instagram":[]}},"created":"2026-10-14 16:32:58","updated":"2026-10-14 18:00:01","seo_analyzer_scan_date":null,"focus_keyword":"problems auto-updating plugins and themes","additional_keywords":null,"truseo_locale":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.ahosting.net\/blog\/\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.ahosting.net\/blog\/category\/wordpress\/\" title=\"WordPress\">WordPress<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tProblems Auto-Updating Plugins and Themes? It Is a Filter Test, Not a Server Fault\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.ahosting.net\/blog\/"},{"label":"WordPress","link":"https:\/\/www.ahosting.net\/blog\/category\/wordpress\/"},{"label":"Problems Auto-Updating Plugins and Themes? It Is a Filter Test, Not a Server Fault","link":"https:\/\/www.ahosting.net\/blog\/your-site-may-have-problems-auto-updating-plugins-and-themes\/"}],"_links":{"self":[{"href":"https:\/\/www.ahosting.net\/blog\/wp-json\/wp\/v2\/posts\/1434","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ahosting.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ahosting.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ahosting.net\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ahosting.net\/blog\/wp-json\/wp\/v2\/comments?post=1434"}],"version-history":[{"count":2,"href":"https:\/\/www.ahosting.net\/blog\/wp-json\/wp\/v2\/posts\/1434\/revisions"}],"predecessor-version":[{"id":1442,"href":"https:\/\/www.ahosting.net\/blog\/wp-json\/wp\/v2\/posts\/1434\/revisions\/1442"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ahosting.net\/blog\/wp-json\/wp\/v2\/media\/1436"}],"wp:attachment":[{"href":"https:\/\/www.ahosting.net\/blog\/wp-json\/wp\/v2\/media?parent=1434"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ahosting.net\/blog\/wp-json\/wp\/v2\/categories?post=1434"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ahosting.net\/blog\/wp-json\/wp\/v2\/tags?post=1434"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}