Everything you need to know before building OpenCart store in 2023
If you were looking for self-hosted, free, open source e-commerce platform, you probably noticed that one of the most popular solutions is OpenCart.
OpenCart can be a fine shopping cart platform for selling physical and digital products. But you should know that it is quite a bit different than most of other popular open source software. So before installing OpenCart I recommend you to read this guide to make sure that OpenCart is right for you.
You’ll also get some information that is not available in the official OpenCart site – it might change your opinion about OpenCart, for better or for worse. Think of this article a time saver.
Article shortcuts:
- Why OpenCart is popular e-commerce platform
- How OpenCart is different compared to other free self hosted e-commerce solutions
- Which OpenCart version to use
- Can you update OpenCart version in your store?
- Do you need a developer to build and run OpenCart store?
- OpenCart extension versions and support
- OpenCart templates, or lack of them
- OpenCart modification systems
- OpenCart documentation, or lack of it
- OpenCart release schedule and upcoming features
- Why OpenCart is so much… different
- Should you use OpenCart for your online store?
Why OpenCart is popular e-commerce platform
I can’t give you any real numbers how many OpenCart stores are built and currently working – there are no actual stats. But after selling OpenCart extensions (plugins) for almost a decade I can clearly say that there are more than 10 000 active OpenCart stores around. The number could be massively larger though. There are few good reasons why OpenCart is popular.
First – OpenCart itself is free shopping cart solution. You can build a fully working online store, and the only thing you’ll need to pay for is your website domain and hosting. The whole shopping cart is completely free. You could have all the basic shipping methods, payment methods, unlimited number of products and categories, product filters, attributes without spending a cent.
Second reason why OpenCart is popular – setting up a basic online store (adding products and categories, managing orders) is probably the most straightforward and easy thing to do. Most of my clients use OpenCart stores for years without need of any help. If you compare one of other popular e-commerce solution WooCommerce with OpenCart, products and categories are much easier to deal with, especially for those who have no experience with using Content Managements Systems and e-commerce platforms.
Third reason – everyone who has at least some experience with PHP can build extensions, and can make modifications to the store with ease. You don’t need to learn specific frameworks or have advanded coding skills.
How OpenCart is different compared to other free self hosted e-commerce solutions
So far you’re probably thinking that OpenCart might just be the best solution. And it free!
Well, there’s a catch. Or a massive bag full of all sorts of surprises. Let’s begin with the most popular question in OpenCart community.
Which OpenCart version to use
If you’ll check official OpenCart website’s Downloads section, you’ll see that latest version of OpenCart (at least at the time when this article was published) is 4.0.1.1.
If it was WooCommerce, Craft Commerce or almost any other software, you would download the latest version of OpenCart without even thinking, and would install it to your server.
OpenCart is different. Current latest OpenCart version which is available in OpenCart website is not ready for production. It’s somewhere in the middle of development. You’ll find bugs everywhere – in control panel, in fontend. Customers won’t even be able to complete a purchase. Funny thing is that the state of the version is not documented in OpenCart website.
You may download latest OpenCart development version from Github – some of the issues will be sorted. But it’s still a development version, so there is no guarantee that you will not bring home different issues with the Github release.
My personal recommended OpenCart version to use is v3.0.3.2. Yes – it is three years old, and it runs best on PHP 7.3… It has some bugs, but they’re not deal breakers. You can install this version of OpenCart and you’ll be sure that all the basic functions of OpenCart work fine. Besides, most popular OpenCart templates and extensions support this version of OpenCart.
Can you update OpenCart version in your store?
OpenCart cannot be updated from one version to another as easy as most other popular shopping cart solutions. There is no native OpenCart updater in it’s core so you can’t update it’s core, templates or extensions automatically.
You may update the OpenCart core manually from one minor release to another (for example from v3.0.3.2 to v3.0.3.3) by overwriting core files, and most of the time this kind of update works fine. But you should make a complete backup of your store files (and database) manually in case something does not work as you hoped.
Upgrading OpenCart from one major version to other (like from v2.x to v3.x or from v3.x to v4.x) is a complete no no. OpenCart database does not change much, but core changes all the time drastically. So the best way to update OpenCart from one major version to another is to create a new store, move products, orders and other information manually (including related mysql tables), install and setup new version of template and extensions manually. To make things actually work you’ll need an OpenCart developer who will have lots of work to do.
Do you need a developer to build and run OpenCart store?
OpenCart installation is an easy task – you don’t need a php developer for that. Basic store setup is also quite simple. But if you’re planning to customize template, install third party extensions or templates, make store backups, you’ll definitely need a developer.
Once OpenCart online store is fully configured and is running with all shipping methods, all payment methods and other needed functions, then OpenCart store can run for years without developer help. Until you need to add new extensions.
OpenCart extension versions and support
Latest version of OpenCart is built this year, but if you’ll look at OpenCart forum you’ll notice that people still use all versions of OpenCart. Even those which were built 10 years ago.
There are two reasons for that. First, as I already mentioned, is that OpenCart is not easily upgradeable.
Second reason – lots of OpenCart template and extension developers don’t bother building their software for all OpenCart versions. It happens because some developers don’t have time to rebuild their extensions after few year when new OpenCart version massively changes how things work. The other reason – lots of developers left OpenCart because of all these inconsistency reasons.
So before installing OpenCart version make sure to check if all extensions you need actually work with OpenCart version you want to use. Otherwise it might be too costly to rebuild extension almost from scratch.
One more important thing about OpenCart extensions. There are no strict rules how OpenCart extensions should be built, and coder’s barrier to entry is low. So I don’t recommend to install any extensions to live production OpenCart stores. Especially if you’re using caching extensions, or other extension that might make you all sorts of trouble if not built properly, or if they conflict with other extensions. Have a clone of your working store for testing new extensions. Otherwise you’ll get into trouble in no time.
OpenCart templates, or lack of them
OpenCart does not have many really solid quality design templates, and there’s a reason for that. OpenCart code structure, even though it’s built using MVC architecture, is basically monolithic. So if you want your theme to work with most of OpenCart extensions, you either need to build your template using default OpenCart theme as a base (same bootstrap version, similar code structure), or you need to build an entire framework that would have anything and everything what store owner might need. Like the most popular OpenCart theme of all time – Journal.
All the other OpenCart themes that use different codebase will give your headaches, because either third party extension design won’t match your template style, or extensions won’t work without additional coding.
OpenCart modification systems
Again, OpenCart is a unicorn here. If you want to create an extension for OpenCart, it’s quite simple and straightforward to do. Up to the point when you notice that adding or removing things in design templates is more challenging than it should be.
One option to solve that is built-in Events system. It lets you modify core files without actually touching them. But it’s slow, quite complicated, and cannot do everything you might need to do. It’s work in progress to say at best.
OpenCart v2 and v3 versions had OCMOD modification system which can add or replace code in OpenCart’s core and templates without actually modifying the core files. It worked OK, but if two OpenCart extensions try to modify the same code with their own interpretations, one of the extensions will not work. Then you’ll need help of a patient OpenCart developer.
Sadly, OCMOD is no longer supported in OpenCart v4, so hundreds or thousands of extensions won’t work anymore. And since the other official modification system is not ready…
One more modification system for OpenCart is vQmod. It’s not official, but it’s available for almost any OpenCart version. Even though it’s not officially supported by OpenCart author, the author of vQmod updates it once needed. VQmod is better from developer’s point of view, but both OCMOD and vQmod share similar idea. They both modify core files without actually touching them. But again, if multiple modifications change the same code, you’ll have problems. But these problems are not too hard to fix, and even if these modification systems are not great, they do their work good enough. If we ignore that one is not officially supported, and the other is no longer supported.
OpenCart documentation, or lack of it
If you’ve ever used Laravel, Vue, Craft CMS, Statamic, or any other popular web software, you probably know how documentation should be written, and how useful it is.
OpenCart is an opposite to that. There is some documentation in official OpenCart website, some documentation in Github, but most if it is not updated for a while, so it may not be relevant now.
The best way to learn OpenCart is probably OpenCart forums, and OpenCart developer blogs. But don’t expect Laravel quality documentation anytime soon.
OpenCart release schedule and upcoming features
OpenCart does not have an official release schedule. Nor does it have detailed plans or feature release announcements. You use it as it is, and hope it won’t change too much.
Why OpenCart is so much… different
We’ll it’s mainly because OpenCart core is built, developer and supported by a single person who has his own opinion and ways to do things. And he’s not interested in anyone’s opinions and suggestions. That’s probably the most important paragraph of the article if you were planning to build a large online store using OpenCart.
So should you use OpenCart for your online store?
If you want to use free self hosted e-commerce platform which works flawlessly out of the box, and has clear vision of future, then OpenCart is not for you. Better go with WooCommerce, or look for other alternatives like Shopify.
But OpenCart can still be a solution for some of you. If you need to have thousands of products in your store, OpenCart will be faster than WooCommerce, especially for store administrators. If you want to run your store in few languages, OpenCart is a better choice. Too bad that to get most of OpenCart you need to be a PHP developer, or have a patient developer who would want to deal with a messy, poorly documented platform which does not have clear future. At least older OpenCart stores run for years without any help.