The Tools usage guide is a detailed look at the features and configuration options located in the WPMU DEV Hosting Tools tab, which include:
- Password Protection
- Web Application Firewall (WAF)
- PHP Version
- Database Manager
- File Manager
- Object Cache
- Static Server cache
- Migrate Existing Site
- Bruteforce Attack Protection
- Reset WP
Use the index on the left to locate usage guidance for a specific feature quickly.
If you have not set up a WPMU DEV hosting account, visit hosting to explore the features, pricing, and get a free trial.
Access your Hosting Tools from the Hosting tab by clicking the site you wish to manage.
Then, click the Tools tab.
6.1 Password ProtectionCopy chapter anchor to clipboard
You have the option of enabling ‘Password Protection’ on any site. Unlike your WordPress credentials, which control access to a site’s admin areas, Password Protection controls access to an entire site, meaning only those who know the password can work on or view a site. It even hides a site from search engines.
This is useful when developing a new site that you don’t want yet publicly available on the web. You can share the username and password with clients or colleagues, but unauthorized admin users and the general public will not have access.
Password Protection uses Basic HTTP Authentication and does not use any WordPress usernames or login details.
Users who attempt to access any part of your site will see a login modal similar to the one in the image below. Only by entering the correct credentials will the user be allowed to proceed.
Click On/Off in the Password Protection row to enable/disable the feature.
Then use the toggle in the modal to turn site protection on or off.
Once active, create a username and password you wish to apply to this site. A strong password will be generated, or you can add a custom password into the field. When activating or deactivating your password, click Save to save your changes.
6.2 Web Application Firewall (WAF)Copy chapter anchor to clipboard
Our Web Application Firewall (WAF) monitors the IP addresses and user agents attempting to access your site and filters out traffic that is known to be unsafe or that you have identified as unwanted.
The key distinction between our WAF and typical site security protocols is that a security plugin protects a site at the point of attack, whereas a WAF prevents unwanted traffic from ever reaching its intended target in the first place (learn more about how WAFs work).
Our WAF protects sites from attacks such as cross-site request forgeries, cross-site-scripting (XSS), file inclusions, and SQL injections.
When enabled, the WAF will intercept any files with filenames that contain single quote characters (e.g., file-‘name’.jpg), and will block them from being uploaded to prevent potential security exploits. More information about invalid special characters in WordPress can be found here.
Configuring your WAF
A WAF protects against vulnerabilities and filters out attacks and malicious traffic by requiring all traffic to pass a set of rules before it ever reaches your WordPress site. WPMU DEV has a custom set of WAF rules and allows you to add your own, as follows:
- IP Allowlist
- IP Blocklist
- User Agent Allowlist
- User Agent Blocklist
- URL Allowlist
- URL Blocklist
- Disable Rule IDs
Click On/Off in the Web Application Firewall row to enable/disable the feature.
Then click the toggle switch in the popup to access the configuration panel.
WPMU DEV maintains a set of rules that will identify and block known, unsafe traffic, but admins can allowlist or blocklist IP addresses and user agents as they see fit using this configuration panel.
The IP or Internet Protocol address is a unique number that is linked to all online activity for a given user. You can block or grant access to specific machines, locations or users with the IP Allowlist/Blocklist fields.
You can Allowlist or Blocklist an IP address by entering it into the fields provided or by entering an IP range in CIDR notation. This is done by specifying the number of bits used for the network portion of the address in the following format: start of IP address range/number of network bits. For example, entering the range from 192.168.100.0 to 192.168.103.255 should be written as 192.168.100.0/22 and 192.168.100.0 to 192.168.101.255 would be 192.168.100.0/23. More information on this can be found in this DigitalOcean article or on the Petri site.
Enter only one IP address or range per line, and click Save to save.
This makes it easy to block attacks quickly before they reach your server or allowlist your own IP or team member’s IP so they can bypass the WAF.
Note that if you need to add a range of IP addresses in either list, it must be added in CIDR Notation. For more info on that, see this Wikipedia article. And here’s a handy CIDR conversion tool to make your job a bit easier.
User Agent Allowlist/Blocklist
The user agent is the system information being used to access your site, including:
- The browser application name and version
- The host operating system and language
Often this information can be used to block a botnet that is originating from too many IPs to block but is using the same User Agent for its attack. You can view visitor User Agents in your access log.
Use the Allowlist field if you need to allow a good bot that doesn’t use specific IPs to bypass firewall rules. Remember, User Agents can easily be spoofed by bots, so allowlisting them should be done only when you can’t allowlist by IPs.
You can Allowlist or Blocklist a user agent by entering it into the fields provided. An example of a correctly formatted user agent to enter into the field is Mozilla/5.0 (Linux; Android 9; moto e(6s)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.92 Mobile Safari/537.36. Enter only one agent per line, and click Save to save.
In the unlikely event that any site URLs get blocked, possibly due to embedded content, you can add them to the URL Allowlist as relative URLs.
You can also explicitly block any relative URL by adding it to the URL Blocklist.
Disabled Rule Ids
You can also disable specific firewall rule IDs that appear in the WAF log under the Logs tab (see below).
Remember, when activating, deactivating or editing rules in the WAF, click the Save button to save your changes.
WAF Logs for a specific site can be found in Hosting under the Logs tab.
Logs can be used to see where attacks are coming from, what requests were blocked, what rules those requests triggered, and changes that can be made to minimize false alarms. For example, if you are performing a valid action on your site and get blocked, you can find information on why in the WAF log and perhaps allowlist the IP or disable a specific firewall rule ID. More information about the WAF Logs can be found under the Logs document.
6.2.1 Allowing Legitimate RequestsLink to chapter 2
Occasionally, legitimate requests from plugins may be blocked by the WAF, which can result in HTTP client errors when interacting with affected plugins. To prevent this, the relevant WAF rule(s) can be disabled in the WAF settings.
To disable a problematic WAF rule, you’ll first need to identify the Rule ID. To do so, navigate to the Logs tab in The Hub’s Hosting module, and click WAF Log.
Then, identify and make a note of the Rule ID in the most recent related log entry.
Next, navigate to the Tools tab in the The Hub’s Hosting module, and open the Web Application Firewall settings.
At the bottom of the settings window, enter the Rule ID identified earlier into the Disabled Rule Ids field, and click Save.
Repeat this process as needed for all WAF rules that are blocking legitimate requests from plugins, and then verify that the affected plugins work as expected.
While not always possible, it is more secure to whitelist relevant user agents, IP addresses, or URLs as a means to allow certain blocked requests than it is to disable WAF rule IDs. Even so, keep in mind that adding any exclusion has the potential to make the WAF less secure.
6.3 MultisiteCopy chapter anchor to clipboard
You can convert your site into a Multisite network by clicking the On/Off button in the Multisite row to open the configuration popup.
Once you’ve converted a site to a Multisite network, you cannot easily revert the site to a single site. So, before making the change, be sure converting to Multisite is the right move for your site.
If you are uncertain which Multisite installation– Subdirectory and Subdomain– is right for you, see our WordPress Multisite documentation for guidance.
Looking for help setting custom domain names for subsites on a Multisite network? Check out our domain mapping guide on the WPMU DEV blog.
When you’re ready, choose the Multisite installation you prefer and click Continue.
If you are absolutely certain you wish to continue, enter your WPMU DEV account password, check the Yes, convert my site to a Multisite box, and click Continue. The conversion begins immediately, and there is no way to stop it or easy way to revert the changes.
The time it takes to convert depends largely on the size of the site, but it could range from just a few seconds to several minutes. A success notification will appear in The Hub when the conversion is complete.
If you have chosen to go with a subdomain multisite, you will need to upload either a Wildcard SSL certificate or a certificate that covers all domains and subdomains that you plan to use. This will ensure that you can serve your domain over HTTPS, which we require. This is covered in detail in our Wildcard Certificates documentation.
It should be noted that wildcard certificates are not exclusively for subdomain multisites. You can also have a wildcard SSL certificate for a subdirectory multisite, meaning that you can map subdomains to subsites in it, making your multisitse seem as if it is subdomain-based rather than subdirectory-based. In this case, you could even have both subdirectory-based and subdomain-based subsites in the same multisite. See our Wildcard Certificates documentation for more information on this.
6.4 PHP VersionCopy chapter anchor to clipboard
It is our policy to only provide support for the latest supported PHP versions. This is both to make sure our sites are secure, and to provide you with the fastest most performant hosting service we can!
Currently we default all newly-created sites to the latest release of PHP 7.4. Occasionally, some third party plugins may be out of date and cause issues with the latest version of PHP. In that case you can look for updates, alternatives, or worst case, we do support downgrading your PHP version to older ones that still provide security patches.
If you want to test your site’s compatibility with the latest version of PHP before upgrading, we recommend changing the PHP version in your staging environment and testing the functionality there first.
To upgrade or downgrade your PHP version, click the current PHP version number.
A list of available supported PHP versions will be displayed in the modal. Choose the version you wish to install, and click Apply.
6.5 DatabaseCopy chapter anchor to clipboard
WPMU DEV gives you access to easily edit and manage your Database from the phpMyAdmin database manager.
Making changes to a site’s database can break the site. Take care when making changes. Contact support if you have questions. Detailed documentation for phpMyAdmin can be found on the phpMyAdmin site.
From the Tools tab, click the Manage Database link to open phpMyAdmin.
phpMyAdmin includes tools for managing and viewing databases:
- Status info
6.6 FilesCopy chapter anchor to clipboard
WPMU DEV also gives you access to easily edit and manage your website files using a file manager interface in case you don’t want to mess around with SFTP.
From the Tools tab, click the Manage Files link to open the File Manager in a new tab.
To help prevent inadvertent edits or deletions, core WordPress files are locked (read-only) and cannot be edited in the File Manager. If you absolutely do need to edit a core WP file, you will need to use an SFTP connection to do that.
The left panel allows you to navigate through files and logs from both the production server and the staging server.
The main toolbar at the top of the page offers features such as adding new folders and files, as well as uploading new documents.
If a tool is grayed out, it is unavailable for the selected location or document. To interact with folders and files without using the toolbar, right click on the location and a pop-up menu will appear. The pop-up menu includes features that are offered on the toolbar like open, download, and preview.
6.7 Object CacheCopy chapter anchor to clipboard
We leverage Object Cache at the database level, and this is enabled by default on all sites we host.
Object Cache improves performance by minimizing server load related to queries that are frequently called by WordPress, plugins, and themes. Because of this, you may need to clear Object Cache from your Hosting Hub after using a plugin that interacts directly with the database in ways outside of normal WordPress guidelines or if you make changes directly in your database using phpMyAdmin.
The object cache should only be flushed if absolutely necessary. It is usually not needed except after making direct database edits or during development. If you aren’t sure, contact support, and we’ll help you out.
To clear cache, click Clear in the Object Cache row.
A “Are you sure?” pop-up will verify you would like to clear your cache. Click Continue to flush object cache.
Note that the Object Cache is not enabled on staging sites.
6.8 Static Server CacheCopy chapter anchor to clipboard
This is page caching at the server level using FastCGI. Much faster than any PHP plugin, Static Server Cache greatly speeds up your site and allows for an average of 10 times more concurrent visitors.
Static Server Cache can be toggled On or Off by clicking the button to the right.
Then click the Continue button in the little modal that pops up to confirm the action.
When it’s enabled, simply click the Clear button if you need to clear the Static Server Cache, then click the Continue button in the modal to confirm. Note that this cache also clears itself automatically every hour.
Our Static Server Cache is fully integrated with our Hummingbird performance plugin, meaning that any action or process in Hummingbird that triggers the clearing of page cache will also clear the Static Server Cache.
So if you have Page Caching enabled in Hummingbird, and click a Clear Cache button in the plugin, Static Server Cache will clear as well. Or if you have options like “Clear cache on interval” or “Clear full cache when post/page is updated” enabled in Hummingbird, Static Server Cache will respect those settings too.
WooCommerce is supported by default, meaning that any dynamic process in Woo is not cached. So if a user adds items to their cart, etc, that would not be cached by the Static Server Cache, so no worries there.
What does it cache exactly?
The following should give you a good idea about what does and does not get cached when Static Server Cache is enabled.
- GET/HEAD requests are cached (that’s your content; meaning all your posts, pages, etc.).
- POST requests are skipped (for example, forms or any other frontend submission).
- Query strings are skipped.
- wp-admin, xmlrpc, wp-*.php, feed, index.php, sitemap URIs are skipped.
- Cache is skipped if these cookies are found: comment_author, wordpress_, wp-postpass, wordpress_no_cache, wordpress_logged_in, woocommerce_items_in_cart.
- Cache is skipped if these WooCommerce URIs are found: /store, /cart, /my-account, /checkout, /addons.
- The max size of any item is 1Gb.
How to see if it’s working
To check any page to see if it’s being cached by our Static Server Cache, pop open your browser’s developer tools, and click on the Network tab. Then reload your page.
Have a look at the Response Headers for the main document type of your page, and look for x-cache where you’ll see the following possible values.
- x-cache: BYPASS – Cache is bypassed for any reason (URL parameter, cookie, WooCommerce, logged in etc.).
- x-cache: MISS – It will be cached on next page load.
- x-cache: HIT – Cache is served.
Note that the Static Server Cache is not enabled on staging sites.
6.9 Reset wp-configCopy chapter anchor to clipboard
The wp-config.php file is located in the root of your WordPress file directory and contains your website’s base configuration details, such as database-connection information. If you migrated a site from another host, this information might need to be reset.
Click Reset in the WP-Config row.
Then click the Confirm Reset button to reset the wp-config.php file. This will reset the file back to the default state, and anything you may have added or changed in it will be lost.
Click the Close button to exit without resetting the file.
6.10 Migrate Existing SiteCopy chapter anchor to clipboard
- During migration, the source site overwrites everything on the destination site, including all content, plugins, themes and settings. Be sure this is what you want before proceeding.
- If you don’t have (S)FTP access to the site you want to migrate here, you should be able to create (S)FTP credentials in your current host’s control panel. Or you can try automated site migration with our Shipper plugin, instead.
To migrate a site to your WPMU DEV hosted site, click the Begin Migration link in the Migrate Existing Site row.
Then from the dropdown, choose the site you want to migrate.
If you don’t see the site you wish to migrate, Add it to your Hub first and refresh the list.
Click Next to continue.
On the next screen, enter the (S)FTP credentials for your site. You should be able to view or create (S)FTP credentials in your current host’s control panel, or you can try migrating with the Shipper plugin instead.
Once you’ve entered the information, click Start Migration to continue.
If you encounter any issues with migrating your site or using or configuring the Tools, Members have 24/7 support and site migration assistance.
6.11 Bruteforce Attack ProtectionCopy chapter anchor to clipboard
All sites hosted by WPMU DEV have measures enabled by default at the server level to help prevent bruteforce attacks. This is to help ensure your site’s server never goes down due to a bot attack on the most commonly targeted WordPress URIs: /wp-login.php & /xmlrpc.php
You can disable this protection if you wish, or keep it enabled and add specific IP addresses or ranges (in CIDR notation) to exempt them from this protection. Click the On link to the right of the feature to open the options modal.
For details about this feature, see the Bruteforce Attack Protection documentation.
6.12 New Relic MonitoringCopy chapter anchor to clipboard
This option enables you to easily integrate the performance monitoring features available from New Relic so you can view real-time data to help you when debugging issues on your site.
Begin by logging into your account at New Relic, or create a free account there now if you don’t already have one.
The only thing you need from your New Relic account for this integration is your License Key, which you’ll find here. If that link doesn’t work for you, click the API Keys option in your New Relic account profile menu to get to the correct page.
On the API Keys page in your New Relic account, click the three-dot icon at the far right of the License Key row you’ll see there, and select the Copy Key option to copy your key to your clipboard.
Now, back on the Tools screen of your site in your Hub, click the Off link next to New Relic Monitoring. That will pop open a modal window where you’ll be prompted to enter the License Key you just copied.
Then enter any name you like in the App Name field. This is the name for the app that will be automatically created in your New Relic account once you enable this integration.
Once both your License Key and App Name have been entered, enable the integration by clicking the Enable / Disable New Relic toggle at the top of the modal. Then click Save at the bottom.
To disable New Relic Monitoring for your site, simply click the Enable / Disable New Relic toggle again. Note that you do not need to enter your license key again after you’ve saved it here once.
This feature will have a slight impact on site performance while it is active. So it is recommended to only enable it when you are actively debugging issues on your site.
To view any site performance data recorded during any time period this monitoring feature was active, first go to the Home screen in your New Relic account by clicking the New Relic logo at the top left. Then click the APM link in the main menu, and click on the name of the app you entered earlier in your Hub.
You’ll find tons of useful data displayed that you can filter for any time or date range you need. You can even backtrack several months to view any data that was recorded during time periods this integration was active for your site.
Some of the most useful data can be found by clicking on the WordPress Hooks and WordPress Plugins and Themes options in the left-hand menu on that screen.
The data on those screens will help you glean valuable insight into the most sluggish processes, plugins & themes on your site.
There are way too many additional settings and configuration options at New Relic to get into here, but you’ll find they have useful and extensive documentation here that you can explore to familiarize yourself with how things work there.
Remember to disable New Relic Monitoring once you’re finished debugging things on your site.
6.13 Blackfire ProfilerCopy chapter anchor to clipboard
This option enables you to easily integrate the performance profiling features available from Blackfire and get valuable data to help you when debugging issues on your site.
You can sign up to Blackfire’s Premium plan with a 15-day free trial of all features. If you decide to remain a free user after the trial period, your account would be downgraded to what they call their Hack Edition. That free plan has limited features though, such as profiling only on local development environments, and only 1-day data retention. More info here.
Begin by logging into your account at Blackfire or create an account there now if you don’t already have one.
Once logged-in to your Blackfire account, you’ll be prompted to create an Organization under which your site profiles will be logged. This can be anything you like really, as long as it’s recognizable to you.
Once you’ve created your organization, click the User Credentials option in your Blackfire account profile menu at th bottom-left.
On the User Credentials page, scroll down to the bottom where you’ll see a section titled My Server Credentials. Copy both the Server ID and Server Token to your clipboard or a plain text file.
Now, back on the Tools screen of your site in your Hub, click the Off link next to Blackfire Profiling. That will pop open a modal window where you’ll be prompted to enter the Server ID and Server Token you just copied.
Once both your Server ID and Server Token have been entered, enable the integration by clicking the Enable / Disable Blackfire toggle at the top of the modal. Then click Save at the bottom.
To disable Blackfire Profiling for your site, simply click the Enable / Disable New Blackfire toggle again. Note that you do not need to enter your server ID and token again after you’ve saved it here once.
This feature may have a slight impact on site performance while it is active. So it is recommended to only enable it when you are actively debugging issues on your site.
Now that Blackfire is enabled for your site, you need to install one of their browser extensions so the profiler can run. Select the extension you want according to the browser you’re using:
Once you have the extension installed in your preferred browser, click the Blackfire icon in your browser toolbar to launch the profiler. Then click the big red Profile! button.
The tool will pop open as a bar pinned to the top of your browser, and begin running a profile of your site. You can give the profile a distinct Name while it’s running, or after it has completed, so you can find it easily in your Blackfire dashboard afterwards.
Once the profiler has finished, that top bar will populate with a summary overview of several useful metrics to help you diagnose possible issues with your site.
Click any of those metrics, or any other button in that bar, to open the corresponding page in your Blackfire account.
In your Blackfire account, your site profile will be presented in a detailed interactive view where you can really drill into any specific metric you need to pinpoint trouble areas on your site.
All your saved profiles can be accessed and viewed from the My Profiles page in your Blackfire account.
There are way too many additional settings and options at Blackfire to get into here, but you’ll find they have useful and extensive documentation here that you can explore to familiarize yourself with how things work there.
Remember to disable Blackfire Profiling once you’re finished debugging things on your site.
6.14 Reset WPCopy chapter anchor to clipboard
Use this option if you ever need to revert your live site to a fresh, default WordPress installation. Note that the option here does not affect your staging site if you have one set up; there is a separate option for that under the Staging tab.
Click Reset to pop open a modal window where you’ll be prompted to enter your WPMU DEV password, and confirm the action.
This reset will delete all files (including non-WordPress files) in the Production directory of your live site before the fresh re-install of WordPress. However, a backup of your live site will be created before the reset, in case you change your mind afterwards and want to restore the site to how it was.
Once you click the Continue button, you’ll be prompted to create a new WordPress administrator account for the fresh install. You can use the same email, username and password as you had for your admin user before, or create a brand-new admin user.
Click the Continue button and you’ll then see a screen indicating the reset is underway. Depending on the size of the site, it can take several minutes for this to complete.
When the reset process is complete, visit your site and you’ll see a brand-new default install of WordPress there for you to build on.
The process for resetting a multisite is exactly the same as for a single site except for one important detail: when you reset a live multisite, it defaults back to a fresh single site install.
This means that if you intend to then push your existing staging multisite to live, you’ll need to first convert the new single site to a multisite. Then you can push your staging multisite to the new fresh live multisite. If you don’t do that, the system won’t be able to update the domain name where it needs to, and you’ll get a database connection error.
Restoring the site
If you made a mistake or changed your mind after resetting WordPress on your live site, you can restore the automatic backup that was made before the site was reset. You’ll see that backup labeled before wp reset production under the Backups tab of your site.