Content Management Systems

How We Create Websites with Craft CMS

We use Craft CMS for our website projects because it is a flexible and easy to use CMS for both developers and users. In this article we would like to introduce how a project with Craft CMS works.

Building the Foundations #

Before the technical implementation can begin, the creative process must first be completed. Together with our designers, a customized design is created for our clients. Based on this design, our employees from the marketing department help to define the content for the site. Thereby the right pictures, suitable texts and up to a consistent icon set are selected. Of course, the appropriate measures for search engine optimization are also taken into account.

Implementation #

Once the design is finalized, the technical implementation is started. First, a new repository is set up for the project. This contains an empty Craft CMS project and the CI/CD configuration.

Plugins #

Before the first content elements are created, we install a few Craft CMS plugins:

  • Examples of plugins that we often use when creating websites with Craft CMS

There are various plugins and depending on the individual requirements of our clients, different plugins can be useful. We would like to present an overview of some of the most important ones that we use in most projects. 

Mix #

We use this plugin for versioning assets, which allows more efficient caching of resources.

SEO #

This plugin makes it easy to consistently assign SEO tags to any page or entry. Through the included field, each element can be perfectly prepared for SEO without much effort. Additionally, it can be used to generate sitemaps and set redirects. An absolute must have” for every Craft CMS project.

Super Table #

This plugin makes it possible to create more complex structures, which are then still easy to handle for the users. 

Other Useful Plugins #

Besides the three plugins we need for almost every project, the following plugins have also proven to be very useful and are therefore used by us regularly:

Sections #

After the plugins have been installed, the design and content are used to define the type of the sections of the page. Craft CMS distinguishes between single entries, channels and structures. 

Single Entry #

If a page exists only once (like the homepage of the website or the About us” page) it will be created as a single entry. 

Channel #

News or blogs are created as channels. These entries are generally not ordered.

Structure #

Entries that do not necessarily need their own page (but are included on other pages) or should be ordered in a certain way are created as a structure. An example for this are different services which can be selected and displayed on the page — like on our service page for customized software, where the services are created as a structure and embedded in the page.

Global Content #

Not everything on a page is stored in a separate section, certain content should be globally the same on all pages. This concerns for example contact data or similar information.

  • Examples of global content in Craft CMS

Fields #

With sections and global content we also start with the creation of fields. In fields the user can enter the actual content of the page. We pay a lot of attention to the reusability of fields, so that you can choose from a manageable number of content elements and that you have enough flexibility when creating content with the fields. We achieve this goal by always keeping the whole design in mind when creating the fields and making sure that similar elements can be grouped together. By using sliders the user is free to choose one of the possible display options.

Example Fields: Text Field

  • Example of a text field in the backend in Craft CMS

Example Fields: Photo Gallery

  • Example of a photo gallery in the backend in Craft CMS

Code #

Fields and sections alone don’t make a finished page, of course; as we create the various elements, we develop templates and styling for them. With Twig, templates can be created quickly and then styled according to the design. But what if Craft or Twig do not offer certain functionalities? Fortunately, Craft and Twig are easily extendable with modules and (self-written) plugins. For example, if you need an extract of why a result is displayed in a search, you can write a Twig extension for that. If you want to send an e‑mail notification to certain user groups when new users are created, you can develop a simple module for that. And creating such an extension has become even easier with the new Craft Generator.

Conclusion #

With Craft CMS, we can create customized websites for our clients that meet our high quality standards. If you need help with your web project, send us an email and make an appointment for a free initial consultation. Our team is looking forward to hearing from you.