DrupalCon

You can (and should!) build a site template

38:03 · 23 Mar 2026 – 26 Mar 2026 · YouTube

About this talk

This talk covers the creation and management of site templates using Drupal CMS, aimed at aiding developers in rapidly deploying projects. The speaker, Adam, explains that site templates serve as a pre-configured recipe that allows users to start a Drupal project almost fully operational, focusing on specific industry needs, such as nonprofit organizations or educational institutions. He details the process involved in building a site template, including planning, utilizing tools like DDEV for setup, and exporting configurations using the 'drush site export' command. The talk emphasizes the advantages of using site templates over traditional distributions, highlighting efficiencies and modern development practices, including using AI for design and content management. The speaker also introduces a co-presenter, Eddie, who discusses leveraging existing templates and developing new content types.

Full transcript

Okay, hey folks. Hey. Hi. Um yeah, welcome to you can and should build a site templates. Um and uh yeah, I appreciate you coming out on the uh this early afternoon after drinking from the uh the information firehose for a day and a half. Um we're going to throw a lot of information at you, I think, in this session and I'm going to talk pretty fast cuz

it's just kind of how I do. So, if I need to slow down, just yell at me. Um or just yell at me for any reason, it's fine. Um if you want to follow the slides along, there's a QR code down there. They'll also appear at the end uh to refer back to them. anyway, uh a little about me. My name is Adam. I go by Feno

Proxima on drupal.org and on Slack and uh GitHub, various internet corners. I'm been doing Drupal stuff for almost 19 years and I've seen I've kind of seen it all, honestly. Currently serving as the architecture lead of Drupal CMS, which really just means like technical architect and uh work for Acquia as a staff software engineer. I work on recipe system, core things, modules, distros. I have maintained a

distro before. Um etc. etc. I'm kind of all over the place and uh I have a co-presenter as well. If you would like to introduce him. >> I'm Eddie Giles. Started Blue Acorn Interactive in 2012 doing mostly Drupal Commerce development. And uh 2025, I started uh Drupal Yard with Mike Herschel over there. We we build premium themes and site templates. And uh we were actually one of

the first site templates in the CMS installer and the first to offer a paid uh option in the uh installer where you can purchase a license, enter it, and it adds the uh private packages automatically, includes all other dependencies, and installs the recipes. Which is pretty awesome. And if you were at the Driesnote and you were fast, you could have gotten it for free because we put

our license uh in the Driesnote. So, if you missed it, you have to pay. I I apologize. But, um that's my first time speaking at a Drupal Con. spoke at camps, but it's a easy. Yeah, give the hard stuff to me. I'll be okay. Done this before. So, uh today obviously we're talking about site templates. I'm going to start with a little bit of background info for

those unfamiliar about what a site template is, why you know, when and why you would use one, um and kind of what they're for. And I'll give you the rundown on how to, you know, you could call it the quick and dirty way to build a site template. It's not that dirty, um but it is relatively quick and for the most fairly low code. I'll, you know,

explain more about that. And then I'll hand it off to Andy to uh get into some, you know, when you want to take a more detailed and architecturally clean approach to building a site template or building a set of recipes, he will talk about that. And then I'll finish with a few thoughts on why you should consider doing this cuz I did say you should and I

and you should and I'll tell you why you should. So, um let's start here. What is a site template? I would describe it in a nutshell as being a recipe for a Drupal site that is 90% finished. I was going to say 95, but 90 seems more realistic. And when I say recipe, I mean just that. A site template is a recipe. It's just a recipe. There's

nothing uh technically special or different about a site template uh versus any other recipe. The difference mostly lies in the scope of it, what it's supposed to do, and kind of what and what it's intended for. Um most recipes, you know, you can they're they're sort of fairly small. They add little bits of functionality um and you can apply them at any point in the Drupal site's

life cycle. And a site template doesn't really roll this way. You don't apply a site template to a to a Drupal site that already exists. You use it one time when you are starting the project and it gets you from zero to 90% of the way there and then you just throw it away. Everything the site template does becomes part of the site and you can just

get rid of the site template. You do not need it anymore. They do not get updated. No recipe gets updated, but especially site templates. So, truly a starting point and uh and an opinionated starting point. By And by that I mean they need to, you know, for one thing, they have to be complete. They should have a content model aimed at a use case that you're, you

know, really aiming for. You There's no technical reason that you can't build like kind of a generic site template, but those aren't those aren't necessarily all that useful to people who are not, you know, to anyone but developers. Um but that's kind of the idea. So, really you want to have an opinionated one that's like aimed to uh to a particular uh vertical or use case. So,

examples, Haven in Drupal CMS is aimed at like nonprofits. Byte is aimed at like a SaaS product uh marketing site. Um you know, DripYard's Meridian is aimed at a, you know, for educational uh institutions, charter schools in particular. And, you know, you could do There was one that was proposed for the marketplace that was for a restaurant, which I thought was really cool. You could even do

one for like a blog as an example, but opinionated. Um you know, fully configured with all of its content models set up, at least a good initial set. Um you know, any special functionality should be there. If you have like an events calendar, make, you know, get that all set up. Um or like a donation form in Haven. Um and also the It should look good. It

needs to look good. Um it has to look nice. It has to look polished. It has to be beautiful. I mean, it doesn't have to, but like if you want people to use it and look at it favorably, uh it should. So, a lot of polish and, you know, make it look finished. And, um I think that's pretty much everything you need to know. The whole idea

is you use it and then you, you know, tweak the branding, the colors, plug in your your real content, which, oh yeah, it should have default content in it that is useful and makes sense, not lorem ipsum. Um you know, because that's always just throw away stuff. So, you use it, you tweak your uh you tweak the branding, put in your logo, make, you know, fine-tune some

of the functionality, maybe fine-tune the look, um put in your real content, and then launch it. It takes the setup process from, you know, days or weeks to like hours. That's the point. And I think that's everything you need to know background information-wise to um, make one of these things. So, with that being said, I'll tell you now how to make it. I am going to be

focusing on using Drupal CMS as the foundation to create site templates, and the reason for that is just because it's a really solid package and gives you a lot of what you a lot of good stuff right out of the box. It gives you a nice admin back end. It gives you SEO tools. It gives you like search. It gives you AI stuff. It gives you uh,

you know, privacy things, accessibility improvements. And, um, you know, it's better than having to start from scratch. Having said this, you don't need to use Drupal CMS to create a site template. You absolutely can do this from just plain core or any flavor of Drupal. Recipes are a core feature, not a Drupal CMS feature. But, I obviously am biased, and I'm going to uh, talk about I'm

going to assume you're using Drupal CMS to start with. We'll go from there. So, the overall process of this is not is pretty straightforward. Start by planning the site, um, you know, have a design, have do some pre-production, basically. Spin up a Drupal CMS project, uh, build the site. Just do the site build, um, which is small-esque. And, uh, then export it as a recipe, which is

pretty simple, actually. And then you can optionally publish it. I think you should publish it. You probably want to publish it, but you don't have to if you don't want to. So, I'll uh, get into each of these steps here. Oh. So, first part is doing some design. This is I think really important with in a site template because as I said, these are opinionated. These are

meant for particular use cases. So, actually think it through. Keep your target audience in mind. Think about content types and, you know, uh, UX and information architecture that will make sense for that. Like if you're doing that restaurant site template that I really wanted to see, but never happened. Um, you know, you might want to have like think through a landing page that has pictures of the

restaurant and like the a map to the location and the hours and stuff and a menu, you know, or an order form or something like that. Or, you know, for a nonprofit site, maybe you have some events and you have a donation form, you have a blog, you know, Haven has all of these things I think. Um so, think it through, know what you're going to build

beforehand, know who you're building it for, and create a design and create a beautiful design because you know, this is what like if you publish it and say the marketplace, people are going to look at screenshots and if they see a pretty site template, they're going to want to use it. And that's going to be the main I think that's going to, you know, generally drive people

towards it. You know, it has to work well, but it also has to look good. So, make a beautiful design. Uh step two is spin up Drupal CMS 2.1 at least. this you probably I mean, have anybody has anybody used uh like spun up Drupal CMS before used it? How many of you? Okay, so some of you. I will go through this anyway. So, the fastest and

best way to get spun up with Drupal CMS is to use DDEV. It is just the best freaking way to get Drupal started because it gives you everything you need out of the box and there's pretty much no fuss. So, if you don't have it, install DDEV and then there is a quick start for Drupal CMS, which is a series of three or four commands that you

can run that just get going, start Drupal CMS, and spin it up. That is the link directly to that if you want to take pictures now or it's in DDEV's documentation. And when you get into there, you'll see, you know, the Drupal CMS installer and there are four, you know, you'll see a bunch of site templates in there now in version 2.1, but there's four in particular

I want to call out here. The first one is blank. Blank is blank is freaking blank. There's nothing in it. There's a um there's a fork of Corus starter kit theme in there and there's an empty homepage with nothing on it, but that's if you really it gives you all the other Drupal CMS stuff, all the nice admin back end and stuff, the modules for creating content,

canvas. That's all just in there, but it just has no design system, no opinion on that, and no no real content to speak of. So, that's where if you want to start from scratch, um Canvas, of course, if you intend to use that as your page builder, is kind of useless without a design system. So, another option is Starter, which you can't see the name of, but

it's like it's this guy right here, and Starter is the same thing as Blank, except that it's using Mercury as its theme, so you get all of the Mercury components. You can also fork Mercury very easily into a, you know, into a new name and customize from there. So, that's a pretty good starting point as well. You could also choose another site template to start from. If

you are doing something that's very similar to Bite, and it's like, "Man, Bite gets me 60% of the way there, and I just want to change a few things." You could absolutely start with Bite, or Haven for that matter, and customize, change fork the theme, you know, under a new name, and, you know, make whatever changes you want. I would probably recommend doing that with the site

templates that we Drupal CMS have created. I don't know how Drupical Yard would feel about people forking Meridian, or sorry, from that to make a site template, but for politeness' sake, it's probably best to stick with one of the ones created by Drupal CMS. But, long story short, spin up Drupal CMS, choose a site template to start from, and then uh build the site. Build the site,

um however you want to do it, honestly. Uh like Drupal CMS has no it doesn't lock you into anything. It gives you a starting point, it gives you some opinions, and then you are free to do whatever you want. Any modules you want, any page builder you want. If you want to use Canvas, great. We That's what we like. If you wanted just uninstall Canvas and use

Bootstrap Barrio, or just Layout Builder, or, you know, whatever. It's fine. There's no There is no technical opinion that a site template has about how you go about building it. Um one of the best practices I will say about modules, one sec, is generally best to stick with stable modules. So, like not RC modules, or beta modules, or alpha modules. And that's mostly because of composer stuff

that that may cause the site template to error on install in some situations. So, best to do that. Um but other than that, do what you want. Configure it however you please. If there's something Drupal CMS does out of the box that you do not like, go ahead and undo that decision. And by all means, be opinionated. You know, you don't have to support everything under the

sun. Um you're really trying to build for a particular use case, as I said. And make it look good. Make it sing. Um the look really does matter. And you know, sweat the details. Um because as I say, this is what you know, when somebody spins up the site template or a demo of it, and um wants to try it out, this is this is leaving a

good impression. It's going to sound really weird coming from me, but dress to impress with this stuff. Um and the one asterisk about this, where it's So, you notice I haven't said anything about code yet, because there's not any coding really needed. The one place this probably is not true is in building the look and feel, because right now, you'll probably need to create a custom theme.

Or really just By create a custom theme, I mean create a theme that is coupled to the site template and distributed alongside it as a separate package. The reason you'll probably have to do that is because Canvas is a great page builder, but it's missing certain features that would make it a really solid theme builder. I think it's going to get there, because it has No, it's

on the road map. I've been saying that to a lot of people. Um and there's a lot of people working on it, but it's not quite there yet. So, there's a pretty good chance you're going to have to make a theme as well to get this site template looking great. And that's okay. This is exactly what Byte does. This is exactly what Haven does. I think all

of the partner site templates have been doing this. Um because that's the current best practice. So, that's okay. That's probably where you might have to write some code if you have to write some code. Um but as I say, you don't have to It's not like you have to build it from scratch. You could absolutely do something like use Lovable to make the design. And you know,

use other AI tools to convert it to components and a Drupal theme. Um you could also start with Mercury, fork that and then customize from there so that you're not starting with nothing. Um you know, I know that there's you could sub-theme uh you know, other themes that are meant to be sub-themed. I'm haven't built a site in years myself so I couldn't name any. Um but

there's a lot of different ways you could do this. Um and yeah, basically do it however you want to do it, but you'll probably need a custom theme. Long story short. Once that's done, um this part's really easy to export the site as a recipe. So there is this command drush site export um that I wrote. And what this will you run it you call it pretty

much like that. You don't have to pass any arguments or any flags or anything. Just run drush site export. And what this will do is it will take all of the config in the site and all of the content and it will just dump it into a one single recipe. And this command's included with the Drupal CMS helper module, which despite its name uh can be used

on any version of Drupal. It does not at all require you to be using Drupal CMS. And um so that's where the the command comes from. And the truth is when you look at the recipe that this command outputs, if you're a developer, you will probably squirm a little bit because it's a really big it's a big stupid monolith. It has, you know, they have a lot

of config. It's going to could be thousands of config files, hundreds of content files, a very long recipe.yaml with like, you know, 500 lines of config actions. And uh the first time I saw it I was like, what have I done? Um but it's actually fine to have a recipe that is like that because recipes have no update path. There is no chance like you could take

a monolith generated by drush site export. Excuse me. You could take the monolith and you could release it as version 1.0 and then you could people could use it and then you could change whatever you want, add things, remove things, split it into smaller recipes, whatever, and you are not going to break sites in the wild that were spun up. Because recipes have no update path. The

site does Drupal does not even know they happened after they happened. and that's not true of the theme, I should say. So, if you release a custom theme, that Drupal will keep that around, and that you do have to be careful about breaking that. Um but the recipe itself, no, doesn't matter. You can always refactor it later. And Andy's going to go more into how to do

that. Um final step, I'd say, is uh you will get when you run drush site export, you'll get a bunch of additional stuff like some generic test coverage and some CI integration just so you don't have to do that yourself. Um one thing you want to do is take a screenshot, just so that it looks good in the installer. That has to be called screenshot.webp, and it

has to be in webp format. And put it right next to recipe.yaml, and then drop the database, drush sql drop. And go back into the installer, and you'll see something like this. So, in this example, I installed Umami, which in my view is spiritually a site template. Um and then I immediately ran drush site export, no other changes. And I did the, you know, I created a

screenshot, put it in there, then I dropped the database, went back into the installer with DDEV launch, and then it just shows up. And then you can install it yourself, and you will have the experience that somebody using your site template will have, and you'll get to see exactly what they'll see. It should just spin up the site uh exactly the way that you created it, exactly

the state that you left it. So, that's how you can export the site template and test it out, and then if you want to make changes, just export it again and again, however many times you want to do it after installing it. Um until you get it the way you want it. And when you have it the way you want it, uh ship it, publish it. And

this is a This is pretty straightforward as well. There's this page on drupal.org uh /project/add. It looks like that. And presuming that you have a custom theme, which you probably do, um you'll need to create two projects. The first one you want to create is a theme project for the theme, and then just take the theme that you have, commit it to that repository, push it, tag

it. The recipe for its part Rush site export will make sure that the recipe depends on the theme. So that's why the theme has to go first. When you're ready to publish the recipe, make a general project for it, not a distribution or anything like that, just a general project. Commit the recipe with all of its config and all of its content into that repository, push it,

tag it, and then at that point you should be able to composer require it into a new Drupal site and you know, see it in the installer. And you could maybe submit it to the marketplace as well it's done. That's all folks. That's the whole process. That's the entire thing. And from here, where do you go from here? You create your first site template and this is

where I hand it off to Andy who will tell you exactly where to go from here and in extracting smaller part smaller useful parts from your recipes from your site templates. So Go for it, Andy. Cuz we have a lot of experience building site templates even before the real site template that you see now is a thing because we've been shipping our own recipes with their custom

themes and allowing people to install different variations of them with layout builder, canvas, and everything like that. So but we've we've adopted this for Meridian Charter. This process we work closely with Adam. He was great in helping us get past all the roadblocks that we had. And so now we have this. But what happens when we want to build our next site template, right? So you probably

want to build another one, but how do you get there? So you pretty much have four options The first one is rinse and repeat. So go back to step one that he provided and build a new template, you know, build all your content types, export as a site template and go from there. You could also reorganize the first one, kind of take out things you don't need,

add things you do, and do site export You could also look for existing recipes from contrib. So, now like canopy and a few others have published recipes that would help you get started with different content types. So, that's useful. Or you could um, do what we're doing and that's to take the existing site template and export recipes out of that. So, that you kind of build a

library of recipes that are reusable for your next Um, so I think probably everybody, I don't know what's up with the font there, but probably everybody knows what a recipe is. But if you don't, it's uh, a metadata in a YAML file that defines what the recipe is, the type, and any configuration actions, um, any dependencies that need to be installed like modules. Um, you also have

a folder that contains configuration, which is basically the same thing you would get with um, config export, uh, but you know, a curated bundle of them. Um, you can have default content, which is you know, full entities and relationships. So, if you had media file, you know, all the way down the tree, that would be bundled uh, with YAML and image files and whatever else in that

content directory. Um, and then a composer.json file so that when you're unpacking the recipe, those things get added to your um, core composer project as a dependency. So, how would you create a recipe from your site template? Um, if you like pain, the and and you don't have the tools that didn't exist until about 3 days ago, um, you would use config export and you would kind

of cherry pick things and put them in the directory and hope that you got all the dependencies. And I see people shaking their head, they've obviously been through this. It's very very not fun. It's it's not good. And that's what we've been doing uh, for 8 months now, however long we've been building drip yard themes. Um, so I got frustrated with this. I asked around like what

is what are the options? What are people using to do this? Everybody had the same answer. There was some modules that got started to help with this. It's really like what we need is a features for managing recipes. Um and so I built a basically a Drush command called Drup Yard Recipe Builder. Um we do sell premium themes. That's how we make money, but we're part of

the community and we want to contribute back. So any tooling that we build that help us make these themes, we open source. We put on drupal.org. And so I encourage you to check this module out and um So I've got a demo uh against It's like four fingers. >> Yeah, there you go. Against uh Mike's recommendation, I'm going to do karaoke because I don't trust myself to

do a live demo here. Uh so I'll just walk you through a video of what I did. Uh this is again our Meridian Charter Um so it's got, you know, content types. It's got canvas pages. It's got SDCs. Here we have um like uh you know, people that are part of the the charter school, their titles, uh their position, that kind of stuff. And we want to

export this so that we have kind of like a library of these recipes for our next one because we might have a a conservation organization that has people in the same kind of hierarchy. And so we're going to enable uh Drup Yard Recipe Builder and then we're going to run it. And the first thing you see here is it resolves all of the recipes that are available

in your installation. So that would be either the ones that provided from core or the ones that are in the um you know, uh recipes directory that composer manages. Uh if you you you can extend those or you can start fresh. And what I'm doing here is starting fresh. And one option is you can uh search by like the config prefix if you know that and select

it. The the better option probably is to use this where you can say I want node person. And it will resolve all the dependencies that you need uh including, you know, field storage, any view modes, any views that are associated with it. Once you have that, you can review and just make sure that it's, you know, got everything you want. Once you're happy with it, you say

boom. Create the recipe. But wait, there's more because it didn't resolve the image styles. You might want to include those. So it asks you, you know, do you want to add all the image styles? Do you want to add this taxonomy that's associated with it? And then there's your recipe. So that's obviously a little bit easier than uh export drag and drop. Um so what I do

here is I drop the database. I pull up byte. Uh so fresh install, you know, nothing And then show you that in the recipe we've got Well, I install it. Uh and then I'll show you here like what what makes up the recipe. So you'll see it it resolved SVG image as a dependency because we use that. And that's the composer. In the recipe, you'll see it

resolved all the install And yeah, so then I install it. Or apply it. You don't install recipes, you apply them. And there it is. So we've got our person content type. we've got our view associated with that. yeah. Hopefully that's useful to you all. And it's uh it's on drupal.org, DrupalYard recipe builder. So uh check it out. Give me some feedback if you do. I guess so.

I can't believe you wanted to live demo that, too. Oh, yeah. >> Scared you for a sec. Yeah. Um so like right now, the limitations of DrupalYard recipe builder, so we don't handle um content exporting because there's there's Drush tooling for that. We could, I guess, but um I would say just use, you know, content export and dump that to a file. Uh you could put it

in the same recipe or you could put it in a different recipe um that extends the the other one you created. Um and then can take actions. Those are more like nuanced and not really >> point about that. Yeah. Yeah, here's the thing. Like in a site template, you don't need to use config actions. You really don't. And the reason you don't is because config actions are

there to make sure that I have some site, it's in some state I don't know and I want to guarantee such and such change is made. It's a site template. It's at the beginning of the project. There is no site to be changed. They don't need to use config actions except for very specific things. Sure. So, don't even worry about it if you're wondering. Um so, in

the strategies for organizing this, so at DrupYard, like I said, we started doing all this stuff well before site templates were really a thing. And so, we were shipping options for layout builder, options for canvas, options for block UI. Uh and so, we basically built this hierarchy of recipes that stack on each other. And based on the options you select, those are the you know, the tree

of dependencies that gets installed. Um with that being like all the way up to a full functional site and then demo content cuz we want to show people like the best practices for how to use our components, how to use canvas. So, you can even install that as another layer. And there's no like inheritance in recipes per se. >> There's composability. >> There's composability. So, there's you

know, you can't extend on all this stuff. So, what we did was you know, started with base configurations that all of our site are going to use um maybe theme configuration, something like that. Uh that's one recipe. On top of that, we created one for base um field definitions. So, if we have like blocks that we define in recipes, but they all extend the same field storage,

we reference those as its own recipe. So, we're not reproducing, you know, field storage in every recipe. Um from there, we build entity bundles. So, like our block bundle with any fields that are specific to that particular bundle, Uh and that would extend number two, the base definitions. And then finally, we do things like demo content, and we have layout builder demos and canvas demos. And that's

kind of how we stack it. Now, that's a little bit different than what you would be doing with a site template, but if you were getting into the site template game, and you wanted to like roll out a bunch of them, you're going to have things reused across all of them. And so, building a library with this kind of methodology is what I would recommend, so that

you have you know, that foundation built from. You can pick and choose what you want for your site template. You basically install those, and then do site export. And again, it's it's whatever's comfortable you, whatever you're familiar with. You don't have to break it up that granular. I like abstraction. Mike hates abstraction. He has abstraction anxiety sometimes, is what I say. So, we we debate on whether

or not, you know, you abstract earlier or later. So, it's really up to you and your team, but that's what we're doing. And yeah, back to Adam. All right. Man, I was liking sitting down. Just go. I don't like that. All right. Thank you. Thanks, Andy. Sure. Um hopefully, um by this point, you feel like you can do this. Um but why should you? That's I can

think of three reasons off the top of my head why you should do it. The probably the biggest one is that it's never been easier to do this. If you wanted to do this two years ago even, you would have need to like you've need to like make an install profile, aka freaking distribution. And that is Drupal development on hard mode, I promise you. Um because when

you do it like that, sure, you can distribute a whole finished site, but they have no way to import default content, at least not without some programming foo. they have update paths. You can never You can't just change them, because you will probably break something. And they are extraordinarily hard to maintain. Recipes take basically all of these problems away. And for, you know, just spinning up a

site in a particular state really fast, they absolutely wipe the floor with distributions, and they've gotten much, much better. I think the recipes API should be stable, honestly. Um in addition to that, even again, 2 years ago, we didn't have Drupal CMS. Drupal CMS is a really solid foundation. Um it does It gives you so much for free. It gives you so, you know, so many good

best practice modules. It gives you a really nice out-of-the-box experience. And kinds of useful stuff. All the composer scaffolding is done. You get a nice install experience. It gives you a lot, so it's a great foundation to start from. And also, we have Canvas now, um which is an awesome page builder, and will be an awesome theme builder uh some beautiful day. And it's just getting better

and better. And there is so, you know, except for the theme part, um there's really, you know, you don't need to really write any code, honestly. Um just use Rush Site Export, or, you know, or Andy's uh Dry Yard Recipe Builder. You know, you don't have to be a programmer. And like, I I'm wearing my proud AI hater t-shirt, so I'm going to say some kind things

about AI now. Um again, even 2 years ago, the amount of AI acceleration you can do in terms of site building, in terms of, you know, building out the content types that you want to do, getting your theme uh ready and looking really nice. Um you know, even creating a design, honestly. It's It's um I have to admit it's amazing. Even I have to admit it's amazing.

And so, this is just never been more in reach, honestly. So, that's one really good reason to join. I don't really think I need to explain this reason all that much uh because the marketplace, if current estimates hold, should be ready by August. And the whole point of it is to showcase and sell site templates made by the Drupal community. And so, if you make a really

nice site with a really nice look and a really useful one that people want, you should be compensated for that. You should sell it. You should make money doing it, and also the prestige that comes with being a creator of extremely nice site templates. So, yeah, do it for the money and prestige. And finally, and more philosophically, I think this is a really important part of Drupal's

future. Um I've been doing this been working with this framework for, you know, 18 and 18 and a half years. And you know, you and me know it can do anything, you know? And it's an amazing framework, core is an amazing framework, but it has always struggled to be a really useful product. Um moves way too slow because it has to, it has to be stable. Um

and that has been a problem. I think that's held us back. And it's also hard to start to like get going with something nice. Drupal CMS changed this in a big way cuz it's a really pretty I think it's a pretty decent uh Drupal as a product. And the site template the site templates to me are the next logical step with this. This is Drupal as many

great products. There's a lot of different kinds of things as many as you can create, honestly. Um you know, we created a few, we had partners create a few, and now it's time for, you know, the rest of you who want to do this uh to create more, many more. Uh Dries uh said at one point he wanted like a thousand and I was like dream on,

man. So, you know, it's not going to happen in the short term. Um but I think that we could get there. And I think we should get there. So, why should you build a site template? I think in uh ascending order of importance, it's do it for Drupal, do it for you, for the money and the prestige, and do it um you know, really because you can.

Do it because you can. And with that, uh I open it up to questions. And there's the feedback card slides again. That's me and Andy and where to find us on Slack. Um so, yeah. Anybody want to know anything else? That's it. Yeah? I'm sure. Thanks. Uh so, if somebody has an existing site that's not based on Drupal CMS easily exportable and uh I like that question.

Um the question was if you have Question was if you have a friend with an existing site um that, you know, maybe they want to turn into a site template, can they export it? The answer is I would say yes with the because the Drupal CMS helper module, you can just install it into it's Drupal 11 3 and up, so you'll have to get on recent version

of Drupal, but Well, what the hell happened there? Well, anyway, just had questions, you know what it's about. Um So, yeah, you get on Drupal 11 3 and install Drupal CMS helper, run drush site export, and it should work. What's up? I'll just hit the button again. Oh, I'll get the question. >> it, that's so annoying. Well, I guess that question is lost. Um but yes, you

should be able to export it as a site. Yeah, we actually started the Meridian Charter that I showed was built on core and then we teamed up with Adam and added CMS helper, so I would say yes, they can do that. And then honestly, you can just remove like once you do it, just remove the module, you don't need it anymore, you know? There's no dependency. There's

something Yep. Yep. What is the process for getting a What's the question is what's the pro- what's the process for getting a site template listed in the marketplace? Um well, Andy, do you want to speak to this one cuz you probably have more >> just did the the the early thing was you had to be a Drupal certified partner and you had to work with the Drupal

Association to you know, be eligible, work with Adam to get your site vetted and that kind of stuff. Um if you go to the marketplace page, there's a banner uh on there and it it talks about the next steps and how they open up, you know, the next level of opportunity for people that aren't certified partners, that kind of stuff, so definitely recommend uh reference that. Probably

the one thing I would add is that at least for the time being, as I understand it, like they're you know, like let me put it this way. You can make a site template and you can publish it as a pair of Drupal.org projects right now. There's nothing stopping you. Listing it in the marketplace, there may be some higher like quality There may be some like higher

barriers like quality checks. They might I think they're going to insist for now that it be built on Drupal CMS just to keep the editing and admin experience like consistent for everybody. Um I don't know if that's going to be the case forever, but I think that's the case now to my understanding. Anything else? Well, okay. Go for it. That's all you I think there's also a

huge use case for internal site templates. An agency say got something built to 90% of what you use all the time to template it out and get to the next one as opposed to really publishing outside if you're not quite ready for that. Yeah. Uh the question or comment really was this could be used for internal sites as well if you have a starting baseline that you

want to I agree. It's way better than maintaining a freaking profile. Or can fix but Or can fix but yeah. There's a lot It's better than a lot of things. So, yeah, agreed. Yeah. You with the with the beard. The the other guy with the beard. Sorry. I'm sorry, man. You lose. I'll get to you. No, please. No, I was going to ask what's your current strategy

for maintaining Let's say you want to add a a new content type, >> Yeah. a new feature, a new blog content. Um I'm seeing how you've exported but that same export give you something that you can just kind of like add to your folder and it, you know, creates a Git diff that you're then able to upload. Like what's your plan for It It should do exactly

that. I uh you know, let me know if it doesn't because that would be a bug. But uh yeah, like if you add something to a site template or take something away for that matter or change something, then yes, and you export again, it should be reflected in the you know, in the repo in the config and content that the site template includes. The one thing to

say is that it won't, you know, automatic and I said this before, like it won't automatically get pushed out to like sites that were built from that site template. That would be an actual update path. But, yeah, you should be able to like the strategy for maintaining is keep maintaining it, you know, continue keep working on it. You can always iterate. And if you do have site

templates out in the wild and you want to add new features to it, then you can just run recipes on it. Yeah, that's also a possibility. Okay, yeah, other guy with the beer. What time are you going to be in the contributor room so we can bother you because you can help us on recipes? I got nothing else to do after this. I guess I'll go to

table will just be like site template bangers table. Anyone getting a lot of freaking out? I I love it. Yeah, let's do it. Let's go do it. It wasn't a question for the for the for posterity. It was uh let's go to the contributor room and make a site template right now. I'm I'm down. Well, okay, I got you. It's actually if like you guys that you

mentioned is awesome if you like have two sites we made a second one it's like the old one if you want to have a technical architecture So, having like a separate module world like private repo it's all the same stuff. That's just another git. We will get projects. Yeah, well, it would be a module. Yes. Yeah, like you recipes very much rely on composer to assemble everything

together that they're going to need. So, And so? Any other questions? No, that is it. Okay, I release you all.

From event

DrupalCon

23 Mar 2026 – 26 Mar 2026

All event videos
Back to Watch