Opencart templates: why you should think twice before using them

To create OpenCart-based online stores, developers often use ready-made templates that are easy to install, have good functionality and stylish design. Templates have been designed to make it easier for programmers and designers to create new sites faster. But is everything really as good as it seems at first view?

WBE's specialists shared their impressions and work experience with ready-made templates for the development of online stores:


Roman Bilyak, OpenCart-developer:
OpenCart templates are a good solution for those who want to develop an online store for a short period of time, but they have their disadvantages:
1. Sometimes templates include a large number of modules that add their own code to OpenCart core code; these modified files are stored in the directory (* system / storage / modification / *). As modules change the code and OpenCart starts to work through modified files, it is sometimes impossible to install other modules. Or, if they are installed, they may not work correctly due to the changed functionality, since all modules are developing under the standard version of OpenCart.

2. The modules add a code that processes information in a certain way and writes into variables, which are displayed on the front-end in the template. The old code that is no longer used is not removed. As a result, it employs a code that does not accept participation in the work of the site. Such a “dead code” can request to the database, and even worse - requests can be in a loop (e.g. menu generation). As a result, the site begins to load very slowly, the load on the database grows.

3. Modules can use additional libraries located in (* system / library / *). These libraries may be old. Often they can be written still in the old style of PHP4. This code will not work on PHP7.

4. Modules are not test properly and they encounter elemental errors.

5. There are problems with architecture. Sometimes the modules are written in such a way that they perform many unnecessary and unoptimized database queries. For example, one module of the popular OpenCart template, instead of extracting 9-15 items from the database that are displayed on the category page, in practice pulls out all products from the category (the paging and sorting work the same wrong way). As a result, pages with products load tens of seconds, and sometimes even minutes, if there are many products in the category.


Lyubov Kurach, UI / UX-designer:
I don’t like to work with templates for the reasons:
1. Typically, templates aren’t ready-made design solutions, as their developers position them. After all, as practice shows, customers always need many edits to the finished template.
2. Sometimes it would seem even minor edits that require substantial processing of a template that engages other members of the team (frontend-developers).
3. Using a template, I can’t fully realize my own design skills and abilities. Processing a ready-made template usually takes more time than designing a site from scratch.
4. Templates are imperfect. Often there are many bugs in them, which are not noticeable at first sight but are clearly viewed in the process of work.


Anna Karpovych, business analyst:

1. Limited functionality that may not meet the customer's needs (business goals).
2. Probability to purchase a template with errors.
3. The need to fix someone else's code to correct errors and add functional. As a result, there are time delays in the development process.
4. Over-spending of money, due to additional time expenditures.
5. A template can be targeted to an audience that does not meet the business goals of the site. Individual design is developed under a clearly defined target audience and the needs of a particular customer.
6. Template developers are indifferent to SEO-optimization of pages - so they often place common phrases in the tags <h1>, <h2>, such as <h1> Registration </ h1> <h1> Your account is created! </ H1> <h1 > Exit </ h1> etc.


If you still decide to use a ready-made template to create an online store, we recommend doing this in the following cases:
• You will not change it and it fully meets the functional requirements of the site.
• You are not planning to develop a high-loaded site with a lot of products.
• You have found good examples of using this template by other companies.