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 5.6 or greater
- MySQL 5.6 or greater
- WooCommerce 2.5 requires WordPress 4.1+
- WooCommerce 2.6 requires WordPress 4.4+
- WP Memory limit of 64 MB or greater (128 MB or higher is preferred)
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 our extensions require SOAP support
- An SSL certificate if you wish to install direct payment gateways
- 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
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 e-commerce application, you do not want to expose your site to security vulnerabilities.
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.