What is the best stack for a medium to high volume ecommerce site?<p><pre><code> Our focus is fast and reliable performance, the ability to call our CRMs APIs, no transaction fees on the platform, and have the ability for a user to login to see past orders and other info from our CRM. Our checkout process will need to be web forms that use a particular vendors API. I'm not sure the best cart and storefront functionality. Right now we use a shopify front end and pass products via UTM parameters to the checkout page. We don't use Shopify as the transaction fees are pretty high when you take into account upsells, and the other plugins we'd need to operate. We're thinking about migrating to wordpress and woocommerce, so we can integrate wordpress users to offer our customers the ability to login to the store, see their passed orders, and other information.
</code></pre>
Is building this in woocommerce/wordpress viable? Or is creating a type of JAMstack site on the more custom side to go with our custom cart a better long term solution? Seems like headless CMS is all the rage these days.<p>We have about 10k visitators a day, 500 sales a day, with another 500 interacting with our site as adding to our email list. We expect to hit 20k+ visitors a day fairly quickly (within 6 months).
I have a lot of experience with WP and WooCommerce so I may be biased but 500 sales a day with 10K visitors a day should be fairly achievable in WordPress/WooCommerce. It can be scaled even more if needed. If you want to worry about business and not tech, forget about shiny things like JAMStack, HeadLess CMS etc. Play with them for hobby on the side but for real business, go with something tested like WooCommerce if that is an option for you.<p>Shopify can work too if you want to give them more control. Cost wise, I wouldn't say WP/WooCommerce will be cheaper necessarily because you have to factor in costs of servers, maintenance and most important: technical resource/support as/when needed.<p>However, WP will give you the ability to customize as needed
WooCommerce is very written with an excellent plugin system (some 3rd party plugins can be costly but totally worth it in my opinion). Most importantly, WP and WooCommerce is all yours and you are not vendor locked in as in with Shopify.<p>WooCommerce = More Power, flexibility but more responsibility.
Seems like Jamstack would be your best bet. Have you heard of MACH? <a href="https://resources.fabric.inc/glossary/mach" rel="nofollow">https://resources.fabric.inc/glossary/mach</a> Any platform that can support this setup is a good indicator that it's a platform you can grow with and make your own, without having to build everything from scratch.
I see you reject Shopify because of fees.<p>But if you take into account the engineers' salaries you'll have to pay, servers, having to be on call every time the site crashes, cost of not having a super optimized checkout, etc.<p>You'll realize that Shopify is an excellent candidate.<p>Let Shopify take care of the commerce part and focus on what really moves the needle: your product and marketing.
About WooCommerce: Go for it, but be ready for some customizations to meet your own needs.<p>Use the plugins you need, else if you have the knowledge implement the whole mechanism yourself either in a series of small custom plugins or place the whole custom code inside your theme's `functions.php`.<p>My suggestion would be the following:<p><pre><code> * go with a VPS
* choose NGINX for web server and reverse proxy
* setup microcaching
* use memcached or Redis if microcaching does not cover your needs
* use the latest PHP
* avoid using a plugin for image optimization; let NGINX do that for you
* if there's a need for a REST communication, use WooCommerce's REST API; it works wonders!
</code></pre>
That's all I can remember for now.<p>So, TLDR; yes, you can go with WooCommerce and communicate with your own CRM's APIs without a sweat.<p>How do I know?<p>Well, I have done that for a customer. It's a custom solution that updates their stock on a daily basis multiple times and every 15 minutes it automatically synchronizes the necessary changes; else, there's the "run now" option to immediate execute the synchronization upon demand.