Below are the minimum requirements for WooCommerce and (by extension) WordPress. Some are taken from WooCommerce, some from WordPress, and also, some, we are adding as recommendations.
It should be apparent, below, which is which!
Before getting started, if you’re here to assess a WooCommerce host, then you may be interested to check out our Best WooCommerce Hosts item, here.
WooCommerce Official Minimum Requirements
Officially, WooCommerce only requires the following minimums:
- PHP 7.0 or greater (note PHP 7.0 is End of Life on 3 Dec 2018; PHP 5.6 EOL is 31 Dec 18)
- MySQL 5.6 or greater (or MariaDB 10 or greater)
- WooCommerce 2.5 requires WordPress 4.1+
- WooCommerce 2.6 requires WordPress 4.4+
- WP Memory limit of 128 MB or higher
- HTTPS support (an SSL certificate)
WooCommerce Official Optional Minimum Requirements
The following requirements are suggested as “optional” but many users will basically require these features.
- CURL or fsockopen support for PayPal IPN
- Some of extensions require SOAP support
- Multibyte String support if you’re running a non-english store
- If you want WordPress pretty permalinks, apache with mod_rewrite (or a similar nginx / IIS extension)
For more on the WooCommerce official take, see here.
WordPress Minimum Requirements
WordPress now recommends a minimum of:
- PHP version 7 or greater
- MySQL version 5.6 or greater OR MariaDB version 10.0 or greater
- HTTPS support
It will work on PHP.ancient (but its not a good idea)
WordPress “will work” on an environment that is “PHP 5.2.4+ and MySQL 5.0+, but these versions have reached official End Of Life and as such may expose your site to security vulnerabilities.” see more on this here.
Now this is very important. If you’re using WordPress & WooCommerce to host an eCommerce application, you do not want to expose your site to security vulnerabilities.
Developers & hosts – yes we know, you can backport security. That’s great. But PHP7 offers significant advantages you just cannot access with 5.2, not least in terms of speed and stability. If you can get your clients upgraded to PHP7, then you should try to. If everything in your network runs faster, stabler, and more secure, really, its short term pain for short term gain.
WooCommerce and PHP7
WooCommerce works best on PHP 7. We are running PHP 7.2 where possible, and this is an optimal environment. If you have problems updating PHP version, it may be your theme or plugins, but the following statements are all true:
- WooCommerce works well with PHP 7.0
- WooCommerce works well on PHP 7.1
- WooCommerce is awesome in PHP 7.2
Our Recommended Setup
So we recommend to host your website using a LAMP stack, which is running PHP 7+, MySQL 5.6+.
Apache is stable – Nginx is fast – we combine their powers
It is a great idea – optimal in fact – to use Nginx as a caching/proxy layer in some form or another. Another option to configure for speed is Varnish, though it should be noted that Varnish must be configured with care. Optimization is another task in itself and sits outside of “minimum requirements” but some of this is mentioned as we are describing recommended settings here! Get in touch if you’d like to optimize your WordPress or WooCommerce website – or leave a comment below!
Cache as much as possible
As far as possible, everything that can be cached, should be cached. This is not a caching article, and the “best” option is environment dependent, but in short, turn on, setup and otherwise configure a good caching plugin in your WordPress, like WP Rocket, WP3 Total Cache or WP SuperCache. That is in order of preference, based on ease of setup versus best performance.
For SEO purposes, you must be using pretty permalinks. That means you need mod_rewrite to be installed and working. Most plugins are set to use .htaccess files for this in apache hosts, so this is preferred for ease of management, but gains can be made by moving this into an httpd.conf file and not allowing .htaccess files (prevents scans on every directory).
Go HTTPS… seriously
For SEO, security and user reassurance, you should run your site in SSL everywhere – and make sure there are no broken padlocks. That is to say your website should be available only over https, with http quietly redirecting visitors to the https version of your website.
If you would like hosting management, we recommend to use WP Engine, Kinsta or Cloudways. Cloudways or Kinsta is preferred for more complex WooCommerce sites. We also like Pantheon for this, but it should be noted that its great for (us) WooCommerce developers, but clients either love or hate the dev -> staging -> production setup that they have in place. If you’d like to know more, click here to see our top 5 WooCommerce hosts article.
If you have questions, or would like for Silicon Dales to setup optimize or otherwise take a look at your WordPress + WooCommerce environment, then just get in touch.