DFDS embarked on a digital transformation in 2017. We had a web presence in 15 markets with a significant amount of content for each; one market alone had more than 2000 pages.
We decided to replace our sluggish, traditional CMS with Contentful — a headless, API-first CMS. This gave us a way to structure our content for distribution across multiple channels in 22 languages. We went from siloed content and slow time-to-market speeds to quickly deploying content for new languages and campaigns.
In a series of blog posts, I’ll describe how we use Contentful to build automation that helps us create and manage reusable content on a large scale. This first post gives an overview of our digital transformation.
DFDS, a shipping and logistics company, operates B2B and passenger transport networks all across Europe. We have one of the largest networks of ferry routes in and around Europe, and we provide door-to-door transport solutions to manufacturers of consumer and industrial goods. That’s 40.1 meters of freight lanes across 24 routes, 31 offices and 18 warehouses. In 2018 alone, we moved 5.4 million passengers and 417,000 tons of goods.
On our old CMS, we spent most of our time copy and pasting content because deploying structured data proved difficult. Deployment was cumbersome and slow, and consistency across various international websites almost non-existent. The company had trouble consolidating, managing and distributing content in a sensible manner.
We wanted to scale our web presence into 22 centrally-managed markets with reusable content that aligned our narrative across locales. We needed a solution that would help us address the content creation and management issues, and get us out of content (mis-)management hell.
Contentful benefits both internal users and external users. Headless CMSes keep content consistent across all channels, helping customers stay informed and happy. This style of content management is based on the COPE principle (“create once publish everywhere”), which deals with how a website is rendered on a variety of devices from the same source data. The implementation of the COPE principle typically involves writing front-end code tailored for various devices and screen sizes. At DFDS, we did this by using react.js and the Contentful Delivery API.
Contentful also helps save time for content creators by streamlining authoring and management of content. This is where you see faster time-to-market speeds for new content (e.g. marketing campaigns), and productivity gains for editors, marketers and translation agencies. For our project, we used a combination of node.js and the Contentful Management API.
In this blog series, I’ll focus specifically on how we improved the content management experience for content creators and managers.
Contentful provides a modular approach to content and a convenient web app for editors. They moved us from a page-centric approach to a topic-centric approach, with an emphasis on reuse. Selecting Contentful for the needs of our content layer was the first step toward digital transformation.
We were able to improve reusability without additional tooling. For example, we reused some of the most common text blocks hundreds of times.
However, the modular approach came with an additional layer of complexity. Since we now had our pages broken down into smaller chunks, there was a much larger quantity of content. Across 22 markets and all of DFDS’s business units there are 2225 pages, which divide into more than 100,000 entries in our Contentful setup. Additionally, the relationships between entries also need to be maintained. The Contentful web app did a good job in the startup phase, and we thought about the following questions:
How do we work with the large quantity of content (bulk operations and basic CMA use)?
How should we manage translation and localization within this framework?
How should we break our pages into chunks in a sensible and flexible way?
We realized that if we did not take full advantage of Contentful’s more advanced features, we risked wasting our investment and returning to the same content management hell that we were trying to avoid. With the help of the CMA, we were able to build various tools that allowed us to achieve our goals. The table below shows an overview of our tools, the problems they solve and their benefits.
|Example problem at DFDS||Types of tools built for the solution||Situation before automation||Situation after automation|
|Going live with a new locale (populating and publishing 2000+ URLs)||Tools for modifying content entries at large scale||1+ day of error-prone manual work||Less than 2 minutes execution time|
|Sending and receiving translations for 2000+ pages in 22 locales||Translation system, tools for large scale content export/import||25+ months of employee time, across all locales||Less than 24 hours total machine execution time|
|Data modeling and schema migration||Migration system, other tools for modifying the data model||Endless pain of being stuck with an “organically grown” data model||A clean and flexible data model|
With the content management tools we built on top of the CMA, we were able to automate some of the most tedious and time-consuming aspects of the process. Out of more than 100,000 content entries, at least 66% of them went through some kind of CMA-based automation tool. These tools helped DFDS save at least 25 months of tedious and repetitive work, and improved the consistency and reliability of the content.
The posts that follow in this series will address key areas of content management:
Bulk operations on content
Translation and related issues
Data modeling and schema migration
For each part, I’ll dive into why we needed automation, the benefits it provides, and what it took to get there. For each, I’ll share a business case, architectural diagrams, and code examples to demonstrate how we can build powerful tools that create strong and lasting business impact.