We use cookies to make your viewing experience better. By accepting you consent, you agree to our Cookie policy

Accept
Improve your Craft CMS skills

The Main Features Of Craft CMS

10 min read
Main Features Of Craft CMS

Struggling to find a content management system that balances power with intuitive content editing? Craft CMS provides the user-friendly yet fully customizable capabilities lacking in other options. With limitless flexibility for developers and a streamlined interface for editors, this article explores the standout features enabling Craft CMS to excel at all types of digital projects.

Craft CMS is a flexible, user-friendly content management system that provides robust tools for developers to build fully customized sites, while also enabling intuitive content editing for non-technical users. Key features include customizable fields and sections, granular user permissions, a thriving plugin ecosystem, built-in SEO tools, and powerful APIs for headless capabilities.

History and Development of Craft CMS

Origins and Creation of Craft CMS

Craft CMS was originally created in 2013 by Pixel & Tonic, a web design studio based in Champaign, Illinois. The founders, Brandon Kelly and Jake Zimmerman, envisioned Craft as a user-friendly content management system that would be powerful yet flexible enough for both simple brochure sites and complex web applications.

Frustrated by the limitations of other systems like WordPress and Drupal, Brandon and Jake set out to build a CMS tailored specifically for web designers and developers. They wanted to create something that allowed complete control over front-end markup and design while still being easy for end clients to use. This genesis of Craft CMS was focused on a finely tuned editorial experience for managing content.

The first public release of Craft came in April 2014 after over a year of private beta testing and refinement. Even in this initial version, Craft incorporated key features like flexible content fields, a clean HTML-focused control panel, and front-end agnostic templating using Twig. It provided the perfect balance of a user-friendly interface for content creators and powerful development tools for building robust websites.

Major Milestones in Craft's Development

Since its first release, Craft has seen continuous evolution through major updates and milestones that have expanded its capabilities. Key developments include:

  • Craft 2 - Launched in 2015, Craft 2 represented a major overhaul to add more custom field types, user permissions, localisation support, and other significant improvements.

  • Craft Commerce - Also arriving in 2015, Craft Commerce delivered full-featured ecommerce functionality for the first time. This allowed Craft to power online stores.

  • Craft 3 - In 2017, Craft 3 was rebuilt from the ground up using Yii 2 for increased performance, stability, and scalability. It was a major leap forward.

  • Native Matrix fields - Native support for Matrix fields was introduced in 2019, making complex content structures easier.

  • Headless capabilities - Recent years have seen headless and API-first features like GraphQL integration to future-proof Craft.

With each release, Craft has matured into an incredibly flexible CMS suitable for all types of digital projects, from simple websites to complex web applications. Its user base and community have grown exponentially over the years.

Recent Developments and Roadmap

Craft continues to evolve at a rapid pace through both minor routine updates and larger periodic releases. Recent improvements have focused on enhancements like Live Preview, content scheduling, and multi-site management.

Looking ahead, Pixel & Tonic have an exciting roadmap planned for Craft that will push capabilities even further. Some upcoming developments on the horizon include:

  • Expanded headless and API features to cement Craft as a top headless CMS.

  • More out-of-the-box integrations with modern development workflows.

  • Continued improvements to core editor experience.

  • Increased multilingual and localisation abilities.

Craft's future looks bright with the Pixel & Tonic team dedicated to constant innovation. The CMS is well-poised to remain a top choice amongst web professionals and continue increasing mainstream adoption thanks to its unique blend of power and usability.

Benefits and Advantages of Using Craft CMS

Flexibility and Customization

One of the standout strengths of Craft CMS is the immense flexibility and customization it provides for developers. The entire system is built to be adaptable to virtually any website build.

Craft gives complete control over front-end markup and design. Developers can craft custom Twig templates and easily output content via APIs exactly how they want. There's no being locked into restrictive frameworks or rigid site structures.

The CMS is also highly extensible through its own templating language and a vast plugin ecosystem. Developers can configure and customize Craft in endless ways to meet specific project needs. Everything from fields and sections to user permissions can be tailored and expanded.

This extreme adaptability enables Craft to power sites ranging from simple portfolios to complex web apps. The only limit is the developer's imagination. Craft CMS can be molded to match unique workflows and requirements.

Intuitive Interface and User Experience

While Craft offers expansive capabilities for developers, it also provides an intuitive, user-friendly interface for content creators and site managers.

The clean, modern control panel allows everyone from novice users to advanced developers to quickly orient themselves. Core areas like content, user management, and settings are conveniently organized and accessible.

When it comes to creating and organizing content, Craft shines. Flexible fields like Table and Matrix make building complex entry forms simple. The live preview editor enables real-time editing and rearrangement of content.

Everything from the field-type UI to drag-and-drop interfaces is designed for efficient usability. Common tasks like adding images, embedding media, and linking entries are streamlined.

This focus on an elegant yet functional user experience helps non-technical users comfortably manage sites built with Craft without compromising its behind-the-scenes power.

Robust Ecosystem of Plugins and Integrations

To extend its capabilities even further, Craft boasts a thriving plugin ecosystem with over 500 plugins available. This vast selection enables tackling nearly any feature or integration need.

Plugins exist for features like advanced access control, multiple language support, and headless APIs. For integrations, plugins connect Craft to ecommerce platforms, CRMs, marketing automation tools, and more.

Having access to this robust collection of plugins makes it possible to augment and expand Craft in aligned ways to meet project goals. Craft's open API also simplifies building custom plugins when existing options don't suffice.

With the combination of extreme customizability and a flourishing plugin market, Craft can adapt to any workflow or stack. This flexibility and interconnectedness are key advantages for tackling complex digital projects.

Installation and Configuration of Craft CMS

Server Requirements

To run Craft CMS, your server needs to meet the following requirements:

  • PHP 7.0 or later

  • MySQL 5.5+ or MariaDB 5.5+

  • At least 256MB of RAM allocated to PHP

  • Mod Rewrite enabled

  • cURL, GD, PDO, and Zip extensions installed

For production sites, Craft recommends using PHP 7.2 or 7.3 for best performance and security. The CMS can run on shared hosting accounts that meet the server requirements.

For local development, Craft can be installed on MAMP, XAMPP, Laragon and other common PHP/MySQL environments. Craft also provides a first-party local dev tool called Craft CLI.

Installation Methods

There are a few different ways to install Craft CMS:

Composer - The recommended method is via Composer, which handles the entire install process including dependencies. After installing Composer, run composer create-project craftcms/craft to initialize a new Craft project.

Softaculous - Many hosts provide Craft installation through Softaculous auto-installers. This method handles file uploads and database configuration automatically.

Manual Upload - For those without access to Composer or auto-installers, manual upload involves copying Craft's files to the server and configuring web/index.php. The database will need to be imported separately.

Git Clone - Existing projects can be cloned from GitHub via git clone https://github.com/craftcms/cr.... Dependencies will need to be installed afterwards with Composer.

Craft also maintains complete installation guides for various platforms like cPanel, Plesk, WP Engine, etc. There are ample options for getting Craft running on most environments.

Configuration Settings

After installation, Craft will require some initial configuration. Here are key settings to cover:

General Config - This contains options like site name, language, and timezone. The Control Panel trigger word can be set here.

Email Settings - For sending email notifications, Craft will need valid transport and mail settings configured.

User Settings - At least one administrative user account will need to be created. User permissions and roles can also be set up.

Public and Private Settings - Determine which environment modes you want to use for development, staging, production, etc.

Security Settings - Generate new values for security keys SALT and TablePrefix. Enable Two-Factor Auth.

Asset Settings - Configure where local and cloud assets like images will be stored and accessed.

Cache Settings - Setup caching preferences for templates, elements, and more based on environment needs.

Craft's modular approach allows developers to enable and configure only what's needed for each project. Following best practices for security, performance, and environments will ensure a smoothly running CMS.

Craft CMS User Interface and User Experience

Admin Panel and Navigation

Craft provides an incredibly intuitive admin interface for managing sites. The clean, uncluttered layout allows users to easily navigate between key areas.

The left sidebar contains top-level navigation links for navigating between sections like Content, Users, Settings, etc. Icons and labels make these self-explanatory.

Within sections, logical tabs organize related options. For example, the Content section contains Entries, Categories, Assets, and other content item types. Craft's admin panel uses clear IA principles.

Reactive elements like collapsible menus, hidden sidebars, and popovers keep things focused without sacrificing depth. The UI scales responsively across device sizes.

Admins can customize things like dashboard widgets, toolbar shortcuts, and profile settings. But overall, Craft's admin panel provides a polished, unopinionated base for working in.

Fields and Content Editing

Craft's field system offers endless options for modelling content. The intuitive fields UI enables rapidly building custom entry types, with different field layouts per type.

Field types like Plain Text, Rich Text, Images, Dropdowns, Number, and many more allow capturing all types of content. Special field types like Table, Matrix, and Super Table empower complex, nested data structures.

The content editing experience is just as user-friendly. Live Preview enables real-time editing while seeing changes reflected on the front-end. In-line asset selection makes embedding images and files simple.

Everything from tagging and versioning to translation and approval workflows are thoughtfully implemented. Craft removes headaches from creating and managing content for users of all skill levels.

Front-end Templating

On the front-end, Craft gives full control for building site templates with its Twig templating engine. Content can be output via Apis in JSON, GraphQL, or XML as well.

Developers have complete flexibility over markup, styling, and logic returned to visitors. Templates can be as simple or complex as needed, going from static brochure sites to dynamic web apps.

Craft provides hundreds of Twig filters, functions, and tags for manipulating data. Theme hooks and template macros enable clean organization. Front-end editing gives clients previewable control over content.

Built-in modules like Users, Categories, Tags, Navigation, and more make incorporating common elements easy. Overall, Craft strikes the perfect balance between back-end usability and front-end power.

Key Features and Functionality of Craft CMS

Flexible Content Modeling

One of Craft's biggest strengths is the extreme flexibility it provides for structuring content. The field-based system allows limitless custom content modelling.

Hundreds of built-in field types like Plain Text, Rich Text, Numbers, Dropdowns, Images, and more enable capturing all types of content. Advanced field types like Table, Matrix, and Super Table create opportunities for nested or relational data.

Fields are assembled into customizable Sections which define the content structure. Unique field layouts can be designed for each Section. Fields can also be reused across Sections.

This modular approach means Craft can accommodate everything from simple content types to complex, structured data. Craft removes restrictions around content architecture found in other CMSs.

Developers have full control to design custom field and Section blueprints tailored to the project. Clients can then easily create flexible content models matching their unique needs.

Robust User Roles and Permissions

Craft provides granular control over user accounts, roles, and permissions for managing access.

User Accounts store individual user profiles with attributes like names, emails, and passwords. Accounts can be created for clients, editors, admins, and more.

User Groups allow assigning accounts to different roles like Authors, Editors, Publishers etc. Sets of permissions are defined per Group.

The permissions system controls who can access what across areas like viewing or editing Entries, updating Assets, managing Users, and more.

Advanced settings like email verification and disabling accounts help secure access. Overall, Craft enables dialling in user permissions for total management over who can do what in the CMS.

Expand Functionality with Plugins

The Craft Plugin Store contains over 500 plugins that add new features and integrations.

Popular options include:

  • SEOmatic - Advanced SEO tools for optimizing pages.

  • Custom Fields - Build custom field types beyond the native ones.

  • Categories - Expanded taxonomy and category management.

  • Contact Forms - Create contact forms for capturing submissions.

  • eCommerce - Add shopping carts and payment processing.

Discover and test plugins in a sandbox environment before pushing them to production. Craft's plugin architecture makes safely extending functionality simple yet powerful.

Developers can also use Craft's APIs and documentation to build totally custom plugins tailored to a client's needs. The thriving plugin ecosystem allows for elevating Craft's capabilities to new levels.

Built-in SEO Tools

Right out of the box, Craft CMS provides developer-oriented SEO tools for improving optimization.

The Template settings include options for setting site-wide metadata like page titles, descriptions, and social sharing tags that get populated across all pages.

Individual entries can override the global template settings as needed. Variables like {% paginate %} and {% redirect %} also assist with SEO.

Most importantly, Craft generates clean, semantic HTML that is optimized for SEO versus bloated markup from page builders. This sets a solid SEO foundation.

While not as extensive as dedicated SEO plugins, Craft CMS still provides essential SEO features and controls for developers.

Developing Websites and Apps with Craft CMS

Templating with Twig

Craft CMS uses the flexible Twig templating language for building front-end markup and logic. Twig provides full control for developers to build custom sites and applications.

Twig templates contain a mix of HTML and Twig tags/filters for manipulating data. The {% %} delimiters denote logic like if statements or for loops for iterating over arrays. {{ }} prints dynamic values into the template.

Hundreds of built-in functions like label(), paginate(), shuffle(), and more simplify complex operations. Macros allow encapsulating reusable code blocks.

Craft passes globally available objects like craft and currentUser to provide template context. Developers can output content, categories, menus and more via APIs like entry.title.

Twig enables complete front-end flexibility no matter the project complexity. Paired with Craft's APIs, it unlocks robust web development capabilities.

Craft CMS APIs

In addition to Twig, Craft provides REST APIs for programmatically interacting with content and data.

The GraphQL API enables querying content via flexible GraphQL schemas and outputting results as JSON. The REST API provides CRUD endpoints for elements, users, etc.

From a front-end JavaScript app, these APIs enable pulling content on-demand. Server-side, plugins and scripts can utilize the APIs to build custom services.

Examples use cases include:

  • Having a single-page app query and display content via GraphQL.

  • Building a custom CLI tool that checks for user updates via the REST API.

  • Developing a plugin that manipulates data using the APIs.

Craft's API plugins provide limitless opportunities for integration and automation.

Headless CMS Capabilities

Craft CMS can function as a headless CMS using its APIs to decouple content from front-end presentation.

In this model, Craft acts solely as a content repository and delivery engine. Content is structured once in Craft and then syndicated across channels via APIs.

Front-ends consume content through endpoints like GraphQL and output it using any language or framework - React, Vue, Angular, etc. Craft orchestrates content flow behind the scenes.

This detachment enables greater flexibility for developers in choosing technologies. It also allows content reuse across multiple platforms - websites, mobile apps, displays.

Craft's blend of usability and API-driven flexibility make it an ideal headless CMS for modern, omnichannel digital experiences.

Building Websites with Craft CMS

Planning and Architecture

The process of building a website with Craft CMS should begin with thoughtful planning and architectural design. Rather than jumping straight into development, it is wise to start by mapping out the goals and structure of the site through stakeholder collaboration and wireframing. Outlining the major content areas needed based on objectives provides a blueprint for the build.

With this site map established, content modelling can commence using Craft's flexible fields and sections. The various types of content to be captured should be envisioned, and appropriate user-friendly fields like rich text, tables, or images configured into customized sections.

Relationships between content types like entries, categories, authors, etc can also be diagrammed to clarify how site architecture and taxonomies will connect. Wireframes of key template pages further assist in translating the sitemap into an interface layout. Taking the time upfront to craft considered content modelling and information architecture ensures the Craft backend will powerfully accommodate the project requirements.

For large, complex sites, modular design principles separating concerns into logical sections can streamline development. An editorial content calendar can also help plan out content workflows and production. Getting the foundations right in the planning and architecture phase establishes the trajectory for an organized, successful build.

Setting up Roles and Permissions

With the Craft CMS backend architecture and content modelling complete, the next step is configuring the content team roles, permissions, and user accounts within Craft CMS. To start, user accounts should be created for all individuals involved including editors, different types of administrators, developers, designers, and any other content roles.

With the accounts generated, appropriate user groups can be defined such as “Editor”, “Designer”, “Developer”, “Producer” etc. Default permissions can then be set at a role level, for example limiting the ability to delete images and files to administrators. More advanced custom permissions can also be assigned on a user or group basis as needed.

Investing effort into thoughtfully organizing users, roles, permissions, and access rights during the setup process helps circumvent issues down the road. It also makes expanding team members and new roles in the future straightforward. Overall, taking the time to methodically plan user accounts, groups, and permissions is an important part of any smooth and scalable Craft CMS project.

Front-end Development

With the back-end content architecture modelled out, the exciting work can begin on bringing the front-end website to life through HTML, CSS, JavaScript, and Craft’s Twig templating engine.

Twig enables dynamically outputting all content, navigation, and data structure in the CMS into customized page templates. developers have full control over leveraging Twig while building out the HTML, CSS/Sass, JavaScript/TypeScript, and additional technologies that craft the presentation layer and interactivity. Custom Twig functions and plugins can extend functionality as needed. Front-end builds and deployment pipelines assist with automating testing and shipping code changes.

The separation between the back and front end enables each layer to evolve and scale independently, connected via Craft’s APIs. This means the front-end can use any framework, design language, and development stack suitable for rendering a high-performance, design-driven experience.

While Craft CMS empowers flexible content authoring on the backend, developers enjoy full creative freedom when building the bespoke presentation layer tailored exactly to brand and UX goals. This blend offers both an optimized out-of-the-box CMS and limitless customization potential.

Managing Craft CMS Websites

Content Organization

Keeping content neatly organized in a Craft CMS website is crucial for ensuring the editorial experience remains streamlined as the site grows. Thoughtfully structuring sections, categories, tags, types, and hierarchy from the start provides long-term findability and sustainability.

Sections should be utilized to separate major content types, such as blog posts, case studies, jobs, and more. This automatically divides content into logical buckets. Entry types can take organization further by breaking sections into sub-types, for instance dividing blog posts into News, Guides, Opinions, and Reviews for easier editorial distinction. Liberal use of categories and tags on entries creates multiple access points for finding related content, while a shared taxonomy retains clear relationships.

Enabling URL slug overrides gives editors control to optimize entry URLs for SEO without restrictive titles when permitted. Nesting entries in structure provide an indication of hierarchy. Investing in these information architecture foundations upfront pays dividends in keeping content sensibly categorized and interlinked for efficient editing.

User Management

Diligent user management is equally as important for sustaining order over the lifetime of a site. This involves regularly reviewing active user accounts and disabling any that are stale or no longer required to tighten security. When new team members or clients join, promptly configuring the proper user groups and permissions prevents access issues later on.

Similarly, disabling departed employees' accounts immediately is crucial to prevent unwanted backend access. For larger teams, having junior editors focus on drafts that then route through senior editors with higher permission levels provides a checks and balances system.

Overall, taking time to methodically manage users and permissions, and keeping the structure aligned with real organization roles and access needs, goes a long way in preventing problems and confusion.

Backups and Security

Robust backup routines and security best practices are essential for protecting any live Craft CMS site. Automated off-site backups of both files and databases should be scheduled using Craft's native tools or third-party plugins, with periodic restoration testing.

Performance monitoring provides notification about version updates, plugin vulnerabilities, or other system events needing attention. Unique and secure system keys like SECURITY_KEY should be set and protected. Environment variables and .env files are excellent for keeping API keys and other sensitive credentials isolated from code. Limiting admin panel access to VPNs and trusted IP addresses improves remote security. Following development best practices like prompt Craft updates, vetting plugins, sanitizing inputs, and regular testing rounds out a regimen focused on backup reliability and threat prevention.

Use Cases and Examples of Craft CMS Websites

Marketing Websites

Craft CMS is an extremely versatile platform for building marketing-focused websites thanks to its flexible content modelling and customization capabilities. Marketing teams can leverage Craft to rapidly create conversion-driven landing pages complete with dynamic calls-to-action, lead gen forms, popups, and on-brand design.

Promotional microsites are also easily assembled in Craft on a timeline for campaigns, product launches, announcements, and other time-bound initiatives. For showcasing products, Craft enables modelling complex product data of all types, and then displaying it through custom page layouts, components, and experiences.

Visual style guides, commonly used for showcasing branding assets, can also harness Craft’s structured content capabilities to elegantly present elements, components, patterns, and more. Non-profit organizations seeking to tell their unique stories benefit from Craft when creating interactive, mission-driven websites with compelling calls to donate. From captivating top-level websites down to targeted landing pages, Craft CMS provides the adaptability marketing teams need to engage visitors and accomplish business objectives.

Ecommerce Stores

The Craft Commerce plugin empowers building full-featured, content-rich online stores powered by the underlying strengths of Craft CMS. For boutique shops with curated products, Craft Commerce provides an ideal way to create a design-focused, elevated shopping experience.

The extensive customization potential unlocks tailoring cart flows and checkout to match unique branding imperatives. Selling subscription packages, both digital and physical, is made easy using Craft Commerce's robust recurring order capabilities. Supply chain integrations with services like shippo or inventory management systems enable tackling complex scenarios like dropshipping. Craft also facilitates creating engaging opportunities for customers via time-bound auctions, custom discount rules, promotional pricing, and more.

With powerful ecommerce functionality out of the box plus limitless front-end customization potential, Craft Commerce enables crafting online shops aligned with diverse business needs.

Blogs and Magazines

Craft CMS is an excellent choice for operating and scaling online publications thanks to its inherent flexibility. For news sites, editors can be separated across various contributor levels with differing permissions, enabling advanced drafting and publishing workflows.

Digital magazines thrive on Craft, which empowers painlessly creating custom layouts and content hierarchies tailored to long-form stories. Complex multi-author blogs with various sections, metadata tags, related links, and more are easily managed. Technical documentation, which requires tightly structured versions and pages, benefits from Craft's organization capabilities. Podcast publishing can tap into Craft to manage episodes with rich show notes, transcripts, guests, and other related content.

From niche hobby blogs to major online magazines and newspapers, Craft CMS provides the user-friendly yet customizable tools publications need to manage high volumes of diverse content. Boys By Girls is a London based magazine, and is built on Craft CMS.

Shape April 2022 HR 202
Andy Golpys
- Author

Andy has scaled multiple businesses and is a big believer in Craft CMS as a tool that benefits both Designer, Developer and Client. 

Share
Feedback
Show us some love
Email Us
We usually reply within 72 hours
Agency Directory
Submit your agency
Affiliate Partners
Let's chat