Awesome
Craft CMS
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
<!-- PLEASE USE `doctoc --maxlevel 3 README.md` TO KEEP THE TOC TO AN APPROPRIATE SIZE --> <!-- START doctoc generated TOC please keep comment here to allow auto update --> <!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE --> <!-- END doctoc generated TOC please keep comment here to allow auto update -->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
. - Mastodon - Latest news, on the newest network.
- Work With Craft - Dedicated job board aimed to connect employers with Craft professionals.
Plugins
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
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
- Enforcing better passwords in Craft CMS - Rias
- 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
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
- 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
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
- Craft CMS E-Commerce: Why and How I Built a Snipcart Plugin
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
- 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
- Designers Guide to Craft CMS Plugins - by Jason Mayo -
3 Nov 2016
- 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
- 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
- Craft CMS Vs WordPress: Why Choose Craft? -
19 June 2018
- 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 discuss using Craft CMS 3 as an application platform.
- Craft CMS 3 with Pixel & Tonic Founder Brandon Kelly! - Get an insider’s view of the the development of Craft CMS 3.
- Dot All 2018 Conference Recap & Analysis, Live from Berlin! - The devMode.fm crew recaps the Dot All 2018 Conference in Berlin.
- Talking Craft CMS 3 RC1! - The inaugural episode of the
devMode.fm
podcast. - 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 - 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 by Digital Butter
- Associated Press - Project: blog.ap.org + insights.ap.org by Vector Media Group
- Barefoot Contessa - Project: barefootcontessa.com by Apartment One & Jonathan Melville
- Grill'd - Project: grilld.com.au by Evolution 7
- iDE Global - Project: ideglobal.org by Flipbox Digital
- Kappa Alpha Theta Fraternity - Project: kappaalphatheta.org by TrendyMinds
- McKinnon and Harris - Project: mckinnonharris.com by Foster Made
- Mixmag Media - Project: mixmag.net by The Rye Agency
- Poki - Project: poki.com by Evermade
- Samuelsohn - Project: samuelsohn.com by Digital Surgeons
- Segway - Project: uk-en.segway.com by Wirelab Digital Agency
- Simon Fraser University (SFU) Beedie School of Business - Project: beedie.sfu.ca by Goat
- Ultimate.ai - Project: ultimate.ai by Function & Form Digital
- YumEarth - Project: yumearth.com by Electric Enjin
Organizations Using Craft
- Agatha Christie
- An Event Apart
- Associated Press: Blog - Plus the Insights 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.
- Foursquare for Business
- Grill'd
- Guy Fieri
- Hootsuite
- Icon Motorsports
- iDE Global
- Intel: Managed Service Providers
- Klipsch
- LA Marathon
- Layer Tennis - A Coudal Partners production sponsored by Adobe.
- 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