T
T
The Whiz2017-07-05 17:21:26
WordPress
The Whiz, 2017-07-05 17:21:26

Which ecommerce plugin with scalability for Wordpress should you choose?

A client (non-CIS) wants to add e-commerce to his WordPress site. Quantity of goods - 30 000 pieces. I have never dealt with such a volume of products on WP, so I immediately advised porting the site to Magento or Rails + Spree, because. I don’t know how WooCommerce will behave with such volumes, but I was refused due to the fact that the WP site had just been handed over and a lot of time and money had been invested in it. This leads to the following questions: - How does WooCommerce/WP behave when there are more than a few tens of thousands of products? - Should I try a Shopify plugin instead of Woo, is it a good choice in terms of scalability?
Someone advised installing a Shopify plugin, and this idea seemed to me a good idea - although you have to pay a monthly fee for this, the product database will always be available through their servers and WordPress, in theory, should not choke. The main condition of the client is not to change the stack in the next year and a half or two. The maximum load I see is 50 transactions/minute. I do not consider two services (magento + wordpress).

Answer the question

In order to leave comments, you need to log in

2 answer(s)
I
Igor Vorotnev, 2017-07-07
@modernstyle

WordPress + WooCommerce by itself is not very scalable out of the box, but the solution is quite simple:
1. Use ElasticSearch and the ElasticPress plugin for search + integration in all WP_Query. Because working with wp_*meta in WP is not designed for such volumes and complex queries.
2. Use an external email service for transactional emails. For example, Amazon SES.
3. Do not use Cron built into WP. It must be disabled, used either at the server OS level (regular cron), or use Cavalcade .
4. Understand how WooCommerce works from the inside, do not install dozens of shit plugins (especially from YITH and Russian-speaking developers, for the most part, shit is the rarest).
5. Use Ajax to a minimum, if you really absolutely need it - do not use standard calls to admin-ajax.php, but make custom handlers using the REST API.
6. Don't use WooCommerce's built-in geolocation feature if you need it. Use the geoip module at the server level (Nginx) and further catch them from the server data.
And there are many more steps and nuances that will allow an online store on the WC to rustle quickly and stably even with 100k products. If you just hope to build a store with a bunch of bells and whistles based on 3 dozen plugins, and keep it all on one VPS for $10/month, then this is not an option.
PS: 50 transactions per minute is the number of "orders" or views in general?

W
WordPress WooCommerce, 2017-07-07
@maxxannik

You are digging in the wrong place :)
You need to understand that if there are 30,000 products, there are no complex queries and there will be a load of 1000 people per day, then do not care. Enough of the usual file cache.
If there is 1 product and a load of 100,000 people per day, then you will have to do memcash bypassing php through the nginx proxy.
If there are 30,000 products or 300,000 products and there are complex facet search mechanics, then Elastic or Algolia will have to be screwed on. And it doesn't matter if it's Woo or something self-made.
Large loads mean that you have to correctly configure caching. In this case, little at all will reach Woo. The task of Woo will only be to competently manage the cache and microservices like Algolia. And this literacy depends on the competencies of the development team. It depends on Woo a little :)
With very large data and loads, of course, you will have to use the REST API, React / Angular, AJAX, object caching, etc. All this is in WP / Woo. But there is not always a team that understands all this and knows how to set it up. From here, various hypotheses arise, such as "but the eggs interfere with us, let's transplant the eggs, but then it turns out that other eggs interfere, PTM what kind of dancers are." Therefore, here it is necessary to choose dancers, not eggs :)

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question