How to Integrate an External CMS to the Virto Commerce Platform

A content management system (CMS) is software that allows ecommerce site staff to create, edit, and publish digital content on web pages without knowing the code. Using a CMS radically speeds up the publication and updating of content and simplifies the way to create typical pages, group them by product categories, add animation and videos, and do many other things in web store content management

Thanks to the CMS, marketing and sales staff can manage the content of the online store without asking for any help from the developers. With a CMS, users who don’t know any programming languages can change the look of the online store, such as changing the layout of the product pages, adding banner ads, or quickly adding new sections of the website to better promote products. If CMS software did not exist, then each page would have to be created using only HTML, PHP, and other programming tools.

According to their architecture, CMS software types are divided into traditional ones versus modern, headless ones. The logic of a traditional CMS combines the back-end and front-end parts within one system. The content in this case is associated with specific technologies, architecture, and patterns of the client-server application.

Regarding an ecommerce platform definition — it is an online store management solution that allows you to manage an online product catalog and sell goods directly through a website. Most modern ecommerce platforms such as Virto Commerce can work with either a traditional or a headless CMS. Below you will see exactly how to add your favorite CMS to Virto Commerce, regardless of whether it is a traditional or a headless one.

What Is the Difference between a Traditional and Headless CMS?

A headless CMS is a fundamentally different content management system. As a rule, it is responsible only for universal content that can be used on any platform. The back end (“body”) in this approach is connected to the front end (“head”) exclusively through API (Application Programming Interface) calls. Examples of a headless CMS are Umbraco, Contentful, etc.

The logic of a headless CMS is that this software can be used with different ecommerce platforms that also support headless architecture. This allows you to use one ecommerce back end to manage the site (or sites) and mobile application, as well as automate the distribution of content across all available sites and devices.

As a result, the resources spent on web development are minimized. And management of different platforms is carried out centrally from one interface, which is convenient. At the same time, the content is flexibly configured for each individual channel.

Real time CMS integration

How to Add a Customer’s Headless CMS to the Virto Commerce Platform

Let me start by clarifying that there are different approaches to building integration with a third-party, headless CMS. The two options are determined by whether the CMS needs to work in real time or not.

The first option (Variant A) is when the CMS is able to work in real time, i.e., its response is less than 300ms and the CMS is running on a server with a high-availability functionality. High availability means that the server with installed software is able to operate continuously without failing for quite a long period of time.


In general, a browser, Virto Commerce front end and back end, as well as a third-party headless CMS, are involved in the rendering of the webpage for the online store visitor.

Variant A: real-time integration

With a headless CMS, the storefront receives the data directly from the CMS via an API and the content is rendered in the browser. The headless CMS is connected here and this makes it possible to pull up the necessary dynamic data or load static pages in real time.

Real-time integration can be built, but only if the headless CMS is high performance and has zero downtime. This is based on the fact that, if the headless CMS is not available because of any fail, the ecommerce solution will not respond to requests from the customer’s browser either.

To build integration in Variant A, two steps are needed:

  1. Add headless CMS API client to front-end application
  2. Aggregate CMS data into rendering process
non-real time CMS integration

Variant B: non-real-time integration with buffered synchronization

The other situation is when the headless CMS does not work in real time. It’s different from the previous approach by excluding point-to-point connections between the headless CMS and the Virto storefront.

In this case, in order for Virto Commerce to be able to render the page in the storefront, an asynchrony mechanism is implemented using the content buffer storage. Now the headless CMS is not required to be available constantly.

And in this case, when admin or marketing changes the content, this data enters the platform through a module that takes the content and temporarily stores it in its own storage. For example, this could be a blob storage.

When a customer opens a page, the front-end application loads ecommerce data and pulls buffered content from Virto Commerce, not the CMS, and then renders the webpage.

When staff publish content, the headless CMS triggers the event, the module in the Virto Commerce platform receives the event, and it actualizes the content.

This approach doesn’t require real-time CMS availability to keep the ecommerce solution working.

To build integration in Variant B, once again, just two steps are needed:

  1. Create a new Virto Commerce module for integration with the headless CMS
  2. Use a Virto Commerce content module as content storage
non-real time CMS integration

Integration of the Virto Commerce Platform with a Traditional CMS

When you use so-called "traditional" CMS, like WordPress or Sitecore, this software plays a front-end application role. For a traditional CMS (non-headless CMS), integration could be done by building and integrating a real-time, high-performance Virto Commerce API with the CMS.

When a customer opens a webpage, the traditional CMS loads ecommerce data from the Virto Commerce API, which renders HTML content on the webpage.
To build integration between Virto Commerce and a traditional CMS, native CMS tools are required to build web components and call Virto Commerce API.

Summary

CMS software is designed to create, publish, and promote various types of content, including articles, shopping guides, specifications, drawings, certificates, as well as product-related content in visual form, like photos and videos.

Although some CMSs have plugins that implement the basic features for B2C online trading, the CMS itself is usually not intended to operate as sophisticated ecommerce software. Moreover, the CMS cannot perform ecommerce functionality for the B2B sector, where customers expect to have various user roles, contracts, a personalized catalog, and prices.

If online business owners want to step up their content marketing efforts and generate high-volume income from online trading, they should integrate their favorite CMS and their advanced ecommerce platform. When CMS and ecommerce platforms are integrated, it will have a positive impact on the user experience.

Schedule a quick demo

Oleg Zhuk
Technical Product Owner