So What How To Replace Missing Wordpress Plugins Using AI

So What? How To Replace Missing WordPress Plugins Using AI

So What? Marketing Analytics and Insights Live

airs every Thursday at 1 pm EST.

You can watch on YouTube Live. Be sure to subscribe and follow so you never miss an episode!

In this episode of So What? The Trust Insights weekly livestream, you’ll learn how to leverage AI to manage and even replace your WordPress plugins. Discover a straightforward process for creating custom solutions, even if you are not a developer. You will understand how to use AI for deep research, planning, and testing, ensuring your custom WordPress plugins function flawlessly. Learn a valuable, repeatable process that saves you time and money by avoiding costly, outdated plugins.

Watch the video here:

So What? How To Replace Missing WordPress Plugins Using AI

Can’t see anything? Watch it on YouTube here.

In this episode you’ll learn:

  • Why WordPress plugins go bad
  • What to do when a WordPress plugin stops being supported
  • How to use generative AI to improve WordPress plugins or replace them entirely

Transcript:

What follows is an AI-generated transcript. The transcript may contain errors and is not a substitute for listening to the episode.

Christopher Penn – 00:00
Hello. Happy Thursday, folks. This is the Marketing Analytics and Insights live show. I’m Chris. John is here. Katie is kayaking over Niagara Falls this week, I believe, or up the St. Lawrence Seaway or something along those lines. So thrills, exactly, thrill seeking. This week we’re going to talk about replacing WordPress plugins, missing WordPress plugins, using AI, or using AI with WordPress in general. Now, for folks who may not be aware, WordPress is probably the most popular open-source content management system. It runs blogs and different kinds of websites. It has been around for like 20 years now, I think, and it is by far, I think, the most common content marketing system. Many companies use it, many individuals use it for blogs and corporate sites and things.

Christopher Penn – 01:25
There are, of course, others like Squarespace and Wix and newer platforms like Substack. But WordPress, the main advantage of WordPress, is it’s free and open source. As long as you’ve got a good server and know what you’re doing, you have an enterprise-grade content management system. There are two things that WordPress has that you would probably want to customize, and many people have done this. The first is theme, right? If you go to TrustInsights.ai, that’s a WordPress site, it’s got its own theme, which is the look and feel of the site. The second is plugins.

Christopher Penn – 02:02
These are extra programs, extra pieces of software that you add into your WordPress instance to help it do extra things like certain types of video encoding so that you can have a YouTube video embedded on your site, or add in contact forms that talk to your CRM. There are, I think, like 2 or 3 million different WordPress plugins. John, you’ve been working with WordPress for a while, right? Probably about as long as I have. What have you used it for in the past?

John Wall – 02:32
Well, it is, it’s kind of the one-stop shop. I mean, before we had these vendors that kind of made it accessible to anyone, the most effective tool for people that had some clue on how to run things was WordPress. It stayed dominant because if you need to go beyond just, “hey, I need a website for my restaurant or whatever,” WordPress is the way to go. You can customize the front end, you can customize the backend, like you said. The ecosystem of plugins is just unbelievable. There are hundreds of thousands of apps that can do all kinds of stuff, and then complete flexibility and look and feel is the other thing.

John Wall – 03:07
There are millions of templates out there, so you can get pretty much any kind of look that you want. We’ve been using it forever. We actually, over the years, have gone to WP Engine so that we have a hosted solution for them. That makes a lot of things like backups and handling upgrades much easier. But it’s pretty much still the choice for your website if you have some tech chops, because it’s hard to beat the combination of flexibility and not being that expensive.

Christopher Penn – 03:37
Exactly. If you go over to WordPress’s website, there’s a whole plugins directory. They have some of their featured plugins and most popular ones, and there are so many of these. In many cases, the plugins are not made by WordPress; in many cases, they are made by somebody else, a third party, either for freemium or paid. There are a gazillion and a half of these. There’s the very popular Yoast SEO, there is Rank Math, WooCommerce, Contact Form 7. So many of these things. Today’s show is about what happens when you have a plugin and you love it and you use it, and then it goes away, the developers abandon it, maybe the company gets shut down, but no matter what it is, the plugin is gone. What do you do?

Christopher Penn – 04:27
In the old days, you had to go back to the codex, try to find something comparable, hope that you found something, and then pony up more money, presumably for the replacement. Because in many cases, an older free plugin typically gets replaced by a paid plugin of some kind. In these unpredictable economic times, spending more money on things that you’ve already bought is not the best idea. That was the old times. Today, in the era of generative AI, that’s no longer the only option, as long as you’ve got some really solid prompting chops and access to some decent generative AI tools. So let’s start with finding a plugin that has gone away, and I’m going to start with one. This is called Shortcode Exec PHP. This was one of my favorites.

Christopher Penn – 05:20
You can see here the last time this was updated. Some parts of this have not been updated in 15 years. This plugin is older than my youngest child.

John Wall – 05:33
Yeah. Is this the shortcode? So this was. You could, on any post, just put something like between brackets and it would automatically dynamically put in something else.

Christopher Penn – 05:43
Exactly. So you could put in whole blocks of code or text or something. I used to love this plugin. There have been replacements since then and there are some current ones, but this one I liked so much because it was simple. It was free, completely free, and it was relatively lightweight. WordPress hasn’t supported it in 10 years. The last time this was updated, PHP was on version 5 and WordPress was on version 3. Now we’re up to PHP 8.4 and WordPress 6.8, I think. But basically, the last time this plugin was seriously in use was in the Obama administration. How long has it been? So what do you do if you want to bring this back to life? First of all, the easiest thing to do is to check to see if you’re allowed to.

Christopher Penn – 06:34
For any plugin, particularly any piece of software in general, you want to go into the software and look for the license. This one is licensed under what’s called the new General Public License and the MIT license, which means that as long as you don’t try to pass it off as your own and as long as you open source your results, you can do whatever you want with this thing. That’s effectively what that license means. It’s called Copyleft, and it’s essentially saying, “Yeah, you can do whatever you want, but you can’t claim it as your own, and you must share your revisions to it under the same license as it was made under.”

Christopher Penn – 07:15
Which is very cool, because you think about commercial software—that’s completely copy-protected. You can’t make copies of it, you can’t make derivatives, you can’t make modifications, you can’t download Salesforce and pass it off as a different CRM. So we’re allowed to do it. The next part in the process of updating this thing is to step back and do some planning. The planning that we’re going to do is we’re going to think through the 5P framework, which is covered at length in our new course, Trust Insights AI Strategy Course. This is the AI Ready Strategist Course. It just came out two days ago and is absolutely fantastic. So we’re going to do a very brief abridged version of the full 5P framework. What’s the purpose of what we’re doing?

Christopher Penn – 08:05
We want this plugin to work again because it was nice, it did a good job. Who are the people involved? There’s the end user, which is the person who will use the software, and then there’s the person who has to maintain the bloody thing, which would be us. What’s the process? It’s the software development life cycle. The platform, the software itself, is WordPress, which is a combination of PHP and JavaScript and HTML and CSS. Then, for the AI platform that we’re going to use today, we’re going to use Anthropics Claude, because Claude is typically the best coding model available. All the other ones like ChatGPT, Gemini, and stuff are fine. If that’s what you have access to, not a problem.

Christopher Penn – 08:51
We specifically want to use the coding tools, not the general web interface, but the actual coding tools. You can get to these in a couple different ways. You can download them directly from the manufacturer. Claude has what’s called a Claude Code, OpenAI has what’s called Codex, and Gemini has Gemini CLI. They all have their own coding tools. The outcome, the performance, is that the plugin works, hopefully. This is unusual. I did not pre-bake anything for the show except getting the environment set up, so this could go all kinds of sideways.

John Wall – 09:28
Oh, this is fantastic. I thought you were going to do normal pre-bake. So, all right. Here we go. I’ll have to.

Christopher Penn – 09:33
I ran out of time.

John Wall – 09:35
I’ll get my soft shoe dance here. If something gets stuck, I’ll have to freestyle a story or tale.

Christopher Penn – 09:43
Exactly. Our first step is in that purpose statement. The first thing you want to start with in any kind of requirements gathering, any kind of development, is requirements gathering. The code exists already; we have to update it, but it is in existence. So one of the things we might want to do, instead of just starting from scratch, which would not be the best idea, is what if we could reverse engineer a product requirements document from this? I’m going to go to Claude. I’m going to say, “Reverse engineer the PRD from the codebase, starting with at Shortcode Exec PHP, that’s the entry point to the application.” Then I have an exceedingly long prompt that is 342 lines of how to do this. Write the PRD to OD MD.

Christopher Penn – 10:55
A product requirements document exists for the purposes of helping a project manager know what the project is supposed to do and the way it’s supposed to work, what success outcomes there are, what the user stories are, where the functional requirements and non-functional requirements are, and let’s go ahead and have it so it’s using. There’s a tool I have installed called Serena MCP, which is a model context protocol that is fancy for an API for AI. What it does is it runs locally as a librarian in the project, and it keeps track of all the stuff. One of the challenges with AI is it forgets from chat to chat. If you start a new chat, it completely forgets everything you had in the previous chat. With no memory, you end up redoing things a lot.

Christopher Penn – 11:48
If you use a tool like Serena, which is free and open source and runs locally on your computers, no data goes anywhere. It will remember from session to session what it is that you’re trying to do and will hopefully help you build this thing. So while it’s turning on, the other thing we need to do is. This is awkward. I’m not a WordPress developer, so I don’t actually know a whole lot about. I can write in PHP, but I don’t know a lot about developing for WordPress, which is awkward. So how do we handle that? You handle that by using AI, and the most straightforward way to handle that is to go to AI and say, “I need you to do some research.” This part is pre-baked.

Christopher Penn – 12:45
I said, “I want you to do some research on what today’s WordPress coding standards are.” Like, literally write it out. Gemini went and did this, and it created a 29-page document of “Here’s everything that you need to know about the way WordPress works today and how to write good code for WordPress, what testing tools to use, and all that stuff.” So that’s going to go in our document folder, in our project. We’re going to put it. I can’t.

John Wall – 13:13
Let you just roll over that. That’s probably better documentation than has ever been done for WordPress, isn’t it? I’m going to throw that up right now on the training site for 40 bucks. We should publish that.

Christopher Penn – 13:27
You could. I mean, Deep Research tools, and we’ve talked about this in the past, and it’s covered in one of our AI use cases courses. Deep Research tools let you build custom manuals for anything. So instead of having the general documentation, you can say, “I’m building this for this, make me a manual for it.” A really good example. That is a very consumer one.

Christopher Penn – 13:51
Let’s say you go and buy a piece of furniture at Ikea, and you get the horrendous directions that come with it. You can hand that product name a couple of photos from it, or the PDF that you download from Ikea’s website, and say, with deep research, “Go and look at YouTube videos and other stuff, and then write me an actual manual for how to put this thing together.”

John Wall – 14:14
Yeah, right. So you don’t reach that thing where you’re on step seven, and then you reach step 18 and you’re like, “Oh, wait, that one part is backwards. I have to undo all this stuff.”

Christopher Penn – 14:23
In fact, that can be part of your deep research prompt: “Based on YouTube videos and Reddit walkthroughs and stuff, people who’ve assembled this piece of furniture, put a warning section up front. What are the top five things that go wrong? Or what are the top five steps where you put something on backwards, because the manual is not clear? Because in the YouTube videos, people are saying, ‘Oh, watch out. In this step here, the directions look like this, but it’s actually this.'”

John Wall – 14:49
Yeah, right. That’s again, saving a world of pain.

Christopher Penn – 14:52
Exactly. So it’s almost done building the requirements document. We’ve got our standards. Claude is thinking about it. This, by the way, the process overall, when I’ve done this in the past, takes two to three hours typically, because there’s a lot of back and forth. So we’re going to cover the major steps of it, but I guarantee we’re going to run out of time. Your requirements document comes first, comes second after your standards. So go and do your deep research on the software. Ideally, if your plan supports it, which Gemini doesn’t really have enforced research limits, ChatGPT does. You get 25 a month on the plus plan if you can build a deep research report for the project specifically. So not just overall WordPress coding standards, but WordPress coding standards for plus plugins.

Christopher Penn – 15:46
WordPress coding standards for themes or whatever, so that the document is as narrow as it can be to the thing you’re trying to solve.

John Wall – 15:55
All right, yeah, that makes sense. It’s just insane how that’s one of the worst things about a lot of these open-source tools. When you run into some kind of problem, you’re like, “Okay, where the heck do I go?” There are no manuals. You literally need to find somebody over on Reddit or in some code repository someplace.

Christopher Penn – 16:15
Exactly. And by the way, this applies to any piece of software. So if you said, “What? I’m a HubSpot CRM user. I want to do this task. Build me a manual for HubSpot CRM to do this task,” and look at the HubSpot support forums, look at the HubSpot Reddit group, et cetera, and then build me the manual for step-by-step how to do this. It will do a phenomenal job for you. So if you hear, if you think about, because you and

John Wall – 16:49
Yeah, yeah. I mean, it’s funny, isn’t it? It totally obviates that entire show now. Before, you used to need to know where things were, and now you could be like, “Okay, show me the five leaders in these five categories.” And yeah, there’s so much less rummaging around in the dark.

Christopher Penn – 17:05
Exactly. But for any product, you could say, “Hey, I’m aware that ABM is now ABX or whatever we’re calling it this week. What would it take to implement something like that in HubSpot?” You would commission a deep research report, maybe even provide a PDF of the documentation that’s available, and let the models build that thing for you. While it’s finishing up the PRD, the next thing that we have to do, if the worst thing you could possibly do, is just walk into the plugin and say, “Hey, update this plugin.” That’s just not going to go well. You would want to have the PRD, you’d want to have the document standards, but you also want to have good testing.

Christopher Penn – 17:51
There are five major tools for WordPress in particular that you need to have to be able to do WordPress development. Well, five testing suites. On top of that, every programming language has some kind of testing suite. Python has Rough, MyPy, Pytest, and Bandit, which test for syntax screw-ups, static typing, unit tests, and security. WordPress has PHP CS, PHP Stan, PHP unit test, and I’m forgetting one. But all of those exist, so they can do testing. JavaScript and Chrome extensions have their own. An important part of the process is you want to start out by saying, “Let’s make sure our testing utilities are installed.” All right. I don’t know why it’s taking so long to write a requirements document, because it really is not that complicated a piece of software.

John Wall – 19:00
Yeah, yeah, it’s just a plugin.

Christopher Penn – 19:03
It’s really thinking hard about this. It had better be a really good requirements.

John Wall – 19:07
Document when it’s done, like more documentation than this plugin has ever had in its entirety.

Christopher Penn – 19:14
That’s entirely possible because the original plugin didn’t have a whole lot.

John Wall – 19:20
Yeah, there’s like one. Read me like eight lines of, “Hey, this is made by. Good luck.”

Christopher Penn – 19:25
Exactly. Well, I mean, that’s what I put in my software. It says like this: “This software could very well light your computer on fire. Good luck to you.” Let’s see. It’s possible. No, it’s still working. Okay. Well, the next thing we want to do is we’re going to want to give it a really solid prompt to start the process of building out this thing. One of the tools I would recommend is that you have some kind of voice interface, because it’s way easier to talk than it is to sit down and type, and it certainly is a lot more pleasant. I built my own because you can in the age of AI. But there are certainly plenty of commercial products out there. So let’s go ahead and start building this prompt, and we’re going to say, as it thinks forever here.

Christopher Penn – 20:20
What if I should restart that? Oh, I’ll leave it. Next, we’re going to build the product requirements document. Oh, wait, no, we’ll start that next. We’re going to build a file-by-file work plan to update the codebase to make it compliant with the current WordPress standards. For modern WordPress plugins, you’ll need to read the standards that are in the Docs folder. You’ll need to read the product requirements document in the Documents folder and then develop a file-by-file work plan, from the least dependencies to the most dependencies, and write the work plan to the Documents folder. Do not code. Do not write code. We are planning things, thinking, and analyzing first. Look, the requirements document is finally done. Let’s take a look at this thing because I’m curious to see if it’s a novel.

John Wall – 21:14
Yeah. How much grinding did it do?

Christopher Penn – 21:17
Let’s take a look. Let’s bring it in here and make it large so we can actually read it. Okay. It says, “Reverse Engineer PRD, Executive Summary, Target Audience, Key Values, Reusable Organization, Safety, Project Goals, Dynamic Content, Centralized Code Management, User Profiles.” Nice user stories. This looks good. Syntax imports. It actually put user stories for each of the requirements, the functional requirements. That’s really nice. Security requirements, performance requirements, language support, internationalization. It did a really good job of reverse engineering the codebase into a full requirements document, your file structure.

John Wall – 22:10
Like there’s the meat of the thing.

Christopher Penn – 22:12
Exactly. Let’s take our prompt and I’ll make this bigger so we can see it again here. So we have this work plan and let’s just give it a path at Docs workplan md. So let’s get this cooking in our environment. Use Serena MCP as needed. This next step is for it to evaluate our existing codebase and figure out where it’s out of alignment and essentially what it’s going to take to update this thing. We told it you’re not going to code yet, so don’t start coding. You want to start planning. This is one of the things people get the most wrong with generative AI is you rush right into “go do the thing.” If you give it the chance to do multiple iterations of a plan, it does so much better.

Christopher Penn – 23:15
Typically, what I will do is I will say, “Write the plan,” and then I will say, “Review the plan.” With the standards, stuff like that. Only once it’s done a right and a review, then you can say, “Okay, now turn on your coding agent and go and code the plan.” If you just go straight in, a lot of the time you get spaghetti and you get unusable code. Because it’s so eager to help and to start doing things, it never has a chance to review its own work, to check its own work, and go, “Huh. Actually, there’s this component down here which conflicts with this component here.”

Christopher Penn – 23:56
But if you give it the time to think and to review, you can sometimes get a big code project done in one shot because you’ve given it a couple of chances to review its plans. All right, so it says, “I have sufficient information to create a work plan. I’ve reviewed the coding standards, I’ve reviewed the code structure, I view the existing issues, old-style security vulnerabilities, outdated libraries, non-compliant formatting, modern requirements, PHP 7.4+ compatibility, WordPress, current standards security best practices.” It’s going to, I’m going to guess, take quite some time to bake the actual plan here.

John Wall – 24:36
So is this the point at which you’re actually going to pull the trigger? You tell it to go and update all the files individually, or how do you normally trigger that?

Christopher Penn – 24:45
Well, we’re going to review, once it’s done, we’re going to review the plan. I don’t want it to go and do the thing because one of the gotchas with Claude, in particular, is very susceptible to this. It has trained the most on enterprise software. It has enterprise software, best quality, best practices, QA, and all that stuff, which is good. But that means Claude has a strong tendency to over-engineer and overcomplicate things. It will try to say, “Hey, these are the known best practices for this kind of compliance.” You’re like, “Dude, we’re not building apps for the NSA here. We’re making a side-scrolling shooter.” So part of the revisions is to say, “This is who it’s intended for.”

Christopher Penn – 25:39
Make sure your plan is not so crazy that you’ll never get it done or you’ll create spaghetti. Because the other issue is, when it overcomplicates things, it has a tendency to just start creating all sorts of stuff that doesn’t need, and then you end up with a codebase three times as large as it should because it makes stuff that it then doesn’t use.

John Wall – 26:00
Right. Yeah, you’re just going completely beyond like you said.

Christopher Penn – 26:04
Yeah, well, yeah, I mean, think about what would happen if you essentially had an employee who was on their own little island and would do work and had no ability to ask anybody else questions. They just kind of churned away and hoped that it worked out. Well, that’s kind of what this is acting like. It’s acting like that employee stranded on the desert island somewhere, they just crank away because they don’t know what to do here.

John Wall – 26:32
Just faking every step.

Christopher Penn – 26:34
Yeah, faking every step. Okay, it looks like the work plan is actually done in near record time. So let’s take a look at what it came up with. It says, “Updating WordPress 6.4 plus, target PHP 7.4 plus.” We’re going to look at this file, naming standards, naming conventions, CSS standards, dependency hierarchy. So it lays out and then goes file by file and says, “You need a good foundation, you need a better readme. You have some changes. The CSS is understandably wrong. It’s been 15 years.”

John Wall – 27:14
And still doesn’t work.

Christopher Penn – 27:18
Core modals, core infrastructure. Now the other thing that’s funny is Claude has put in here like it’s going to take three to four days to do this project, like it’s writing for human developers.

John Wall – 27:29
Right, right. We’re going to improve that.

Christopher Penn – 27:33
Exactly. Core class modernization, days 5 through 8, 12 to 16 hours worth of work. I don’t know where it gets these estimates. Overall though, the plan looks pretty solid. So we’re going to say, “Let’s go ahead and, using Serena, MCP and the debugging agent, implement the plan in full when done. Use Context Fetcher to update Docs PRD MD with the current state of the new fresh application. Call the new version at docs prd v2 md so you don’t damage”

Christopher Penn – 28:52
The original. So now what happens is it’s going to take, it’s a debugging agent, and it’s going to start looking at the plan step by step, using the MCP server to remember what it’s doing, and it’s just going to run through it. This part, my guess, is going to take probably about an hour, two hours, and a half to do this part, to update all the code. Once this part is done, then you run a QA agent to say those five tests that we set up at the beginning, this code has to pass all five sets of tests. If it doesn’t keep making changes until it passes all the tests. One of the things that AI does really well that humans don’t is good testing. As long as you tell it, “Hey, these are the tests and these are the test conditions, you have to pass all these tests,” then what it’s going to do is it’s going to keep working. Whereas a human would be like, “Oh my God, I have to do another round of tests.” That’s ridiculous.

Christopher Penn – 29:41
I don’t want it, like, just take the code as it is.

John Wall – 29:45
You know, you totally, like, you pass three out of the five, and you’re like, “We’re going to skip the last two. We’re good.”

Christopher Penn – 29:50
Exactly. Whereas with this, you can say, “You’ve got to pass all the quality tests. I’m not giving you a choice.” It will churn away until it does. The debug agent will fix things, the testing agent will test things. Then, once you’re done, you can have it run a test version of WordPress right on your computer to make sure the plugin actually installs and doesn’t throw any errors. It can do all that automatically. By the time you’re done, you’ve got a plugin that is ready for prime time, that you’re ready to take and push live. You can put it up on GitHub, you could even put it in the WordPress Codex, right? As long as you adhere to the license terms of the original or you remix your own, you can go ahead and do this.

Christopher Penn – 30:37
It’s fantastic. For example, my martial arts teacher started a Substack, and he wanted to know how to get his Substack posts onto his WordPress site. We can write a plugin for that. We followed this exact process, except instead of starting with the existing codebase, we just started with something net new. We said, “Here’s the requirements document, here’s how to write WordPress plugins, build the thing.” In about three hours, I had a working plugin because it did all the automation. I installed it on his WordPress site, and it works great. The key takeaway for marketers, especially, is if there’s a functionality you would like to have in WordPress and it doesn’t exist, or you don’t want to pay for it, this is the exact process to use.

Christopher Penn – 31:29
This is a plugin that I used to use called Link Juicer, and it would cross-link internal posts on your WordPress site to improve internal linking. It was like $29.99 a month. I’m like, “Okay, but all you’re doing is maintaining a lookup table, and you’re intercepting the HTML and rewriting it. That’s not worth 30 bucks a month to me for someone to maintain that.” Out of curiosity, we did this exact process, and said, “How much would it cost?”

Christopher Penn – 31:59
How much would it take to just build this thing net new, but do it my way instead of the plugin’s way? It’s like, “Okay, here’s the plan, here’s the PRD, here’s the design, the work plan,” and it goes and builds and runs the tests, and in a couple hours, I have a plugin now that I’m in the final round as QA on it once it’s done. That’s going on my website, and I’m throwing overboard the old link plugin. Now I’ve just got this thing that’s like, “Okay, this is going to work for me.” If you’re a marketer or any business person and you have software, you’re like, “This software is kind of a one-trick pony, and everything has a monthly fee.”

Christopher Penn – 32:42
Now, if I want to do this for myself, talk to your AI and say, “How would I replicate this functionality, but do it my way?” Like, for example, the internal link juices—there are some issues I have with them, the way they work. I don’t like the way they work. So, in my version, it said, “Okay, I want you to do it this way instead.” The AI tools are like, “Sure, we can do that,” and you’ll mix the thing, and you end up with a really powerful piece of software. When you think about the Marketing Over Coffee website, John, what are the things that you wish it did?

John Wall – 33:18
I imagine this was the impetus for the episode—that there’s a listing of back episodes in chronological order. There was a plugin that we used to have that died a year or two back that has been sitting on my to-do list, gathering dust for at least two or three quarters. So that would be at the top of the list. Anything for us that unlocks that content, like I manually do a “best of” list, and so anything that could make it easier to search the archives or to do “best of” lists or whatever to make it more usable, any of those plugins are great. And then I think we have the standard Gravity Forms up there to grab subscribers to the mailing list.

John Wall – 34:02
But that’s just filling out the form and going to feed. Actually, I think maybe it’s even shut off because I just have a feed to the Google Doc thing in there right now. But yeah, that could actually pump the addresses over to Ghosts too, instead of dumping them into a spreadsheet and me having to do that. So yeah, the archives are the first sore point.

Christopher Penn – 34:24
Yeah. So let’s think about. Let’s do the first part of this because we still have about 10 minutes left before we call it a day on this episode. Let’s think about what that part of the process looks like because I think that’s probably the hardest part. The coding agent is going to do its thing, but actually thinking this through. Today, let’s build a WordPress plugin that’s going to take our WordPress posts of a specific category and show those posts in reverse chronological order, grouped by month and year, starting with the current month and current year and going backwards, split by month and year. It will be configured within the WordPress admin. We’re going to.

Christopher Penn – 35:09
We’ll give the user the chance to specify what post type or category that wants to be shown and what should be excluded, if anything. Okay, so that’s the first part. What else?

John Wall – 35:28
I’m trying to think. So it’s just the functionality of what it’s doing, and then layout. Does that have to be part of it?

Christopher Penn – 35:34
Layout could be part of it. What would you want it to look like?

John Wall – 35:40
Yeah, that’s a good point. Instead of just a list of links, if it was links with the snippet, because there actually is a field in there that we use for the SEO plugin, whatever the name is, so that we could use that instead of just grabbing the first paragraph or doing some random snippet.

Christopher Penn – 36:08
Okay, so let’s add that in. The desired output will be HTML on the page that will incorporate the post title, with the post title linked, plus the snippet of the post below the post title in HTML unlisted bullet point format so that the user can quickly see what the episode is about and whether they would want to listen to it or not. Okay, what else? That’s pretty much it.

John Wall – 36:41
Yeah, it’s not a complicated thing. I can’t think of anything else off the top of my head.

Christopher Penn – 36:45
Okay, so here we’re going to do next based on these requirements. Ask me one question at a time until you have enough information to build a product requirements document for this project. We are not coding. Do not code. Do not write code. A product requirements document contains user stories, functional requirements, non-functional requirements, domain requirements, technical requirements, libraries. A product requirements document is everything that a software project manager needs to manage a project, fully self-contained. So make sure it has sufficient detail for doing that. Next, begin by asking me one question at a time until you have enough information to build the product request requirements document. So that’s our prompt. Now we can go into any regular AI coding tool. I’ll pull up Anthropics Claude here. You could use Chat, GPT, Gemini. It doesn’t matter.

Christopher Penn – 37:37
We’re going to put that whole big honking thing in, and now what it’s going to do is start thinking through what we’ve described and we’ve given it very specific directions. Again, we do not want coding right now. We want planning. Planning has to come first. So let’s see. Question 1: Display location and implementation. Where exactly should these grouped posts be displayed on the WordPress site? There should be a shortcode that users can place anywhere in posts and pages, and maybe even have a configurable option to show a certain number of posts. So that if I wanted to put

Christopher Penn – 38:25
Okay, well, the flexible shortcode with configurable parameters. How should the plugin handle configuration? Between the WordPress admin settings, there should be default values. The overrides should. Some things be locked in the admin? Let’s have the admin settings serve as the default values that could be overridden by the shortcodes, and a specific parameter should be category tags, post type, date, and limit, and excluded items.

John Wall – 38:58
Yeah, that’s nice. I hadn’t thought of an excluded list, but yeah, that’s always one of those things. Later on, you’re like, “Oh, I wish we had one of those.”

Christopher Penn – 39:05
Yep. Date parameter functionality: what should the date parameter control? Starting, ending date range, real-time period. Let’s have it be specified with a start date and end date or a date range, one of these, and give the user the option to specify something else using dropdown menus. Okay. Date selection options: have it do relative periods such as last 28 days, last 30 days, last 90 days, last 180 days, last 365 days. Okay. Post snippet details: what should be the source of the snippet? The post excerpt if defined. We use the Rank Math SEO tool, which should have snippets, but we should definitely use the default post excerpt to make sure that the content is there. If there is no excerpt, then we should just leave it blank, but we will still want to be able to show the post.

Christopher Penn – 40:21
The length should be 140 characters, rounded off at the nearest word boundary so that we’re not showing half of a word. The post snippet link should be configurable in the admin instance. It should have a read more link, and HTML formatting should be stripped from the snippets. Claude is not exactly following directions. It is asking one question at a time, but each question seems to have like 7 parts: exclusions for the excluded, which should be out to the user. The user should be able to specify specific post IDs, categories, tags, and the posts should be excludable in a checkbox list in the interface so that the user can pick and choose what posts or pages.

Christopher Penn – 41:15
Posts and pages should be separated so the pages can have checkboxes in a separate part of the dialog box because there’s a good chance that we’re going to want to exclude pages more often than individual posts. The exclusions could work as a blacklist or a whitelist, so let’s make sure both functionalities are available, and the user can choose that in the admin controls. Visual styling: let’s see, the plugin should inherit the styling and CSS of the master website itself and should not be able to add custom CSS because that can really screw things up. The heading hierarchy should be H2 for your H3 for month. Yes. Should be visual separators. Yes. Use an HR separator on the page for those, and the user could have options for list versus card. I didn’t even think about that. Like list versus cards. Pretty cool idea.

John Wall – 42:22
Yeah. Card that’s newfangled cards in this thing here.

Christopher Penn – 42:29
Let’s see. Performance pagination. There should be a maximum limit on total posts displayed that can be configurable in the admin interface. The plugin should definitely implement pagination with 10 posts displayed by default. That should also be user configurable in the admin. The posts should be lazy-loaded to improve performance. Should definitely use caching with a seven-day cache for persistence and show all posts only if a specific override is specified to show all posts. All right. Admin interface should be a top-level, it should definitely be its own menu item. This should definitely be its own top-level menu item because we’re going to have a lot of these things in here. We want tabs for organization. We should have a preview area. We should have preset configurations, and we should absolutely support import and export.

Christopher Penn – 43:33
The import and export should be done in JSON format. Now let’s see. Multisite and permissions. Should it support multisite? For simplicity’s sake, let’s not support multisite right now. We can do that in version 2. Let’s see. User permissions and custom types. Administrators and editors should have access. But again, this is something that should be configurable in the admin interface to allow the admin maximum flexibility. The plugin should support custom post types. There should be no restriction on the use of the shortcode and pages. And yes, multiple configurations should be savable. Save configuration management. How should we reference in the shortcode? We should reference things by name because remembering IDs is just a pain in the butt. There should be a default configuration. Yes. Users should be able to duplicate and clone configurations if a reference configuration is deleted.

Christopher Penn – 44:52
There should be a fallback to defaults, and configurations should have version history so that people can roll back in case they screw up.

John Wall – 45:02
All right, we’re getting into super deluxe territory here.

Christopher Penn – 45:06
We are. But again, if you think about it, this is the kind of thing that you would want to do in a software design project because the time you spend doing requirements like this now saves a hundred X the time later when you get the first version. People are like, “Oh, but it was supposed to do this.” And you’re like, “Well, right, well, because.”

John Wall – 45:28
You get in the loop where you’re like, “Oh, okay, we can do that. I just have to go rebuild all the previous stuff that we did.”

Christopher Penn – 45:35
Exactly. Should it auto-detect SEO plugins? Yes. It should integrate with as much as possible while not bogging down the entire system. You’ll want to use your web search tools to look at briefly what kinds of integrations and hooks need to be in place for other tools to talk to our plugin and for our plugin to talk to other tools.

John Wall – 46:00
Wow, that’s nuts. I don’t think it would go that deep. That’s pretty crazy.

Christopher Penn – 46:03
Yeah. If you think about it, there’s so much stuff on a WordPress website that the chance of conflicts between plugins with the SEO plugin.

John Wall – 46:15
Right? Yeah, because there are tons of them too.

Christopher Penn – 46:18
Right? So there’s Yoast, there’s All-in-One SEO, there’s Rank Math, Ahrefs has their own plugin, Moz has a plugin, Cloudflare has a plugin. So everybody has an SEO plugin of some kind. Let’s see, for lazy loading. Posts should load automatically as the user scrolls, the lazy loading. Yes. Should respect the month and year groupings. And yes, use a loading indicator of some kind. Let’s see how many versions you want to store. Let’s do 30 days worth. Store 30 days worth with a rolling window. Autosave should absolutely be supported because bad things happen. Configuration should be exportable as a complete set. Only when a configuration is deleted should be trashed and recoverable for 30 days. So in the interest of time, since we’re almost at time, we can keep answering these questions outside of the livestream. But this is the process.

Christopher Penn – 47:36
Once you do this, it will draft a product requirements document. Then, as we did with the original plugin, from the product requirements document, you say, “Now build me a file by file workplace plan, from least dependencies to most dependencies, about how you would implement this.” Then you have your coding age review the work plan, look for problems, and then say, “Off you go, and build the thing,” and let the machines chew on. So that’s the process for replacing missing WordPress plugins, updating ones that are no longer supported, or, in a lot of cases, saying, “I don’t want to pay $29.99 a month to 82 plugins when the value that they offer is not worth that.”

John Wall – 48:24
Yeah, that’s. You know, it changes the game because everybody knows that you have your site, and after three or four years, you just have this huge, giant, long list of plugins that you’re having to manage. Like you said, some of them are dying, and other ones you need to upgrade. So having this in your toolbox, to be able to just start replacing and having them do exactly what you want them to do, is huge.

Christopher Penn – 48:42
Yep. You follow the exact same process for WordPress themes. You would say, “Let’s start with a base theme of some kind.” It could be 20, 25, it could be anyone. Do the deep research project on how to build child themes, and then follow the exact same steps to say, “Here’s what I want in theme. Here’s this, here’s this.” You can have it do renderings in the canvas. Claude supports this, ChatGPT supports this, Gemini supports examples. So you can actually literally do the design in partnership, say, “Oh yeah, that’s not the color scheme. I had mine.” Or, “Let’s make it look like this, like these fonts and stuff.” Then, once you’re done, have the tools QA theme to make sure it’s not going to blow up your site. And bang, brand new theme.

Christopher Penn – 49:30
It’s because it’s a child theme. If the parent theme updates, it doesn’t blow up all your work. You could do all the integrations you’d ever want. Should your theme support Google Tag Manager with an add-on, et cetera? All that stuff that we almost forget exists, but is really important.

John Wall – 49:50
That’s so fantastic. I hadn’t thought about that at all. But yeah, because that’s one of the biggest things with child themes is when you start doing some of your own development down on the child theme. Now the parent comes out with an update, and you’re like, “Oh, I have to integrate these things back together again.” But to just run it through a prompt and say, “Hey, if I put my customizations in the new version, is it going to break everything?” If not, go do it. That is just because I can’t remember what I tweaked six months later when the new update comes out. I’m just like, “I fix something.” Exactly.

Christopher Penn – 50:21
That’s the thing. These tools, as long as you do a good job with the planning and you do a good job with good prompts, the tools do all the rest. The AI tools can do all the rest. They can implement the code. You just have to know what to ask for. It’s like the mythical genie in the lamp. As long as you are careful and thoughtful about what you ask for, Robin Williams will not come out and wreck your day.

John Wall – 50:49
You can survive.

Christopher Penn – 50:50
Exactly. Any final thoughts?

John Wall – 50:54
No. This has been fantastic, though. I mean, thanks for this tour because this makes a bunch of annoying little headaches go away.

Christopher Penn – 51:00
Exactly. And offline. We’ll keep tooling on this Reverse Posts plugin because there’s a very good chance that it will come out like a Rolls Royce of reverse posts. But that’s going to do it for this week’s episode. Thanks for tuning in, folks, and we will see you all on the next one. Thanks for watching today. Be sure to subscribe to our show wherever you’re watching it. For more resources and to learn more, check out the Trust Insights podcast at TrustInsights.ai/podcast and a weekly email newsletter at TrustInsights.ai/newsletter. Got questions about what you saw in today’s episode? Join our free Analytics for Marketers Slack Group at TrustInsights.ai/analytics-for-marketers. See you next time.


Need help with your marketing AI and analytics?

You might also enjoy:

Get unique data, analysis, and perspectives on analytics, insights, machine learning, marketing, and AI in the weekly Trust Insights newsletter, INBOX INSIGHTS. Subscribe now for free; new issues every Wednesday!

Click here to subscribe now »

Want to learn more about data, analytics, and insights? Subscribe to In-Ear Insights, the Trust Insights podcast, with new episodes every Wednesday.


Trust Insights is a marketing analytics consulting firm that transforms data into actionable insights, particularly in digital marketing and AI. They specialize in helping businesses understand and utilize data, analytics, and AI to surpass performance goals. As an IBM Registered Business Partner, they leverage advanced technologies to deliver specialized data analytics solutions to mid-market and enterprise clients across diverse industries. Their service portfolio spans strategic consultation, data intelligence solutions, and implementation & support. Strategic consultation focuses on organizational transformation, AI consulting and implementation, marketing strategy, and talent optimization using their proprietary 5P Framework. Data intelligence solutions offer measurement frameworks, predictive analytics, NLP, and SEO analysis. Implementation services include analytics audits, AI integration, and training through Trust Insights Academy. Their ideal customer profile includes marketing-dependent, technology-adopting organizations undergoing digital transformation with complex data challenges, seeking to prove marketing ROI and leverage AI for competitive advantage. Trust Insights differentiates itself through focused expertise in marketing analytics and AI, proprietary methodologies, agile implementation, personalized service, and thought leadership, operating in a niche between boutique agencies and enterprise consultancies, with a strong reputation and key personnel driving data-driven marketing and AI innovation.

Leave a Reply

Your email address will not be published. Required fields are marked *

Pin It on Pinterest

Share This