[00:00:00] Nathan Wrigley: Hello there and welcome once again to the WP Builds podcast. You have reached episode number 397, entitled Ben Butler on turning WordPress static with Headless Hostman. It was published on Thursday, the 7th of November, 2024.
My name's Nathan Wrigley, and just one bit of housekeeping before we begin, I'm really promoting at the moment, our Black Friday deals page. We're not that far away from Black Friday, and the WordPress space can get pretty cluttered. So what we do each year is we put together a dedicated Black Friday page. And on there, we put all of the links to all of the products in the WordPress space. There's about 170 at this exact moment, but no doubt by the time that you are listening to this, there'll be many more. If you go to WP Builds.com forward slash black, once more WP Builds.com forward slash black, you'll be able to search and filter those deals.
If you are in the WordPress space with a product, that could be hosting or blocks or themes or whatever, then head to the add a deal button, and that will enable you, completely for free, to add your deal to that page. And if like WS Form and Gravity Forms, you would like to feature pride of place, then hit to the get started button on one of the black sponsor cards, which is currently unoccupied. we'd love to get your product or service noticed in the run-up to Black Friday. It's not that far away. So once more, WP Builds.com forward slash black.
I suppose the only other thing to mention is that we, as we always do, feature some advertisers on the WP Builds podcast. And if like them, you would like to be featured within the podcast, on the website, and in various other places, get in touch with us by heading to WP Builds.com forward slash advertise to find out more.
A bit like these three fine companies did.
The WP Builds podcast is brought to you today by GoDaddy Pro. GoDaddy Pro the home of managed WordPress hosting that includes free domain, SSL, and 24 7 support. Bundle that with The Hub by GoDaddy Pro to unlock more free benefits to manage multiple sites in one place, invoice clients, and get 30% off new purchases. Find out more at go.me/wpbuilds.
We're also joined by Bluehost. Bluehost, redefine your web hosting experience with Bluehost Cloud. Managed WordPress hosting that comes with lightening fast websites, 100% network uptime, and 24 7 priority support. With Bluehost Cloud, the possibilities are out of this world. Experience it today at Bluehost.com/cloud.
And we're also joined by Omnisend. Omnisend, do you sell your stuff online? Then meet Omnisend. Yes, that Omnisend. The email and SMS tool that helps you make 73 bucks for every dollar spent. The one that's so good. It's almost boring. Hate the excitement of rollercoaster sales? Prefer a steady line going up? Well, try Omnisend today at omnisend.Com.
And sincere heartfelt, thanks go to GoDaddy Pro, Bluehost, and Omnisend for their support of the WP Builds podcast. Content like this cannot be created without the endeavors of companies advertising just like that.
Okay. What have we got for you today? Well, it's an episode with Ben Butler from a service that I had not heard of called Headless Hostman. They take your website from being a dynamic website, with everything switched on. PHP, nginx and all of that kind of stuff, to a static site, and it's all done on the server level. That means that it should be unhackable, but it also means that it should be a whole lot quicker.
So Ben joins me on the podcast today to describe why they built it, how they built it, how they differ from similar rival products, but also similar rival plugins. And it's all coming up next on the podcast, which I hope that you enjoy.
I am joined on the podcast today. You by Ben Butler. Hello, Ben.
[00:04:43] Ben Butler: Hey, how's it going?
[00:04:44] Nathan Wrigley: Good. Ben's audio is either gonna be really loud or really quiet. Let's hope it works out. But, he's joining me today from the us. He's got a really interesting product in the WordPress hosting space. Maybe something that you've never even thought about before. we'll get onto that in a moment.
But, I'll just quickly drop the URL so that you can pause the podcast right at the start, go and check it out and come back and you'll be informed as to what it is. It's called Headless Host Men. Yes, it is. It's called headless, H-E-A-D-L-E-S-S, homan, H-O-S-T-M-A n.com, all one word. No hyphens, nothing weird like that.
Go check it out, and you'll see why there's a discussion to be had because it is not your normal hosting. Before that, Ben, do you wanna just tell us a little bit about yourself? Potted bio relationship with WordPress history, all of that.
[00:05:34] Ben Butler: Oh God. Okay. we'll start at the beginning. Yeah. I think you know, really anybody who views my. Profile will find a eclectic amount of different skills and things of that nature. But really got my start developing as one of those primary skills, took a college web development class and quickly excelled through the program and, was for the school very quickly, redoing a lot of their websites as a result of that class.
and. right before graduation, started a creative agency while still in school and I, transitioned that into a, full service, creative and development shop. And it's been 11 years and that's pretty much the bulk of it. I've had some equity stake in other development related agencies.
One of them was. One of the first HubSpot COS agencies and was on the HubSpot COS advisory board and things of that nature, and had some really good mentors that were, WordPress focused and development focused, where I learned the trade even further. And, every day that goes by, we really fancy ourselves able to do the simple stuff, Hey, I have this marketing website I want to, look really cool and be executed very well.
All the way down to, Hey, I need all this API to do all these things with WordPress and all these systems. So we handle a lot of API development projects within our ecosystem. And so we're very, native to doing hard stuff and building stuff from the ground up. And after about two years in development, we launched the headless host man, which was our.
our, crowning achievement of our own development, and we're moving into that, Hey, we can do it for you. We can also do it for ourselves. And so that is really the pivot we made and, leveraging all those skills. so that's, long and the short.
[00:07:51] Nathan Wrigley: have you done the full pivot? Now? Is the headless hosting ho host man, sorry, I'm gonna say hosting, I'll bet over and over again, but headless host man. is that the thing that you do now? Have you managed to pivot all the way over to there, or is it still just a sort of part of the business?
[00:08:08] Ben Butler: Still a part of the business. We have a bunch of other products that are in development as well. And so the way that I think about building a business is in Venn diagrams. So you start with your core business. Then you start drawing these circles around it and say, what can I do to benefit this business?
And what unique attributes does my business have that can benefit some product? That makes sense. So we started drawing the, Venn diagrams, and after doing hosting and caretaking for. Better part of, nine or 10 years, we're like, oh, this, fits into that service set, but it also fills this market need.
So we still have, the agency at full throttle, about 10 people servicing people from, all around the globe and all that. But for where I'm seated in the agency, my, my initiative right now is to build these products and to continue to. Refine our craft, but also to contribute things that people can use that are outside of the, oh, I want a website, design development.
so we're starting to move in that direction. I don't know if the headless host man is gonna break away and outrun the primary service set, I guess you never know. but it's been going gangbusters so far, so that's good. And yeah.
[00:09:36] Nathan Wrigley: I was just gonna say that is good because if you'd have asked me the question, which part of the WordPress ecosystem is saturated? In other words, which kind of bit of WordPress would I not want to get myself involved in? Honestly, I think hosting would be it, because I feel like there's some really.
Big players out there. And so I'm imagining, Ben, that when you put this together, you must have thought, A, we can do this better, and B, we can do it differently. And I think we're gonna be concentrating on the difference between what you are offering and what other people are offering out there. And I think it's fair to say that we could describe your hosting offering as flattened or static WordPress.
I dunno what the, words that you used to describe that is. But do you wanna just lay the groundwork for what your hosting does? That's different from the normal hosting that we would find if we just did a quick Google search for WordPress hosting, we'd end up on, the companies, we know what they all are.
How does yours differ in what it offers? technically really.
[00:10:38] Ben Butler: Yeah. Yeah. I think you have to start all the way back with what is static WordPress and, doing a lot of market research into this product. We found very quickly that there are some people that know what static is, but there's also a whole tribe of people that have no idea what it is. Maybe they are interested in the benefits of it.
So when you, break it down as to what static is, I think that's the best place to start. And so basically, static is not unique to WordPress. Static is not unique to the year 2024. So if you go all the way back to when the internet originated, every single website was static and all that meant was.
Everything you saw rendered on the web was not pulling from a database. So you know, you remember the MySpace days or the very 1994 internet, you wanted to change an image. You had to pull open the page template and switch out the image or change the copy. And so what happened was is content management systems entered the web ecosystem to dynamically pull.
Menus, texts, images, so forth and so on in a way that makes content management a lot easier. And so that took over the web, but then somewhere along the way somebody was like, okay, this is INS not as secure as it could be and not as fast as it could be. Because if you have a really bloated WordPress website, which bloated is the word I would use to describe, I would say most of the WordPress ecosystem.
And why? some IT and developers give it a bad name, is that if you use too many plugins, if you use the wrong themes, if you use the wrong practices, what you can get is a very slow loading WordPress site. You can get around that with caching and all those plugins that essentially do like a pseudo static sort of generation.
But at the end of the day, WordPress is a database driven platform, as is almost every single content management system. That exists. And so what static WordPress is, it is a WordPress dashboard that you're completely used to using, but the production website is a set of pages that are completely discombobulated from the database.
So a static website loads these flattened renderings of your WordPress website. And so because of that. It's hack proof. There's no database to exploit, there's no injection you can do. There's no login page. And as long as you keep all those things really secure and obfuscated, nobody will ever find your actual WordPress site.
And so the final result, it's faster, it's more secure, and it's immensely, resistant to things like DOS and DDOS attacks. It's immensely resistant to. Peak traffic and unexpected viral traffic and those things that break WordPress websites where, oh no, we went viral overnight. our website went down.
And that's because the database is working hard. The server is not equipped, and also those pages aren't as efficient. So to summarize that, a static website on production is completely separated from a database. And so the challenge of a product like this is, okay. That sounds great. Before we started recording, you asked a lot of questions about, hey, what about all this and this and this and this and this, and that is where the differentiator of headless host men comes in, is making your WordPress experience as easy as you know it is right this very second.
Wow. Giving you all the benefits of a static website. So that's, really what led us to this point. And I don't like to point fingers and name drop and criticize, I've always been in the mind of, hey, if there is a solution that does what we want to do, we're not gonna go rebuild it.
we're not gonna just, create something that somebody has already created. We're only gonna create new SaaS products, plugins, what have you, if the need exists. And so we tried literally every single quote headless WordPress solution. And over the course of several years, very quickly learned oh no, these don't work for what we need.
And these don't serve. we've. We probably shipped out over a thousand sites. our average is like a hundred websites a year that we design and develop. And so we wanted to put our end customer mind and say what would our customers actually buy and what would actually serve them? And so we got to the end of our checklist and said, we gotta build it.
We gotta do it. And so that's what led us to, creating this solution. And I'm, happy to dive into the specifics, but. Really, it's a, WordPress site with a static production site that has all those benefits. And the benefits are really the thing that are, shocking. And I'm, happy to dive into the benefits pitch 'cause this is, we got a more technical entry.
But whenever you're talking to A CMO or somebody like that, they're like, dude, I have no idea what that means. Just tell me what I get. You know what I mean?
[00:16:16] Nathan Wrigley: Let's, first of all, I'm just gonna pause because I know my audience and my audience is somewhat technical. some, very, technical and some not so technical. So we'll just unpack it for those people. Maybe spin this on, if you are, if you consider yourself technical, maybe spin it on a minute or so, a couple of minutes, something like that.
But if, you think you're not that technical and you just wanna get the skinny on the bits and pieces, just stay with us. So the idea here then is. That once you've gone over to, headless houseman, the, you are serving up basically text files and assets, you are serving, flattened HTML files, which have been scraped in some way by your service, presumably, and the file has been put somewhere.
So what what if you were to inspect the, source, if you view source, you are serving up that file. Plus the associated JavaScript, CSS, whatever, plus the assets, the images and what all the bits and pieces that go with that. But it's decoupled from the database, so there's no query, there's no leap loop going on.
in order to make the page happen, you literally give, you just throw at the browser the, flat. Text file and then the browser interprets that and puts it on the page. But there's no interaction with the database whatsoever, meaning it's basically, as far as the internet can be, it's instantaneous.
Where does the, WordPress site go during this period then? Do you hibernate it in some way when you are not requiring it, or is it always permanently on? How do you handle that side of things?
[00:17:48] Ben Butler: Yeah. Yeah, and I think that's a good summary and I, think there's a few keywords to, to call out in terms of the difference. So with a lot of static solutions, they do. A scrape, which you know, is wildly inefficient. it's inaccurate, it's bandwidth intensive. So if you're deploying a solution to your server that is bandwidth intensive, very quickly your server provider's gonna go, yo, hey, you're taking up a lot of resources.
You gotta pay more money. So we don't use a scrape. We, the way that we generate the pages is. The plugin itself is the magic, the magic solution to doing that. We do a very simple for each loop. So we, for each loop through every single page, we read the contents of the page, top to bottom, we save the contents of the page, top to bottom, and that is what gets deployed.
So it's super accurate in terms of detecting what's on the page. So that, I think that's a, key difference to call out. 'cause there, some people do scraping, some people do legit, like generation, and we're doing the generation side of it. so that's the first thing in terms of the way that the WordPress dashboard works is we have a WordPress enabled server.
So whenever we make this conversion, we migrate your existing WordPress site. To a host Manpower domain, and that's where the content management team continues to access the site. And so the site doesn't get retired. It's, it is the same amount of input and output, and we have, a lot of experience with what the, the client is doing with the site and they're going in there.
Some people are updating every hour. Some people are, updating every 30 minutes. Some people are updating once a day. So the, site itself, the WordPress site is your staging site in this sense. And the thing that you don't really interact with ever is the live site, because the plugin creates the generation, it does the automation and it pushes it.
And there's a lot of specifications to how, what, when, where, why, and all those sort of things. But. The WordPress site is, it's just like your regular WordPress dashboard experience, and that's exactly what it is. It's just a WordPress install, it's a duplicate of your site. You go in there and from within that control panel of a regular WordPress experience is how you get to decide what goes to the public.
And we're keeping that alive. And all of the, pain points that we've solved re revolve around what that means. And I. To get a little bit more technical, typically in the way that static WordPress seems to be moving, there are solutions that take your existing website as it is, but then there's a lot of contingencies.
oh, hey, you can't use contact form seven. You need to use this thing over here, or you have to use contact form seven, or You can't use gravity forms, or you can't use. This, that and the other thing. There's all these contingencies. So that's one approach. The other approach is, very, big suppliers and there's like the static WordPress is cut in half of people that are like, use your existing site with contingencies or use the WordPress background backend with GraphQL and all these things to render a next Js.
Space site, which requires a complete rebuild of your front end, which again, I, don't know a single client that I have that would, number one, do that. But number two, the scalability of being able to develop that in the future is extremely expensive. So that's why we want to keep it as close to the native WordPress experience as possible.
And that's really the, driver of this solution is use WordPress just like you would, and we'll do the rest and the plugin will do the rest.
[00:21:53] Nathan Wrigley: So if I'm a customer of yours, I'm heading over to a subdomain of headless houseman.com. So in my case it might be, I dunno, WP builds dot headless houseman.com, and there I'll find my regular WordPress install with all the plugins, themes, blocks, whatever it is that I wanna do, plus the addition of your plugin.
And that's the thing that does the magic in your case. It's the go between, between the flattened version, the static version, and your website. And, it. It comes to life, if you like, when you are publishing content, when you're updating things and it, will figure out what needs to go where and flatten those files and what have you.
so is, first of all, is that true? Any WordPress website will work? It's you don't need a particular configuration, any theme, any plugin combination will work in particular, I'm thinking about the dynamic side of things there. 'cause you mentioned contact form plugins, things like gravity forms and what have you.
Is it possible to use. Anything like that out the box? I dunno. WooCommerce, for example, or are there constraints about things that you can and perhaps can't do?
[00:22:54] Ben Butler: Yeah, so what you described is fully accurate and for you hackers out there, it is not a subdomain of our main website. It is a subdomain. You'll never get
[00:23:04] Nathan Wrigley: nice. Okay. No, no guessing basically, which is
[00:23:07] Ben Butler: no guessing. Yeah. Yeah. So security is always, security is a, big reason why people use. Static to begin with. So we, we have to maintain those principles.
But yeah, it's a located at a subdomain of ours, and the plugin is the go-between, so the, it's an interesting conversation right now surrounding what can and can't you use and what we found so far, we've, oh man, wave. I think we're close to a hundred sites on the, solution right now. So we, again, we went gangbusters, so we're relatively new and we're up to almost a hundred.
We might have crossed a hundred sites last week with, current events, if you will, and people jumping ship, to this solution. But, The, only two things that we have found we can't support are Nitro Pack for obvious reasons, because Nitro Pack is like a quasi static experience in the way that it rolls and WooCommerce, but we are very close to a WooCommerce solution, and we would be the only static WordPress plugin provider, host, name it, you name it.
That offers that solution. That was like one of our first initiatives, like how do we bring WooCommerce into this? And we're also about to unveil a Shopify plugin extension that allows you to integrate with your Shopify store. So I think e-commerce is where you get tricky. And just to put it in perspective for people that maybe don't know to do e-commerce on static is.
Probably the most challenging thing that I have ever embarked upon, and that's the reason why literally no one who does static WordPress has the solution. But we will hopefully in the next, three months or so, we're very, every time you get close to oh, it works. You're like, oh no.
Then you get closer and you're like, oh, it works. Oh no. there's a lot of semantics as to. How to get that to work. But those are the only two things that we've, been aware of. we've supported things like Elementor Divvy, beaver Builder, obviously those things add bloat to the website, so it's really advantageous to, push those to a static environment.
But yeah, those are the only two limitations out of a hundred sites that I have seen.
[00:25:41] Nathan Wrigley: So things like a contact form is obviously something dynamic. usually you press send on the form or. Submit on the form and some, something is going on. some PHP script is running somewhere to make that all happen, but you've managed to fix that. So the, form solutions that we've all heard of, the big players out there, gravity forms contact form seven plus a whole bunch of other ones, they're taken care of.
And you ship with the capacity to run those.
[00:26:09] Ben Butler: Yeah, and that's the best part. Honestly. It's, people call. 'em in and they have these super complicated, oh hey, every time a contact form seven fires, these 17 things run in the background attached to other plugins. And I think the, like really Puritan static people will not like what I'm about to say, but it's just a reality of what is our mission.
And our mission is to take your red WordPress site and make it work with static, with the least amount of friction possible. And so based on that lens, the way that we've solved these problems is we securely route Ajax and WP JSON, and to get in a really quick teaser of how the endpoint product works, the, static site is living on CloudFlare, so it's on the Edge network, and we are securely routing Ajax and WP JSON.
Requests back to CloudFlare, running them through a black box. So in that black box, what happens is, the request gets routed back to the WordPress site, returns the results, and then posts them on the front end. But what actually happens is the requests still hits your WordPress websites. That means, Hey, I have gravity forms that's integrated with Slack and Google Sheets and so forth and so on.
Those things still fire. Because we're routing it. But on the CloudFlare side, we obviously, two things never happen. One, we never give up the WordPress staging site, Uur L, it never happens. It is securely routed. And two, we obviously do an additional check. Things like recapture, they work on the front end of the static site.
So like you have that security, but we're also running an additional security filter. On the CloudFlare side, we're doing delimiting as well. So let's say that somebody comes in and finds a way to spoof your form and they can hit it, once every couple seconds. That's not gonna work because that's very quickly going to say.
That's not good. We're not gonna let this pass. We're gonna shut this down. So that's really the, secret integration is running those requests into CloudFlare, filtering them, sanitizing them, checking them, and then sending them into the WordPress website. And the WordPress website, again, securely sends a request back through CloudFlare that then populates that on the static site.
And so you'll notice if you go to Built by top hat.com, which is our agency's website, or headless houseman.com. Those are both using contact form seven. We have very complicated, workflows that send it into Asana and Slack and so forth and so on. Those all work for us, but we've also integrated our own and we're like working on a security plugin for WordPress websites.
That's gonna be pretty awesome. But we do a security check with our own plugin. You'll see those results on built by top hat.com. if you are a spammer, it's gonna say, Hey man, we got your IP address. You're a scammer. Stop it. so all of your workflows work, and that enables, that's the biggest gap, is people who don't support Ajax or WP JS ON in a secure way.
That's where all these things start to break on other. Static WordPress solutions, but we support those with secure routing in a black box. And that's like, the one of the secret sauces of how you just take a WordPress site and push it to static.
[00:29:56] Nathan Wrigley: So let me just pause that and make sure I've understood it correctly. let's say in the, example of, it could be WooCommerce, it could be, let's go with a form. So I submit the form, the, information from that form is rooted through two CloudFlare, Then if you like, anonymizes.
Amongst other things that information, so that the URL is never revealed passes it to the actual website. The one that you can interact with in the WP admin area, that WordPress website deals with it as it always would. Then the results of that come back, go in the other direction, and then finally end up on the front end of your website.
So your form, for example, is submitted or whatever it may be, that then I presume, if you've got a, if you've got a fairly, I don't know, frequently visited website, like a WooCommerce store or something like that, presumably the WordPress website, the active database driven WordPress website. That has to be running on some kind of infrastructure or architecture that can take a lot of concurrent traffic.
So it can't just be like a bare bones, cheap little, tiny CPU version of a WordPress website. That one itself has to be fairly robust 'cause it's got a process, actual real world traffic at the same time. And I'm saying that like it's true, but I'm just gonna hand it to you and you can answer that.
[00:31:13] Ben Butler: Yeah. Yeah, and I, love that we're getting into the nitty gritty of CPUs and all that stuff, and. I don't wanna reveal the full,
[00:31:22] Nathan Wrigley: No, it's okay. Yeah, I get it.
[00:31:23] Ben Butler: and dance. And I think people are very, just to put it in perspective, so I, we'll use WP Engine as an example because they've been all over the news. So you get, WP Engine prices, their servers by P name.
So you have the P one, the P 1.5, the P two, so forth and so on. So your average P two server for w WP Engine will support, maybe approximately 75 to a hundred sites if you have extra storage and so forth, and so on. And I believe their number is eight gigs of Ram. And eight CPUs is supporting 75 sites that are not million per month visit sites and things of that nature.
Our current instance of our server is 30 gigs Ram 33 CPUs, and a whole crap ton of storage. anytime we hit our threshold of, Hey, we have. Too many WordPress sites that degrade whatever we perceive our formula to be of making these responses possible. We're gonna spin up another server with 33 CPUs, 30 gigs of ram, and so forth and so on.
So even our WordPress staging server, if you were to run the WordPress staging server just by itself. It's far superior to most of what you get for a lot of money. So a WordPress P two server I think is like probably north of a thousand dollars a month, just for that technology. And for the offering that we're providing to people as part of the price, our baseline WordPress only servers 33 CPUs, and all of those tech specs that are extremely aggressive to make sure that we can keep up.
But also on the CloudFlare side, if somebody were to DOS or DDOS, one of our sites, first and foremost. The static site doesn't care. Like legitimately the static site, it actually helps the caching on CloudFlare. like the more visits you get, it's storing these tiered, tiered cache buckets that rely on users accessing the website.
So from that standpoint, it's like your site's not gonna go down because somebody is DO sing. The only, vulnerability would be. Maybe the contact form doesn't work because of overage, but that's why it's really important to call out the technology. It can keep up, it will keep up. But also if we detect somebody is doing something bad on the static site, as those requests enter the CloudFlare process, if we see somebody's hitting it, common thing you'll see is people who are trying to expose the database by putting in something like.
You'll see like really weird code is like the text message or like the name or the email. You know those people are going in there and they're either, taking advantage of WP JSO or Ajax to put forth foe and phony post requests. One per every point. Five or one second. I actually just defended against a traditional website, on WordPress on Friday, the dude found a way to expose, a certain thing, and he was putting through like a request every second.
And so on the CloudFlare side, what happens? Is, it has, delimiting and, debouncing and or whatever you wanna call it, throttling. So if you're trying to put through too many requests at once, it's gonna say, Nope, you're not doing that. So that's further protecting the. Base WordPress website that has to deal with those requests.
So you're not gonna be able to do that. And further, if you keep doing it, you're gonna be blacklisted pretty quickly. 'cause we, really what we've done on the CloudFlare side. 'cause I really think CloudFlare is the best of the best at dealing with edge caching, security, and all the things that make a site secure and fast.
We have our own secret little, programs that we've put into our CloudFlare instance. Will say, Hey, if somebody's putting in a request every second from this IP address, bye-Bye. See ya.
[00:35:51] Nathan Wrigley: Nice. Yeah, that's pretty interesting. Yeah. I, like that we're getting into the weeds here, actually getting into the weeds of the, backend of the website. for a moment, let's dwell on the WP admin area. if you, were to go with a more traditional static hosting, when you come to publish things, you may hit a bit of a roadblock there in that you might have to, I don't know, res scrape.
The whole site and, the, little crawler bot that's part of the plugin might go around and scrape every page or what have you. or it might be that you can just publish one post at a time or one custom post type or whatever it may be. How do you handle all of that and the dependencies that might come from that?
So let's imagine a scenario. I create a page. I want that page to be in my main navigation. I want it to go in the, the. navigation at the top of my website as well. normally when I publish a post, that's fine, because WordPress is figuring out via some kind of loop or what have you, what's gonna go in the menu and what's gonna go in the archives and all of that.
How do you handle all of that? if I create a. Page or a post might have been better. Do you create the archives and push those as well? Do you update the menus? In other words, if I'm just doing that one thing, that post, will my site completely reflect all the places that should go? And if the answer's yes, how do you do it?
[00:37:12] Ben Butler: The answer is yes. So
[00:37:14] Nathan Wrigley: How do you do it?
[00:37:15] Ben Butler: yeah. And this is, one of those things where like I said at the beginning, we didn't want to create something that already existed, so that was one of the biggest pain points we had is. Hey, I created this one page. I think a, let's use a blog post
[00:37:34] Nathan Wrigley: Yeah, that's better. 'cause then it goes in an archive and things. Yeah. Yeah.
[00:37:37] Ben Butler: yeah, 'cause people have custom post types, they have all these dynamic content types that need to appear on multiple pages and things of that nature.
So let's say you publish a blog post, you have one big issue. Okay? Where is my blog post listing happening? And so a lot of times you'll see it on it's probably on the homepage. It's probably on the blog listing page. It's probably in these archive pages. And so the solution that we put into that is what's called update mapping.
So you can go into the, to the plugin on your WordPress website and you can say, Hey, every time I publish. A blog post I want you to automatically refresh homepage, blog, listing archive, and you have access to all the pages on your website. So let's say that your case studies. or your work page or whatever, you can map that.
So when you publish an individual blog post with one button press, it says, push this headless. It's gonna go refresh home, blog, listing arc, whatever you tell it to do. And that works for every custom post type. Your regular things like pages and posts and things of that nature. So that's one big solution there to fix that.
But I wanna take it a step further. 'cause you talk, you touched on a couple of very, common things that also frustrate the hell out of us too, which is, oh my navigation, my footer, my tracking scripts, my, all those things. So we actually developed a, and this. I won't tell you how, 'cause if I
[00:39:22] Nathan Wrigley: That's the secret sauce. Yeah.
[00:39:24] Ben Butler: it. We actually, and this is a more, this is a more recent, functionality that we just put out, but with One Button Press, you can update the entire header, entire footer, and we've actually delegated an area for scripts. So let's say that I go into my website and I say, I need Google. Google Tag Manager or a Pixel, you drop it in this location, in the plugin, you hit one button, and that's instantly available across the entire website on the production
[00:40:01] Nathan Wrigley: Oh, okay. My head's thinking now how? How, okay. I'll,
[00:40:06] Ben Butler: I know. I, it took, a little bit of time to figure that out, but just to put it into perspective, what, brought this to light is, and this, it crosses, we're building a web of this product and its ecosystem and its clientele. What I was really surprised by is when we went to market, we, had, and I'll, I'm taking a, longer walk to the end point here, but just bear with me for a
[00:40:32] Nathan Wrigley: Okay.
[00:40:33] Ben Butler: When we came out, we thought we were gonna have to explain what static was to our audience. So our marketing website was very heavy on, hey, this is what static is and whatever. And what we started getting are these sites that have. 500,000 to a million unique visitors a month. Those were our first customers, and I'm like, oh shit.
these people obviously understand what static is, the, benefit of onboarding the first 25 sites as enterprise level sites is you start running into all these issues. If these websites have 5,000 pages and their marketing team adds a tracking script. you, your answer is go rebuild it, and that very quickly is not fast enough or convenient enough.
Although pushing an entire site to static takes minutes because it's really, fast for various reasons. So we're like, oh, We have to build a mechanism that if somebody updates a navigation menu, a footer. Or tracking script, it needs to be instantly available. So we built that and so that, that takes care of that headache of, oh man, I just added a navigation item to my primary nav.
I gotta go repu, 5,000 pages. No. No, you don't have to do that. You push one button and we set it up so that anytime that update is pushed it, it's instantly available within three minutes. So I won't tell you how we did that.
[00:42:11] Nathan Wrigley: No, I'm get, I, have my intuitions, but I'm, impressed that you've done that. 'cause that's obviously a thing, if it's just purely a static based, if every file is decoupled and it's just completely unique, I. You'd have to rewrite all the files, but I'm imagining you've got some process where that can be yeah, you can get in between that whole thing.
Anyway, another thing, synced patterns. I dunno if you've used much of the block editor, but these idea of sync patterns, so this is an idea. This is database driven. So you create a pattern somewhere and then you sync it and you could put that like in 15 different places on your website and every one of them would look the same, but you only update it in one place.
There's another. Kind of thing. So in that scenario, with your mapping, do I have to remember where the sync patterns will go? Or is this whole new thing of sync patterns gonna become a, sort of, a a, noose around your neck where you've gotta create a new technology to figure out where all the sync patterns are.
[00:43:13] Ben Butler: Yeah. and it's one of those things where the I, think that. The solution that we have put forth is, pretty robust, but every once in a while you run into something
[00:43:25] Nathan Wrigley: Yeah.
[00:43:25] Ben Butler: like sync patterns
[00:43:27] Nathan Wrigley: Yeah.
[00:43:28] Ben Butler: I'll, give you a, a working example of one. So we ran into WP ml, so the multi-language sort of thing.
And so we had a. Immensely huge site that had WPML and we actually wrote a integration that anytime the translation is completed. It pushes automatically. So that way if you're running a site with multiple languages, you post a new page, you push that page. When WPML is done, translating, it pushes the translation.
If the translation changes, it pushes. So those are like background tasks that run and to patterns. We're actually building something very similar, which is anytime the pattern is updated. Go find every single page that has it and push it automatically. So the work of a SaaS product is never done, so we're always working on something and we do a really good job of when we're onboarding a site, we do a very thorough analysis of what is the tech stack?
Can we support it? And if not, let's go build something. And eventually we're gonna run out of things to build.
[00:44:43] Nathan Wrigley: Yeah. I think with sync patterns, I think the typical use case, obviously it is designed to be used in a million different places on your website, but I would imagine typically it's like there's two or three places where this sync pattern is. So your current mapping technology might just, might very well take care of something like that in that, I.
Where the three places are, where it is. I guess it's just in that scenario, where, is it again, where was this sync pattern? And, it's the, seems like the future of WordPress patterns and blocks and all of that. So it does seem like a good idea to, to handle it. What about things like, I don't know, site maps and things, so things that are maybe outside of the normal.
So as, an example, I've got a, a. Plugin, which takes care of the site maps for me on my site. It doesn't look like a WordPress page, it's a XML file, which is obviously created somewhere. And I want that to update, but it's not, I, can't say if I create this post update, this menu item or this page or this, 'cause it's outside a WordPress.
Do you handle things like that as well? peculiar things like XML site maps.
[00:45:46] Ben Butler: Yeah, so there's, I would say there's two peculiar things. there's a lot of peculiar things, but there's two pri, there's two primarily peculiar things. sitemaps is one. So right now our integration works with Yost. So basically, and there's a big difference to call out, which I'll call out here in a second.
But anytime you update a page, anytime you do a full push, anytime a update pushes, we resy the site map every single time. So you know the site map. And another big one is robots dot
[00:46:24] Nathan Wrigley: Yeah. Yeah. Yep.
[00:46:25] Ben Butler: We sync that automatically. So anytime there is a change, anytime there's a push, we also have a delete feature, which works in reverse.
So if you delete a blog post, it's gonna go hit the post update mapping, and refresh all those pages
[00:46:40] Nathan Wrigley: Oh, that's nice because some of the other ones do not do that. It just remains on the site map. That's interesting.
[00:46:45] Ben Butler: we, do the update mapping forwards and backwards. So if you delete it, it refreshes those pages. If you push it, it refreshes those pages. but with site mapping, we do the site map.
Anytime there is a push deletion, it automatically updates. So that. All those things are available on the static website, which is where they need to live. that's one. The other one is 3 0 1 redirects.
[00:47:12] Nathan Wrigley: Oh yeah.
[00:47:13] Ben Butler: we wrote, another integration with, three, redirection, and we're working to support other ones right now, anytime.
And that's a manual process in terms of don't, get scared by the word manual. If you change your three oh ones in redirection, you have to head into the headless houseman and hit one button, and it resy all of your 3 0 1 redirects on your live site. So those are two. Peculiar cases, as it were.
we're waiting until we run into a website that doesn't use redirection or Yost to build the other ones because we're so busy working on WooCommerce and some of these like really cool functions. But, I imagine we'll get into those other cases of, I use insert thing here, and the technology, it would just be like, add it to our integrations folder and then if it's the plugin is activated, do this.
Not
[00:48:08] Nathan Wrigley: yeah, yeah. you can't tackle them all and they all behave in peculiar and interesting way. So anyway, it sounds like if you've got Yost, you're taken care of, which is, I think the, by far, the biggest SEO plugin out there and all of your site maps and things like that will be taken care of
[00:48:22] Ben Butler: And it's taken care of automatically, baby. A
[00:48:26] Nathan Wrigley: Yeah. Nice. And also, if, it wasn't enough for you to, to flatten the site, you also work. Certainly. Something I read recently told me that you work with WP Rocket, which kind of feels feels like you've done, like you really, want your site to be fast in that case.
So what, would be the point in having a, what I consider to be a caching plugin on a static site? Is it, are you just benefiting of the features, I dunno, switch off a bunch of HDML that is not needed in any way, shape, or form on the, in the HTML file? Is that what it's for? I can't see how WP Rocket would benefit what you've already got, if
[00:49:08] Ben Butler: Yeah, so I think the, because we're taking your existing WordPress site, there is a good chance that your existing WordPress site is not as efficient as it should be. And so I. We've been, using WP Rocket for websites for 10 years, and the plugin is very good. What it doesn't do is the caching, it doesn't do
[00:49:32] Nathan Wrigley: Oh, it doesn't, it's not okay. that was my misunderstanding. Okay.
[00:49:36] Ben Butler: yeah, so we're not using, we're, WP Rocket is a caching plugin, but we're not using it for caching.
[00:49:42] Nathan Wrigley: great. Got it.
[00:49:44] Ben Butler: so we have out of the box default functionality and we're actually building our. And it goes back to what I said before. If there's a tool that does it better, why would we try to build it? So what WP Rocket does on your headless site is it reduces unused CSS, it defers JavaScript, it lazy loads, it, it does all those things that are really good for, Google page speed metrics and things.
And here's the cool thing. Whenever you're logged into your WordPress website. To edit it and view it, you're never gonna be hit by the caching, So the caching is completely taken out of play. We're using it so that the, if we're dealing with a site that is particularly, put together in ways that are not as efficient as they should be, we're gonna run WP Rocket.
WP Rocket's gonna literally convert the HTML of that page, because w what WP Rocket does is it changes your. HTML. It takes scripts. It defers them. It minimizes them. It removes unused CSS. So what you're getting is the headless Oman is picking up a more optimized page. And so we build an integration with WP Rocket to make sure that our plugin works perfectly with it.
And so that's just one way to turn the screws just a little bit
[00:51:12] Nathan Wrigley: Yeah. Yeah.
[00:51:13] Ben Butler: the actual implementation,
[00:51:14] Nathan Wrigley: belt and braces going on there. That's yeah, that's interesting. Yeah. Yeah, If you really want it to be blazing fast, then, there you go. The, the other thing that is nice, and now I understand when I wrote these questions, I didn't understand because I didn't realize that you kept a, a.
WordPress website Alive behind Cloudflare's protection and all that. but this question was one that I was gonna raise, but I'll just raise it just for the benefit of people listening in thinking you can't normally do that. and that is scheduling content, which is, normally if you, hibernate your WordPress website, which may be I.
Typical if you're using a, static site generator, of course you can't schedule content 'cause the website is, mothballed for a bit. But in your, scenario, you can just schedule away as normal. You do all of that stuff.
[00:52:01] Ben Butler: Yeah, absolutely. Yeah. Scheduling works and the reason this use case came up is we onboarded a and again, like we're, every day we're coding something new, we're adding to the, to what this plugin can do. I. we onboarded this huge media website and I was like, we have an immediate problem here.
They schedule content and that's a big deal, right? So
[00:52:29] Nathan Wrigley: do that all the time. Yeah.
[00:52:31] Ben Butler: I think everyone does. Yeah, it's So we're we built a native out of the box hook that says, yo, when this post is scheduled and it publishes, push it immediately, and if it's mapped. Go do all the mappings. So that's just innate out of the box functionality.
And again, this is reacting.
[00:52:52] Nathan Wrigley: Yeah, of course. Yeah. I'm forgetting the mapping part as, yeah, so when I was thinking that, I was thinking, yeah, of course you've got a website live, but no, once you schedule it and the scheduling moment arrives, it has to do all the other work. It has to do all of the bits and pieces that the plugin does to create the static version and, ship all of that.
Okay. So there is more to it, but it does it now we know. got it. Okay. Alright.
[00:53:18] Ben Butler: it. And, it's, so cool because it, that's obviously a huge concern and other, again, other solutions don't do that, which is why we're like, ah, we gotta go do this,
[00:53:32] Nathan Wrigley: yeah,
[00:53:32] Ben Butler: we're trying to be as accessible to the, again, the mission is just take your WordPress website, make it static, period.
I don't want, I want the least amount of. Contingencies and hey, but you have to do this, and you have to do this, and you have to do this, and you have to set it up yourself, and you, no, Just put it on the headless houseman. We'll do the rest.
[00:53:54] Nathan Wrigley: Nice. Now, the, we're gonna get to the interesting bit right at the end. This is probably the last thing we get to, and that is your pricing. And the pricing I have say is, I, think it's fairly. just go and take a look at it. it, the numbers are bigger than you would typically get from a WordPress hosting company, so just Google, I don't know, WordPress host.
Click around a few of them and come back. And you'll know the kind of numbers that you're using here is different. You've got the pricing. The basic pricing starts at 1 25 per month, and if I'm correct, do correct me if I get any of this wrong. $125 per month, which is for a single site, 25. Thousand page views.
20 gigs of storage, 50 gigs of bandwidth. So where, how did you arrive at that number Now obviously it's working because you're selling this, you've managed to get rid of a hundred, get rid of, you've managed to onboard a hundred clients. Exactly the opposite of get rid of, so that people are willing to pay It.
Just justify the price for me. 'cause it does seem like we're at the higher end.
[00:55:00] Ben Butler: Yeah. Yeah, I think that's a great question. I, would say, accidentally. We ended up being cheaper than Strati, which Strati is owned by Elementor. our pricing is cheaper than them for similar things. what we actually did was, is we went out and took the visits, bandwidth and storage and compared those metrics to other.
W WordPress, manage hosts and our goal was to make it cheaper than them. and I think if you take those same metrics, for example, and I encourage you to do take those metrics and put those into WP Engine's pricing tool. It'll be more, it'll be more than what we're charging. I, believe as of, I don't know what it is today, but when we did it, it was more than what we're charging.
And strata is more expensive for the same sort of metrics. So I think whenever you're going out, and that's like the challenge of SaaS is you have to go out and look at what people are pricing. And you have to be, you have to be in line with the market. You don't wanna be like outside of the market. This isn't like that Instagram influencer dude who's My price is $4,000 an hour, now it's 8,000. Somebody's gonna pay it. It's no, we're dealing with more people. So our compared to Strata, we're cheaper compared to WP Engine. For a non-static solution, we're cheaper as well. But really, our target audience, this isn't for the person that says, yo, I'm gonna go buy a.
Host Gator, $5 a month WordPress site. yeah, you can get that, but guess what, it's probably not gonna be good. And I really, and I've always believed this, which is why we've been a WP Engine partner for the last 10 years offering monolithic WordPress through WP Engine. I, there's a lot of news about them.
There's a lot of this, that and the other. But the one thing you have to admit is. Their product is easy to use, it's reliable, and it's very efficient. And so we've always offered the most top tier products we could because we're not looking to, I don't even wanna have a conversation with someone who says, I pay $5 a month right now that, there's no way we're ever gonna breach that because they clearly don't understand the value of.
Hosting and technology because with hosting, I truly believe you get what you pay for. You really do. And so to get what you pay for is on a wide ranging scale, where there are some hosts that do it for cheaper than WP Engine and probably do it better in some senses, or do it just as well. but then you sacrifice things like 24 7 support.
You sacrifice things like. The usability of the platform. So pricing is not like a very flat conversation. There's always something that you're giving up for cheaper. And so we wanted to make sure that our offering was for people who understand the value of good technology. And also, we put two years in developing this product.
So it, and with all of the additions, I think it's worth it based on how easy it makes. Your static experience, first and foremost, but let's talk about the metrics. Our staging server is 33 CPUs. It has, it's, doing really great. So even our staging server is more competitive than like a, p two that you could buy.
but also further, the, end site experience is. All the way up on the performance, we've turned everything up. Every single instance is dedicated, so you're not like on a shared instance of production environment. The production environment is individual and all that stuff. So whenever you hear all those words and you say, okay, I can get a dedicated IP address, I can have a single instance.
I can have all the benefits of static. I can have all the security, I can have all the performance. I can have all these things on my own. I think when you plug those into the equation, anybody who knows about the technical side of hosting is gonna say, yeah, that's probably a pretty damn good deal. But again, we're not, out there for the people that are paying $15 a month for hosting.
We're for the people that are truly valuing the technology that drives their most important sales tool, which is their website. And it's, again, it's really interesting because we came out with that model in the first 20 people that we onboarded. Didn't even buy the 125 or $300 package. The first 20 people, I had to personally, privately scope it because they're like, yeah, we have a million unique visits a month.
I'm
[01:00:11] Nathan Wrigley: Wow.
[01:00:12] Ben Butler: holy cow. That's obviously, that's in that custom tier, so we have 20. We have more than 20 sites that are over 500,000 unique visits a month. And it was, you never really know. Like you just gotta get her done and get out there and see what happens. most of our customers so far have been the enterprise.
Hey, I know what static is. I know why it's important. This looks really good. Let's give it a try. And they love it. But now as we. Are out there and more people are exposed. We're getting more of those $300 per month in the 1 25. But still, those are people that understand the value of what we're offering.
And if we wanted to go into the game of, Hey, let's get as many people on this platform as possible for $5 a month. We would just go spin up some like crummy server somewhere and resell it, or something to that magnitude. But we're in the game of this is a premium product. It's for high value websites or people that value their web experience and all the benefits that come with it.
And it's thankfully been very successful so far. Or else we probably would've pivoted by now,
[01:01:31] Nathan Wrigley: Yeah, that's right. Yeah.
[01:01:33] Ben Butler: But I would say end of day, I would say end of day, just go compare it to Strati, WP Engine and all those things. And you'll see that the pricing isn't, it's not based out of nothing, And we didn't try to be cheaper than Strati.
We actually based our pricing on monolithic hosts like Pantheon and WP Engine, just to know, 'cause I think those are premium, very good services. And I wanted to know how do they value themselves. That's what our pricing was formulated on. And then I looked at Strata and I'm like, oh, we happen to be cheaper.
We weren't like gunning for them. We weren't like trying to undercut them. It just happened When we looked at them, we're like, oh, okay, we're cheaper than them. They're like us. so we're, there are services more expensive than us. There are services less expensive than us and we have properly priced for our overhead and the.
the contributions to our own clientele, that we're continuing to do. 'cause every day we're coding something new for the plugin. Every day we're building something like the global navigation, global footer, global scripts. we put. Hundreds of hours into that functionality to make a better experience.
And I think, again, we're positioning ourselves as a premium product for premium sites, and we're doing premium work every single day to continue pushing that.
[01:02:59] Nathan Wrigley: let me give you the URL one more time. head over to headless host man. Dot com once more. Headless host man.com. if you wanna find out more. Ben Butler, thank you so much for chatting to me today, getting into the weeds of your hosting. I wish you all the best. I hope it's a real success for you and, good luck with it.
Thanks so much.
[01:03:23] Ben Butler: Thanks for the opportunity and, yeah, I, first time caller, long time listener, so it's, been an honor, sir.
[01:03:31] Nathan Wrigley: Thank you very much.
Okay, that's all I've got for you today. I hope that you enjoyed that. If you did, head over to WP Builds.com. Search for episode number 397, and leave us a comment there. We'd really appreciate it.
Don't forget that we've got our Black Friday page WP Builds.com forward slash black. Whether you're just searching for deals, want to post your own deal, or help us advertise on that page. The buttons are right there, so make use of those, and don't forget to bookmark it for all of your black Friday WordPress goodness.
The WP Builds podcast is brought to you today by GoDaddy Pro. GoDaddy Pro the home of managed WordPress hosting that includes free domain, SSL, and 24 7 support. Bundle that with The Hub by GoDaddy Pro to unlock more free benefits to manage multiple sites in one place, invoice clients, and get 30% off new purchases. Find out more at go.me/wpbuilds.
We're also joined by Bluehost. Bluehost, redefine your web hosting experience with Bluehost Cloud. Managed WordPress hosting that comes with lightening fast websites, 100% network uptime, and 24 7 priority support. With Bluehost Cloud, the possibilities are out of this world. Experience it today at Bluehost.com/cloud.
And we're also joined by Omnisend. Omnisend, do you sell your stuff online? Then meet Omnisend. Yes, that Omnisend. The email and SMS tool that helps you make 73 bucks for every dollar spent. The one that's so good. It's almost boring. Hate the excitement of rollercoaster sales? Prefer a steady line going up? Well, try Omnisend today at omnisend.Com.
And sincere heartfelt, thanks go to GoDaddy Pro, Bluehost, and Omnisend for their support of the WP Builds podcast.
Okay, that really is all I've got time for. All that it remains for me to do is say, I hope you have a nice week. Stay safe. I'm going to fade in some cheesy music. Bye-bye for now.