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 3 Docs - docs.craftcms.com/v3 - Class Reference
- Craft 2 Docs - docs.craftcms.com/v2 - Class Reference
- Support - craftcms.com/support
- Partners - craftcms.com/partners
- Licence Management - id.craftcms.com
- Repository - github.com/craftcms/cms
- Dot All Conference - dotall.com
Community
- Craft Cookbook - Quick solutions to common Craft CMS problems.
- Craft Link List - Curated publication collecting interesting links.
- CraftX - Open source site built on Craft 3, and community of web professionals hosting hangouts.
- 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 - Nearing 6,500 users, 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
- 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
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
Getting Started
- 20 Principles for Craft CMS by Knut Melvær -
30 Sep 2017
- Getting Started with CraftCMS by Jonathan Kelley -
8 May 2017
- 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
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
- Large websites and performance in Craft CMS by Jason Mayo/Shape -
2 Apr 2017
- Speed up your Craft CMS Templates with Eager Loading by Andrew Welch/nystudio107 -
21 Dec 2017
- 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 Ben Croker
- 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
Security
- 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
- Key Value Arrays in Twig by Ryan Irelan/Mijingo
- 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
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 Ryan Irelan/Mijingo -
Paid
- Craft Plugin Development Workbook by Ryan Irelan/Mijingo -
Paid
- Getting Started with Craft Plugin Development 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
- Craft 3 Plugin Development by Brandon Kelly -
26 Apr 2017
- Crafting Modern SEO by Andrew Welch -
23 Oct 2017
- Designers Guide to Craft CMS Plugins - by Jason Mayo -
3 Nov 2016
- Dot All 2017 Keynote by Brandon Kelly -
23 Oct 2017
- Intro to Craft by Philip Zaengle -
29 Apr 2016
- Intro to Craft 3 by Brandon Kelly -
26 Apr 2017
- 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
- 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
Podcasts
- Craft.Podcast - A voice for the #CraftCMS community.
- Craft CMS 3 with Pixel & Tonic Founder Brandon Kelly! - Get an insider’s view of the the development of Craft CMS 3.
- Talking Craft CMS 3 RC1! - The inaugural episode of the
devMode.fm
podcast.
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
- Agatha Christie Ltd - Project: agathachristie.com by Mint Digital
- Associated Press - Project: blog.ap.org + insights.ap.org by Vector Media Group
- Barefoot Contessa - Project: barefootcontessa.com by Apartment One
- Confab Events - Project: confabevents.com by Mijingo
- iDE Global - Project: ideglobal.org by Flipbox Digital
- Mixmag Media - Project: mixmag.net by The Rye Agency
- Nook Sleep Systems - Project: nooksleep.com by Zaengle Corp and Never Not Prepared
- Samuelsohn - Project: samuelsohn.com by Digital Surgeons
Organizations Using Craft
- Agatha Christie
- Associated Press: Blog - Plus the Insights website.
- Atkins
- City of Oakland
- Cyanogen
- Dalai Lama
- Duck Brand
- Emily Carr University
- Field Notes - Uses Craft Commerce.
- Foursquare for Business
- Hootsuite
- Icon Motorsports
- Intel: Managed Service Providers
- Klipsch
- LA Marathon
- Layer Tennis - A Coudal Partners production sponsored by Adobe.
- Naviance
- Netflix: Media Center
- Oakley: X-Metal Collection
- PBS Kids Games - Craft powers the APIs used for the app.
- PBS Parents
- Princeton Theological Seminary
- Progressive: News
- ProPublica
- SalesforceIQ
- Sonos
- Stanford Research Park
- Stearns & Foster
- Yale Environment 360