I’m going to take a leaf out of Chris Lema’s book right now to answer whether WordPress should be used for eCommerce: It depends.
There are camps of thought that think WordPress isn’t right for eCommerce, and there are people that think it’s the only way to go. Having worked with and used several different eCommerce platforms (both hosted and self-hosted), I’ve definitely developed the mindset that there are use cases for each. WordPress can be the right choice in a lot of circumstances, but not all.
Hosted vs. self-hosted
If you’re not sure about the major differences between hosted vs self hosted platforms, I recommend reading Patrick Rauland’s overview of the major differences. WordPress eCommerce usually falls under self-hosted eCommerce (I don’t count WordPress.com since it uses external eCommerce solutions). Forbes also recently wrote about this, though I don’t necessarily agree with their conclusions.
The typical viewpoint is that WordPress plugins like WooCommerce or Easy Digital Downloads are great for small stores or people that just want to quickly and easily sell a few items, while hosted platforms like Shopify and Bigcommerce are for “serious” stores.
This viewpoint is actually pretty backwards, not to mention the fact that the number of items is a poor way of determining which platform you should use.
Give each its due
Is WordPress the best platform on which to build apps? I don’t always think so, but it could be. Is it always a good choice for eCommerce? Nope. However, it’s the right one for lots of stores, and it’s the wrong one for lots of stores.
There are a few major strengths and weaknesses of both WordPress and hosted solutions. I’ve worked most with WooCommerce, Easy Digital Downloads, and Shopify, but have tried lots of other eCommerce solutions for comparison. Some of the knocks against WordPress aren’t valid, but we should note that some are.
WordPress eCommerce weaknesses
Everyone loves to talk about how easy certain WordPress plugins are to use. When you compare WordPress plugins to something like Shopify, this just isn’t true. They may be easy to use for people that are familiar with WordPress, but not for the average user who wants to start selling online with no experience.
WordPress requires a domain name purchase, hosting setup, installation, plugin installation and setup, theme installation and setup, blah blah blah, you get the drift. With hosted solutions, you don’t worry about this (though solutions like Evermore — which was covered by Post Status when it launched — make this interesting). You pay your monthly bill, and you’re handed a store website – you just pick the name and get rolling. You can start adding products right away, and then you might get into changing your theme or other setup.
Some of the site tweaks or setup with hosted solutions aren’t easy, but the learning curve for a solution like Shopify is far gentler than the learning curve for something like WooCommerce.
There are also WP Cron issues for some sites, as it’s not a perfect system for scheduling actions, like recurring payments. It can work pretty well, but other platforms can make this far easier to implement and more reliable than Cron.
WordPress store owners are also responsible for their own hosting, software updates, and security. For many site owners, these are huge responsibilities. Hosted solutions roll all of this into their package so that users don’t have to know how their website is powered. They just have to use it.
Both WordPress and hosted solutions will scale, but there are considerations with WordPress that users need to be aware of. Database issues (like backups or memory with massive amounts of customers and orders) should be addressed, hosting has to be optimized, and plugins need to scale with the site. With a hosted solution, none of this is your problem as a user.
WordPress eCommerce strengths
Bearing these weaknesses in mind, it’s a bit crazy to me that WordPress is sometimes referred to as the “easy solution” or the right tool for “small stores”. It’s not. In many cases, it’s like bringing a tank to the eCommerce playground.
So what does WordPress do well?
First, WordPress offers the most all-in-one website solution available. WordPress can offer the eCommerce aspects of the website, in addition to its many other CMS features. The ability to create a single, seamless CMS experience for a multi-purpose website makes it quite compelling and more budget-friendly than more “eCommerce first” platforms.
Second, it’s optimized for SEO. Your content is crucial here, and WordPress is built for content. More importantly, if you’ve tried to blog on another platform, you know how painful it can be (don’t start with me Squarespace fans, that thing is difficult to use). WordPress doesn’t encourage you to avoid blogging to avoid headache: it’s built for complete websites, and is not simply focused on eCommerce.
WordPress also contains functionality that you can’t always get with different platforms. There’s a massive selection of plugins, themes, and all sorts of solutions for WordPress that are readily available. Since it’s open source, it’s far easier to find ways to customize it when compared to closed platforms like Bigcommerce.
Speaking of customizations, your ability to customize WordPress or plugins is far easier than with hosted solutions. There’s lots of functionality that can be achieved with WordPress that’s not even possible in hosted solutions. For example, developers have no control over the Shopify checkout process, but this can be entirely customized with WordPress.
You can also usually find a plugin that will provide a “starting point” for a customization project. Even if you find a Shopify or Bigcommerce app that gets close to what you need, but not quite, you’ll need to create a completely custom solution anyway – there’s no “extending” there.
Along with customization is the control over your environment. You can spin up your eCommerce site on something like Digital Ocean, and you’ve got control over the entire site, from server to theme.
Product type
The biggest difference for me between hosted solutions and self-hosted actually isn’t usability or scalability – it’s product type. Can almost every eCommerce platform sell tee shirts? Yes. Even EDD can do that, and it’s made for digital products.
However, selling complex products becomes infinitely more difficult on hosted platforms, as you’re restricted to what the API offers for product changes, which isn’t always a lot. For example, if you’ve ever tried to add pricing changes for customization options in Shopify, you know that it literally takes some wizardry, black magic, and possibly bubble gum used as tape to do so.
WordPress plugins make this far easier, because the entire platform is open, not just an API. Most eCommerce plugins have more than enough actions or filters to change products, product pages, checkout forms, or any other part of your site.
Recap
Hosted eCommerce solutions are typically easy to use, and can provide some customization options via apps or other add-on services. However, it’s like renting a house versus owning. With a rented house, you can’t go knocking down walls or completely remodeling – you’ve got to work inside of a framework you’re given. This is exactly how a hosted solution works.
The benefit to this is that you absolve yourself of a lot of responsibility and worry. The entire experience is managed and supported, and is typically very easy to work with.
However, WordPress eCommerce is like buying the house. You can do whatever you want – add-on, rebuild sections of the house, change layouts around, add tunnels to other houses, you name it. However, when the water heater blows up, it’s your responsibility.
WordPress also affords the opportunity to sell complex products, such as measurement based products like corks by the pound, that simply can’t be sold on other platforms. The same ability to customize WordPress so thoroughly lets you customize the eCommerce plugin you’re using.
You gain the flexibility that comes with the platform, as well as the benefits like tons of plugins, themes, a great content structure, and a consistently maintained and updated core solution. However, the Frankenstein site that you build is your baby, and yours alone – you need to host it, maintain it, and care for it.
WordPress lets you create advanced functionality via plugins and customizations, but isn’t right for users looking for an easy, basic shop setup. If you want a move-in ready house or a beautiful rental, you should look at hosted solutions. If you’re willing to make your dream house from great bones and foundation, or you need to sell fairly complex products, then WordPress might be it for you. It’s not the “easy” solution, but it can be a great one.
Great post, Beka. It’s a question that a lot of people ask, and there truly isn’t an easy answer. Choosing the correct e-commerce platform definitely depends on your business goals and how much responsibility you want to assume in running your site. There are trade-offs and it’s important to spend enough time investigating your alternatives. Test out the free trials that most hosted solutions offer and see if you can live within their framework. If more customization is needed, then WordPress can be a great way to go. Thanks for an interesting article; I will definitely be sharing it!
The primary reasons I don’t recommend using WordPress as an ecommerce platform is financial and legal. When you run an ecommerce operation you have to manage complex multi-jurisdictional tax systems and you have to care about privacy and PCI compliance, none of which is easy or usually considered by startup companies. These issues are colossally complex and change based on where you are located, where your company is legally registered, and where you are selling products to.
One legal example: If you collect customer data as part of your site (credit card, shipping address, anything else) you are now under privacy law. In most areas these laws demand strict control over how this data is handled, stored, and who has access to it. Very few off-the-shelf hosting solutions on which WordPress is usually hosted have the capability of providing this type of security out of the box. This may seem like a non-issue for smaller businesses, but it can come back to you years or even decades later when someone discovers their data was not well enough secured.
I am not a lawyer so I can’t go into more detail. Suffice it to say I have worked with tax and privacy lawyers who focus on this area and they are crystal clear in their recommendation to not go it on your own but hand the heavy lifting off to someone who does this and nothing else.
When you offload your ecommerce to a 3rd party these challenges more or less go away because the 3rd party takes on those responsibilities.
Just my 2 cents.
Morten,
I agree with your assessment of the attitude of most startup companies towards legal compliance: they don’t consider it important, or consider it at all.
However, you said that “[v]ery few off-the-shelf hosting solutions on which WordPress is usually hosted have the capability of providing this type of security out of the box.”
I don’t think there’s a single WordPress ecommerce plugin out there that stores credit card data—data which naturally carries the most legal responsibility. Storing this data is carried out by third-party processors. With processors like Stripe, this data never even touches the store’s server—it is passed directly from the customer’s browser to Stripe’s servers.
You even said, “When you offload your ecommerce to a 3rd party these challenges more or less go away because the 3rd party takes on those responsibilities.” This is precisely what WordPress ecommerce platforms do with the most sensitive data – offload it to 3rd party processors.
Regarding other sensitive data, I do agree that store owners should ensure compliance with applicable regulations. Out of the box, mildly sensitive data (you mentioned shipping data) is typically viewable by any administrator of the site.
I’d love for you to take a look at my WordCamp Asheville talk—I discussed these topics and more and would love to get your feedback.
http://wordpress.tv/2014/09/06/josh-levinson-wordpress-e-commerce-ecommerce-ecommerce/
@Josh and Brent: More than credit card data which if done right will be collected off-site, I was thinking of the other data collected about a buyer – name, address, telephone, email, purchase history, etc. All these are protected under stringent privacy laws and this information must be kept secure and restricted from the outside.
Online privacy is a complex field of law that is being built out as we write this. A lot of surprising data has come forward, like the fact that in some cases publishing a privacy policy may make you more liable to be investigated for it and that tracking user behavior on the site (recently viewed items etc) can be classified as spying if the user is not explicitly notified of this. One legal paper on this that is well worth a read for anyone venturing into the field is this one: http://cyber.law.harvard.edu/olds/ecommerce/privacytext.html
By the way, I hope I didn’t sound pompous in my reply. I realize you probably know all of these things; my response served the purpose of allowing me to vent more than it served as a rebuttal 🙂
Not at all pomopus. No worries man. The magic of the web lies in its ability to facilitate discussion.
@morten this can actually be a point in favour or WordPress eCommerce.
Although it might be difficult for small store owners to comply with relevant laws in their jurisdiction on a self-hosted platform, it might also be *impossible* to comply using a hosted solutions that don’t support those laws.
Hosted solutions comply with laws in major markets, like US, UK, DE, etc. but they may fail to comply with laws in markets they don’t service, either due to language barriers or because it doesn’t make financial sense.
The perfect simile!
Great article and I love the house analogy, Beka. With WordPress, you just need to know who your ‘trusty tradespeople’ are, don’t you?!
The house analogy was totally it. If your water heater blows up… LOL
Hello Beka.
Loved your article and the house analogy used. I know it wasn’t intended on your article but you could have a made a mention to Magento. If WordPress is a tank than Magento is a battleship. Perhaps one day you can make an article about this one and compare it to WordPress.
Good one,
I agree that for small eCommerce WordPress can be a good solution, SEO, custom posts, customization… But if you want a big eCommerce platform with ERP integration, complex filtering, user ranges for example, WordPress cannot compete with Magento.
In my experiences, all self-hosted e-commerce software sucks, including those built on WordPress. I try to off-load e-commerce stuff elsewhere whenever possible.
I’m curious to hear the last time you tried it. I find it to be quite a decent experience, personally.
It will depend on what exactly you are trying to do. In the past, I’ve had issues with the plugins being either too complex or too simple. The UI on the front-end has been very difficult to make it work well with simple solutions I’ve required and been very difficult to make it accommodate more complex projects which ended up being farmed off to Magento projects.
The last time I tackled anything with e-commerce was a few months ago I think.
Beka,
Excellent analysis and well written. It lead me to asking you a question.
We have a self-hosted blog and want to add a store to sell food products. However, the product is shipped overnight by federal express so the customer needs to schedule the exact day for arrival. Do you know of any plugin for a calendar that would allow the customer to schedule the day for delivery but allow us as the merchant to black out Sundays and holidays etc.?
Thank you.
I wouldn’t run WordPress as a full e-commerce platform or site.
Don’t get me wrong, WordPress is great for certain things, and it’s worked great as a CMS, and WooCommerce has worked amazing to process donations. But in an MMORPG World, you’ll spend 90% of your time trying to secure everything, While it’s very easy to use, and worked great for what we needed, it’s just not an Out of the Box Secure Solution.
WordPress in General isn’t so scalable. Sure, you can use one of the many hosting sites that charge an arm and a leg for hosting, but pagely, wpengine don’t really offer anything that we honestly can’t do ourselves, and much faster.. I outlined my original setup, and this just covered WP and Scalablitity for a small site, http://boi-infinity.com/wordpress-optimization-2014-behind-boi-infintity/
Unless you have a WordPress guru in your pocket, I’d use x-cart, or one of the other well known e-commerce solutions.
Chris
What do you feel makes X-Cart more secure out of the box than WordPress?
I can understand specific WordPress plugins not being secure out of the box, some of the e-commerce plugins are horrendous considering the amount of money they’re processing, but WordPress core itself seems fine to me.
Article presents somewhat of a false dichotomy – WordPress vs. hosted solutions. Sometimes WordPress entrepreneurs (those who make a living selling their WordPress knowledge) forget there are other content management systems, and neglect to recognize another CMS might be better for some purposes.
I think the article carefully avoided 2 of the major weaknesses of using WordPress as an e-commerce solution, which while don’t rule out it’s use make it a lot more tricky.
The first big one, is WordPress was never designed with transactional mechanics in mind, it certainly wasn’t designed to be an e-commerce solution. This leads developers down interesting rabbit holes for example how to handle products and orders in the backend, do you use custom content types, create new tables some hybrid of the two? What about the hundreds of options, variations and complex relationships often needed by shops.
You can implement and work around very successfully but it is fudging and rebuilding the wheel in many cases.
The second issue is security and compliance, WordPress us highly secure but has no concept of a security model to speak of, plugins and themes can do anything which is fantastic it’s what allows e-commerce solutions to exist it’s also the reason you might not want to run a e-commerce solution on WordPress as you not only have to worry about WordPress core & your e-commerce plugin but also every other plugin and theme on your site. Now all systems have vulnerabilities and products like Magento have comprehensive module support though it does partially restrict what can be done (and not just through incomprehensible documentation, small dig at Magento) though people often force workarounds. However running e-commerce solutions on WordPress does open up more interesting challenges with multiple plugins and themes causing havok.
In a similar vein comes compliance large e-commerce solutions have been designed with compliance in mind, both PCI-DSS and various data protection laws. WordPress core was not designed with any thought towards various e-commerce compliance rules because hey it’s not an e-commerce system! This means if you are using direct post payment gateways (where you gather the payment and the server sends the card detail to the payment provider) you may find you come across massive compliance issues. In a similar vein, especially in the EU you have to be careful how data is stored, as well as to make sure that the correct data is stored, for example keeping accurate transaction records.
If you are building a pure e-commerce centric offering then it would seem a little silly to not use a pure e-commerce system or a hosted solution.
If you are building a content focus offering with some e-commerce solution, where you are not taking payment directly and the benefits of an integrated single solution outweighs the benefits of using a separate e-commerce solution then it’s worth considering WordPress solution.
Ultimately which ever way you go, e-commerce is a legal minefield, getting the right software at the start can go along way to making life easy for you, I suspect for most WordPress is not the answer.
You said it better than me Tim.
Nice post Beka. For sure for someone that is used with WordPress and worked with it it is easy to recommand WordPress as an ecommerce solution ( this is the case for me). As you said WordPress can be good for some and bad for others. The important thing is to know the number of products that you want to sell.
Definately if you want to see until cople of hundreds you can do fine with WordPress, but if you speack of thousands of product is better to use a more specialized.
^ that comment by Tim Nash is an excellent one
The issue of mechanics is usually not a big problem for most sites. but the security issue is a major one though IMO. The shear time involved in ensuring a typical WordPress site is secure can be quite enormous, and that would add a very considerable lump to the final bill. I’m not sure how some of these compliancy requirements work (people further up the chain of command have always dealt with this sort of thing before projects have reached me), but I imagine some of them may block WordPress from being viable at all since passing compliancy tests for a one-off chunk of code may be prohibitively expensive. Using a platform which uses a security model which blocks extensions and themes from doing anything malicious , could rapidly improve the development time and hence make them a much more suitable platform to use.
Nice article, Beka. I’m completing a complete migration from 3dcart to WordPress with WooCommerce and you echoed a lot of my likes about working with WordPress. I redesigned my client’s old site in 3d during the summer and found the interface to be a major, major learning curve. She had over 700 books on her site, and we re-did it within 3d’s limitations (while I lamented how I would rather work in WordPress, they didn’t allow drop-down menus if you can believe that!!). Long story short: going live turned into a nightmare as they lost all the data for affiliates and we lost all faith in their tech support. So I recreated the design in WordPress and used WooCommerce for the first time. Amazingly easier to use than 3dcart, and my client is giddy about the dashboard setup. And we don’t have a blog set up yet, but when it’s time, it’s going to be so easy to do because WordPress is just what you said—it’s set up for content.
woocommerce bookings and woocommerce extra product options are close to your needs but still need to be customized because the demand is specific.
What a well written post on a question asked often!
I especially liked your analogy about owning vs renting. That is very true. It is definitely more work with self Hosted eCommerce using WordPress, but it has its rewards. I like open solutions.
This is an interesting article for me. I have a couple of WordPress ecommerce sites now using WooThemes and WooCommerce. So far, I and the clients are pleased with the results, yet noting some of the limitations gives me reasons for further investigation into other systems as the current sites grow. Glad I read this.
Have used WooCommerce on two sites so far. One is live with 2,500+ products which was migrated from Magento. Another larger site has 35,000+ products which was migrated from X-Cart. Been impressed with using WooCommerce within WP. WooCommerce is more straight forward to manage and update and even develop for than Magento or X-Cart.
The larger site with 38,000+ products is live as well now.
I’m surprised that that we haven’t seen a fork of WordPress targeting e-commerce alone.
Why?
What differences would the forked version have?
Well, after using WordPress for some odd 13 years now, since itself was forked.. I’d say the differences in WordPress + Woocommerce as a fork could rid WP of a ton of bloat, More of the WC features could be implemented into the admin for an e-commerce style admin, as opposed to the standard admin interface. Extra WC dashboard widgets, support tickets, live IPN notifications / order statuses so you can see every bit of what is going on for your shop!
The possibilities are endless really..
I like the idea of this. Maybe it could also intergrate Advanced Custom Fields as a standard. Perhaps remove some of the junk and make it purely a developers edition of WP.
Then the blogging system could be maintained seperately.
That would be nice!
Thanks, for good writing.
Thanks, word press & Commerce is like coin, just inside/beside.
more Thanks
Great article, it just leaves me with one question as a woocomerce + wordpress user myself. the admin-ajax.php always slows down the site does any one have any idea to improve the loading speed?
You could use plugin like this to control the Heartbeat API https://wordpress.org/plugins/heartbeat-control/
Hello! Quick question that’s entirely off topic. Do you know how to make your site mobile friendly? My website looks weird when browsing from my iphone 4. I’m trying to find a template or plugin that might be able to resolve this problem. If you have any suggestions, please share. Appreciate it!
Talking Ecommerce. We use WordPress for Ecommerce and overall it works great. PayGate is our gateway for payments, and we use their plugin. What is a concern is that every time you receive an update notification from WordPress it is virtually impossible to find out if it is compatible with the PayGate plugin. Can anyone please help here WordPress 4.1 now released, is it compatible with the PayGate Plugin. I will appreciate any help here, as I am not really keen to just upgrade and I have a problem like last time where we took 3 days just to try and revert back because that did not work. The PayGate plugin simply disappeared.