{"id":87036,"date":"2019-06-20T10:39:46","date_gmt":"2019-06-20T15:39:46","guid":{"rendered":"https:\/\/wpengine.com\/?post_type=support&#038;p=87036"},"modified":"2025-10-08T07:45:44","modified_gmt":"2025-10-08T13:45:44","slug":"smart-plugin-manager","status":"publish","type":"support","link":"https:\/\/wpengine.com\/support\/smart-plugin-manager\/","title":{"rendered":"Smart Plugin Manager (SPM)"},"content":{"rendered":"\n<p>Plugins and themes can be updated in the WordPress<sup>\u00ae<\/sup> admin dashboard by visiting the <em>Updates<\/em> tab.<sup><a href=\"#legal-disclaimer\">1<\/a><\/sup> However this can be time consuming- and what if an update causes an issue? <a href=\"https:\/\/wpengine.com\/smart-plugin-manager\/\"><strong>Smart Plugin Manager<\/strong><\/a> is a WP Engine feature that automatically manages all of your WordPress plugins and themes to keep your environments secure. Smart Plugin Manager will check that the updates are working as expected, and that the update did not cause any visual problems on your site. In the event that a plugin or theme update causes an issue, Smart Plugin Manager will automatically revert the updates and restore your site to its previous state.<\/p>\n\n\n\n<p>Smart Plugin Manager can be purchased for Shared and Premium plans from the <a href=\"https:\/\/my.wpengine.com\/products\" target=\"_blank\" rel=\"noreferrer noopener\">Products<\/a>&nbsp;page and is included with Managed Hosting Plus, Secure Hosting, and eCommerce plans. <a href=\"https:\/\/wpengine.com\/support\/change-plan-user-portal\/\">Learn more about purchasing product extensions.<\/a><\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<iframe style=\"aspect-ratio: 16 \/ 9;\n  width: 100%;\" src=\"https:\/\/www.youtube.com\/embed\/fNC9E7M-920?si=m5mTFAI7MB5J7oPz&#038;rel=0\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<div class=\"video-feedback-callout\" style=\"width: 100%; margin: auto; max-width:450px; margin-top:15px;\"> \n<span style=\"float: left; padding-right:10px; padding-top:1px;\">\n<img decoding=\"async\" src=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2024\/09\/stars-rating.png\"\/>\n<\/span> \n<p style=\"color:#002447; font-size:14px; padding-right:6px; float:left; font-weight:400;\">Was this video helpful?<\/p> \n<div class=\"video-feedback-link copy_site\" id=\"copy_site\" style=\"display: flex; align-items: center; gap: .5rem; font-weight: 700; pointer-events: all; float:left;\">\n<span style=\"color:#006BD6; font-size: 14px; border-bottom: 3px solid #006BD6; text-decoration:none;\">Share Your Feedback<\/span> \n<svg width=\"24\" height=\"25\" viewBox=\"0 0 24 25\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M13.5491 5.93261C13.2357 5.66173 12.7621 5.69618 12.4912 6.00955C12.2203 6.32292 12.2548 6.79655 12.5681 7.06742L17.9854 11.75L4 11.75C3.58579 11.75 3.25 12.0858 3.25 12.5C3.25 12.9142 3.58579 13.25 4 13.25L17.9854 13.25L12.5681 17.9326C12.2548 18.2035 12.2203 18.6771 12.4912 18.9905C12.7621 19.3038 13.2357 19.3383 13.5491 19.0674L20.4904 13.0674C20.6552 12.925 20.7499 12.7179 20.7499 12.5C20.7499 12.2822 20.6552 12.0751 20.4904 11.9326L13.5491 5.93261Z\"\/><\/svg>\n<\/div>\n<\/div>\n\n\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">About Smart Plugin Manager<\/h2>\n\n\n\n<p>Smart Plugin Manager (SPM) runs a script daily to check if there are any updates available for your plugins or themes. Smart Plugin Manager is deployed on individual environments, using one license per install and can be deployed on multisite networks (<a href=\"#Multisite\">read more on this here<\/a>). You can select the time of day you\u2019d like the update service to check for updates from the Settings page.<\/p>\n\n\n\n<p>If your WordPress site fulfills a basic purpose, such as providing marketing information for your business, we recommend enabling Smart Plugin Manager on your Production environment. If you do a lot of custom development or your website utilizes multiple applications (such as an eCommerce site), we recommend using Smart Plugin Manager on your Staging environment first so you can check that the updates don&#8217;t cause any issues with custom code or third-party applications. If you\u2019re happy with the results, feel free to enable it on your Production environment.<\/p>\n\n\n\n<a name=\"Determining_a_Successful_Update\"><\/a>\n\n\n\n<h3 class=\"wp-block-heading\">Successful Updates<\/h3>\n\n\n\n<p>Utilizing a proprietary set of tests and machine learning algorithms, after plugin and theme updates are run, Smart Plugin Manager checks for server response errors, broken code, and visual changes immediately after plugins have been updated. Some example visual errors that will cause a reversion and restoration are missing images and forms, misplaced iconography, PHP errors, and other visual indicators that the plugin updates causes a material change to your site.<\/p>\n\n\n\n<p>Smart Plugin Manager makes a judgement on site functionality based on a set of verification tests. We\u2019re constantly improving the technology and verification mechanisms so false positives\/negatives may occur. If an update breaks your site but was passed by Smart Plugin Manager, you can restore using WP Engine\u2019s <a href=\"https:\/\/wpengine.com\/support\/restore\/\">backup system<\/a>. Likewise, if Smart Plugin Manager believes the updates broke your site when it seems to be fine, you can still manually update your plugins. If you experience one of these issues, please contact <a href=\"https:\/\/my.wpengine.com\/support\/\">Support<\/a>.<\/p>\n\n\n\n<p>What happens if <a href=\"https:\/\/wpengine.com\/support\/smart-plugin-manager\/#Visual_Regression_Testing_VRT\">visual regression testing (VRT)<\/a> doesn&#8217;t notice the <em>visual<\/em> change and therefore doesn&#8217;t rollback? It&#8217;s impossible to know exactly what percentage of changes VRT will catch. In general, VRT should catch significant changes, but it doesn&#8217;t guarantee it will always do so for all websites.<\/p>\n\n\n\n<a name=\"Update_Failures\"><\/a>\n\n\n\n<h3 class=\"wp-block-heading\">Failed Updates<\/h3>\n\n\n\n<p>If a plugin fails to update, we will stop trying to run the updates and you will receive a notification alerting you to which plugin(s) or theme(s) failed to update so you can investigate. Smart Plugin Manager will attempt updates for three more days.<\/p>\n\n\n\n<p>If updates are performed successfully but we detect an issue after updating, such as a 4XX\/5XX error or a material change to the look of your site using <a href=\"https:\/\/wpengine.com\/support\/smart-plugin-manager\/#Visual_Regression_Testing_VRT\">visual regression testing (VRT)<\/a>, the system will automatically <a href=\"https:\/\/wpengine.com\/support\/restore\/\">revert<\/a> your site back to the state prior to running the updates. VRT is the Visual Regression Test that SPM performs to check for any visual changes to the site before updating the plugins and is the primary reason SPM will fail to update plugins\/themes.<\/p>\n\n\n\n<p>The system will attempt to update each plugin\/theme individually and will skip updating the plugin or theme to the specific version that caused the failure while still updating the other components. You will need to manually update the plugin or theme that causes the failure before it will properly update automatically.<\/p>\n\n\n\n<p>Be sure to also check your website against Smart Plugin Manager&#8217;s limitations, <a href=\"#Limitations\">detailed in this section<\/a>.<\/p>\n\n\n\n<a name=\"Plugin_and_Theme_Cache\"><\/a>\n\n\n\n<h3 class=\"wp-block-heading\">Cache<\/h3>\n\n\n\n<p>WP Engine caches will be cleared after an SPM update. Varnish, object, Advanced Network, and Global Edge Security caches will be cleared. (<a href=\"https:\/\/wpengine.com\/support\/cache\/#WP_Engine_Cache\">Learn more about WP Engine&#8217;s caching here<\/a>.)<\/p>\n\n\n\n<p>Certain plugin and themes will have their cache cleared automatically after updates if that item has updates managed by Smart Plugin Manager. SPM runs post-update jobs for the following:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Advanced Custom Fields<\/li>\n\n\n\n<li>Elementor<\/li>\n\n\n\n<li>Popup Maker<\/li>\n\n\n\n<li>Redirection<\/li>\n\n\n\n<li>WooCommerce<sup>\u00ae<\/sup> <sup><a href=\"#legal-disclaimer\">1<\/a><\/sup><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">WP Engine Headless Platform Support<\/h3>\n\n\n\n<p>Smart Plugin Manager supports WordPress sites connected to WP Engine Headless Platform apps. When SPM detects a redirect from WordPress homepage to a WP Engine Headless Platform app, then SPM allows WordPress sitemap to include URLs to the WP Engine Headless Platform app. After updating WordPress plugins SPM can test both WordPress pages and Headless WordPress app pages listed in the sitemap.<\/p>\n\n\n\n<p>We recommend using the FaustWP plugin with configured front-end site URL and enabled public route redirects.<\/p>\n\n\n\n<p>SPM does <em>not<\/em> turn on maintenance mode when WordPress is connected to the Headless WordPress app, to not limit access to WordPress data.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Multisite Support<\/h3>\n\n\n\n<p>Smart Plugin Manager supports multisite for WordPress, although there are some caveats. Additionally, SPM will enable maintenance mode on all subpages when updates are running.<\/p>\n\n\n\n<p>If you wish to use SPM on a multisite network, we recommend the following configuration:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Activate plugins network-wide, or activate all plugins on the main site<\/li>\n\n\n\n<li>For private and commercial plugins, enter the license credentials, subscription key, or download key on the main site<\/li>\n\n\n\n<li>Use WP Engine&#8217;s <a href=\"https:\/\/wpengine.com\/support\/restore\/\">backups<\/a> instead of a 3rd-party WordPress plugin for backing up all of your subsites, to avoid keeping the main site for a long time in maintenance mode during SPM updates<\/li>\n<\/ul>\n\n\n\n<p><a href=\"#Visual_Regression_Testing\">Visual Regression Testing<\/a> functions a little differently when applied to multisite networks. There are two ways pages will be tested for failures:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>In a multisite network with under 20 sites (19 subsites + main site), VRT will test;\n<ul class=\"wp-block-list\">\n<li>The homepage of the main site<\/li>\n\n\n\n<li>The homepage of all subsites<\/li>\n\n\n\n<li>Custom <a href=\"#Sitemap_Override\">SPM sitemap<\/a>\n<ul class=\"wp-block-list\">\n<li>Up to 20 URLs in total, including any homepages that will be tested above.<\/li>\n\n\n\n<li>Custom sitemap can be for the main site only and URLs only.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>In a multisite network with over 20 sites (19 subsites + main site), VRT will test;\n<ul class=\"wp-block-list\">\n<li>The homepage of the main site<\/li>\n\n\n\n<li>The homepage of up to 49 subsites<\/li>\n\n\n\n<li>A custom <a href=\"#Sitemap_Override\">SPM sitemap<\/a> will be <strong>ignored<\/strong> <\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>In a multisite network with over 50 sites (49 subsites + main site), VRT will test;\n<ul class=\"wp-block-list\">\n<li>The homepage of the main site<\/li>\n\n\n\n<li>The homepages of the <em>first<\/em> 49 subsites created<\/li>\n\n\n\n<li>A custom <a href=\"#Sitemap_Override\">SPM sitemap<\/a> will be <strong>ignored<\/strong><\/li>\n\n\n\n<li>Subsites 51 and greater will <strong>not<\/strong> be checked<br><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p>*The main site is defined as the site ID 1 and uses the <code>wp_options<\/code> table (as opposed to <code>wp_2_options<\/code>, etc). This is the first site on the network and the site that cannot have the domain updated in the wp-admin.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Git Support<\/h3>\n\n\n\n<p>All of Smart Plugin Manager&#8217;s features, including the Visual Regression Test, Auto Site Rollback, and Notifications, can be leveraged for a Git-hosted plugin or theme by first connecting your website with Github. This means you can push updates to a custom plugin or theme via GitHub and have those updates download automatically to any website where Smart Plugin Manager is active.<\/p>\n\n\n\n<p>In order to connect your website to the Github repository, we recommend using either the <a href=\"https:\/\/github.com\/afragen\/github-updater\" target=\"_blank\" rel=\"noopener noreferrer\">GitHub Updater<\/a> or <a href=\"https:\/\/github.com\/YahnisElsts\/plugin-update-checker\" target=\"_blank\" rel=\"noopener noreferrer\">Plugin Updates Checker<\/a> plugin. These tools can automatically make a pending update for your custom plugin or theme visible in the wp-admin area of your site, which will then notify Smart Plugin Manager to initialize that update. Details on how to configure a plugin or theme to sync these tools can be found in their own documentation: <a href=\"https:\/\/github.com\/afragen\/github-updater\/wiki\" target=\"_blank\" rel=\"noopener noreferrer\">Github Updater Setup Guide<\/a> and <a href=\"https:\/\/github.com\/YahnisElsts\/plugin-update-checker#getting-started\" target=\"_blank\" rel=\"noopener noreferrer\">Plugin Update Check Getting Started Guide<\/a>.<\/p>\n\n\n\n<p>Finally, when utilizing Git on a website using Smart Plugin Manager the following should be added to the gitignore file:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"># smart plugin manager specific&nbsp;\nwp-content\/plugins\/*\nwp-content\/.logs\/\nautoupdater_maintenance_mode_enabled.tmp<\/pre>\n\n\n\n<p>Downloadable gitignore files including these SPM-specific paths can be found in the <a href=\"https:\/\/wpengine.com\/support\/git\/#spm\">full Git guide here<\/a>.<\/p>\n\n\n\n<a name=\"Visual_Regression_Testing\"><\/a>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Visual Regression Testing (VRT)<\/h2>\n\n\n\n<p>Visual regression testing (VRT) refers to the process of visually checking a series of pages before and after updates are performed for discrepancies. This is especially powerful because basics tests only look for error codes, whereas VRT can be used to determine if the website <em>looks<\/em> incorrect.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Number of URLs to Test<\/h3>\n\n\n\n<p>The default number of pages that Smart Plugin Manager checks is 10. This changed from the initial default of 20 to provide the optimal balance between the number of URLs tested and the time that the website stays offline in maintenance mode. There is an option in the <a href=\"https:\/\/wpengine.com\/support\/smart-plugin-manager\/#Smart_Plugin_Manager_Settings\">SPM Settings<\/a> under the heading <strong>URLs to test<\/strong>, which allows you to set it back to 20 if you decide it&#8217;s necessary to test more pages for a site. This setting is labeled <strong>Number of test scenarios<\/strong> as pictured below.<br><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"388\" class=\"wp-image-127115\" style=\"width: 600px;\" src=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/number-of-test-scenarios.png\" alt=\"\" srcset=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/number-of-test-scenarios.png 1224w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/number-of-test-scenarios-300x194.png 300w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/number-of-test-scenarios-1024x663.png 1024w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/number-of-test-scenarios-768x497.png 768w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Testing Mobile and Desktop Screens<\/h3>\n\n\n\n<p>In the <strong>URLs to test<\/strong> section of the <a href=\"https:\/\/wpengine.com\/support\/smart-plugin-manager\/#Smart_Plugin_Manager_Settings\">SPM Settings<\/a> page for an environment, there is also a setting labeled <strong>Number of screenshots<\/strong>. This refers to the number of screenshots that you want to be tested on <strong>mobile<\/strong> or <strong>desktop<\/strong> screens.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"612\" src=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/spm-mobile-desktop-selection-1024x612.png\" alt=\"\" class=\"wp-image-127114\" style=\"width:500px\" srcset=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/spm-mobile-desktop-selection-1024x612.png 1024w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/spm-mobile-desktop-selection-300x179.png 300w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/spm-mobile-desktop-selection-768x459.png 768w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/spm-mobile-desktop-selection.png 1070w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>The options available are:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Half desktop and half mobile<\/strong> &#8211; Selecting this option will cut your number of tested pages in half, and show desktop and mobile versions of each page. For example, if your number of test scenarios is set to 10, then 5 unique pages would be tested on desktop and mobile.<\/li>\n\n\n\n<li><strong>All desktop<\/strong> &#8211; This option will show you the same number of desktop screenshot comparisons as test scenarios that you have selected. If your number of test scenarios is set to 10, then 10 unique pages would be tested on desktop screens.<\/li>\n\n\n\n<li><strong>All mobile<\/strong> &#8211; This option will show you the same number of mobile screenshot comparisons as test scenarios that you have selected. If your number of test scenarios is set to 10, then 10 unique pages would be tested on mobile screens.<\/li>\n<\/ol>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Sitemap Override<\/h3>\n\n\n\n<p>By default, Smart Plugin Manager will check 10 random pages, always including the homepage, after an update.<\/p>\n\n\n\n<p>To ensure specific pages are always reviewed by Smart Plugin Manager, provide the URL to a custom sitemap you&#8217;d like Smart Plugin Manager to choose from instead. This sitemap should be entered into the SPM options as an absolute path.<\/p>\n\n\n\n<p>Sitemap override is only available when editing options for a single environment. This setting can be found in the <strong>URLs to test<\/strong> section of the <a href=\"https:\/\/wpengine.com\/support\/smart-plugin-manager\/#Smart_Plugin_Manager_Settings\">SPM Settings<\/a> page for an environment, as pictured below.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"375\" src=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/sitemap-override-1024x375.png\" alt=\"\" class=\"wp-image-126833\" srcset=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/sitemap-override-1024x375.png 1024w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/sitemap-override-300x110.png 300w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/sitemap-override-768x281.png 768w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/sitemap-override-1536x562.png 1536w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/sitemap-override-1500x549.png 1500w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/sitemap-override.png 1580w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Smart Plugin Manager checks the homepage by default. If you add a sitemap (whether through the <a href=\"#sitemap\">sitemap setting<\/a> or a sitemap plugin), it will check and run verification on up to 20 listed pages, including the homepage. If there are more pages listed in your sitemap than the setting for &#8220;Number of test scenarios&#8221;, it will check your homepage and a randomized 9 or 19 other pages from the entirety of the sitemap, depending on the setting you chose. If there is a failure on any page, Smart Plugin Manager will roll back the plugin updates and restore your entire site to its previous state. <\/p>\n\n\n\n<p>Additionally, SPM can be told to ignore <a href=\"#Hidden_Content\">specific items<\/a> if necessary. For example, a calendar widget is expected to vary visually but doesn&#8217;t indicate an update failure.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Visual Regression Testing Sensitivity<\/h3>\n\n\n\n<p>If you experience a <strong>false positive<\/strong> or a <strong>false negative<\/strong> with Visual Regression Testing, you can adjust the threshold for the visual regression testing sensitivity that is performed, to help determine if an update needs to be rolled back. The rest of our suite of tests will still be performed. The setting can be found on an environment&#8217;s <a href=\"https:\/\/wpengine.com\/support\/smart-plugin-manager\/#Smart_Plugin_Manager_Settings\">SPM Settings<\/a> page as shown below.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"556\" src=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/VRT-sensitivity-1024x556.png\" alt=\"\" class=\"wp-image-126843\" style=\"object-fit:cover\" srcset=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/VRT-sensitivity-1024x556.png 1024w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/VRT-sensitivity-300x163.png 300w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/VRT-sensitivity-768x417.png 768w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/VRT-sensitivity-1536x834.png 1536w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/VRT-sensitivity-1500x814.png 1500w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/VRT-sensitivity.png 1783w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<a name=\"Multisite\"><\/a>\n\n\n\n<a name=\"WooCommerce\"><\/a>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">WooCommerce and VRT<\/h3>\n\n\n\n<p>For websites that have the WooCommerce plugin activated, VRT will automatically check the cart page, checkout page, my account page, up to 3 random category pages, and 13 random product pages. These specific URLs are:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\/cart\n\/checkout\n\/my-account\n\/product-category\/<em>your-category-name<\/em>\n\/product\/<em>your-product-name<\/em><\/pre>\n\n\n\n<p>In the case that you are not utilizing the above product or category URL structure, WooCommerce will be queried first for current URLs using the IDs (EX: <code>domain.com\/?product=111<\/code>.)<\/p>\n\n\n\n<p>If you prefer to override the VRT for these default URLs, this can be done simply by using a <a href=\"#Sitemap_Override\">custom sitemap<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">VRT Screenshot Comparison<\/h3>\n\n\n\n<p>To compare screenshots from <strong>visual regression testing<\/strong> in your SPM reports:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Go to the <a href=\"https:\/\/my.wpengine.com\/products\/smart_plugin_manager\" target=\"_blank\" rel=\"noreferrer noopener\">Smart Plugin Manager<\/a> page in the User Portal and select <strong>Open update history<\/strong> from the three dot menu next to an environment.<img loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"152\" class=\"wp-image-126860\" style=\"width: 700px;\" src=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/open-update-history-1.png\" alt=\"\" srcset=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/open-update-history-1.png 1784w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/open-update-history-1-300x65.png 300w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/open-update-history-1-1024x222.png 1024w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/open-update-history-1-768x167.png 768w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/open-update-history-1-1536x333.png 1536w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/open-update-history-1-1500x325.png 1500w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/>\n<ul class=\"wp-block-list\">\n<li>You can also access the update history from the <a href=\"#Plugins_and_Themes_Page\">plugins and themes<\/a> page for an environment.<br><img loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"233\" class=\"wp-image-126866\" style=\"width: 700px;\" src=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/update-history-link.png\" alt=\"\" srcset=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/update-history-link.png 1898w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/update-history-link-300x100.png 300w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/update-history-link-1024x342.png 1024w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/update-history-link-768x256.png 768w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/update-history-link-1536x512.png 1536w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/update-history-link-1500x500.png 1500w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Select <strong>Update status<\/strong> next to the report date that you want to view.<br><img loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"153\" class=\"wp-image-126861\" style=\"width: 700px;\" src=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/update-report.png\" alt=\"\" srcset=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/update-report.png 1828w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/update-report-300x66.png 300w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/update-report-1024x224.png 1024w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/update-report-768x168.png 768w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/update-report-1536x336.png 1536w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/update-report-1500x328.png 1500w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/li>\n\n\n\n<li>Click on any of the <strong>Go to report<\/strong> links in the table.<br><img loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"322\" class=\"wp-image-126862\" style=\"width: 700px;\" src=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/go-to-report.png\" alt=\"\" srcset=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/go-to-report.png 1823w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/go-to-report-300x138.png 300w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/go-to-report-1024x471.png 1024w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/go-to-report-768x353.png 768w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/go-to-report-1536x707.png 1536w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/go-to-report-1500x690.png 1500w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/li>\n\n\n\n<li>In the report, scroll down to the <strong>Screenshots<\/strong> section and click <strong>View<\/strong> next to any of the pages listed, to view screenshot comparisons for that page. The <strong>Type<\/strong> column will specify whether the screenshots where taken on a <strong>mobile<\/strong> or <strong>desktop<\/strong> screen.<br><img loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"482\" class=\"wp-image-127112\" style=\"width: 700px;\" src=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/mobile-desktop-screenshots.png\" alt=\"\" srcset=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/mobile-desktop-screenshots.png 1320w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/mobile-desktop-screenshots-300x206.png 300w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/mobile-desktop-screenshots-1024x704.png 1024w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/mobile-desktop-screenshots-768x528.png 768w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/li>\n\n\n\n<li>You&#8217;ll see screenshots from before the SPM updates ran, and after the SPM updates ran. You&#8217;ll see a success message above the screenshots if insignificant changes were detected, or a failure message if significant changes were detected causing the SPM updates to be reverted. Below is an example of screenshots from a <strong>mobile<\/strong> screen, where significant changes were detected after plugins were updated.<br><img loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"554\" class=\"wp-image-127113\" style=\"width: 500px;\" src=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/spm-mobile-changes-detected.png\" alt=\"\" srcset=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/spm-mobile-changes-detected.png 1212w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/spm-mobile-changes-detected-271x300.png 271w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/spm-mobile-changes-detected-923x1024.png 923w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/spm-mobile-changes-detected-768x852.png 768w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/li>\n<\/ol>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Screenshot Comparison Types<\/h3>\n\n\n\n<p>There are multiple ways that you can compare screenshots for SPM visual regression testing including <strong>side by side<\/strong>, <strong>overlay<\/strong>, and <strong>slider<\/strong>. Follow the steps in the previous section to get to the screenshots popup and then use the selector in the top right to select one of the comparison types outlined below.<br><img loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"246\" class=\"wp-image-126900\" style=\"width: 700px;\" src=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/screenshot-type-selector-1.png\" alt=\"\" srcset=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/screenshot-type-selector-1.png 1848w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/screenshot-type-selector-1-300x105.png 300w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/screenshot-type-selector-1-1024x360.png 1024w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/screenshot-type-selector-1-768x270.png 768w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/screenshot-type-selector-1-1536x539.png 1536w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/screenshot-type-selector-1-1500x527.png 1500w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Side by side<\/strong> &#8211; The side by side comparison simply places the before and after screenshots of the web page next to each other for you to visually compare.<br><img loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"414\" class=\"wp-image-126863\" style=\"width: 700px;\" src=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/screenshots-before-and-after.png\" alt=\"\" srcset=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/screenshots-before-and-after.png 2066w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/screenshots-before-and-after-300x177.png 300w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/screenshots-before-and-after-1024x606.png 1024w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/screenshots-before-and-after-768x454.png 768w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/screenshots-before-and-after-1536x909.png 1536w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/screenshots-before-and-after-2048x1211.png 2048w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/screenshots-before-and-after-1500x887.png 1500w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/li>\n\n\n\n<li><strong>Overlay<\/strong> &#8211; The overlay comparison puts the before and after screenshots on top of each other with some opacity so that you can more easily see changes such as layout shifts. If there are no changes detected then the overlay should just look like a single screenshot.<\/li>\n\n\n\n<li><strong>Slider<\/strong> &#8211; The slider comparison also puts the before and after screenshots on top of each other, but adds a slider handle that you can grab in the middle of the images. You&#8217;ll see the before screenshot on the left side of the slider handle, and the after image on the right side of the slider handle. You can grab and drag the slider handle to the left to see more of the after screenshot, and drag it to the right to see more of the before screenshot.<br><img loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"446\" class=\"wp-image-126901\" style=\"width: 700px;\" src=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/slider-handle.png\" alt=\"\" srcset=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/slider-handle.png 1918w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/slider-handle-300x191.png 300w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/slider-handle-1024x653.png 1024w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/slider-handle-768x490.png 768w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/slider-handle-1536x979.png 1536w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/slider-handle-1500x956.png 1500w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/li>\n<\/ol>\n\n\n\n<a name=\"enable\"><\/a>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Enable Smart Plugin Manager<\/h2>\n\n\n\n<p>Customers on shared WP Engine plans can add Smart Plugin Manager through the <a href=\"https:\/\/my.wpengine.com\/modify_plan\"><em>Modify Plans<\/em> page<\/a>. Customers on Premium plans, please <a href=\"https:\/\/wpengine.com\/more\/smart-plugin-manager-dedicated\/\">reach out to your Account Manager through this page<\/a>.<\/p>\n\n\n\n<p>After purchasing the product extension, enable Smart Plugin Manager on the environment of your choice via the User Portal:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Log into the <a href=\"https:\/\/my.wpengine.com\/\">User Portal<\/a><\/li>\n\n\n\n<li>Select <strong>Products<\/strong> from the main sidebar menu<\/li>\n\n\n\n<li>Click <strong>Smart Plugin Manager<\/strong> under <strong>Your products<\/strong>\n<ul class=\"wp-block-list\">\n<li>The direct link to this page is: <a href=\"https:\/\/my.wpengine.com\/products\/smart_plugin_manager\">https:\/\/my.wpengine.com\/products\/smart_plugin_manager<\/a> <\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"584\" src=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2024\/07\/manage-spm-1024x584.png\" alt=\"Screenshot of the Product page in the WP Engine User Portal showing the button to manage Smart Plugin Manager settings\" class=\"wp-image-125307\" srcset=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2024\/07\/manage-spm-1024x584.png 1024w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2024\/07\/manage-spm-300x171.png 300w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2024\/07\/manage-spm-768x438.png 768w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2024\/07\/manage-spm-1536x876.png 1536w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2024\/07\/manage-spm-1500x856.png 1500w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2024\/07\/manage-spm.png 1727w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ol start=\"4\" class=\"wp-block-list\">\n<li>Click <strong>Select or Add Environments<\/strong><\/li>\n<\/ol>\n\n\n\n<div style=\"color:#32373c;background-color:#00d1b2\" class=\"wp-block-genesis-blocks-gb-notice gb-font-size-18 gb-block-notice\" data-id=\"10de4b\"><div class=\"gb-notice-title\" style=\"color:#fff\"><p>NOTE<\/p><\/div><div class=\"gb-notice-text\" style=\"border-color:#00d1b2\">\n<p>The number of remaining licenses will display at the top left of this page.<\/p>\n<\/div><\/div>\n\n\n\n<ol start=\"5\" class=\"wp-block-list\">\n<li>Select any environments you&#8217;d like to enable Smart Plugin Manager on.<br><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"305\" class=\"wp-image-126823\" style=\"width: 600px;\" src=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/add-environment.png\" alt=\"\" srcset=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/add-environment.png 1879w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/add-environment-300x153.png 300w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/add-environment-1024x521.png 1024w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/add-environment-768x391.png 768w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/add-environment-1536x781.png 1536w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/add-environment-1500x763.png 1500w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/li>\n\n\n\n<li>Click <strong>Activate SPM<\/strong>.<\/li>\n\n\n\n<li>Click the <strong>Activate<\/strong> button on the popup.<br><img loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"361\" class=\"wp-image-126825\" style=\"width: 500px;\" src=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/SPM-popup.png\" alt=\"\" srcset=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/SPM-popup.png 1244w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/SPM-popup-300x217.png 300w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/SPM-popup-1024x739.png 1024w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/SPM-popup-768x554.png 768w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/li>\n\n\n\n<li>The \u201c<i>WP Engine Smart Plugin Manager<\/i>\u201d WordPress plugin will automatically be installed on these environments.<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Smart Plugin Manager Status<\/h2>\n\n\n\n<p>Status by environment can be viewed at a glance from the Site Monitoring page in the User Portal.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Log in to the <a href=\"https:\/\/my.wpengine.com\/sites\/\">User Portal<\/a><\/li>\n\n\n\n<li>Select <strong>Products<\/strong> from the left sidebar menu<\/li>\n\n\n\n<li>Click <strong><a href=\"https:\/\/my.wpengine.com\/products\/smart_plugin_manager\" target=\"_blank\" rel=\"noreferrer noopener\">Smart Plugin Manager<\/a><\/strong> under <strong>Your products<\/strong><\/li>\n\n\n\n<li>Locate the <strong>environment name<\/strong><\/li>\n<\/ol>\n\n\n\n<p>Statuses shown here are the following:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Check &#8211; Plugins are up to date<\/li>\n\n\n\n<li>X &#8211; Plugins not updated<\/li>\n\n\n\n<li>Warning &#8211; There was an issue updating plugins <\/li>\n\n\n\n<li>Clock &#8211; Next run soon<\/li>\n\n\n\n<li>Plus &#8211; Activate an SPM license on this environment<\/li>\n<\/ul>\n\n\n\n<p>A more detailed report about the previous Smart Plugin Manager run can be found by accessing the menu for a specific environment. This report contains the same information that is sent via email notice when the process completes.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Click the <strong>3 dot menu icon<\/strong> to the right<\/li>\n\n\n\n<li>Select <strong>Open latest update<\/strong> to see the most recent process details, or select <strong>Open update history<\/strong> to see a list of previous updates.<br><img loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"320\" class=\"wp-image-126743\" style=\"width: 700px;\" src=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/open-update-history.png\" alt=\"\" srcset=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/open-update-history.png 1808w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/open-update-history-300x137.png 300w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/open-update-history-1024x468.png 1024w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/open-update-history-768x351.png 768w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/open-update-history-1536x702.png 1536w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/open-update-history-1500x685.png 1500w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/li>\n<\/ol>\n\n\n\n<p>The status page will show if the updates failed or succeeded and if a rollback was necessary. The page also details which plugins were updated and to which version. This status page only shows the previous round of updates and is not cumulative.<\/p>\n\n\n\n<p>Click any section to expand and view more information.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">CSV Download<\/h3>\n\n\n\n<p>A comprehensive CSV can be downloaded from the <a href=\"https:\/\/my.wpengine.com\/products\/smart_plugin_manager\" target=\"_blank\" rel=\"noreferrer noopener\">SPM management page<\/a>, by clicking <strong>Download CSV<\/strong>. This file contains environments and plugin names, as well as plugin\/theme version, operation performed, and finally update date and time.<br><br><img loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"279\" class=\"wp-image-126839\" style=\"width: 700px;\" src=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/download-csv.png\" alt=\"\" srcset=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/download-csv.png 1871w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/download-csv-300x119.png 300w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/download-csv-1024x408.png 1024w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/download-csv-768x306.png 768w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/download-csv-1536x612.png 1536w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/download-csv-1500x597.png 1500w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/p>\n\n\n\n<p>This CSV can also be downloaded from the <a href=\"https:\/\/wpengine.com\/support\/sites-page\/#Needs_Updates\">Needs Updates<\/a> and <a href=\"https:\/\/wpengine.com\/support\/sites-page\/#Bulk_Updates_Page\">Bulk Updates<\/a> pages.<\/p>\n\n\n\n<a name=\"settings\"><\/a>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Smart Plugin Manager Settings<\/h2>\n\n\n\n<p>There are two ways to access the settings for Smart Plugin Manager in the User Portal. The method you use depends on if you wish to edit the settings for one environment at a time, or multiple.<\/p>\n\n\n\n<div style=\"color:#32373c;background-color:#00d1b2\" class=\"wp-block-genesis-blocks-gb-notice gb-font-size-18 gb-block-notice\" data-id=\"10de4b\"><div class=\"gb-notice-title\" style=\"color:#fff\"><p>NOTE<\/p><\/div><div class=\"gb-notice-text\" style=\"border-color:#00d1b2\">\n<p>Only <a href=\"https:\/\/wpengine.com\/support\/users\/#Owners_and_Full_Users\"><em>full<\/em> and <em>owner<\/em> level users<\/a> can adjust SPM settings.<\/p>\n<\/div><\/div>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Log into the <a href=\"https:\/\/my.wpengine.com\/\">User Portal<\/a><\/li>\n\n\n\n<li>Select <strong>Products<\/strong> from the left sidebar menu<\/li>\n\n\n\n<li>Click <strong><a href=\"https:\/\/my.wpengine.com\/products\/smart_plugin_manager\" target=\"_blank\" rel=\"noreferrer noopener\">Smart Plugin Manager<\/a><\/strong> under <strong>Your products<\/strong><\/li>\n\n\n\n<li><strong>Check off<\/strong> environment(s) from the list to modify settings\n<ul class=\"wp-block-list\">\n<li>Alternatively you can click a single environment name to manage 1 environment<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Click <strong>Bulk edit settings<\/strong><\/li>\n<\/ol>\n\n\n\n<p><img loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"218\" class=\"wp-image-126838\" style=\"width: 700px;\" src=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/bulk-edit-spm-settings-1.png\" alt=\"\" srcset=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/bulk-edit-spm-settings-1.png 1871w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/bulk-edit-spm-settings-1-300x94.png 300w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/bulk-edit-spm-settings-1-1024x320.png 1024w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/bulk-edit-spm-settings-1-768x240.png 768w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/bulk-edit-spm-settings-1-1536x479.png 1536w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/bulk-edit-spm-settings-1-1500x468.png 1500w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/p>\n\n\n\n<p>The available Smart Plugin Manager settings are as follows. Almost all settings can be updated for multiple environments in bulk.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"#Update_Schedule\">Update schedule<\/a><\/li>\n\n\n\n<li><a href=\"#Notification_Emails\">Notification emails<\/a><\/li>\n\n\n\n<li><a href=\"#Auto_Roll-back\">Auto rollback<\/a><\/li>\n\n\n\n<li><a href=\"#Maintenance_Mode\">Maintenance mode<\/a><\/li>\n\n\n\n<li><a href=\"#Managed_Plugins\">Managed plugins<\/a><\/li>\n\n\n\n<li><a href=\"#Hidden_Content\">Hidden content<\/a><\/li>\n\n\n\n<li><a href=\"#Managed_Themes\">Managed themes<\/a><\/li>\n\n\n\n<li><a href=\"#Sitemap_Override\">Sitemap override<\/a> *<\/li>\n\n\n\n<li><a href=\"https:\/\/wpengine.com\/support\/smart-plugin-manager\/#visual-regression-testing-sensitivity\">Visual regression testing sensitivity<\/a><\/li>\n\n\n\n<li><a href=\"#Release_License\">Release license<\/a><\/li>\n<\/ul>\n\n\n\n<p>* Only available when selecting a single environment.<\/p>\n\n\n\n<a name=\"time\"><\/a>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Update Schedule<\/h3>\n\n\n\n<p>Select a timeframe to begin the update process. It&#8217;s recommended to choose a low traffic period for your website. Scheduling can be set for individual environments or in bulk.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Update frequency<\/strong>: Choose to begin updates Daily, Weekly, or Monthly.<\/li>\n\n\n\n<li><strong>Days of the week<\/strong>: Select which days of the week updates may be performed.<\/li>\n\n\n\n<li><strong>Update window<\/strong>: Choose a 6 hour timeframe in which to start performing updates. Updates may not complete during this time frame, especially for larger sites. Times are in your local time, or can be toggled to reference UTC. <strong><em>Note: Choosing a time-slot that overlaps with the next day may cause updates to be run on unselected days.<\/em><\/strong><\/li>\n\n\n\n<li><strong>Review selected days<\/strong>: View a calendar of future updates based on your selected schedule.<\/li>\n<\/ol>\n\n\n\n<p><img loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"314\" class=\"wp-image-126827\" style=\"width: 700px;\" src=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/spm-settings.png\" alt=\"SPM date settings.\" srcset=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/spm-settings.png 2320w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/spm-settings-300x135.png 300w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/spm-settings-1024x460.png 1024w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/spm-settings-768x345.png 768w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/spm-settings-1536x690.png 1536w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/spm-settings-2048x920.png 2048w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/spm-settings-1500x674.png 1500w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/p>\n\n\n\n<div style=\"color:#32373c;background-color:#00d1b2\" class=\"wp-block-genesis-blocks-gb-notice gb-font-size-18 gb-block-notice\" data-id=\"10de4b\"><div class=\"gb-notice-title\" style=\"color:#fff\"><p>NOTE<\/p><\/div><div class=\"gb-notice-text\" style=\"border-color:#00d1b2\">\n<p>From time to time, SPM may have too many updates scheduled in a time slot, and some updates are skipped. If this happens then a site receives a higher priority during the next run to make sure it doesn\u2019t miss its schedule twice in a row.<\/p>\n<\/div><\/div>\n\n\n\n<a name=\"email\"><\/a>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Notification Emails<\/h3>\n\n\n\n<p>Enter email addresses, separated by commas, to receive notifications. Notifications can be sent for successful updates, or only if an update fails.<\/p>\n\n\n\n<a name=\"rollback\"><\/a><a name=\"Auto_Roll-back\"><\/a>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Auto Rollback<\/h3>\n\n\n\n<p>Smart Plugin Manager creates a backup using WP Engine&#8217;s <a href=\"https:\/\/wpengine.com\/support\/restore\/\">automated backup and restore system<\/a> prior to making any changes to the website. SPM will restore to this previous version (&#8220;roll-back&#8221;) if it determines using visual regression testing or error codes that the updated version may have altered the website.<\/p>\n\n\n\n<p>Choose whether or not the rollback process should be automatic by toggling.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Test Updates on Staging<\/h3>\n\n\n\n<p>This feature lets you choose a staging environment that will be the source of versions for plugin and theme updates.<\/p>\n\n\n\n<p>Prefer to watch a video?<\/p>\n\n\n\n<iframe style=\"aspect-ratio: 16 \/ 9;\n  width: 100%;\" src=\"https:\/\/www.youtube.com\/embed\/nlUsBEr1AvQ?si=Pvy3xLB49vI7KMs3&#038;rel=0\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<div class=\"video-feedback-callout\" style=\"width: 100%; margin: auto; max-width:450px; margin-top:15px;\"> \n<span style=\"float: left; padding-right:10px; padding-top:1px;\">\n<img decoding=\"async\" src=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2024\/09\/stars-rating.png\"\/>\n<\/span> \n<p style=\"color:#002447; font-size:14px; padding-right:6px; float:left; font-weight:400;\">Was this video helpful?<\/p> \n<div class=\"video-feedback-link copy_site\" id=\"copy_site\" style=\"display: flex; align-items: center; gap: .5rem; font-weight: 700; pointer-events: all; float:left;\">\n<span style=\"color:#006BD6; font-size: 14px; border-bottom: 3px solid #006BD6; text-decoration:none;\">Share Your Feedback<\/span> \n<svg width=\"24\" height=\"25\" viewBox=\"0 0 24 25\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M13.5491 5.93261C13.2357 5.66173 12.7621 5.69618 12.4912 6.00955C12.2203 6.32292 12.2548 6.79655 12.5681 7.06742L17.9854 11.75L4 11.75C3.58579 11.75 3.25 12.0858 3.25 12.5C3.25 12.9142 3.58579 13.25 4 13.25L17.9854 13.25L12.5681 17.9326C12.2548 18.2035 12.2203 18.6771 12.4912 18.9905C12.7621 19.3038 13.2357 19.3383 13.5491 19.0674L20.4904 13.0674C20.6552 12.925 20.7499 12.7179 20.7499 12.5C20.7499 12.2822 20.6552 12.0751 20.4904 11.9326L13.5491 5.93261Z\"\/><\/svg>\n<\/div>\n<\/div>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Before enabling this feature review the following notes:<\/p>\n\n\n\n<p><strong>SPM will update the environment (target) to the versions currently present on the selected staging (source) environment.<\/strong><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p><strong>SPM is not required to be active on the source environment.<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The source environment can be managed manually or with SPM.<\/li>\n\n\n\n<li>Even though it\u2019s not required, managing the staging environment with SPM ensures that non-working versions of plugins and themes are auto rolled back by SPM.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p><strong>Selecting a source environment does not automatically enable SPM on the source environment.<\/strong><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p><strong>There is no guarantee that an update that was successfully applied on the source environment will pass on the target environment, but the risk is much lower.<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>It is very important to keep both environments synchronized.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p><strong>Updates on the source environment do not automatically trigger SPM to run on the target environment.<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>SPM will run at its regularly scheduled times based on the settings for each environment.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p><strong>The source environment that you choose for testing must be identical to the current environment based on the following criteria:<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>The same <strong>plugins<\/strong> must be installed and active.<\/li>\n\n\n\n<li>The same <strong>themes<\/strong> must be installed and active.<\/li>\n\n\n\n<li>The environments must be on the same <strong>PHP<\/strong> versions (as shown in the <a href=\"https:\/\/wpengine.com\/support\/wp-engine-user-portal\/#Overview_Page\" target=\"_blank\" rel=\"noreferrer noopener\">Overview page<\/a> for an environment).<\/li>\n\n\n\n<li>The environments must be on the same <strong>WordPress<\/strong> major and minor versions. The first 2 numbers must match which are the major and minor versions as shown in the examples below:\n<ul class=\"wp-block-list\">\n<li>Matching example: source(6.6.1), target(6.6.2)<\/li>\n\n\n\n<li>Mismatched example: source(6.6.1), target(6.7.1)<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">Enable Test Updates on Staging<\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Go to the <a href=\"https:\/\/my.wpengine.com\/products\/smart_plugin_manager\" target=\"_blank\" rel=\"noreferrer noopener\">SPM product page<\/a> in the User Portal.<\/li>\n\n\n\n<li>Select an environment (Ideally this will be a production environment that you want to protect with this feature).<\/li>\n\n\n\n<li>Click <strong>Edit Settings<\/strong> in the top right.<\/li>\n\n\n\n<li>Scroll down to the <strong>Test updates on staging<\/strong> section.<br><img loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"340\" class=\"wp-image-126830\" style=\"width: 700px;\" src=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/test-updates-on-staging-1.png\" alt=\"\" srcset=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/test-updates-on-staging-1.png 1596w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/test-updates-on-staging-1-300x146.png 300w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/test-updates-on-staging-1-1024x498.png 1024w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/test-updates-on-staging-1-768x373.png 768w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/test-updates-on-staging-1-1536x747.png 1536w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/test-updates-on-staging-1-1500x729.png 1500w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/li>\n\n\n\n<li>Check the <strong>Enable testing updates<\/strong> checkbox.<\/li>\n\n\n\n<li>Click the environment select box under <strong>Source environment<\/strong> and select an environment to be used as the source for plugin and theme versions.<\/li>\n\n\n\n<li>Click the <strong>Save changes<\/strong> button in the top right.\n<ul class=\"wp-block-list\">\n<li>If the environments are not identical based on the above criteria, you will be shown a popup with a detailed list of the items that do not match between the two environments.<br><img loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"645\" class=\"wp-image-126422\" style=\"width: 500px;\" src=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/environments-do-not-match.png\" alt=\"Screenshot of a failure popup message when trying to enable Test updates on staging for SPM in the WP Engine User Portal \" srcset=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/environments-do-not-match.png 988w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/environments-do-not-match-233x300.png 233w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/environments-do-not-match-794x1024.png 794w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/environments-do-not-match-768x990.png 768w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<a name=\"maintenance\"><\/a>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Maintenance Mode<\/h3>\n\n\n\n<p>Turn maintenance mode on or off to protect against data loss or missed orders while Smart Plugin Manager is updating plugins.<\/p>\n\n\n\n<p>Site visitors will see a default \u201cUndergoing maintenance\u201d page, temporarily denying any traffic to the site.<\/p>\n\n\n\n<p>If you wish to customize this maintenance page copy the file <code>wp-content\/plugins\/autoupdater\/tmpl\/offline.tmpl.php<\/code> to <code>wp-content\/autoupdater\/tmpl\/offline.tmpl.php<\/code><br>and adjust the styling within it. It is not recommended to use any PHP code in this file.<\/p>\n\n\n\n<p>To ensure maintenance mode can enable and disable correctly, <a href=\"#Allowlist_Smart_Plugin_Manager\">Smart Plugin Manager IPs should be allowed<\/a> in any additional caching layers (Sucuri, WP Optimize plugin, NitroPack, Cloudflare, etc).<\/p>\n\n\n\n<a name=\"plugins\"><\/a>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Managed Plugins<\/h3>\n\n\n\n<p>Select which plugins Smart Plugin Manager should attempt to update or ignore. By default, Smart Plugin Manager will attempt to update all plugins. If you have selected multiple environments then all plugins will display, however only those plugins actually installed on an environment will be impacted by changing this setting.<\/p>\n\n\n\n<p>To edit the plugins list:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>On the <a href=\"#Smart_Plugin_Manager_Settings\">SPM settings page<\/a> for an environment click the edit button next to <strong>Plugins<\/strong> in the <strong>Plugins and themes managed<\/strong> section.<br><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"234\" class=\"wp-image-126846\" style=\"width: 600px;\" src=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/edit-plugins-list.png\" alt=\"\" srcset=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/edit-plugins-list.png 1783w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/edit-plugins-list-300x117.png 300w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/edit-plugins-list-1024x399.png 1024w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/edit-plugins-list-768x299.png 768w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/edit-plugins-list-1536x598.png 1536w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/edit-plugins-list-1500x584.png 1500w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/li>\n\n\n\n<li>Check the boxes next to all plugins that you want to be updated by SPM.<br><img loading=\"lazy\" decoding=\"async\" width=\"400\" height=\"482\" class=\"wp-image-126847\" style=\"width: 400px;\" src=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/select-plugins.png\" alt=\"\" srcset=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/select-plugins.png 1118w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/select-plugins-249x300.png 249w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/select-plugins-849x1024.png 849w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/select-plugins-768x926.png 768w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\" \/><\/li>\n\n\n\n<li>Scroll down within the popup and click the <strong>Save<\/strong> button to save your changes.<\/li>\n<\/ol>\n\n\n\n<a name=\"hiddencontent\"><\/a>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Hidden Content<\/h3>\n\n\n\n<p>Smart Plugin Manager uses visual regression testing to help determine if an update failed. Use this to hide content that may change regularly, such as ads, recent posts, or calendars.<\/p>\n\n\n\n<p>This field accepts CSS selectors separated using the <em>Enter<\/em> or <em>Return<\/em> key.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"441\" src=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/hidden-content-1-1024x441.png\" alt=\"\" class=\"wp-image-126832\" srcset=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/hidden-content-1-1024x441.png 1024w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/hidden-content-1-300x129.png 300w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/hidden-content-1-768x331.png 768w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/hidden-content-1-1536x661.png 1536w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/hidden-content-1-1500x646.png 1500w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/hidden-content-1.png 1580w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<a name=\"sitemap\"><\/a>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Managed Themes<\/h3>\n\n\n\n<p>Using the same processes and features as plugin updates, Smart Plugin Manager can also update themes. SPM can update themes that are publicly available on the WordPress repo, and cannot update any private themes or themes that require manual updates directly from a developer.<\/p>\n\n\n\n<p>When updating a theme all of its files are typically overwritten, therefore custom content should be placed in a <a href=\"https:\/\/wpengine.com\/resources\/create-child-theme-wordpress\/\">child theme<\/a>. This is a default function of WordPress and is important to keep in mind when activating SPM managed theme updates.<\/p>\n\n\n\n<p>Managed theme updates are disabled by default. To enable managed theme updates, simply click <strong>Activate<\/strong>, then <strong>select the themes<\/strong> that should be managed from the list.<br><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"234\" class=\"wp-image-126844\" style=\"width: 600px;\" src=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/activate-theme-updates.png\" alt=\"\" srcset=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/activate-theme-updates.png 1783w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/activate-theme-updates-300x117.png 300w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/activate-theme-updates-1024x399.png 1024w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/activate-theme-updates-768x299.png 768w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/activate-theme-updates-1536x598.png 1536w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/activate-theme-updates-1500x584.png 1500w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/p>\n\n\n\n<p>To edit the themes that are managed:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>On the <a href=\"#Smart_Plugin_Manager_Settings\">SPM settings page<\/a> for an environment click the edit button next to <strong>Themes<\/strong> in the <strong>Plugins and themes managed<\/strong> section.<br><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"231\" class=\"wp-image-126848\" style=\"width: 600px;\" src=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/edit-themes.png\" alt=\"\" srcset=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/edit-themes.png 1675w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/edit-themes-300x116.png 300w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/edit-themes-1024x395.png 1024w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/edit-themes-768x296.png 768w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/edit-themes-1536x592.png 1536w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/edit-themes-1500x579.png 1500w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/li>\n\n\n\n<li>Check the boxes next to all themes that you want to be updated by SPM.<br><img loading=\"lazy\" decoding=\"async\" width=\"400\" height=\"482\" class=\"wp-image-126849\" style=\"width: 400px;\" src=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/select-themes.png\" alt=\"\" srcset=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/select-themes.png 1118w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/select-themes-249x300.png 249w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/select-themes-849x1024.png 849w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/select-themes-768x926.png 768w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\" \/><\/li>\n\n\n\n<li>Scroll down within the popup and click the <strong>Save<\/strong> button to save your changes.<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Plugins and Themes Page<\/h2>\n\n\n\n<p>As an alternative to managing plugins and themes that are updated by SPM in bulk from the SPM settings page, you can update them for an individual environment from the environment&#8217;s <strong>Plugins and themes<\/strong> page.<\/p>\n\n\n\n<p>To access the <strong>Plugins and themes<\/strong> page:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Select the site from the <a href=\"https:\/\/my.wpengine.com\/sites\" target=\"_blank\" rel=\"noreferrer noopener\">Sites page<\/a> to go to the environment&#8217;s <a href=\"https:\/\/wpengine.com\/support\/wp-engine-user-portal\/#Overview_Page\" target=\"_blank\" rel=\"noreferrer noopener\">overview page<\/a>.<\/li>\n\n\n\n<li>Expand the <strong>Manage<\/strong> menu from the secondary lefthand menu and click on <strong>Plugins and themes<\/strong>.<br><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"331\" class=\"wp-image-126851\" style=\"width: 600px;\" src=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/access-plugins-and-themes-page.png\" alt=\"\" srcset=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/access-plugins-and-themes-page.png 1626w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/access-plugins-and-themes-page-300x165.png 300w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/access-plugins-and-themes-page-1024x564.png 1024w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/access-plugins-and-themes-page-768x423.png 768w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/access-plugins-and-themes-page-1536x846.png 1536w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/access-plugins-and-themes-page-1500x827.png 1500w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/li>\n<\/ol>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Smart Plugin Manager Overview<\/h3>\n\n\n\n<p>The Smart Plugin Manager section in the <strong>Plugins and themes<\/strong> page for an environment will show the status of your last SPM run, the next scheduled run time, and quick links to view history, settings, and latest run reports.<br><img loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"295\" class=\"wp-image-126852\" style=\"width: 700px;\" src=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/run-status.png\" alt=\"\" srcset=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/run-status.png 1820w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/run-status-300x126.png 300w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/run-status-1024x431.png 1024w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/run-status-768x323.png 768w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/run-status-1536x646.png 1536w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/run-status-1500x631.png 1500w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Plugins Tab<\/h3>\n\n\n\n<p>The plugins tab for an environment gives you options to manage a site&#8217;s plugins in bulk. For SPM, the applicable option in this table is to include or exclude plugins from being updated by SPM.<\/p>\n\n\n\n<p>To access the plugins page, scroll down on the <strong>Plugins and themes<\/strong> page and select the <strong>Plugins<\/strong> tab.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"755\" src=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/plugins-tab-1024x755.png\" alt=\"\" class=\"wp-image-126853\" srcset=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/plugins-tab-1024x755.png 1024w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/plugins-tab-300x221.png 300w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/plugins-tab-768x566.png 768w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/plugins-tab-1536x1132.png 1536w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/plugins-tab-1500x1106.png 1500w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/plugins-tab.png 1666w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>To manage plugins that are updated by SPM, first take note of the current status for each plugin in the <strong>SPM<\/strong> column as shown below. The status will either be <strong>Managed<\/strong> or <strong>Excluded<\/strong>.<br><img loading=\"lazy\" decoding=\"async\" width=\"400\" height=\"361\" class=\"wp-image-126854\" style=\"width: 400px;\" src=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/excluded-managed.png\" alt=\"\" srcset=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/excluded-managed.png 1639w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/excluded-managed-300x271.png 300w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/excluded-managed-1024x925.png 1024w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/excluded-managed-768x693.png 768w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/excluded-managed-1536x1387.png 1536w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/excluded-managed-1500x1354.png 1500w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\" \/><\/p>\n\n\n\n<p>When checking boxes next to plugins, only check <strong>Excluded<\/strong> or <strong>Managed<\/strong> statuses at the same time and not a mix of both. As shown in the 2 screenshots below, you&#8217;ll see the button change to <strong>Manage by SPM<\/strong> when you select boxes with an <strong>Excluded<\/strong> status, and the button will change to <strong>Exclude from SPM<\/strong> when you select boxes with a <strong>Managed<\/strong> status.<br><img loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"312\" class=\"wp-image-126855\" style=\"width: 700px;\" src=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/include-or-exclude.png\" alt=\"\" srcset=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/include-or-exclude.png 1749w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/include-or-exclude-300x134.png 300w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/include-or-exclude-1024x457.png 1024w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/include-or-exclude-768x343.png 768w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/include-or-exclude-1536x685.png 1536w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/include-or-exclude-1500x669.png 1500w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Themes Tab<\/h3>\n\n\n\n<p>The themes tab for an environment gives you options to manage a site&#8217;s themes in bulk. For SPM, the applicable option in this table is to include or exclude themes from being updated by SPM.<\/p>\n\n\n\n<p>To access the themes page, scroll down on the <strong>Plugins and themes<\/strong> page and select the <strong>Themes<\/strong> tab.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"809\" src=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/themes-tab-1024x809.png\" alt=\"\" class=\"wp-image-126856\" srcset=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/themes-tab-1024x809.png 1024w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/themes-tab-300x237.png 300w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/themes-tab-768x607.png 768w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/themes-tab-1536x1214.png 1536w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/themes-tab-1500x1185.png 1500w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/themes-tab.png 1648w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>To manage themes that are updated by SPM, first take note of the current status for each theme in the <strong>SPM<\/strong> column as shown below. The status will either be <strong>Managed<\/strong> or <strong>Excluded<\/strong>.<br><img loading=\"lazy\" decoding=\"async\" width=\"400\" height=\"353\" class=\"wp-image-126857\" style=\"width: 400px;\" src=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/excluded-or-managed-or-themes.png\" alt=\"\" srcset=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/excluded-or-managed-or-themes.png 1650w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/excluded-or-managed-or-themes-300x265.png 300w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/excluded-or-managed-or-themes-1024x905.png 1024w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/excluded-or-managed-or-themes-768x679.png 768w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/excluded-or-managed-or-themes-1536x1357.png 1536w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/excluded-or-managed-or-themes-1500x1325.png 1500w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\" \/><\/p>\n\n\n\n<p>When checking boxes next to themes, only check <strong>Excluded<\/strong> or <strong>Managed<\/strong> statuses at the same time and not a mix of both. As shown in the 2 screenshots below, you&#8217;ll see the button change to <strong>Manage by SPM<\/strong> when you select boxes with an <strong>Excluded<\/strong> status, and the button will change to <strong>Exclude from SPM<\/strong> when you select boxes with a <strong>Managed<\/strong> status.<br><img loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"305\" class=\"wp-image-126858\" style=\"width: 700px;\" src=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/exclude-or-manage-themes.png\" alt=\"\" srcset=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/exclude-or-manage-themes.png 1746w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/exclude-or-manage-themes-300x131.png 300w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/exclude-or-manage-themes-1024x447.png 1024w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/exclude-or-manage-themes-768x335.png 768w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/exclude-or-manage-themes-1536x670.png 1536w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/exclude-or-manage-themes-1500x655.png 1500w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/p>\n\n\n\n<a name=\"disable\"><\/a><a name=\"Release_License\"><\/a>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Release SPM License<\/strong><\/h2>\n\n\n\n<p>Releasing an SPM license will disable Smart Plugin Manager on the selected environments. The Smart Plugin Manager plugin will be removed automatically and a license will be freed up for use on another environment. This process may take a few minutes to complete.<\/p>\n\n\n\n<p>You can release a <em>single<\/em> environment&#8217;s license by selecting the option from the <strong>three dot menu<\/strong>:<br><img loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"320\" class=\"wp-image-126745\" style=\"width: 700px;\" src=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/release-license.png\" alt=\"\" srcset=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/release-license.png 1808w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/release-license-300x137.png 300w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/release-license-1024x468.png 1024w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/release-license-768x351.png 768w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/release-license-1536x702.png 1536w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/release-license-1500x685.png 1500w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/p>\n\n\n\n<p>Or, you can release <em>multiple<\/em> licenses by checking each of the environments and clicking <strong>Bulk edit settings<\/strong>. From the settings page scroll down and select <strong>Release Licenses<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Pause SPM Updates<\/h3>\n\n\n\n<p>If you&#8217;d like to simply pause updates, without removing Smart Plugin Manager or the SPM plugin you can choose to pause updates. Updates will remain paused until enabled again.<br><img loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"320\" class=\"wp-image-126746\" style=\"width: 700px;\" src=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/pause-updates.png\" alt=\"\" srcset=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/pause-updates.png 1808w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/pause-updates-300x137.png 300w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/pause-updates-1024x468.png 1024w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/pause-updates-768x351.png 768w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/pause-updates-1536x702.png 1536w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/06\/pause-updates-1500x685.png 1500w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Limitations<\/h2>\n\n\n\n<p>Smart Plugin Manager requires the ability to access and update files. For this reason there are several limitations:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Sites behind a reverse proxy or other configurations<\/strong> &#8211; By default, the WordPress site URL must match one of the domains in User Portal. In some cases like reverse proxy, this might not be viable. In order to work around this, please add a <a href=\"https:\/\/wpengine.com\/support\/web-rules-engine\/#Header_Rule_Examples\" target=\"_blank\" rel=\"noreferrer noopener\">custom header<\/a> of: <code>X-WPE-Forwarded-Host<\/code> with a value pointing to the WP Engine site environment&#8217;s domain (i.e. <code>yoursite.wpenginepowered.com<\/code>). This will bypass the domain verification and use the aforementioned value from the header instead.<\/li>\n\n\n\n<li>From time to time, SPM may have too many updates scheduled in a time slot, and some updates are skipped. If this happens then a site receives a higher priority during the next run to make sure it doesn\u2019t miss its schedule twice in a row.<\/li>\n\n\n\n<li>Smart Plugin Manager can only update WordPress sites <strong>on the WP Engine platform<\/strong>.<\/li>\n\n\n\n<li><strong><a href=\"https:\/\/wpengine.com\/support\/transfer-wp-engine-environment\/\">Transferable<\/a> installs<\/strong> cannot be updated, as we consider these non-billable.<\/li>\n\n\n\n<li>Websites that are <strong>password-protected<\/strong> (<a href=\"https:\/\/wpengine.com\/support\/password-protecting-wp-engine-site\/\">HTTP Basic Authentication<\/a>) can be updated <em>only<\/em> if it was set up in the WP Engine User Portal and <em>not<\/em> by a 3rd party solution.<\/li>\n\n\n\n<li><strong>Read-only<\/strong> websites cannot be updated.<\/li>\n\n\n\n<li>Smart Plugin Manager may need to be added to the allowlist of any <strong>security services<\/strong> to ensure it does not get blocked. <a href=\"#Allowlist_Smart_Plugin_Manager\">Read more here<\/a>.<\/li>\n\n\n\n<li>Additional <strong>caching layers<\/strong> may need to allow Smart Plugin Manager to help prevent display issues. <a href=\"#Caching_Services\">Read more here<\/a>.<\/li>\n\n\n\n<li>Sites using <strong>2FA<\/strong> will need to add the SPM IPs to the allowlist. <a href=\"#Two-Factor_Authentication_2FA\">Read more here<\/a>.<\/li>\n\n\n\n<li>Websites utilizing a <strong>WAF<\/strong> will need to allow Smart Plugin manager by configuring certain settings within their firewall. <a href=\"#Web_Application_Firewall_WAF\">Read more here<\/a>.<\/li>\n<\/ul>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<a name=\"ips\"><\/a>\n\n\n\n<h3 class=\"wp-block-heading\">Allowlist Smart Plugin Manager<\/h3>\n\n\n\n<p>Additional security layers, such as 2FA and WAF, will require Smart Plugin Manager be whitelisted in that service. The SPM IPs that must be allowed are:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>35.186.183.60<\/li>\n\n\n\n<li>35.221.41.251<\/li>\n\n\n\n<li>35.236.216.128<\/li>\n\n\n\n<li>35.245.159.253<\/li>\n\n\n\n<li>35.245.210.234<\/li>\n\n\n\n<li>35.245.251.214<\/li>\n\n\n\n<li>35.245.50.252<\/li>\n<\/ul>\n\n\n\n<a name=\"CleanTalk\"><\/a>\n\n\n\n<p><strong>CleanTalk<\/strong><\/p>\n\n\n\n<p>If your website is using the plugin CleanTalk our automated tooling will be blocked by default. To get our plugin update software working, we&#8217;ll need you to go into your firewall settings and allow the <a href=\"#ips\">Smart Plugin Manager IP addresses<\/a>.<\/p>\n\n\n\n<p>In addition to this, you&#8217;ll also need you to adjust the following settings through your site&#8217;s WP-Admin dashboard: Under the CleanTalk plugin -&gt; Advanced Settings, turn off the <em>Anti-Crawler<\/em> feature.  Next, adjust the <em>Anti-Flood<\/em> count to 20 pages (CleanTalk assumes our automated tooling is a bot because it opens 20 pages in under a minute to take before and after screenshots for our visual regression testing). Finally, turn Off the selection for <em>Check all posts data<\/em>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Caching Services<\/h3>\n\n\n\n<p>To ensure <a href=\"#Maintenance_Mode\">maintenance mode<\/a> can enable and disable correctly, Smart Plugin Manager should be allowed in any additional caching layers (Sucuri, WP Optimize plugin, NitroPack, Cloudflare, etc). More specific instructions are detailed below:<\/p>\n\n\n\n<a name=\"NitroPack\"><\/a>\n\n\n\n<p><strong>NitroPack<\/strong><\/p>\n\n\n\n<p>NitroPack is compatible with SPM as long as NitroPack is on version 1.5.8. If your website is utilizing the NitroPack optimization plugin on an earlier version you will need to exclude a Smart Plugin Manager cookie to prevent any interruption in our update services.<\/p>\n\n\n\n<p>Cookie name: <code>autoupdater<\/code><\/p>\n\n\n\n<p>Cookie value: 1<\/p>\n\n\n\n<p><a href=\"https:\/\/support.nitropack.io\/hc\/en-us\/articles\/1500002527202-Excluded-Cookies\" target=\"_blank\" rel=\"noreferrer noopener\">Learn how to exclude a cookie in NitroPack.<\/a><\/p>\n\n\n\n<a name=\"Sucuri\"><\/a>\n\n\n\n<p><strong>Sucuri<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Set \u201cCache Level\u201d option in Sucuri to \u201cSite caching\u201d. <a href=\"https:\/\/docs.sucuri.net\/website-firewall\/performance\/caching-options\/\" target=\"_blank\" rel=\"noreferrer noopener\">Learn more from Sucuri here<\/a>.<\/li>\n\n\n\n<li>Add <a href=\"#ips\">SPM IP addresses<\/a> to the allowed list under the Whitelist IP Addresses section in the Sucuri dashboard.  <a href=\"https:\/\/docs.sucuri.net\/website-firewall\/whitelist-and-blacklist\/whitelist-an-ip-address\/\" target=\"_blank\" rel=\"noreferrer noopener\">Learn more from Sucuri here<\/a>.<\/li>\n<\/ul>\n\n\n\n<a name=\"Cloudflare\"><\/a>\n\n\n\n<p><strong>Cloudflare<\/strong><\/p>\n\n\n\n<p>Ensure the SPM <a href=\"#ips\">IP addresses<\/a> are whitelisted in Cloudflare. <a href=\"https:\/\/support.cloudflare.com\/hc\/en-us\/articles\/217074967-Configuring-IP-Access-Rules\" target=\"_blank\" rel=\"noreferrer noopener\">Learn more on Cloudflare here<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Two-Factor Authentication (2FA)<\/h3>\n\n\n\n<p>If your website is utilizing a two-factor authentication plugin or service (2FA) then you must add the <a href=\"#ips\">SPM IP addresses<\/a> to the allowed list to ensure SPM can access the WP-Admin.<\/p>\n\n\n\n<p>If you use Duo for WordPress, then configure&nbsp;Authorized Networks &gt; Allow access without 2FA from these networks. <a href=\"https:\/\/duo.com\/docs\/policy#authorized-networks\">Read the full documentation on Duo<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Web Application Firewall (WAF)<\/h3>\n\n\n\n<p>If requests to a website from SPM could be denied by a WAF (web application firewall), you may need to add SPM requests to the allowed list. Those requests will contain the header named&nbsp;<code>autoupdater<\/code> and come from a <a href=\"#ips\">static set of IP addresses<\/a>.<\/p>\n\n\n\n<a name=\"Stackpath_WAF\"><\/a>\n\n\n\n<p><strong>Stackpath WAF<\/strong><\/p>\n\n\n\n<p>Create a custom WAF rule with the WAF rule editor:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Under <strong>Rule Type<\/strong>, select <strong>WAF<\/strong>.<\/li>\n\n\n\n<li>Next to <strong>IF<\/strong>, select a rule type <strong>Header<\/strong>.<\/li>\n\n\n\n<li>In the next drop-down menu select<strong>&nbsp;&#8212;<\/strong> to apply the rule only to the specified header.<\/li>\n\n\n\n<li>In the field, enter the <strong>header key<\/strong> <code>autoupdater<\/code><\/li>\n\n\n\n<li>In the next drop-down menu select <strong>Contains<\/strong>.<\/li>\n\n\n\n<li>In the field, enter the <strong>header value<\/strong> <code>.<\/code> (dot).<\/li>\n<\/ul>\n\n\n\n<p><a href=\"https:\/\/support.stackpath.com\/hc\/en-us\/articles\/360001082443-WAF-Rules-Explained\" target=\"_blank\" rel=\"noreferrer noopener\">Learn more about Stackpath WAF rules.<\/a><\/p>\n\n\n\n<a name=\"Cloudflare_WAF\"><\/a>\n\n\n\n<p><strong>Cloudflare WAF<\/strong><\/p>\n\n\n\n<p>Add a rule to allow access by header name:<\/p>\n\n\n\n<p><code>any(http.request.headers.names[*] == \"autoupdater\")<\/code><\/p>\n\n\n\n<p>Alternatively, add a rule to allow access by URI:<\/p>\n\n\n\n<p><code>any(http.request.uri.args[\"autoupdater\"][*] == \"api\") or any(http.request.uri.args.names[*] == \"autoupdater_nonce\")<\/code><\/p>\n\n\n\n<p><a href=\"https:\/\/developers.cloudflare.com\/firewall\/cf-firewall-language\/\" target=\"_blank\" rel=\"noreferrer noopener\">Learn more about Cloudflare WAF rules<\/a>.<\/p>\n\n\n\n<a name=\"Wordfence_WAF\"><\/a>\n\n\n\n<p><strong>Wordfence WAF<\/strong><\/p>\n\n\n\n<p>In your WP-Admin panel go to&nbsp;<strong>Wordfence &gt; Firewall<\/strong>&nbsp;and click&nbsp;<em>&#8220;All Firewall Options&#8221;<\/em>.<\/p>\n\n\n\n<p>Next, expand&nbsp;<em>&#8220;Advanced Firewall Options&#8221;<\/em>&nbsp;and enter&nbsp;<a href=\"#ips\">SPM&#8217;s IP addresses<\/a>&nbsp;into the&nbsp;<em>&#8220;Allowlisted IP addresses that bypass all rules&#8221;<\/em>.<\/p>\n\n\n\n<p>Be sure to save changes!<\/p>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">SPM Errors<\/h2>\n\n\n\n<p>Some error messages from SPM are self explanatory. Others may be a little more complex and require adjustments to be made by you or your website team. Below are some examples of error messages from SPM. If you are unsure of an error message that you\u2019ve received, you can contact our <a href=\"https:\/\/my.wpengine.com\/support\" target=\"_blank\" rel=\"noreferrer noopener\">support team<\/a> for help to understand the error.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong>Error: Basic authentication usage. Your website uses HTTP Basic Authentication.<\/strong><br>This error is thrown if you have password protection on for your pages. SPM can not scan your pages for visual changes if password protection is on. If you turn off the password protection then you should not see this error the next time that SPM runs. One example of the password protection that could be on is our <a href=\"https:\/\/wpengine.com\/support\/password-protecting-wp-engine-site\/\" target=\"_blank\" rel=\"noreferrer noopener\">password protection<\/a> setting in the User Portal.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong>Error: Failed to copy files. We could not copy the downloaded update file or the unpacked files. Please check write permissions on your site.<\/strong><br>If the file permissions have somehow been altered for your website files, you can use the <a href=\"https:\/\/wpengine.com\/support\/file-permissions\/#Reset_File_Permissions\" target=\"_blank\" rel=\"noreferrer noopener\">reset file permissions<\/a> option to reset them back to WP Engine\u2019s required permissions.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong>Error: Failed to create a backup.<\/strong><br>If you receive this message then there is potentially some alteration to your website that is interfering with our system\u2019s ability to create a backup. You can view the <a href=\"https:\/\/wpengine.com\/support\/restore\/#Backup_Errors\" target=\"_blank\" rel=\"noreferrer noopener\">Backup errors<\/a> section of our backups article to see potential database additions that could be interfering. Having a very large website can also cause issues with creating backups. If your file storage is more than 100GB or your database is larger than 10GB for the website, consider reducing the size of large files, or removing any unnecessary files or data to reduce the amount of total data that needs to be backed up each time. If you are unable to determine the cause you may have to contact your website development team or our <a href=\"https:\/\/my.wpengine.com\/support\" target=\"_blank\" rel=\"noreferrer noopener\">support team<\/a> to try to get more insight into the error.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong>Error: Failed to download the update. Please check that you have a valid license attached to your website.<\/strong><br>Premium plugins often have a license key that you must input into the plugin settings. If you see this error then you have likely not input your license key. You should be able to either log into your account on the plugin author\u2019s website or reach out to their support channels to retrieve your license key. They will often email you the key so you can also check your old emails. Then you can input the license key into the settings for the plugin in the WordPress dashboard. After inputting the key, SPM should be able to download the newer version of the paid plugin on its next run, but remember that SPM does not guarantee support for premium plugins.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong>Error: Redirect loop. SPM is stuck in an infinite redirect loop on your website.<\/strong><br>If you see this error, review your <a href=\"https:\/\/wpengine.com\/support\/web-rules-engine\/#Rewrite_Rules\" target=\"_blank\" rel=\"noreferrer noopener\">rewrite rules<\/a> or <a href=\"https:\/\/wpengine.com\/support\/redirect\/\" target=\"_blank\" rel=\"noreferrer noopener\">redirect rules<\/a> in the User Portal and see if there are any rules that might be causing URLs to redirect to each other. You may also need to check redirect rules in your WordPress dashboard if you are using a redirect plugin. Review the main pages of the website visually as well to make sure they\u2019re publicly available. If you are unable to find or fix a redirect error, you can contact our <a href=\"https:\/\/my.wpengine.com\/support\" target=\"_blank\" rel=\"noreferrer noopener\">support team<\/a> for assistance to investigate the redirect loop.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<p><strong>NEXT STEP: <a href=\"https:\/\/wpengine.com\/support\/php-guide\/\">Learn how to upgrade your PHP version<\/a><\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Smart Plugin Manager keeps your site secure by keeping plugins up-to-date. Learn about Smart Plugin manager, how to enable it and how change the settings.<\/p>\n","protected":false},"featured_media":126216,"template":"","support-categories":[14,16,21,13],"support-tag":[65],"class_list":["post-87036","support","type-support","status-publish","has-post-thumbnail","hentry","support-categories-account","support-categories-security-3","support-categories-setup","support-categories-wordpress-help","support-tag-plugins"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Smart Plugin Manager (SPM) - Support Center<\/title>\n<meta name=\"description\" content=\"Learn about WP Engine&#039;s Smart Plugin Manager and get answers to your most frequently asked questions regarding the product.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/wpengine.com\/support\/smart-plugin-manager\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Smart Plugin Manager (SPM) - Support Center\" \/>\n<meta property=\"og:description\" content=\"Learn about WP Engine&#039;s Smart Plugin Manager and get answers to your most frequently asked questions regarding the product.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wpengine.com\/support\/smart-plugin-manager\/\" \/>\n<meta property=\"og:site_name\" content=\"Support Center\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-08T13:45:44+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/12\/wp-engine-featured-image.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"35 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/wpengine.com\/support\/smart-plugin-manager\/\",\"url\":\"https:\/\/wpengine.com\/support\/smart-plugin-manager\/\",\"name\":\"Smart Plugin Manager (SPM) - Support Center\",\"isPartOf\":{\"@id\":\"https:\/\/wpengine.com\/support\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/wpengine.com\/support\/smart-plugin-manager\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/wpengine.com\/support\/smart-plugin-manager\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/12\/wp-engine-featured-image.png\",\"datePublished\":\"2019-06-20T15:39:46+00:00\",\"dateModified\":\"2025-10-08T13:45:44+00:00\",\"description\":\"Learn about WP Engine's Smart Plugin Manager and get answers to your most frequently asked questions regarding the product.\",\"breadcrumb\":{\"@id\":\"https:\/\/wpengine.com\/support\/smart-plugin-manager\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/wpengine.com\/support\/smart-plugin-manager\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/wpengine.com\/support\/smart-plugin-manager\/#primaryimage\",\"url\":\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/12\/wp-engine-featured-image.png\",\"contentUrl\":\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/12\/wp-engine-featured-image.png\",\"width\":1200,\"height\":630,\"caption\":\"WP Engine\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/wpengine.com\/support\/smart-plugin-manager\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/wpengine.com\/support\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Support Posts\",\"item\":\"https:\/\/wpengine.com\/support\/support\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Smart Plugin Manager (SPM)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/wpengine.com\/support\/#website\",\"url\":\"https:\/\/wpengine.com\/support\/\",\"name\":\"Support Center\",\"description\":\"WP Engine&#039;s Support Center\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/wpengine.com\/support\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Smart Plugin Manager (SPM) - Support Center","description":"Learn about WP Engine's Smart Plugin Manager and get answers to your most frequently asked questions regarding the product.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/wpengine.com\/support\/smart-plugin-manager\/","og_locale":"en_US","og_type":"article","og_title":"Smart Plugin Manager (SPM) - Support Center","og_description":"Learn about WP Engine's Smart Plugin Manager and get answers to your most frequently asked questions regarding the product.","og_url":"https:\/\/wpengine.com\/support\/smart-plugin-manager\/","og_site_name":"Support Center","article_modified_time":"2025-10-08T13:45:44+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/12\/wp-engine-featured-image.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"35 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/wpengine.com\/support\/smart-plugin-manager\/","url":"https:\/\/wpengine.com\/support\/smart-plugin-manager\/","name":"Smart Plugin Manager (SPM) - Support Center","isPartOf":{"@id":"https:\/\/wpengine.com\/support\/#website"},"primaryImageOfPage":{"@id":"https:\/\/wpengine.com\/support\/smart-plugin-manager\/#primaryimage"},"image":{"@id":"https:\/\/wpengine.com\/support\/smart-plugin-manager\/#primaryimage"},"thumbnailUrl":"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/12\/wp-engine-featured-image.png","datePublished":"2019-06-20T15:39:46+00:00","dateModified":"2025-10-08T13:45:44+00:00","description":"Learn about WP Engine's Smart Plugin Manager and get answers to your most frequently asked questions regarding the product.","breadcrumb":{"@id":"https:\/\/wpengine.com\/support\/smart-plugin-manager\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wpengine.com\/support\/smart-plugin-manager\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/wpengine.com\/support\/smart-plugin-manager\/#primaryimage","url":"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/12\/wp-engine-featured-image.png","contentUrl":"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/12\/wp-engine-featured-image.png","width":1200,"height":630,"caption":"WP Engine"},{"@type":"BreadcrumbList","@id":"https:\/\/wpengine.com\/support\/smart-plugin-manager\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/wpengine.com\/support\/"},{"@type":"ListItem","position":2,"name":"Support Posts","item":"https:\/\/wpengine.com\/support\/support\/"},{"@type":"ListItem","position":3,"name":"Smart Plugin Manager (SPM)"}]},{"@type":"WebSite","@id":"https:\/\/wpengine.com\/support\/#website","url":"https:\/\/wpengine.com\/support\/","name":"Support Center","description":"WP Engine&#039;s Support Center","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/wpengine.com\/support\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/wpengine.com\/support\/wp-json\/wp\/v2\/support\/87036","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wpengine.com\/support\/wp-json\/wp\/v2\/support"}],"about":[{"href":"https:\/\/wpengine.com\/support\/wp-json\/wp\/v2\/types\/support"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wpengine.com\/support\/wp-json\/wp\/v2\/media\/126216"}],"wp:attachment":[{"href":"https:\/\/wpengine.com\/support\/wp-json\/wp\/v2\/media?parent=87036"}],"wp:term":[{"taxonomy":"support-categories","embeddable":true,"href":"https:\/\/wpengine.com\/support\/wp-json\/wp\/v2\/support-categories?post=87036"},{"taxonomy":"support-tag","embeddable":true,"href":"https:\/\/wpengine.com\/support\/wp-json\/wp\/v2\/support-tag?post=87036"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}