← Back to Awesome

Sections

Craft CMS

GitHub repository ↗ synced 2026/8/9

Craft CMS Awesome

Official list of awesome Craft CMS resources, article, and other and shiny things.

Note
Something missing? Edit this page!

Craft CMS is a flexible, extensible content management system for building bespoke digital experiences.

Contributing

Please take a look at the contribution guidelines. If you see an article or resource here that is no longer maintained or is not a good fit, please submit a pull request. We appreciate your input!

Contents

  • Core Technologies
  • Articles
  • Videos
  • Presentations
  • Praises
  • Podcasts
  • Dev Tools
  • Official Case Studies
  • Organizations Using Craft

Official Links

  • Website - craftcms.com
  • Newsletter - craftcms.com/newsletter
  • Craft Commerce - craftcms.com/commerce
  • Demos - craftcms.com/demo
  • Tutorial – craftcms.com/docs/getting-started-tutorial
  • Craft CMS 4 Docs - craftcms.com/docs/4.x - Class Reference
  • Commerce 4 Docs - craftcms.com/docs/commerce/4.x - Class Reference
  • Knowledge Base - craftcms.com/knowledge-base
  • Partners - craftcms.com/partners
  • Craft Console - console.craftcms.com
  • Repository - github.com/craftcms/cms
  • Starter Project - github.com/craftcms/craft
  • Dot All Conference - craftcms.com/events

Community

Craft Coding Challenge

A training ground for Craft CMS developers to test and improve their coding skills.

Craft Cookbook

Quick solutions to common Craft CMS problems.

CraftQuest

Unlimited access to Craft training (and more).

Discord

The official Discord community for Craft CMS.

Facebook

Like the official Craft CMS Facebook page.

Issues, Feedback, Discussions

Post feature ideas and bug reports on GitHub.

Meetups

Find a local Craft meetup.

StackExchange

Q&A for administrators, end users, developers and designers.

Twitter

Follow the conversation, official community hashtag is [`#craftcms`](https://twitter.com/hashtag/craftcms).

Mastodon

Latest news, on the newest network.

Work With Craft

Dedicated job board aimed to connect employers with Craft professionals.


Plugins

Craft 4 Plugins
Craft 3 Plugins
Developer Portal
Generator

Resources

Core Technologies

PHP

A popular general-purpose scripting language.

Yii

A fast, secure, and efficient PHP framework.

Twig

The flexible, fast, and secure template engine for PHP.

MySQL

The world's most popular open source database.

PostgreSQL

The world's most advanced open source database.

Articles

Enforcing better passwords in Craft CMS

Rias

Assets
  • 9 Tips For Speeding Up Your Imager Transforms by André Elvan/Værsågod - 12 Jun 2017
  • Creating Optimized Images in Craft CMS by Andrew Welch/nystudio107 - 9 Sep 2017
  • Responsive Images with srcset & Craft by Trevor Davis/Viget - 22 Mar 2016
  • Simple Static Asset Versioning in Craft CMS by Andrew Welch/nystudio107 - 6 Jan 2018
  • Support for Imgix in Imager for Craft by André Elvan/Værsågod - 10 Jul 2017
Commerce
  • Multi-attribute variant selection in Craft Commerce by André Elvan/Værsågod - 13 Feb 2017
Content
  • Craft CMS Content Builder: The Client Experience by Cosmic - 1 Feb 2017
  • Creating a Content Builder in Craft CMS by Andrew Welch/nystudio107 - 16 Jan 2017
Content Migrations
  • Add users to Craft with content migrations by Joren Van Hee - 28 Oct 2018
  • Using Content Migrations in Craft 3 by Matt Shearing/A Digital - 23 Feb 2018
Craft 3
  • 11 Things You Need to Know About Craft 3 by Ryan Irelan/Mijingo
  • Why you should update your website to Craft CMS 3 by Lauren Swarbrick/Abstrakt - 22 Nov 2019
Deployment
  • Atomic Deployments Without Tears by Andrew Welch/nystudio107
Element API
  • Global Sets in the Craft Element API by Ryan Irelan/Mijingo
  • Lazy Loading with the Element API & VueJS by Andrew Welch/nystudio107 - 14 Jan 2017
Environments
  • Database & Asset Syncing Between Environments in Craft CMS by Andrew Welch/nystudio107 - 7 Apr 2017
  • Localization & Multi-Environment Setup in Craft by Ian Ebden/Design Karma - 4 Apr 2017
  • Multi-Environment Config for Craft CMS by Andrew Welch/nystudio107 - 4 Sep 2017
Front End
  • Craft CMS AJAX Page Transitions with history.pushState by Cosmic - 1 Feb 2017
  • Editing a Front End Form with Matrix by Sean Smith/Caffeine Creations
  • Language switcher for Craft 3 by Jan D'Hollander - 25 July 2018
Getting Started
  • 20 Principles for Craft CMS by Knut Melvær - 30 Sep 2017
  • Craft CMS 3 Orientation Guide by Andrew Welch/nystudio107 - 31 July 2018
  • Craft CMS through the eyes of a website designer by Laura Montgomery/A Digital Agency– 3 September 2021
  • How To Get Started With SEO In Craft CMS by Galaxy Weblinks - 22 June 2018
  • Setting up a New Craft CMS 3 Project by Andrew Welch/nystudio107 - 12 Jan 2018
Integrations
  • Sending notifications to Slack and other channels with Craft CMS by Rias Van der Veken
  • The Living Component Library by Graham Smith/Clearleft - 13 Mar 2017
Local Dev
  • Getting Started with Craft CMS 2 and Laravel Valet by Jalen Davenport - 9 Feb 2018
  • Getting Started with Craft CMS 3 and Laravel Valet by Jalen Davenport - 23 Feb 2018
  • How I Automate My Local Development Craft CMS 2.x Installs by Tim Knight - 17 Jul 2017
  • A Craft CMS Development Workflow With Docker: Part 1 - Local Development by Matt Gray - 4 Dec 2018
Modules
  • Enhancing a Craft CMS 3 Website with a Custom Module by Andrew Welch/nystudio107 - 19 Mar 2018
Performance and Testing
  • A/B Split Testing with Nginx & Craft CMS by Andrew Welch/nystudio107 - 29 Nov 2017
  • Debug Tool in Craft 3: Here’s all you need to know about it by Galaxy Weblinks - 2 July 2018
  • Large websites and performance in Craft CMS by Jason Mayo/MadeByShape - 2 Apr 2017
  • Profiling your Website with Craft CMS 3’s Debug Toolbar by Andrew Welch/nystudio107 - 9 Apr 2018
  • Speed up your Craft CMS Templates with Eager Loading by Andrew Welch/nystudio107 - 21 Dec 2017
  • Static File Caching with Craft CMS 3, aka The Best Of Both Worlds by Ben Croker/PutYourLightsOn - 21 Nov 2018
  • Static Page Caching with Craft CMS by Andrew Welch/nystudio107 - 25 Dec 2017
  • The Craft {% cache %} Tag In-Depth by Andrew Welch/nystudio107 - 24 Jan 2018
  • Thoughts on full page caching in Craft by Josh Angell - 29 Aug 2017
Plugins
  • 3 Things to Know About Craft Plugin Development by Ryan Irelan/Mijingo
  • Craft Plugins in Craft 3 by Ryan Irelan/Mijingo
  • Getting Started with Craft Plugin Development with Ben Croker by Ryan Irelan/Mijingo
  • Inspiration for Your First Craft Plugin by Ryan Irelan/Mijingo
  • Craft CMS E-Commerce: Why and How I Built a Snipcart Plugin by Matt Stein
Publications
  • The Guide to Craft CMS Development by Ryan Masuga
  • The Ultimate Craft CMS vs WordPress Guide by Ryan Masuga
  • Introduction to Craft CMS by Jérôme Coupé/Webstoemp (on Github)
Security
  • Securing Front-End User Profile and Entry Forms in Craft by Ben Croker/PutYourLightsOn - 4 May 2021
  • Securing Your Craft Site in 2022—Part 3 by Ben Croker/PutYourLightsOn - 24 May 2022
  • Securing Your Craft Site in 2021—Part 2 by Ben Croker/PutYourLightsOn - 26 Jan 2021
  • Securing Your Craft Site in 2021—Part 1 by Ben Croker/PutYourLightsOn - 13 Jan 2021
  • Storing Secrets in Craft CMS by Ben Croker/PutYourLightsOn - 6 July 2021
  • Common Security Vulnerabilities in Craft CMS Plugins by Ben Croker/PutYourLightsOn - 31 Oct 2021
  • Hardening Craft CMS Permissions by Andrew Welch/nystudio107 - 19 Mar 2017
  • Hashing Redirect Params in Craft by Ryan Irelan/Mijingo
  • The Case of the Missing PHP Session by Andrew Welch/nystudio107 - 3 Oct 2017
Taxonomies
  • Using Categories in Craft CMS by Ryan Irelan/Mijingo
Templating
  • Brief Overview of Craft Routing to Templates by Ryan Irelan/Mijingo
  • Building Complex Queries by Extending the ElementCriteriaModel by Keith Damiani/Tighten Co - 10 Feb 2016
  • Creating an Age Drop-down with Twig range() by Ryan Irelan/Mijingo
  • DRY Templating with Twig and Craft CMS by Pierre Stoffe/Base Digital - 31 May 2017
  • Filters in Twig and Craft by Ryan Irelan/Mijingo
  • Handling Errors Gracefully in Craft CMS by Andrew Welch/nystudio107 - 20 Oct 2017
  • How to check for undefined variables by Ben Rogerson - 24 July 2018
  • Key Value Arrays in Twig by Ryan Irelan/Mijingo
  • Passing data from Twig to JavaScript by Ben Rogerson - 1 Aug 2018
  • Quick Tips: Craft CMS by Gregor Terrill - 26 May 2017
  • Three Twig Tag Types in Craft CMS Explained by Ryan Irelan/Mijingo
  • Twig Processing Order & Scope by Andrew Welch/nystudio107 - 3 Jan 2017
  • Using Macros in Twig and Craft by Ryan Irelan/Mijingo
  • Using Variables in Twig and Craft CMS by Ryan Irelan/Mijingo
  • Where am I in the Twig Loop? by Ryan Irelan/Mijingo
  • Tips for Craft multilingual websites by Jérôme Coupé/Webstoemp - 15 Jul 2015
  • Combined searches and filters using Craft by Jérôme Coupé/Webstoemp - 17 Feb 2016
  • SVG Sprites and Twig Macros in Craft CMS by Sean Smith/Caffeine Creations - 29 June 2018
  • Responsive tables in Craft by Jan D'Hollander - 10 July 2018

Videos

How I Use Craft Scripts in Craft CMS Running in Craft Nitro 2
Hot Module Reloading with Laravel Mix v6 and Craft Nitro 2
Local Development with Craft Nitro
Craft CMS E-Commerce: Why and How I Built a Snipcart Plugin
Assets
  • Craft 3 Remote Volumes with AWS S3 by Ryan Irelan/Mijingo
  • Image Editing in Craft 3 by Ryan Irelan/Mijingo
  • Images and Image Editing in Craft 3 by Ben Parizek/Straight Up Craft - 17 Mar 2017
  • Remote Asset Sources in Craft by Ryan Irelan/Mijingo
Commerce
  • Fundamentals of Craft Commerce by Ryan Irelan/Mijingo - Paid
  • Introduction to Craft Commerce II by Ben Parizek/Straight Up Craft - 12 Feb 2016
Content
  • Pushing the Limits of Craft CMS's Matrix Field by Ben Parizek/Straight Up Craft - 17 Mar 2017
Control Panel
  • Customizing the Craft Control Panel by Ben Parizek/Straight Up Craft - 1 Jul 2016
Craft 3
  • An initial look at Craft 3 by Ben Parizek/Straight Up Craft - 5 Aug 2016
  • Craft 3 Command Line by Ryan Irelan/Mijingo
  • Craft 3: What You Need to Know by Ryan Irelan/Mijingo
Development
  • Better Build Processes with Gulp and Craft by Ben Parizek/Straight Up Craft - 29 Jun 2016
Element API
  • Creating an Element API in Craft by Ryan Irelan/Mijingo
Getting Started
  • Craft CMS 3 Manual Installation by Ryan Irelan/Mijingo - 5 Apr 2018
  • Craft CMS Essentials by Ryan Irelan/Mijingo - Paid
  • Craft Starter Pack by Ryan Irelan/Mijingo - Paid
  • Up and Running with Craft by Ryan Irelan/Mijingo - Paid
Integration
  • Craft-Powered Apps by Ben Parizek/Straight Up Craft - 16 Sep 2016
Installation and Upgrading
  • Composer and Craft 3 by Ben Parizek/Straight Up Craft - 20 Apr 2018
  • Installing Composer by Ryan Irelan/Mijingo
  • Installing Craft 3 (beta) by Ryan Irelan/Mijingo
  • Installing Craft CMS by Ryan Irelan/Mijingo
  • Updating Craft 3 Beta by Ryan Irelan/Mijingo
  • Upgrading Craft 2 to Craft 3 by Ryan Irelan/Mijingo
Multi-site
  • Managing Multiple Sites in Craft 3 – Sites and Localization by Ben Parizek/Straight Up Craft - 10 Mar 2017
  • Using Craft CMS 3 Multi-Site by Ryan Irelan/Mijingo
Nitro
Performance and Testing
  • Yii Debug Toolbar in Craft CMS 3 by Ryan Irelan/Mijingo
Plugins
  • Craft 3 Plugin Development - Controllers & Variables by Ben Parizek/Straight Up Craft - 7 Apr 2017
  • Craft Plugin Development by Ben Croker/Mijingo - Paid
  • Craft Plugin Development Workbook by Ben Croker/Mijingo - Paid
  • Getting Started with Craft Plugin Development (Craft 3) by Ben Croker/CraftQuest
  • Getting Started with Craft Plugin Development (Craft 2) by Ryan Irelan/Mijingo
  • Migrating a Field Type plugin from Craft 2 to Craft 3 by Ben Parizek/Straight Up Craft - 24 Mar 2017
  • Migrating a plugin from Craft 2 to Craft 3 by Ben Parizek/Straight Up Craft - 3 Mar 2017
  • Migrating a website with plugins from Craft 2 to Craft 3 by Ben Parizek/Straight Up Craft - 4 May 2018
  • Plugins in Craft 3 by Ryan Irelan/Mijingo
  • Tools for getting started with plugin development? by Ben Parizek/Straight Up Craft - 11 Mar 2016
  • Writing Bulletproof Database Migrations by Ben Parizek/Straight Up Craft - 2 Sep 2016
Security
  • Critical Updates and Craft CMS by Ben Parizek/Straight Up Craft - 2 Sep 2016
  • Hashing Redirects in Craft by Ryan Irelan/Mijingo
  • Security and Craft CMS by Ben Parizek/Straight Up Craft - 22 Apr 2016
Templating
  • Changing Section Labels in Craft by Ryan Irelan/Mijingo
  • Control Flow in Twig by Ryan Irelan/Mijingo - Paid
  • Craft 3 Service APIs in Templates by Ryan Irelan/Mijingo
    -DRY Templating Techniques by Ben Parizek/Straight Up Craft - 1 Apr 2016
  • Eager-Loading Elements by Ben Parizek/Straight Up Craft - 18 Mar 2016
  • Flexbox and Craft by Ben Parizek/Straight Up Craft - 27 May 2016
  • Flexible Twig Templates in Craft by Ryan Irelan/Mijingo - Paid
  • How I build components in CraftCMS with Twig by Alex Carpenter - 28 Dec 2017
  • How to build a content builder in Craft CMS by Alex Carpenter - 30 Mar 2018
  • How to build a reusable carousel component with Craft CMS by Alex Carpenter - 22 Apr 2018
  • Matrix as a Layout Builder by Ben Parizek/Straight Up Craft - 13 May 2016
  • Navigating Navigation in Craft CMS by Ben Parizek/Straight Up Craft - 20 May 2016
  • Nested navigation based on Structure section by Ryan Irelan/Mijingo - 30 Jan 2018
  • Passing Data with Twig Include by Ryan Irelan/Mijingo
  • Twig Templates in Craft by Ryan Irelan/Mijingo - Paid
  • Twig's null-coalescing operator (??)! by Ben Parizek/Straight Up Craft - 8 Apr 2016
  • Using .all() in Craft 3 by Ryan Irelan/Mijingo
  • Using the Batch Filter in Twig by Ryan Irelan/Mijingo
Tutorials
  • Building a Blog in Craft CMS by Ryan Irelan/Mijingo - 23 Jan 2018
  • Contact Form in Craft CMS by Ryan Irelan/Mijingo

Presentations

Designers Guide to Craft CMS Plugins

by Jason Mayo - `3 Nov 2016`

  • Building a Smarter Craft Commerce Website by Stephen Callender - 27 Sep 2018
  • Craft 3 Plugin Development by Brandon Kelly - 26 Apr 2017
  • Crafting Modern SEO by Andrew Welch - 23 Oct 2017
  • Design Processes and Systems in Craft by Courtney Bradford - 27 Sep 2018
  • Dot All 2017 Keynote by Brandon Kelly - 23 Oct 2017
  • How to Migrate Legacy Content to Craft Without Losing Your Sanity by James Greig - Sep 28 2018
  • Intro to Craft by Philip Zaengle - 29 Apr 2016
  • Intro to Craft 3 by Brandon Kelly - 26 Apr 2017
  • Making a Craft CMS Website That Flies by Andrew Welch - 27 Sep 2018
  • Modern Frontends with Craft CMS, GraphQL, and React by Paulo Elias
  • Multilingual Sites in Craft 3 by Zoltan Varady - 27 Sep 2018
  • Running Craft as a 12-factor app on Heroku by Bob Olde Hampsink - 27 Sep 2018
  • Scaling Craft CMS Sites for Large Launches by Matt Weinberg - 28 Sep 2018
  • State of Craft 2018 by Brandon Kelly - 28 Sep 2018
  • The Art Of Plugin Development by Ben Croker - 27 Sep 2018
  • Twig Super Power Roundup by Jason Mayo - 1 Nov 2018
  • What’s the Deal with Craft CMS? by Brandon Kelly - 21 Apr 2016
  • Working with Craft Commerce by Jason Mayo - 2 Nov 2017

Praises

Craft CMS Vs WordPress: Why Choose Craft?

`19 June 2018`

  • 10 Reasons Why We Love Craft CMS by Taecho Group
  • A Review of Craft Commerce by Adam Fairholm/New Media Campaigns - 19 May 2017
  • A love letter to Craft CMS by Harry Keller/diesdas.digital - 18 Apr 2017
  • An Overview of Pixel & Tonic’s Craft CMS by Matthew Soyka - 21 Feb 2017
  • Craft CMS vs WordPress: A comparison & why we love Craft CMS by Chris Cox/Made by Bridge - 17 Nov 2021
  • Crazy About Craft by Nathan Huening/New Media Campaigns - 27 Feb 2017
  • How we chose Craft CMS for our product websites by Eugene Fedorenko/Wildbit - 1 Nov 2016
  • Why Content Managers Love Craft CMS by Lauren Swarbrick/Abstrakt - 17 May 2017
  • Why Content Writers Love Craft CMS by Sean Smith/Caffeine Creations
  • Why Craft CMS is the best content management system we (and you) have ever used by Owen Matthews and Andy Green/Ten4 Design - 21 Apr 2017
  • Why We Love Craft CMS by Trevor Davis/Viget - 17 Oct 2014
  • Why We Use Craft CMS by Cosmic - 1 Feb 2017
  • Why We Use Craft CMS by Masonry - 7 Nov 2017
  • Why We're Craft CMS Developers by Honcho - 16 Apr 2019
  • Why We've Fallen Head Over Heels for Craft CMS by Welford Media - 14 Oct 2016
  • Why we develop websites using Craft CMS instead of Wordpress by Abstrakt - 25 Apr 2017
  • Why you should be considering Craft over WordPress by Sam Goddard/Kind - 21 Mar 2017
  • Why Craft? by Jérôme Coupé/Webstoemp - 17 Jun 2015

Podcasts

Craft.Podcast

A voice for the #CraftCMS community.

Craft CMS 3 as an Application Platform

devmode.fm and Ben Crocker dis­cuss using Craft CMS 3 as an appli­ca­tion plat­form.

Craft CMS 3 with Pixel & Tonic Founder Brandon Kelly!

Get an insider’s view of the the devel­op­ment of Craft CMS 3.

Dot All 2018 Conference Recap & Analysis, Live from Berlin!

The dev​Mode​.fm crew recaps the Dot All 2018 Con­fer­ence in Berlin.

Talk­ing Craft CMS 3 RC1!

The inau­gur­al episode of the `dev​Mode​.fm` pod­cast.

Commerce Minded

A Craft Commerce-centric podcast that goes behind the scenes to chat with ecommerce merchants, developers, and vendors.

Dev Tools

Craft CLI

Command line interface for Craft CMS 2.

Craft CMS Bootstrap

Streamline Craft CMS bootstrapping and configuration.

Craft CMS Docker

Get started playing with Craft CMS 3 in a few command lines with Docker.

Craft 3 Multi-environment

[Craft 2 Version](https://github.com/nystudio107/craft-multi-environment) - Efficient and flexible multi-environment config for Craft CMS.

Craft Scripts

Shell scripts to manage common tasks between Craft CMS environments.

Craftman

To help speed set up and start a new Craft CMS installation smoothly.

Crafty Vagrant

A boilerplate dev environment for jump-starting Craft CMS projects.

Generator Craft Install

Yeoman generator for Craft CMS installs.

Happy Lager Demo Site

A fork of the Craft CMS demo site, updated for Craft 3.

Nginx Craft

An Nginx virtual host configuration for Craft CMS that implements a number of best-practices.

Plugin Factory

Generate Craft CMS plugin code scaffolding that conforms to P&T’s Coding Standards.


Showcase

Official Case Studies

% Arabica

Project: [arabicacoffee.hk](https://arabicacoffee.hk/) by [Digital Butter](https://www.butter.com.hk/)

Associated Press

Project: [blog.ap.org](https://blog.ap.org) + [insights.ap.org](https://insights.ap.org) by [Vector Media Group](https://www.vectormediagroup.com/)

Barefoot Contessa

Project: [barefootcontessa.com](https://barefootcontessa.com) by [Apartment One](https://aptone.com/) & [Jonathan Melville](https://codemdd.io/)

Grill'd

Project: [grilld.com.au](https://www.grilld.com.au/) by [Evolution 7](https://www.evolution7.com.au/)

iDE Global

Project: [ideglobal.org](https://ideglobal.org) by [Flipbox Digital](https://www.flipboxdigital.com/)

Kappa Alpha Theta Fraternity

Project: [kappaalphatheta.org](https://www.kappaalphatheta.org/) by [TrendyMinds](https://trendyminds.com/)

McKinnon and Harris

Project: [mckinnonharris.com](https://www.mckinnonharris.com) by [Foster Made](https://fostermade.co)

Mixmag Media

Project: [mixmag.net](http://mixmag.net) by [The Rye Agency](http://rye.agency)

Poki

Project: [poki.com](https://poki.com/) by Evermade

Samuelsohn

Project: [samuelsohn.com](http://samuelsohn.com) by [Digital Surgeons](http://digitalsurgeons.com/)

Segway

Project: [uk-en.segway.com](https://uk-en.segway.com/) by Wirelab Digital Agency

Simon Fraser University (SFU) Beedie School of Business

Project: [beedie.sfu.ca](https://beedie.sfu.ca/) by Goat

Ultimate.ai

Project: [ultimate.ai](https://www.ultimate.ai/) by Function & Form Digital

YumEarth

Project: [yumearth.com](https://yumearth.com) by Electric Enjin

Organizations Using Craft

Agatha Christie
An Event Apart
Associated Press: Blog

Plus the [Insights](https://insights.ap.org) website.

Atkins
Atlassian: Design
Betterteam
BigCommerce
Bill Nye
Canary Media
City of Marion, IN
City of Oakland
Confab Events
Dalai Lama
Dialpad
Duck Brand
Emily Carr University
Field Notes

Uses [Craft Commerce](https://craftcommerce.com).

Foursquare for Business
Grill'd
Guy Fieri
Hootsuite
Icon Motorsports
iDE Global
Intel: Managed Service Providers
Klipsch
LA Marathon
Layer Tennis

A [Coudal Partners](http://coudal.com/) production sponsored by [Adobe](https://www.adobe.com/).

Medialoot
Mini: Miles Ahead
Mixmag Media
NameSnack
Naughty Dog
Naviance
Netflix: Media Center
Nissin Foods
OneSignal
Outreach
PBS Kids Games

Craft powers the APIs used for the app.

PBS Parents
Pingdom
Princeton Theological Seminary
ProPublica
Reddit Inc.
SalesforceIQ
Samuelsohn
Sonos
Stanford Research Park
Stearns & Foster
Visit Victoria: Corporate
Wildbit
Yale Environment 360