#136 Moving Away From Multisite

## Document Notes
## Highlights
- **Consider Breaking Up Multisite Networks**
- Move high-maintenance multisite sites into separate installs when hosting and tooling block needed features.
- Split sites to isolate backups, staging, and performance tooling for easier management.
Transcript:
Mark Wilkinson
Do you want to introduce it do you want me to introduce yeah i mean i think you'll be doing most of the talking so i guess i can sort of introduce it very briefly um our our big recruitment
Keith Devon
Agency client um who we built site for about four or five years ago now i think. They've got multiple brands and they wanted a kind of unified sort of like design that they could tweak slightly for the different brands and stuff like that. So when we built the project, I mean, our head straight away just went, this should be a multi-site with a single theme, shared set of plugins, shared set of users. Multi-site is an absolute no-brainer. We're now about to pull that multi-site apart and put all of the sites on separate well probably on the same hosting plan but in separate WordPress installs um and it's been a bit of a journey To get there and I think we're still I wouldn't say we're 100 sure that this is the right thing to, but I think the balance has been tipped now, and the client has been convinced that this Is worth trying. So we're going to give it a go. There's your intro, Mark. What did I miss?
Mark Wilkinson
So I think we talked about this last week, last show, whenever that was, before Christmas. And like Keith, I'm not entirely 100% sure this is the right thing to do. I'm kind of 95% there now, I think, because I think the benefits clearly outweigh the downsides. So my issue with the multi-site setup is that every time you want to do something, and that's whether it's use plugin X or a feature of the hosting, they're just not set up for multi-site. They're never set up for multi-site. Now, granted, there are some plugins that are built for multi-site or have multi-site in mind and do things correctly for multi-site. But most people, most don't in my experience. Multi-site is more of an afterthought for them. And why would they? Because actually most WordPress users aren't using it. So I get that. So we're having problems with things like, our biggest thing is like, well, my biggest thing is local development. Like to try and pull a site down and to work on it, it's so difficult to do. Because the database is massive, and what is difficult about that? Because everything's in one database. Yeah. So the database is really big. You've then got to pull the whole thing down because you're only working on one site. It becomes difficult to manage in that sense. And then a lot of the tools on the hosting, they just don't work for the multi-site. So one example is the host has just introduced this really good feature where you can see site performance. It talks about page speeds and gives you lots of analysis, but it's only reporting on the primary site in the network, which we don't actually use. That's just literally like the holding site. It doesn't do anything. So it's utterly pointless. So it doesn't really help us. And it's stuff like that, deploying to staging, having a staging environment, creating a staging environment. These one click tools they have, they just don't work for multi-site or they don't, in our experience, they don't work. And I think if we broke them into separate sites, it would give us more options for things like if something goes wrong, you're isolated to that one instance of it going wrong. If something goes wrong with one of the sites, we want to restore yesterday's backup. We can't just do it for that site. You're restoring the whole network. So, you know, the brands that have done changes since yesterday are going to lose those changes when actually was nothing wrong with those sites so i think it makes sense to split them In that instance um and i kind of want someone to sort of like tell me i'm wrong but no one really has people have come up with good reasons why we should stay stay in that sense and they're All the reasons i already know and i think actually they're not as good as the reasons to move. Things like the shared users, obviously shared code base, but we can get by that with other ways using Git and things, I think.
Keith Devon
I think the users is the main thing for me. The code base is fine because, like you say, we can set up our deployment processes to deploy code to multiple servers at once. That's not really a problem but with users yeah i mean if they want to delete i'm just i'm saying this as i'm saying this i'm realizing actually that's not really much of a problem either For this particular client because there are only a handful of global users like super admins and yes and they can manage we are one or two uh we can manage having multiple passwords for Six websites like that's that's not beyond the realms of like possibility and actually the the larger user kind of uh sets or consultants which are specific or employees team members Are specific to those sites anyway so they're not we actually don't want them to be shared so actually from a user's point of view we're talking about maybe five people that access the All of the sites regularly so is that really a big deal? Not really, not when you've got password managers and things like that.
Mark Wilkinson
Yeah, I agree. I think that's, again, negated by the lack of users that need that cross-site usage, essentially. So I've started to research how we go about doing this, Delicious Brains, which is now, I think, owned by WP Engine. I think that's how it works. I think there's still Delicious Brains, but I think there are WP... Because at the bottom of the website, it says Delicious Brains and it says WP Engine and everything. I'm sure it is.
Keith Devon
I think Delicious Brains kept spin-up as a separate thing, didn't they? Because that's the same team.
Mark Wilkinson
I think that's separate to Delicious Brains, though, I think. Yes, I think you're right. But it's the same. It was the same team. Yeah. Oh, well, yeah. They've kept that separate. That doesn't belong to WP Engine. Because obviously it's...
Keith Devon
But obviously Ace, yeah, yeah, yeah.
Mark Wilkinson
Obviously some other things went across. So they have a plugin, which many of you may have used, WP, it used to be called WP Migrate DB Pro. And now it's just called WP Migrate. And one of its features is that it can handle pulling and pushing multi-site instances in and out of networks and things like that. The earlier versions, it would work, but they were more of a manual process, whereas the new one's got this multi-site tools add-on if you pay for the sort of pro version. And one of the things it can do is you set up a migrate, and when you add the connection details in for the site you're pulling, which is the network, it then knows it's a network, ([Time 0:05:46](https://share.snipd.com/snip/6c29f299-c23a-4c90-90b4-22bd71e84cea))
- **Hosting Tools Often Ignore Multisite**
- Many hosting one-click tools and analytics ignore or mishandle multisite setups, reporting only the primary site.
- That mismatch reduces visibility and makes multisite less compatible with modern host features.
Transcript:
Mark Wilkinson
They're never set up for multi-site. Now, granted, there are some plugins that are built for multi-site or have multi-site in mind and do things correctly for multi-site. But most people, most don't in my experience. Multi-site is more of an afterthought for them. And why would they? Because actually most WordPress users aren't using it. So I get that. So we're having problems with things like, our biggest thing is like, well, my biggest thing is local development. Like to try and pull a site down and to work on it, it's so difficult to do. Because the database is massive, and what is difficult about that? Because everything's in one database. Yeah. So the database is really big. You've then got to pull the whole thing down because you're only working on one site. It becomes difficult to manage in that sense. And then a lot of the tools on the hosting, they just don't work for the multi-site. So one example is the host has just introduced this really good feature where you can see site performance. It talks about page speeds and gives you lots of analysis, but it's only reporting on the primary site in the network, which we don't actually use. That's just literally like the holding site. It doesn't do anything. So it's utterly pointless. So it doesn't really help us. And it's stuff like that, deploying to staging, having a staging environment, creating a staging environment. These one click tools they have, they just don't work for multi-site or they don't, in our experience, they don't work. And I think if we broke them into separate sites, it would give us more options for things like if something goes wrong, you're isolated to that one instance of it going wrong. If something goes wrong with one of the sites, we want to restore yesterday's backup. We can't just do it for that site. You're restoring the whole network. So, you know, the brands that have done changes since yesterday are going to lose those changes when actually was nothing wrong with those sites so i think it makes sense to split them In that instance um and i kind of want someone to sort of like tell me i'm wrong but no one really has people have come up with good reasons why we should stay stay in that sense and they're All the reasons i already know and i think actually they're not as good as the reasons to move. Things like the shared users, obviously shared code base, but we can get by that with other ways using Git and things, I think. ([Time 0:07:36](https://share.snipd.com/snip/50bfa7ae-be80-48e4-bf0a-597fd16adc90))
- **Use WP Migrate For Site Extraction**
- Use WP Migrate's multisite add-on to extract single sites, selecting site-specific tables and users.
- Migrate database, code, then media in separate operations to avoid timeouts and memory errors.
Transcript:
Mark Wilkinson
Yes, I think you're right. But it's the same. It was the same team. Yeah. Oh, well, yeah. They've kept that separate. That doesn't belong to WP Engine. Because obviously it's...
Keith Devon
But obviously Ace, yeah, yeah, yeah.
Mark Wilkinson
Obviously some other things went across. So they have a plugin, which many of you may have used, WP, it used to be called WP Migrate DB Pro. And now it's just called WP Migrate. And one of its features is that it can handle pulling and pushing multi-site instances in and out of networks and things like that. The earlier versions, it would work, but they were more of a manual process, whereas the new one's got this multi-site tools add-on if you pay for the sort of pro version. And one of the things it can do is you set up a migrate, and when you add the connection details in for the site you're pulling, which is the network, it then knows it's a network, and it gives You a choice of do you want to pull one of the sites out of here or are we pulling the whole network? So obviously I chose, we're going to pull one of these single sites out. And then you've got choices for things like, what do you want to pull? Obviously the database and it pre-selects the correct tables that you need to pull. So essentially they are the tables that are prefixed with the site ID and you need the users tables. So it pre-selects all those for you and then you can do your search and replaces which it kind of does for you because it knows what your local address is and it knows what your address was At the live site. And then you can choose to do the media, the plugins, the themes, the must use plugins, and so on. So I've been working on pulling that down to my local machine as a single site. And I came across a few hurdles. So the first hurdle was that the media library on the site is large. So there's about 13,000 items in the media library. And it kept crashing when it was essentially working out what media there was. So it kept timing out. And I think having chatted with the support, which was very good, it seems as though it runs out of memory, essentially. So they bumped the memory on the server um and it kind of solved that problem which was good um then i ran into problems where i kept getting critical errors and that was because i was pulling Down host plugins that wouldn't run locally they they gave errors so as soon as they got installed and activated it just gave up gave an. So that was a bit of a problem. And then the final thing was it kept timing out. I don't really know why. So they recommended just splitting it into different requests. So do the database, do the themes and the plugins separately, and then do the media separately. ([Time 0:11:52](https://share.snipd.com/snip/618fb485-5619-4b82-95e2-597c0b0d182b))
- **Use Custom Blocks For Complex Heroes**
- For reusable UI sections, prefer a custom block (ACF or native) when responsive complexity exceeds core controls.
- Use custom blocks to centralize design maintenance and avoid repeated editor tweaks across pages.
Transcript:
Mark Wilkinson
Now, this might go away once we don't have a network, but it won't because we will still be managing patterns across multiple sites. They just won't be in a network, but they'll be across multiple sites because those sites use the same theme, essentially.
Keith Devon
So what were you doing and what sort of challenges did you come up with so this is actually for the same client and i think we've spoken like in previous episodes about the fact that a new Designer came in and they've redesigned a few of the home pages across the brands um and they've got this new kind of home page design that they want to roll out across the brands with some With some tweaks um but essentially it's a lot of it's the same so taking like the hero section for example there's a new hero section and i built it nearly exclusively in the block editor With a tiny bit of custom CSS to handle just a few things that the block editor is not capable of. Doing that so that it's flexible for the client moving forward. It's kind of easy for us to build. And so I did that for one brand. Kind of signed that off. Went live. Then and then it gets rolled out for some of the other brands and then one of the final brands who are actually like the pickiest of all of them like um i don't know who's in the leadership Of that particular brand but they're always the ones that are super picky and things are a bit slower with them um so eventually it comes to their turn and meticulous maybe not picky meticulous Yes uh and the designer comes back and says actually you know can we tweak this and that and it doesn't look quite right at this break point or that break point and they're just yeah they're More meticulous when it comes to this particular brand so of course i can make those i can make those changes uh i go into the block editor and i change the padding and the margin and i i've Had to add it's been really frustrating i've had to add some spacer blocks and things like that uh and i've had to use block visibility to only show those spacer blocks on certain break Points. And those break points weren't necessarily aligning with like the WordPress column, like where it breaks from multiple columns into single columns and things like that. So it all got really messy making these fixes. So possible, but messy and messy partly because I'm not just using CSS. Like it's not like I've built some custom HTML and I've got CSS and I just tweak this thing over here and add a media query here. I'm trying to do it in the block editor. So that made it more complicated, especially because of this particular layout which has like overlapping and vertically overlapping images and stuff um and then it's like okay i Fixed it on this page there's five other brands that are using this pattern that i haven't fixed all this stuff on and actually some of those brands are using this page are using this hero 10 times because they've got landing pages for each of their countries that they operate in regions yeah so now i've got somewhere in the region of 20 hero sections that i now have to manually Go back and tweak and it just comes back to this idea of like what is the best way to build these kinds of things to make them maintainable like you could argue well they are maintainable Because i can go and make those changes but it's a very painful very duplicated process rather than you want to make those changes once don't you and then in a theme in theme css or in a theme Template file like that's but then but then doing it that way you lose all the flexibility that we have with the block editor and it's just this constant bat like battle and balance and It's i i i never think i'm getting it right you know i never think i've the solution or the right balance it's always oh maybe I should have built it this way or that way or maybe this should Have been some kind of synced block but then if it's a synced block that doesn't work on a multi-site level like all this kind of stuff like it's just it's a bit it's a bit mind-blowing really And like should I have done way more of this with custom css rather than using dimension controls in the block editor because then I could just go and change the theme CSS instead of faffing About it in the block editor. All these questions. And I don't have the answers. Please, does someone have the answers? Please tell me.
Mark Wilkinson
And I guess if it, because you can put block patterns in the theme, can't you? But I guess once you've changed the padding, the margin in the editor, it no longer is connected to that. So if you update the pattern in the theme, I guess it's got to be split, hasn't it?
Keith Devon
And it depends what kind of pattern it is. Because if it's just a pattern in the theme that you dump onto a page and then you can add it to your heart's content, that's not helping. Because once those changes are made, they're made. But if it's a sync pattern and you can somehow change that in a PHP template or HTML template, maybe that would work. Honestly, I just don't know. I just don't know how to do these things anymore the right way. And maybe there is no right way.
Mark Wilkinson
This feels like it must be solved problems like there's quite a lot of the enterprise agencies that are building wordpress websites yeah feels like this should be solved i wonder how They're solving these problems yeah and it'd be really good to get some content on this like if it's on like the wordpress developer blog how do we do this stuff because we don't know is
Keith Devon
There anybody out there at that level that is putting out that kind of content anymore yeah that i'm just not that i'm not seeing because i i used to look to the likes of bill erickson or You know some of the yes some of the bigger agencies would put out more like how we built this kind of content. And I just, maybe I'm not looking, maybe I'm not exposed to it. Maybe it's out there. I know Human Made put out a lot of really good kind of general content, but I think understandably it's more focused on the clients. On the clients, yeah, definitely. Yeah, why WordPress is a great platform for enterprise, not how we built X in detail for developers like me. I would love for that kind of thing to start happening again.
Mark Wilkinson
Hi, Nick. Nick says use a good old-fashioned ACF block instead of a pattern. I mean, it would work, but... I do wonder, for that hero section, ([Time 0:17:51](https://share.snipd.com/snip/c8effe5d-d935-4fde-9e24-1d21fee129df))
- **Block Editor Led To Repetitive Fixes**
- Keith built a hero in core blocks then had to tweak spacing, visibility, and add spacer blocks across ~20 instances.
- The repeated manual fixes exposed the maintenance pain of complex block-based layouts.
Transcript:
Keith Devon
This is actually for the same client and i think we've spoken like in previous episodes about the fact that a new designer came in and they've redesigned a few of the home pages across The brands um and they've got this new kind of home page design that they want to roll out across the brands with some with some tweaks um but essentially it's a lot of it's the same so taking Like the hero section for example there's a new hero section and i built it nearly exclusively in the block editor with a tiny bit of custom CSS to handle just a few things that the block Editor is not capable of. Doing that so that it's flexible for the client moving forward. It's kind of easy for us to build. And so I did that for one brand. Kind of signed that off. Went live. Then and then it gets rolled out for some of the other brands and then one of the final brands who are actually like the pickiest of all of them like um i don't know who's in the leadership Of that particular brand but they're always the ones that are super picky and things are a bit slower with them um so eventually it comes to their turn and meticulous maybe not picky meticulous Yes uh and the designer comes back and says actually you know can we tweak this and that and it doesn't look quite right at this break point or that break point and they're just yeah they're More meticulous when it comes to this particular brand so of course i can make those i can make those changes uh i go into the block editor and i change the padding and the margin and i i've Had to add it's been really frustrating i've had to add some spacer blocks and things like that uh and i've had to use block visibility to only show those spacer blocks on certain break Points. And those break points weren't necessarily aligning with like the WordPress column, like where it breaks from multiple columns into single columns and things like that. So it all got really messy making these fixes. So possible, but messy and messy partly because I'm not just using CSS. Like it's not like I've built some custom HTML and I've got CSS and I just tweak this thing over here and add a media query here. I'm trying to do it in the block editor. So that made it more complicated, especially because of this particular layout which has like overlapping and vertically overlapping images and stuff um and then it's like okay i Fixed it on this page there's five other brands that are using this pattern that i haven't fixed all this stuff on and actually some of those brands are using this page are using this hero 10 times because they've got landing pages for each of their countries that they operate in regions yeah so now i've got somewhere in the region of 20 hero sections that i now have to manually Go back and tweak and it just comes back to this idea of like what is the best way to build these kinds of things to make them maintainable like you could argue well they are maintainable Because i can go and make those changes but it's a very painful very duplicated process rather than you want to make those changes once don't you and then in a theme in theme css or in a theme Template file like that's but then but then doing it that way you lose all the flexibility that we have with the block editor and it's just this constant bat like battle and balance and It's i i i never think i'm getting it right you know i never think i've the solution or the right balance it's always oh maybe I should have built it this way or that way or maybe this should Have been some kind of synced block but then if it's a synced block that doesn't work on a multi-site level like all this kind of stuff like it's just it's a bit it's a bit mind-blowing really And like should I have done way more of this with custom css rather than using dimension controls in the block editor because then I could just go and change the theme CSS instead of faffing About it in the block editor. All these questions. And I don't have the answers. Please, does someone have the answers? Please tell me.
Mark Wilkinson
And I guess if it, because you can put block patterns in the theme, can't you? But I guess once you've changed the padding, the margin in the editor, it no longer is connected to that. So if you update the pattern in the theme, I guess it's got to be split, hasn't it?
Keith Devon
And it depends what kind of pattern it is. Because if it's just a pattern in the theme that you dump onto a page and then you can add it to your heart's content, that's not helping. Because once those changes are made, they're made. But if it's a sync pattern and you can somehow change that in a PHP template or HTML template, maybe that would work. Honestly, I just don't know. I just don't know how to do these things anymore the right way. And maybe there is no right way.
Mark Wilkinson
This feels like it must be solved problems like there's quite a lot of the enterprise agencies that are building wordpress websites yeah feels like this should be solved i wonder how They're solving these problems yeah and it'd be really good to get some content on this like if it's on like the wordpress developer blog how do we do this stuff because we don't know is
Keith Devon
There anybody out there at that level that is putting out that kind of content anymore yeah that i'm just not that i'm not seeing because i i used to look to the likes of bill erickson or You know some of the yes some of the bigger agencies would put out more like how we built this kind of content. And I just, maybe I'm not looking, maybe I'm not exposed to it. Maybe it's out there. I know Human Made put out a lot of really good kind of general content, but I think understandably it's more focused on the clients. On the clients, yeah, definitely. Yeah, why WordPress is a great platform for enterprise, not how we built X in detail for developers like me. I would love for that kind of thing to start happening again.
Mark Wilkinson
Hi, Nick. Nick says use a good old-fashioned ACF block instead of a pattern. I mean, it would work, but...
Keith Devon
I do wonder, for that hero section, for example, should that have been a custom block where you add a background image, a foreground image, a title, a subtitle, a button, and I have fields
Mark Wilkinson
For them all. But it just negates the problem of using the block editor, doesn't it? That's the whole point is like... But you can use the block editor for the ([Time 0:18:10](https://share.snipd.com/snip/a051377a-5298-432e-802e-1cb12d5b671f))
- **Prefer Reliable Local Tools And Fresh Starts**
- Use a local tool you trust and can get support for; paid GUIs like MAMP can save time over terminal-based alternatives.
- If local sites break, consider recreating them to get a clean, reliable baseline faster than endless debugging.
Transcript:
Mark Wilkinson
Where are we going? Local WP issues. So we all have a local development environment, probably. I am a MAMP user. Sorry, old school i've used it for years and years and years and it kind of just works so i've actually just paid for the upgrade to mamp version number seven i believe it was 7.3 i'm now On which i thought was worth it um you get like upgraded php because i couldn't upgrade to past PHP 8.1, and I know the purists will just be saying, oh, you could install it yourself, you Just do this. Well, it's just far easier to pay whatever it is, 70 quid, and then be able to get access to it and press a button. So that's what I did. You don't use MAMP. I know you don't use MAMP. You use local, I think it's called, and you've been having issues. So do tell. First of all, used to use map and i can't remember why i stopped i can't remember oh there's your problem you see it was probably i reckon it was a similar thing though it just something
Keith Devon
Went wrong and i couldn't figure it out and and there was this new tool on the block and i was like okay i'll give that a go because that's i'm in the same situation now so for the last, I don't Know, four, six months or something, whenever I've been starting up sites on local. Local is a WordPress-specific development environment by WP Engine. I think it was by Flywheel, but the WP Engine by Flywheel. I can't remember.
Mark Wilkinson
Sorry, it it, it is WordPress specific, this local?
Keith Devon
Yeah. It's not. It's, yeah, you start up WordPress websites. You click plus and you're adding a new WordPress website.
Mark Wilkinson
And you can't use it for non-WordPress websites.
Keith Devon
I've never tried. Right. It doesn't matter. I don't know. But when you hit that plus button, you're in WordPress territory.
Mark Wilkinson
It not like do you want to install a wordpress site it's like okay yeah i have to just jump in my wife has just delivered me a beautiful uh blueberry muffin from little nice it's probably
Keith Devon
Free free bakery yeah it doesn't matter she could have eaten it she gave it good that's true that's love um so yeah so i i've been using it for ages no problem it does exactly what i want it To do i want to start up a new wordpress website i click a plus button i give it a name like website.test yeah i can set the php version if i want to fiddle with that stuff, I create the user. And within under a minute, I have a working WordPress website that I'm logging into. It's really good. Recently, I was starting to get a few errors. So every time I'd like boot up one of my sites, there'd be an error. And then I just hit okay or cancel. And it would just still work. I was like, okay, I don't understand that error, but it seems to still be working and then just recently just before christmas i tried to load up one of my sites and this error came up and It just does not work so the site just doesn't start um and and then so i got into like oh my god what does this mean and i the error message really didn't make any sense to me at all it's talking About things that i don't know about um so i did what everyone does these days and stuck the error message into chat gbt and i just went down a rabbit hole of oh yeah this looks like it might Be this okay let's type this command into the terminal Okay, type that command. Okay. I know where this is going. That hasn't worked. Type do this thing. Type this thing over here. Okay, that doesn't work. Okay, that makes sense. Try this thing. And we're like, okay. And then eventually I was like, I think I've deleted the website. I think it's deleted the database. Because eventually the error stopped, but it said cannot connect the database. And I was like, have we deleted the database? Is that how it's fixed the issue? So you asked Bob whether you deleted it.
Mark Wilkinson
He said, yeah, yeah.
Keith Devon
Oh, yeah. Yeah. And then I said, why did you get me to delete the database without kind of warning me that that's what was happening he's like oh well i didn't i didn't tell you to delete the database we Simply did this which means the database was deleted it was classic ai do that scenario when people say you know uh ai is going to help like save the world. Um, but then there's the other scenario where you type in AI, can you please save the world? And it does it by like killing all the humans. Cause where are the problem? That's, that's kind of the situation. I feel like, yes, well done. You fixed the error by deleting the website. Thank you. So that's what happened. That was before Christmas, and then I didn't touch it again. I came back after the New Year, refreshed. I was like, let's give us another go. I did give it another go with ChatGVT, just taking a slightly different angle. And it did seem to fix it in the end, but it was such an elaborate fix that it is going to be quicker for me just to delete the sites and recreate them. Because if I create a new site in local, it works. It's just the ones that exist currently don't work.
Mark Wilkinson
So do you know the underlying problem? Like why is it that the current sites don't work and the new ones do work? No.
Keith Devon
Right. I don't. Something about MySQL, but I don't know what. Like, it's not loading up properly. Something's corrupt. But I don't understand it. I really don't understand it. But, oh, my God, I was going around in circles and circles. It was so frustrating.
Mark Wilkinson
It is so frustrating, isn't it, when all you want to do is just do your job. Yeah. And you're like, I can't do this thing because everything's just getting in the way.
Keith Devon
All I'm trying to do is fix a gallery issue on a client's website, and I've spent two days faffing around with local and Bob. It's so frustrating. Yeah.
Mark Wilkinson
I know what you feel like. A few comments. Xlams, hi, thanks for joining us. It's quicker to set up a WordPress install on local WP. That's why I use it. And I think your experience would be the same until it doesn't work. It's been a really good product for you. I know you've used it for a long time, which is good. And then Mark says, the same quick functionality is possible with Laravel Herd. Installing WordPress is a single command in the terminal. Terminal puts me off straight away. Usually work like PHP version switching or database maintenance, and SSL is in a GUI. I have to admit, I am fully GUI'd up. I don't want to have to do anything in the terminal. I need a GUI for whatever I use, which is what MAMP does to the most. The only thing I ([Time 0:28:56](https://share.snipd.com/snip/4c3465ba-28c4-4312-8d90-1825e667874c))
- **AI Wrote A Quick Meta-Key Migration Plugin**
- Mark used ChatGPT to generate a plugin that bulk-copies a meta key to a new meta key with batching and post-type filters.
- The AI-produced plugin used nonces and batching and saved substantial development time for a throwaway tool.
Transcript:
Mark Wilkinson
I have. This week sometime? It can't be yesterday. It must have been the day before. So we had a support question come in, and the front-end radius-based search wasn't working. There was actually multiple reasons. The primary reason was that the API keyi key was like not allowed on the website so we had to sort that out and do the correct referrers so it was allowed to use on the website but once we'd Done that the front end worked but it wasn't actually finding any jobs so they type in london select london from the working front end and then it wouldn't come up with any jobs even though They had jobs that were in London. And the reason for that is because they weren't geolocated properly, and it was all to do with a changeover in API keys. And the same issue on the front end, it wasn't pulling. So a new job comes in, the API key wasn't working, so it couldn't geolocate it as that job was saved. However, they are using our job relay products and every job, asterisks, not every job, but most jobs who come through job relay, we geolocate the job. And the data that we gather is then sent onto the website and they can use it. So the data was actually there and it was stored as post meta. But the problem was is that the tool on the front end, I think it was RecPress, was looking for different meta keys than where the data was saved. So this client had 100 jobs, I think it was. So I sent them an email back and I explained what happened and I explained the solution. And I said, you've got 100 jobs. This is going to be like a go in and copy paste job. Just go in and change the key names using the post editor. It's the easiest way to do it. I could build something, but I'm going to have to bill you for it and it'll be a while. So they did that. They were fine. They said, thanks for your help. And they went through and did it and it was great. But then I just thought, I wonder what AI can do for this. So I just jumped into the chat GPT. I typed in the sort of thing I wanted to do. I had lat long saved as, I think it was job relay latitude, job relay longitude, and I wanted it as a different name. So can you just write me a script that will do this? Yeah, yeah, no problem. Off he went, wrote the script. And it kind of worked. And then I thought, well, what about like if I actually, because I just told it the keys, you know, this is the old key, this is the new key. I want you to copy it across to the new key so it's existing. And I said, well, what about making a little settings page so I can just type in the original key and the new key I want you to save it to. Yeah, yeah, no problem. Can do that. Off he went, did that. Saved it, tested it. Perfect. Then he'd added like batching them. So in like posts, 200 posts at a time, because he told me, he's like, this might not work if you've got 10,000 posts because it'll time out. It's perfect. Did that. And then I was like, what about if I only do it with one post type? Like, let's say i've got these keys across all post types but i don't want to do it for one post type yeah i can have that for you so in about 20 minutes i had a working plugin that i could just Convert one meta key to a new meta key um and how long would that have taken me it would have taken more than 20 minutes maybe an hour maybe an hour and a half.
Keith Devon
Maybe a lot more.
Mark Wilkinson
Maybe a lot more. I mean, I probably could have done the sort of rough and ready one that did a set key. Yeah. But yeah, so that was something I used it for this week. Didn't actually use it in earnest in terms of on that site because he'd already done it, but I thought it'd be interesting just to see how long it would actually take. And stuff like that, it's kind of really good for, because it's almost like, it's just, it's like throwaway code in a way. You know what I mean? It doesn't have to be perfect. It just has to do the job that you want it to do. I had a brief look through it. It looked like it was using things like nonces and escape functions. So it was, I haven't reviewed it, I haven't wrote it in detail, but for a quick install, do the job, take it away, it seems like a good use of it. ([Time 0:39:26](https://share.snipd.com/snip/6990b9a7-a8cd-4c5a-a60c-c0ba93104c2a))
- **Treat AI Code As Drafts You Review**
- Use AI to generate quick UI/JS prototypes (e.g., calculators or popups) and refine them before production hardening.
- Always review and test AI-generated code; treat it as a time-saving draft, not final production code.
Transcript:
Keith Devon
I haven't done throwaway stuff. I mentioned it on a previous show um i used it for some client work where they asked for like this kind of calculator it was an admissions calculator for a school and it was uh they wanted They'd seen something that another school had on their website and you kind of select the year of birth of your child and then it gives you all the information about when you would apply For the school at various stages. And it was remarkable. So I basically, I think I gave ChatGBT a couple of screenshots of the, of the tool that was on the competitor website the other school website and so i want to i want to kind of recreate this And i want you to give me the html css and javascript um that i that i can add to code pen and it'll work and it gave me the html to css the javascript i put them into code pen in the boxes and it Worked and the ui was like similar to what was on the the school the school website in terms of like the layout and everything it was it was amazing and i've i've used it for something else For another school site what was that it was some pop-up. Some pop-up one of the schools asked me to do. And I basically said, can you do this for me? And it was bang, done. I was like, okay. That would have taken me a while. But it was done in seconds.
Mark Wilkinson
Yeah, there's definitely use cases for it. ([Time 0:43:40](https://share.snipd.com/snip/69de70e7-3220-49c6-8e3c-d078aaaeca61))
- **AI Speeds Routine Work But Risks Inauthenticity**
- AI excels at practical, non-critical tasks like client copy, golf research, and prototyping, speeding routine work.
- Overreliance risks hollow, inauthentic client communication and must be balanced with human judgment.
Transcript:
Mark Wilkinson
Know, completely non-code and non-WordPress related, I've been using it for stuff like, for golf. So I was looking at some new irons, some golf clubs that were, they were like reviewed and stuff. And they're supposed to be really good. And they were quite cheap. They were like a massively different entry price to like what the top brands are using. Yeah. But I was looking at, I was like, I don't what like shafts i would get in them because so i literally read the specs of my golf shafts to chart gp and said can you tell me like what what's equivalent Spec on this one it's like oh yeah no problem yours are this they've got this flex they've got this you know this stiff length of them is this these will be the most appropriate because Of this and this and this and this it's like that would have taken me ages do you think it's right though i do i do yes i do um i i i am suspicious like you and i thought you'd say that yeah and I would i would never hesitate i would never say just believe it straight away i think if you had no knowledge of this thing you probably don't want to trust it straight away but i do think It's right in what it's saying um the other thing i had was back to golf again so my driver has an adjustable loft sleeve so you can take the take the shaft off the head and then if you turn The the shaft before you put it back on it does things like changes the lie angle of the club and the loft on the club but on the end of the shaft it just has like dot plus plus plus minus minus So i was like i don't really know what they're doing so i just literally took a picture of it and said to chat gpt can you just tell me what the difference is between these and he's like oh Yeah you're using the ping such and such a thing it's got this such a system give me a big table of all the options you know you want to use this setting if you're pulling it left you want to Use this setting it's like that sort of stuff's really good yeah just all the other uses for it that i've been been using it for but yeah communications for me like you've written a reply
Keith Devon
To a client or to anybody, and it's just like, it just doesn't flow, right? I've got the information there, but it just doesn't read properly. I'm just dumping that in. I'm using it all the time for stuff like that, which is good. ([Time 0:45:23](https://share.snipd.com/snip/ba28f47a-6a13-4ad9-b2ab-a2fe7ada47fb))