In my previous two articles I wrote about hosted shopping carts, their features and some of their operations.But what if you want to host your own shopping cart?
For this article I will compare WooCommerce (an advanced WordPress extension), and Magento (Community Edition). Magento Go, the hosted version of Magento, is covered in the hosted shopping carts articles. I will now show you what you need to host Magento yourself, and provide a more in-depth look into its features. But, as I mentioned in my previous article, Magento can be quite overwhelming. So I decided to compare it to WooCommerce, a popular WordPress shopping cart extension that can relate to Shopify in the previous articles when it comes to features.
In each case, I will compare the hosting requirements, setting up and features. Both shopping carts can be used for free.
There are always people debating about Magento hosting, and whether you need Magento optimized hosting. The fact is a successful Magento webshop does require a lot of server resources. A simple installation of Magento can run on basically any type of hosting or server though, as long as you have a minimum memory allotment of 256 MB and meet the requirements.
Since WooCommerce runs on WordPress, the hosting requirements are a bit more friendly. The system requirements are pretty standard, and there are no specific server requirements. That doesn’t mean you shouldn’t pay attention to it, you need to be prepared for success.
Especially Magento can become quite a beast when it’s a large store with tens of thousands of items. Your database will grow to tens of gigbytes in size, and its massive file structure will put a serious load on your server. Initially, you can speed up your store by simply adding more memory, and increasing the CPU power. But once that’s not enough, you’ll need to split your front-end and back-end, for example. I could write a whole new article just about optimizing Magento. This also applies to WooCommerce, but not to the same degree. Basically, the larger WooCommerce gets, the slower it will become and the more measures you need to take to keep it fast. This is where specialized hosting comes in, where you can outsource these worries, and focus yourself on building and configuring the store for yourself or your client.
Setting up both shopping carts is really easy. WooCommerce is a WordPress add-on, so you’ll need WordPress installed of course.
Almost all hosting companies provide easy install for WordPress, and most offer Magento installation as well. Or you can install it yourself by downloading the install files from Magento or WordPress.
I’ll use my own domain aboutblankenspoor.nl for this. It runs on a VPS with 2GB of memory, and 2 CPU cores totalling 4.6GHz. It’s well suited to the job, and it has Installatron to install both Magento and WordPress.
Let’s start with Magento.
During the installation, you can opt to have sample data inserted. The default template isn’t as modern as the Magento Go default template, this one looks a bit dated. Also, you won’t see a handy setup wizard on your first login.
What you do see is a convenient dashboard, with your latest sales data, search terms, bestsellers etc. This can be very motivating when orders start rolling in.
Magento allows you to change almost anything you see, and this gives you great flexibility in customizing your store. Because of this, adding your first product can be quite a challenge.
You start by setting up a category structure.
You can nest unlimited subcategories, with each (sub)category giving you tons of options to configure. You can select a specific design and layout for each category, handy for if you want to make a product specific landing page, for example. Most settings can be inherited from the site settings, to save you time.
Learn PHP for free!
Make the leap into server-side programming with a comprehensive cover of PHP & MySQL.
RRP $11.95 Yours absolutely free
After you figure out your category structure, you begin adding products. This is where Magento really begins to shine: You can make product attributes templates, on which you can base your listings. A computer (hard drive, memory) has a different set of product attributes to a t-shirt (size, color), for example. You can make a simple product (just one item), grouped products (sell a bedroom, with bed, sheets, pillow) or configurable products (like t-shirts, in different sizes and color, where a customer selects one combination).
If you select a simple product, you can configure every detail of your listing. Again, many of these setting can be specified site-wide, but it’s a powerful option. The downside of all this power is that it can easily take you 10-15 minutes for each product you add. Luckily, you can save yourself a lot of time by importing CSV files with your products based on these values.
The settings screen is just as extensive as any part of Magento, with hundreds of settings to choose from.
Because of the complexity of Magento, setting up your store can take you anything from a few days for a simple store based on a default theme, to months of work when you add thousands of products and use a custom design.
But, you won’t find two stores the same anytime soon…
Setting up WooCommerce starts with installing WordPress, and then adding the WooCommerce plugin. Your WordPress site is enriched with a few WooCommerce features (Cart, checkout, my account and shop). Sample data has to be loaded manually, but it not as easy as with Magento (see instructions).
However, after performing these steps, your WooCommerce shop instantly looks a lot better.
WooCommerce adds two buttons to the WordPress admin navigation, called WooCommerce and Products. In the latter you set up your categories and products. For those familiar with WordPress, this should look familiar. The options you have are quite limited: you can specify if a category view should display the product inside, the subcategories or both.
Adding a product gives you some more customization options. As with Magento you can add simple products, grouped products and configurable products (called variable products). There is also an option to add an affiliate product of an external vendor (more on this later).
Also, you can specify it the product should be virtual (like a service contract) or downloadable. Magento does this too, but with WooCommerce it’s easier.
With not as many options as Magento to specify, adding a product in WooCommerce works much faster. There are more options than you see in this screenshot, because adding a product is basically adding a WordPress post with lots of variables. So you can add images, specify one or multiple categories and add product information. But the power of WooCommerce is in these product settings.
The settings screen WooCommerce provides you is relatively simple, since most settings can be left untouched. But this also allows you to have your shop up and running in a few days, where you will be spending most of your time adding products and not fine-tuning your settings. And you will certainly benefit timewise if you’ve worked with WordPress before.
By showing you some of the backend of both programs, you probably have an idea by now as to what you can expect. But to help you in your choice, I’ve listed some distinctive features:
- Easy translation: You can translate your entire front-end while browsing your store, no need for editing CSV files (although that is still possible).
- Different store views: This can be used to operate different stores from the same backend. For example, I used this for one of my clients, who had an “all-products” store on their main domain, and a niche store (with a selection of their products) on a targeted domain. The niche products were also sold on the main domain. You can also use this for localizing your store.
- Selling tools: You can put in up-sells, cross-sells, discounts on products/categories/cart and product comparisons to name a few.
- Layered navigation: This allows you to let the customer filter the products listings based on criteria you specify, like price range, color, brand etc.
- Add-ons and themes: There are thousands of free and paid themes to have the site look the way you like. And if you want to extend or improve the integrated functionality, you can use add-ons. These are generally very good and mostly free or inexpensive.
- Easy setup: This may easily be its main feature, since this allows you to set up a professional store for you or your client, and test the waters first.
- Affiliate products: This is an excellent feature if you’re into selling affiliate products. This can increase your affiliate income, since you can list the products as if it were your own.
- Product ratings: WooCommerce has a built-in ratings system, and you can even offer discounts to those who leave you a review.
- Layered navigation: Yes, WooCommerce has this too, although it’s not as common as you might think. But the Magento version works better because you can only select one attribute with WooCommerce.
- Widgets: You can very simply add widgets for your best sellers, featured products, products on sale etc.
- Add-ons and themes: While not as many as Magento, WooCommerce has its own set of themes and add-ons to extend or improve functionality. And you can also use WordPress add-ons to supplement your store.
When you see all the differences between Magento and WooCommerce, you might think I’m comparing apples with oranges. But that’s not the case here, since I basically wanted to show you the possibilities of Magento and WooCommerce. I think that in a way they complement each other, WooCommerce being the start of your e-commerce adventure, with Magento as the ultimate solution. That doesn’t mean WooCommerce won’t give you a professional webshop, but in time you might want the extra functionality Magento gives you.
They both have their downsides: WooCommerce lacks certain needed features, or doesn’t play them out that well. Magento, on the other hand, has all the features you need, but comes with a steep learning curve.
The great thing is you can try them both, they are both open source and freely available. Let me know what you think.
Jump Start Git, 2nd Edition
Visual Studio Code: End-to-End Editing and Debugging Tools for Web Developers