Custom OpenCart Theme Development: Design, Layout, Integration

Ready-made themes from the [OpenCart](https://docs.opencart.com/) marketplace are often overloaded with unused code: dozens of options, sliders, and fonts that a particular store doesn't need. This leads to slow loading and poor Core Web Vitals scores — LCP > 3 s, TTFB > 500 ms. A custom theme solve

Development and maintenance of all types of websites:

Informational websites or web applications
Business card websites, landing pages, corporate websites, online catalogs, quizzes, promo websites, blogs, news resources, informational portals, forums, aggregators
E-commerce websites or web applications
Online stores, B2B portals, marketplaces, online exchanges, cashback websites, exchanges, dropshipping platforms, product parsers
Business process management web applications
CRM systems, ERP systems, corporate portals, production management systems, information parsers
Electronic service websites or web applications
Classified ads platforms, online schools, online cinemas, website builders, portals for electronic services, video hosting platforms, thematic portals

These are just some of the technical types of websites we work with, and each of them can have its own specific features and functionality, as well as be customized to meet the specific needs and goals of the client.

Our competencies:

Frequently Asked Questions

Latest works

  • image_website-b2b-advance_0.webp
    B2B ADVANCE company website development
    1414
  • image_web-applications_feedme_466_0.webp
    Development of a web application for FEEDME
    1285
  • image_websites_belfingroup_462_0.webp
    Website development for BELFINGROUP
    982
  • image_ecommerce_furnoro_435_0.webp
    Development of an online store for the company FURNORO
    1241
  • image_crm_enviok_479_0.webp
    Development of a web application for Enviok
    982
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Website development for FIXPER company
    995

Ready-made themes from the OpenCart marketplace are often overloaded with unused code: dozens of options, sliders, and fonts that a particular store doesn't need. This leads to slow loading and poor Core Web Vitals scores — LCP > 3 s, TTFB > 500 ms. A custom theme solves the problem radically: we write only the code your store actually needs. Over several years, we've developed more than 30 unique themes for OpenCart 3.x and 4.x, and each undergoes a performance audit before deployment.

Our approach is engineering-driven, without marketing promises. We use a modern stack: Twig (OpenCart 4 templating engine), CSS preprocessors, and Vite-based build for production optimization. The result is a theme that perfectly matches the design, loads fast, and is easy to maintain. Get a consultation for your project.

Why is a custom OpenCart theme faster than a ready-made one?

Ready-made themes contain many options (color schemes, layout switchers, sliders) that are often unused but still loaded into memory. This increases CSS/JS size and the number of requests.

A custom theme includes only the necessary styles and scripts. We control every byte: minify, bundle files, add caching. Result: LCP < 1.5 s and TTFB < 300 ms on typical hosting.

Additionally, we implement proper semantics and microdata (schema.org, JSON-LD), which positively impacts SEO.

What is included in custom theme development?

Stage Result Time
Analysis of requirements and design mockups Page structure prototype 1-2 days
Basic template markup (header, footer, navigation) Responsive Twig templates 2-3 days
Catalog and product page integration Templates with options, gallery, filters 2-3 days
Cart and checkout User flow without errors 2-3 days
Mobile and tablet adaptation Mobile-first layout with srcset 1-2 days
Testing and fixes Cross-browser compatibility 2-3 days
Documentation and handover Installation and setup instructions 0.5 day

After each stage, we demonstrate intermediate results on a staging server.

How do we build the theme architecture?

OpenCart 4 uses Twig — a flexible templating engine with block inheritance. We create an independent theme that overrides only the necessary files; the rest is taken from the default theme.

catalog/view/theme/{theme_name}/ ├── template/ │ ├── common/ │ │ ├── header.twig │ │ ├── footer.twig │ ├── product/ │ │ ├── category.twig │ │ ├── product.twig │ ├── checkout/ │ │ ├── cart.twig │ │ ├── checkout.twig └── stylesheet/ 

Assets are included via the theme controller using $this->document->addStyle() and addScript(). For production, we run npm run build, which generates hashed files for cache-busting.

How do we ensure high performance?

We apply several techniques: tree-shaking for CSS/JS, bundle splitting for catalog and checkout pages, and Edge Functions for dynamic caching. The result is minimal bundle size and instant response.

Comparison of custom vs. ready-made theme

Parameter Custom theme Ready-made theme
CSS/JS size ~50 Kb ~200-500 Kb
Number of requests 10-15 30-50
LCP (typical) < 1.5 s > 3 s
Responsiveness Mobile-first Often poor
Microdata Yes Not always
Support 30 days No

Typical mistakes in OpenCart theme development (and how to avoid them)

  1. Ignoring Twig caching. Without caching, each request compiles templates — CPU load increases. We enable caching in production.
  2. Incorrect handling of product options. We use select and radio types with price updates via JavaScript without page reload.
  3. Missing lazy loading for images. Gallery is built with srcset and loading="lazy", the first image uses fetchpriority="high".

Warranty and support

We provide a 30-day warranty for hidden layout and integration defects. If you find a display error on any device after launch, we fix it free of charge. Post-release maintenance is also available on request.

Our experience: many years working with OpenCart, participation in high-load commercial projects, knowledge of all platform versions. We use best practices — from Repository pattern for database work to Suspense for complex interfaces.

If you need a similar theme, order development — contact us. We will evaluate the project and offer the optimal solution.

Example product card template

Key variables in product.twig:

{{ product_id }}, {{ name }}, {{ description }}, {{ model }} {{ price }}, {{ special }}, {{ tax }} {{ rating }}, {{ reviews }} {{ manufacturer }}, {{ manufacturer_href }} {{ thumb }}, {{ images }} {{ options }} {{ meta_title }}, {{ meta_description }} {{ canonical }} 

For product variants, we use select and radio types with price updates via JavaScript. The image gallery is built with srcset and loading="lazy", and the first image uses fetchpriority="high".

The full template code and JavaScript for adding to cart are available upon ordering the service.