Learn how to use Greyd.Suite’s dynamic architecture to create entire website systems.
Academy: Manage hundreds of websites
Hey, my name is Jakob from Greyd, and today I’m going to show you how you can efficiently manage hundreds of websites. We’re going to explain why you should consider building your websites more dynamic, especially if you’re managing multiple websites. And that doesn’t need to be 100 websites. It could also start with just two websites that need to share some kind of content, some layout, some design.
So let’s start in the Greyd Hub. Here I have a multisite set up, and you can see lots of different websites inside the Greyd Hub. But we want to mainly focus on these two. I also have some different site set-ups here, some connections to other sites. Those will come in handy, because those sites communicate to that different environment, to the different site on a different server. Totally, it’s its own WordPress installation.
So let’s just take a look at these two websites. The first one is a fitness franchise use case, and we have this nice pink bold style. It’s called FitLifeGym, and let’s just quickly go through it. We have a hero, we have some workouts that are explained below here. We have programs in here, PowerFit, Zen Yoga Retreat. We have a separator, then we have the fitness coaches, the actual coaches and personnel that work there. Then we have opening hours, contact details, a form, and a style guide just for this demo case.
And let’s take a look at the second site, which looks pretty much similar, but has a different design. It is yellow, has a different logo, different font, and it actually is called ElevateFitCenter. But apart from that, most of it seems to be the same. We have the same workouts down here. We have a different program, but this one is the same. Obviously, there are different people working here, entirely different people, and we have different opening hours, a different address, phone number, email, whatsoever. So a mix of things.
On the one hand, we have different text information. Then we have different posts, but still the same display of them. Then we have a different program, but only some of them are different and most of them are static. And we have headlines that are different as well. So we want to take a look at how those are built. We first want to edit this page to just quickly see how this is built.
You see first, this is a global source post. It’s used at two different other sites. This one is the one we actually have seen right now. And this is the other server, or not necessarily another server, but another WordPress installation on the same hosting, but it could be on an entirely different hosting. And that’s the one that I’ve connected here. And you can actually connect them yourselves. Go to the connections tab and there you can include a new WordPress site. You have to add the connection on both sides so they can communicate with each other. And then you’re good to go. You can see here if the connection is active or something is missing or something is wrong, because you always need to be able to disable the connection from either side, just for security reasons.
So yeah, this is the setup here, but we want to mainly focus on these two sites that I brought you here. And I want to take a look at three different use cases that we’ve built into this site. The first one is these programs, because the programs are basically developed and spread out globally. But they are different from time to time on this local site. So there’s a different program, but this seems to be the same.
So first off, let’s take a look at how this is built. This is built using a query loop and inside the query loop you can see the post type “program” is selected. Let’s take a look at the post type program. There you can see the actual posts: PowerFit, Zen Yoga Retreat. Let’s edit one of the posts. Let’s edit PowerFit. Let’s just make it PowerFit 2. Update it. Wait a second. And now we should see obviously PowerFit 2 here. But of course on the other side as well, PowerFit 2. So that’s how easy you edit something. You just publish it and it’s published everywhere. Let’s just get rid of this “2”. Update. And now it’s reverted back to PowerFit everywhere.
But let’s take a look at how this is set up. This is set up using the post type and the post type is made globally. If you want to take a look at how the options are set up, it includes all the nested contents: all the post content, the post thumbnail, post images, templates that might be included, forms that might be included. Everything is published as well. So every site that uses this post type is made sure that it has all the contents that it needs. Also, the individual posts of this post type are exported as well. So as soon as another site is saying, okay, I want to use this program post type, then it’s also taking all the programs with it as well.
In this case if I create a new program, let’s just call it Strong Mind. Let’s give it one little text bar. I don’t want to include an image for now, but let’s just publish this one. And go back. Now you can also already see this is the original post, the root post. If I go to my actual page, you can now see Strong Mind published. If you go to the other site, you can see this new post is published as well. So this is a possibility to publish, for example, new programs stage-wide to different sites, to hundreds of sites simultaneously.
In this use case, the franchise partner doesn’t necessarily need to fill in new programs themselves. You can fill it in for them. Or in this case, they are allowed to fill in their own programs as well, which they have done here. If I go into the programs here, the setup is the same and you can see those are the linked posts. This is my new one and I can actually create my own ones. I can create new programs that are just local from here on, because this is not the root site. So this is a good use case how you can sync content and spread out new posts across multiple sites.
Let’s take a look at the next section. This is a huge layout section where you see all the trainers, all the people working in this fitness franchise. Let’s take a look again on how this is built. This is built using an entire template and this template is synced. It can be used multiple times across the entire website, but it is synced first and it is already built with the query loop. We have two different query loops in here: one for the bottom two posts and one for the top post, then using an offset to make sure no post is displayed twice.
I can now go ahead and drastically change this layout. For example, I want to make the headline way smaller, change the text color, move columns around. After updating, you can see if you go back to the site, the layout has changed. The image moved to the right, the trainers down below are on the left. This has changed on both sites. The layout and structure is kept, but colors follow each site’s branding. This is a good case on how you can sync and manage layouts if you synchronize the entire template. You can manage the layout without affecting the contents or even the design. Then you can reuse these templates across the website, fill them with different content, and still sync them.
This could be an entire section like in this example, or just a small box. Just a box, for example, can be a template that you reuse to make sure it always follows your corporate design guidelines across hundreds of pages if you sync it from one master installation. If you revert the changes, they are reverted everywhere. It’s that easy.
The last example is how do we actually get these different informations? Where do we get that from? Is this a post type? Is this a query loop? To understand that we take a look at the section at the top. We have this headline that says “Welcome to Elevate FitZern” and the subline “Where strength meets serenity”. On the other site it says “FitLife Gym” and “Where everybody finds their path to wellness”. These seem to be different informations.
This is set up using the site title and the website subtitle. Those are just dynamic tags inside the headline. I can type in a hashtag and use whatever dynamic tag I want, usually post based. But I don’t want post information, I want site-wide information. Available are site title, site subtitle, logo URL. But what if I want to set up more complex data? This is what I’ve done here. I have franchise data: address, phone, email, opening hours. And that’s exactly what I’ve used here, included with dynamic tags.
Those are set up using a post type, but in a different way. In this post type, we have one post “master franchise data” and this has all the information. Similar on the other site as well. We have one post that says Elevate Fit and here we have different information. Let’s take a look at how this post type is set up. Just some meta fields. And here is the option that does the magic: “Make data from latest posts available globally”. Instead of having to set up a query loop, you can just set this checkbox. As soon as we do that, we configured a global option. The latest post is automatically the current state of the options. You can publish different versions based on categories, based on date, whatever. Always the latest post is used for the data.
In this way, you can provide data for your entire website and reuse it. You can type it in headlines, link something to globally provided data, and this way you have an easy entry point. The franchisee can just go here, fill in text fields, select some images, set up links. And you set up everything so it automatically references this data. This is the third use case: global data provisioning.
You can now customize the user roles as well. For example, are they allowed to publish their own programs? Are they only allowed to publish and edit franchise data? Are there multiple globally set up post types? You can customize the experience you need for your use case. But what this shows is how important it is if you want to manage hundreds of websites to build sites dynamically. Using dynamic templates and post types, you can structure information, make it easy for the franchisee to fill in, and easy for you to manage hundreds of sites with just syncing one template, one site, one post.
I hope you found it interesting. I hope you learned something new and see you in the next one. For more videos and information, please visit our help center.
Was this article helpful?