Wordfence works on most WordPress websites. However, to make sure it works on your site you can check that it meets our minimum system requirements.
General System Requirements
We currently require WordPress 3.9 and above for compatibility. For historical information about our releases, please see the changelog.
Wordfence is tested and works on Linux or other Unix type operating systems. We do not recommend using Wordfence on Windows/IIS. Though we have reports of Wordfence working on IIS and other Windows web server platforms they are not officially supported. Please note that HHVM is currently not supported due to stability issues within HHVM. As of 2017-05-25, WordPress is not tested with HHVM. WordPress development team recommend switching to PHP 7.
Wordfence works on PHP 5.3 but we strongly recommend PHP version 5.6 or greater, and preferably PHP 7.0 or greater. Please note that everything prior to PHP 5.6 is currently considered old and unsupported by the developers of PHP. There are no security releases for older versions, though some hosts may have an old version of PHP with “backported” security fixes, to make the old version safe while making minimal changes to PHP itself. You can see a nice visual depiction of PHP version history here: http://en.wikipedia.org/wiki/PHP#Release_history
Aside from security concerns, newer versions generally have performance and stability improvements. Some hosts let you choose the PHP version your site uses in the site’s control panel, separate from WordPress.
You require a MySQL or MariaDB database. Wordfence will work with MyISAM or the InnoDB storage engine set as your default engine. We don’t specify type when creating our tables and will use your defaults. If you are having issues with corrupt tables try reinstalling using InnoDB as default instead of MyISAM as it tends to be a bit more stable.
We suggest a minimum of 64 megabytes of memory which needs to be available to PHP for you to run Wordfence. Our recommended memory for Wordfence is 128 megabytes or greater for best operation.
You can also check your system information by clicking the link at the bottom of your Wordfence options page to view your web server and PHP environment information. On some installations there may be text titled “memory_limit” which shows your memory limit as set in your PHP.ini file. However this is not present on many modern systems and it’s also unreliable because it’s possible to limit memory at the web server level and also the operating system level. So instead, if you see an out of memory error, we suggest you contact your site admin or hosting provider and work with them to determine:
- What your memory limit is.
- If you can upgrade it.
Most hosting environments seem to work well with Wordfence and we have not had reports of a well configured Wordfence installation unable to do it’s job due to lack of CPU resources. So you should not have to upgrade or change your CPU configuration to use Wordfence.
We see two kinds of CPU issues. In both cases a hosting provider will contact a customer and tell them that something is accessing /wp-admin/admin-ajax.php with many requests and consuming too many resources. The hosting provider will tell the customer (that’s you site administrators) to slow down or face throttling. Here’s how you fix either scenario:
Scanning too frequently
If you’re using the free version of Wordfence, your scans will run every 24 hours and you can’t control this. So if you need to reduce scan frequency, upgrade to Wordfence premium and set your site to scan once a week or something less than once per day.
Live Traffic update in your browser is causing your hosting provider to complain
In this scenario, you can reduce the update frequency of your live traffic. The default is 2 seconds. Reduce this to something like 15 seconds.
Wordfence has been tested on and works with the following web servers or environments:
- Apache using mod_php
- Apache with Nginx in front as reverse proxy.
- Apache with FastCGI
- Nginx with PHP5-FPM
Please note that on Nginx the Wordfence option “Disable Code Execution for Uploads directory” does not work since it relies on .htaccess. You also need to take special action to hide the .user.ini file on Nginx. You can find information about how to do that here.
As of Wordfence 6.0.2, released 5/20/2015, we fully support IPv6.
Feature Specific Requirements
The Wordfence Country Blocking feature requires PHP version 5.4 or greater. With lower versions of PHP Wordfence will not be able to block visits to your site based on the IPs estimated country of origin. This is a feature specific requirement. All other functions in Wordfence will continue working if you are unable to upgrade PHP though we strongly recommend upgrading to increase the performance, stability and security of your site.
On some web hosts you can change PHP version yourself via cPanel or a similar administration panel. If you are unsure of how to upgrade PHP please contact your web host for support.
Separate prompt for Two Factor Authentication
The Two Factor Authentication feature in Wordfence allows you to use a separate input field for the security code. This feature requires that the PHP setting output_buffering is enabled. You can check the settings for output_buffering via the Wordfence “Diagnostics” page by locating the section Other Tests and then “Click to view your system’s configuration in a new window”.
WordPress Multi-Site Compatibility
Wordfence is compatible with WordPress multi-site installations. Please note that Wordfence needs to be installed on your Network Admin plugin installation page and will appear as a menu option in the network admin area. Please do not attempt to install Wordfence for each site instance on a multi-site installation.
LiteSpeed Specific Configurations
Wordfence works fine with LiteSpeed. However, in some cases some configurations may need to be tweaked for Wordfence Scans and Automatic updates to work optimally. For more information, please see Wordfence and LiteSpeed.