Awesome Craft CMS
Carefully curated list of awesome Craft CMS articles, resources and shiny things.
Craft CMS is a focused content management system for developers, designers, and web professionals that blends flexibility, power, and ease of use for clients. Built to be as exceptionably scalable and as flexible as possible, without compromising on the ease of use for content authors.
Contributing
Please take a quick look at the contribution guidelines first. If you see an article or resource here that is no longer maintained or is not a good fit, please submit a pull request to improve this file. Also, ideas for more categories are needed! Thank you to all contributors; you rock!
Contents
Official Links
- Website - craftcms.com
- Craft Commerce - craftcommerce.com
- Craft 3 Docs - docs.craftcms.com/v3 - Class Reference
- Craft 2 Docs - docs.craftcms.com/v2 - Class Reference
- Guides - craftcms.com/guides
- Partners - craftcms.com/partners
- Licence Management - id.craftcms.com
- Repository - github.com/craftcms/cms
- Dot All Conference - dotall.com
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.
- Craft Link List - Curated publication collecting interesting links.
- CraftQuest - Unlimited access to Craft training (and more).
- CraftX - Open source site built on Craft 3, and community of web professionals hosting hangouts.
- Discord - The official Discord community for Craft CMS.
- Envato Tuts+ - Find videos and online courses to help you learn.
- Facebook - Like the official Craft CMS Facebook page.
- Issues & Feedback - Post feature ideas and bug reports.
- Meetups - Find a local Craft meetup.
- Mijingo - Video courses and how-to articles for learning Craft.
- Professionals - Find folks who are skilled and passionate about working with Craft.
- Slack - Join the Slack group dedicated to Craft CMS discussion.
- StackExchange - Q&A for administrators, end users, developers and designers.
- Straight Up Craft - Tutorials, plugin directory, event listings and more.
- Twitter - Follow the conversation, official community hashtag is
#craftcms
. - 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
- Deploying CraftCMS to Digital Ocean by Jonathan Kelley -
13 May 2017
- Zero downtime Craft CMS 3 deployments with Buddy.works by Rias Van der Veken
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
- Getting Started with CraftCMS by Jonathan Kelley -
8 May 2017
- 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
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
- 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
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
- 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: 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'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
- 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
- Mixmag Media - Project: mixmag.net by The Rye Agency
- Samuelsohn - Project: samuelsohn.com by Digital Surgeons
Organizations Using Craft
- Agatha Christie
- An Event Apart
- Associated Press: Blog - Plus the Insights website.
- Atkins
- Atlassian: Design
- BigCommerce
- Bill Nye
- 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
- Naughty Dog
- Naviance
- Netflix: Media Center
- Nissin Foods
- 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