a:4:{s:5:"child";a:1:{s:0:"";a:1:{s:3:"rss";a:1:{i:0;a:6:{s:4:"data";s:3:"


";s:7:"attribs";a:1:{s:0:"";a:1:{s:7:"version";s:3:"2.0";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:1:{s:0:"";a:1:{s:7:"channel";a:1:{i:0;a:6:{s:4:"data";s:112:"
	
	
	
	







































































































";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:1:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:16:"WordPress Planet";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:28:"http://planet.wordpress.org/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"language";a:1:{i:0;a:5:{s:4:"data";s:2:"en";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:47:"WordPress Planet - http://planet.wordpress.org/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"item";a:50:{i:0;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:117:"WPTavern: #174 – Joe Dolson and Jonathan Desrosiers on WordPress Accessibility: Core Commitment or Canonical Plugin";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:48:"https://wptavern.com/?post_type=podcast&p=196977";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:130:"https://wptavern.com/podcast/174-joe-dolson-and-jonathan-desrosiers-on-wordpress-accessibility-core-commitment-or-canonical-plugin";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:54978:"<details>Transcript<div>
<p>[00:00:19] <strong>Nathan Wrigley:</strong> Welcome to the Jukebox podcast from WP Tavern. My name is Nathan Wrigley.</p>



<p>Jukebox is a podcast which is dedicated to all things WordPress. The people, the events, the plugins, the blocks, the themes, and in this case a debate about whether or not there&#8217;s a place for accessibility in a canonical plugin.</p>



<p>If you&#8217;d like to subscribe to the podcast, you can do that by searching for WP Tavern in your podcast player of choice, or by going to wptavern.com/feed/podcast, and you can copy that URL into most podcast players.</p>



<p>If you have a topic that you&#8217;d like us to feature on the podcast, I&#8217;m keen to hear from you and hopefully get you, or your idea, featured on the show. Head to wptavern.com/contact/jukebox, and use the form there.</p>



<p>So on the podcast today, we have Joe Dolson and Jonathan Desrosiers. As you&#8217;ll hear in their podcast introductions, both Joe and Jonathan are veterans of WordPress, committing to Core in different ways. They&#8217;re deeply committed towards making the platform more useful for all users.</p>



<p>This episode is all about exploration rather than answers. Joe and Jonathan discuss the world of canonical plugins, a special category of plugins maintained by the Core team. They&#8217;re designed to be as reliable and secure as features found in WordPress Core itself.</p>



<p>The discussion unpacks exactly what defines a canonical plugin, how these plugins have evolved out of the traditional feature plugin model, and what it means for users and contributors alike.</p>



<p>At the center of this episode is accessibility, should accessibility enhancements remain a primary concern within WordPress Core, or is it time to start developing them as canonical plugins? Joe and Jonathan discussed the pros and the cons of both options, referencing technical challenges, project philosophies, and the ever-changing legislative environment, especially with tough new regulations in Europe.</p>



<p>They consider the discoverability of canonical plugins for non-technical users, potential overlaps and division of labour between plugins and Core, and the moral imperative of making websites accessible to all.</p>



<p>We also touch upon practical examples, from the WordPress video block to the Performance Lab plugin, and weigh up how cadence, stability, and focus can differ outside the Core.</p>



<p>The conversation also goes beyond theory, delving into the real life impact accessible technology has, from legal requirements, to personal stories and the broader mission of democratizing publishing.</p>



<p>Whether you&#8217;re a developer, a site owner, or someone interested in the ethical questions at the heart of open source software, this episode is for you.</p>



<p>If you&#8217;re interested in finding out more, you can find all of the links in the show notes by heading to wptavern.com/podcast, where you&#8217;ll find all the other episodes as well.</p>



<p>And so without further delay, I bring you Joe Dolson and Jonathan Desrosiers.</p>



<p>I am joined on the podcast by Joe Dolson and Jonathan Desrosiers. Hello both.</p>



<p>[00:03:35] <strong>Joe Dolson:</strong> Hello. I&#8217;m so glad to be here again.</p>



<p>[00:03:37] <strong>Jonathan Desrosiers:</strong> Likewise.</p>



<p>[00:03:38] <strong>Nathan Wrigley:</strong> We&#8217;ve had quite a preamble chat prior to recording this. This is going to be an exploration podcast. I don&#8217;t think we&#8217;re going to arrive at the destination. This is, I think about the journey.</p>



<p>But it&#8217;s going to be a conversation about something called canonical plugins. Dear listener, if you don&#8217;t know what that means, hold on. But also about accessibility. Prior to that, probably a good idea to get both of your biographies so that we know a little bit about you, and your credentials in the areas under discussion. So should we start with you, Jonathan, just a little bio. Tell us who you are.</p>



<p>[00:04:08] <strong>Jonathan Desrosiers:</strong> My name is Jonathan Desrosiers. I am a full-time sponsored Core contributor to the WordPress project from Bluehost. And I spend a lot of my time on the day to day, the work that keeps the project moving. That may be lesser seen, like our processes, our testing frameworks, helping the release squad with the resources, make sure they have the resources they need to do their jobs well, and ultimately produce good releases of WordPress every time.</p>



<p>[00:04:35] <strong>Nathan Wrigley:</strong> Nice. Thank you so much. And Joe.</p>



<p>[00:04:37] <strong>Joe Dolson:</strong> So I&#8217;m a part-time Core contributor to WordPress. I&#8217;m also a Core committer and I&#8217;m sponsored by GoDaddy and Kinsta. I mostly work on accessibility, so I help make all aspects of the project more accessible, including Core, Gutenberg, wordpress.org itself and all of those related bits and pieces.</p>



<p>[00:04:56] <strong>Nathan Wrigley:</strong> Okay, so we&#8217;ve established your credentials. The topic under discussion, I&#8217;m going to try and find the post in the Slack channel, which kind of promoted this whole thing, but it goes back a few months now. And the topic under discussion today is about whether or not it would be a good idea, I&#8217;m going to say, let&#8217;s go with that, an interesting idea, a good experiment, who knows, to put accessibility work into a plugin of a special type called a canonical plugin. So we&#8217;re used to hearing about plugins, perhaps not so much canonical plugins. So let&#8217;s make that the first port of call. What is a canonical plugin?</p>



<p>[00:05:34] <strong>Joe Dolson:</strong> I mean, I think we can kick this off with the idea that we don&#8217;t really know. But there is a long history in the project of essentially Core sponsored plugin projects that are used for specific features or provide various functionality. And then sometimes they get merged into Core and sometimes they don&#8217;t. It&#8217;s highly variable.</p>



<p>So there is a deep reality that this particular proposal, we don&#8217;t have any clear idea of what it&#8217;s actually proposing. But I think it&#8217;s good to talk about some of the historical canonical plugins that have already been used.</p>



<p>One great example I think is the WordPress Importer. It&#8217;s a plugin. It&#8217;s installed on demand into your dashboard when you decide to go to import something. And it&#8217;s an extremely standard tool. And it&#8217;s kind of the classic idea of something that isn&#8217;t needed in Core permanently, but is heavily used and really needs to be something that is maintained by the project.</p>



<p>[00:06:29] <strong>Jonathan Desrosiers:</strong> Yeah, I think it goes back, like Joe said, pretty far in that in the past we&#8217;ve had this concept called feature plugins. And so the initial idea behind those was to begin work on a feature that would span many releases and to get it into a refined state where it was ready for primetime to be included, you know, and shipped to the world.</p>



<p>So some good examples of this are the MP6 plugin which, re-skinned the dashboard in the modern way that we know today.</p>



<p>The REST API started as a feature plugin project. There&#8217;s many more to that effect. Simple XML Sitemaps, I believe started as a plugin as well.</p>



<p>I think of this in the way that canonical plugins are always feature plugins, but feature plugins are not always canonical. And so what I mean by that is a feature plugin can always become a canonical, but that may not be the case. It may end up in Core and we don&#8217;t need it long term. Or we could decide that it&#8217;s just not a good fit and it could become a canonical, and we maintain it long term as that add-on type plugin that you would use, that&#8217;s officially supported and maintained.</p>



<p>And so even before the suggestion to put accessibility into a canonical plugin, there were a few posts from Matt that suggested that we revisit this concept of feature plugin. And I think it&#8217;s just, canonical is just in some ways a new name for it in the sense that, you know, an SEO, canonical is you put the canonical tag and it points to the one true page on the internet that represents that content, right?</p>



<p>And so it&#8217;s similar to that, in that we want to have these canonical plugins that are the one true place you should be able to rely on for functionality that adheres to the project philosophies in the same way as if it were in Core itself.</p>



<p>[00:08:07] <strong>Nathan Wrigley:</strong> I suppose my supposition about canonical plugins are that they encapsulate important things that could be in Core. You know, if the universe was slightly different, they could easily be rolled into Core. But also importantly, they receive security updates and the same kind of inspection that Core might have. So it&#8217;s not like they&#8217;re just sort of left to fester.</p>



<p>On a regular basis, they would be inspected, updated in much the same way that Core would be. So it&#8217;s almost like Core, but kind of install it yourself. But the importance being that you can utterly rely on it, if you install it to be dependable, to be updated, to be secure. Have I misremembered, that or is that a part of the definition of a canonical plugin?</p>



<p>[00:08:53] <strong>Jonathan Desrosiers:</strong> No, that&#8217;s accurate. We give you that same commitment to backwards compatibility. The project philosophies, as I mentioned, the plugins that are maintained that are released as community plugins are covered by the Bounty Program and our Hacker One program as well. So there&#8217;s incentive for people to find security vulnerabilities and responsibly report them and work with the security team to fix these for the community.</p>



<p>That&#8217;s right in that you are getting kind of like that badge of honor, like we promise, guarantee type thing, that we&#8217;re going to do our best to give you the best plugin for this particular feature.</p>



<p>And the importer I think is a great example of that, right? They&#8217;re not all great, in good shape, and part of that is because some of them are importing from software that&#8217;s also, that&#8217;s really old and outdated, right? And the concepts that they have and the data structures.</p>



<p>But we have almost a dozen importer plugins that are, in a sense, canonical, and they are the go-to plugins to import your content into WordPress. I&#8217;m hopeful the Data Liberation Project will help make those more refined and make them easier to use and less prone to issues, yeah. But, yes, in theory we do give you that guarantee and that backing.</p>



<p>[00:09:58] <strong>Joe Dolson:</strong> I mean, one of the reasons I did bring up the importers is because I think they&#8217;re actually a really good example of something that isn&#8217;t getting the care that it really needs. I mean, they&#8217;re stable and they&#8217;re functional, but there are certain things that they really don&#8217;t do very well.</p>



<p>And one of them is, like if you&#8217;ve got a site with say, 10,000 users, you just can&#8217;t use the importer plugin. Because it generates these select dropdowns to assign your posts to a particular user, and the performance on those is ludicrous when you&#8217;ve got a page that has 100 dropdowns with 10,000 items in them.</p>



<p>This is the sort of thing that I think everybody would like to see worked on more in the world of canonical plugins. And that&#8217;s, I think one of the fears that maybe some people have about moving more stuff into canonical plugins, is this idea that they might not get the care that we theoretically promise.</p>



<p>Because I do think, the idea of canonical plugins, we absolutely do promise those security updates and making sure all of these things are solid, but I&#8217;m not sure we&#8217;ve always carried out on that as well as we could.</p>



<p>[00:11:03] <strong>Jonathan Desrosiers:</strong> You said something that resonated too in that. So one of the Core philosophies is the 80 20 rule. And so we want to make sure that the things we merge into Core work for the majority of our users that use our software. And so the same kind of holds true for canonical plugins in some ways. Not that we want to plug in that 80% of people will use, because then it would belong in Core, but 80% of the people that want that feature, the plugin should be relevant to them, right?</p>



<p>And so in the sense of imports being too large, the canonical plugin is a great tool and it&#8217;s the defacto recommended way, but it&#8217;s may not be the right tool for your instance. And so in that instance of a large import, WPCLI is probably more something that you would want to use in that case, because it&#8217;s not subject to timeouts and there&#8217;s just different technical boundaries that it works within.</p>



<p>So we want these canonical plugins to be the defacto, but they&#8217;re not the end all be all, and they don&#8217;t cover every situation. But we want to cover the majority of situations for as many WordPress users as we can.</p>



<p>[00:12:00] <strong>Nathan Wrigley:</strong> Okay. So I think we&#8217;ve established what a canonical plugin is, and I&#8217;m going to summarise it as follows, basically something that you can depend upon. I would summarise it just that.</p>



<p>[00:12:08] <strong>Jonathan Desrosiers:</strong> Something that tackles a specific, or group of features.</p>



<p>[00:12:10] <strong>Nathan Wrigley:</strong> Right. It&#8217;s got a specific feature. It could have gone into Core, but it was decided not to go into Core, but you can hopefully rely on it. Although, Joe made a very good point that, you know, reliance is an objective thing.</p>



<p>However, what we&#8217;re talking about today is accessibility. We&#8217;re in the year 2025. It&#8217;s June, 2025. We&#8217;re at WordCamp Europe. And it feels like the train over the last few years has really pushed accessibility to the front. I think any web designer, developer, in the year 2025 who doesn&#8217;t have accessibility right at the front of their mind is kind of missing the point.</p>



<p>The legislation in Europe is coming thick and fast, I imagine in other jurisdictions and other parts of the world, the same will be true. So I guess the question, and I&#8217;m going to ask this to Joe first, given his background of committing to Core in the accessibility arena. What do you make of this? The idea of pushing something to this canonical plugin that previously was the domain of Core.</p>



<p>Does it feel a bit like it&#8217;s, I don&#8217;t know, that the importance of it is being relegated in some way? Do you feel it&#8217;s like undermining? Because we should all have an accessible approach to WordPress development, website development, but in this way, well, it&#8217;s not important enough, if you like, to be in Core?</p>



<p>[00:13:30] <strong>Joe Dolson:</strong> So I think there&#8217;s a lot to unpack here. One of the first things I need to say is, first I&#8217;m going to, I have just a very slight quibble with your definition of a canonical plugin because there are kind of two different paths. There is the whole canonical plugin, which is intended to always stay outside of Core, but there&#8217;s also the canonical plugin, which is used for experimental progress.</p>



<p>And that&#8217;s something like the Performance Lab plugin, where it&#8217;s a whole bunch of different pieces, and they&#8217;re targeted for probably being merged into Core, and this is an experiment ground where we can figure out, is this really working? Is this the best way to do it? Is this suitable for Core? Maybe it should be different in the plugin than it is in Core. Like, for example, what was it that was just shipped? Speculative loading.</p>



<p>They used different rules in the plugin than they ultimately added to Core. It was just a less aggressive version of speculative loading. And I think that can be a very reasonable thing. And that can apply to accessibility too, as accessibility is a spectrum. We&#8217;re not talking necessarily about all accessibility is just, this is accessibility, it&#8217;s all required. Accessibility covers a gamut from, this is absolutely mandatory, basic level stuff, to this is pie in the sky. To even, basically there are some accessibility features that are literally contradictory to each other. In order to make something optimal for this population, you have to implement something that is actually not what this other population needs.</p>



<p>So there&#8217;s a lot of complexity there. The idea of putting accessibility into a plugin can lead to some very negative consequences. It is not necessarily inevitable. So there&#8217;s a lot of difficulty in just determining what is an accessibility plugin? What is it supposed to do? Is this something that&#8217;s supposed to change the front end? Is it supposed to change the back end? Is it implementing editor tools? Is it implementing new features? Is it fixing things that already exist? And I think all of those are complicated unanswered questions.</p>



<p>So kind of figuring out that path and, what is actually intended in this idea of an accessibility plugin? What are the problems it&#8217;s trying to solve? Is the first question mark. And we don&#8217;t really have that. That hasn&#8217;t been worked out in any way.</p>



<p>[00:15:44] <strong>Nathan Wrigley:</strong> So the complexity, and thank you for the clarification, the complexity there, the devil is in the detail. I guess Core in a sense is, if it&#8217;s going to ship in Core, it&#8217;s there. There&#8217;s a menu for this and a toggle for that, and a switch for this, and what have you. What you are saying is the landscape of accessibility is much more complicated than that. And so maybe, in a way, if it was pushed over to a canonical plugin, you could have a more a la carte approach to it. I don&#8217;t know if that&#8217;s where you were going.</p>



<p>[00:16:14] <strong>Joe Dolson:</strong> That&#8217;s conceivable. So, many years ago, Matt proposed the idea of an accessibility, it wasn&#8217;t a plugin at the time, but it was the concept of an alternate admin that would be a simplified admin. And, you know, I pushed back on that, and I still would if it was being marketed as an accessibility feature. There is a value to a simplified admin. It&#8217;s just that it can&#8217;t be considered accessibility focused unless it actually does achieve all goals. But simplification is in itself a goal. Making something easier to use, and having an option where somebody can do something in a simplified way, is extremely valuable.</p>



<p>[00:16:52] <strong>Jonathan Desrosiers:</strong> Yeah, just some thoughts to that. So I&#8217;m a Core committer and I make changes to the software that everybody uses and needs to be compliant, right? I&#8217;m not an accessibility expert by any means, but I&#8217;m versed in the concepts.</p>



<p>So one of the differences that could be in a canonical plugin for accessibility, Core, our coding standards for accessibility, we adhere to the web content accessibility guidelines, version 2.2 at Level AA, right?</p>



<p>But there&#8217;s different levels, there&#8217;s different versions of that. And so with different levels come different requirements, and different strictness to how you approach different interfaces. And so maybe a canonical plugin could allow you to adhere to different levels that perhaps your organisation needs to adhere to, that the 80% of users don&#8217;t necessarily need to.</p>



<p>Another thing that, I wanted to mention this because I always think of this. We, by default, think of accessibility as someone in a wheelchair or someone that&#8217;s blind, but you could break your hand, you could fall down the stairs, you could get eye surgery and have to wear a patch for a month. And so it&#8217;s not just permanent, it&#8217;s temporary disability as well. And I like to try to remind myself of that because you don&#8217;t need accessibility until you do, and then you&#8217;re glad it&#8217;s there when it&#8217;s there, right?</p>



<p>My grandfather was legally blind and he was a veteran. So he went to school and he learned how to use a computer. And he had a computer with like JAWS on it, and it would read it to him, and we&#8217;d send each other emails and stuff. I always like to think of him too, because if you know someone in your life that has accessibility needs, it also raises that importance to you as well. So, if I don&#8217;t do this in the right way, my grandfather won&#8217;t be able to use this website, or communicate with the world in the same way that I can.</p>



<p>And so finding those, I think that when you talk about accessibility, and this isn&#8217;t directly related to what you said, Joe, but I wanted to mention it. But if you can humanise it in some ways, in a way that&#8217;s in your life that you can relate to, it helps you find the reasoning in why it&#8217;s important, why these discussions are important, right? That we approach these problems in the right way, and that we meet the acceptable standard.</p>



<p>[00:18:57] <strong>Nathan Wrigley:</strong> In the end, this will be a binary decision. It either will be a canonical thing at some point in the future or it won&#8217;t, I guess maybe.</p>



<p>[00:19:05] <strong>Jonathan Desrosiers:</strong> Will it? I mean, we might merge some of it into Core or we might choose, it doesn&#8217;t fit in a plugin, right? And that&#8217;s kind of where that gray area is. And in some ways, canonical plugins take up a little more time because we are having these discussions. Like, we feel strongly this should go in, someone else may not. We have to work to get a consensus, and once we reach that consensus, we have to, I talk about this in my talk about how we make decisions, but we disagree and commit. And so you can state your disagreement, but then it&#8217;s important that we move forward together. Building that consensus and deciding on the right path, even if you disagree.</p>



<p>[00:19:39] <strong>Nathan Wrigley:</strong> Does the canonical option then, does that allow for more flexibility? So as an example, you could release, I don&#8217;t know, every two weeks, or every month or something like that. Whereas at the moment, we&#8217;re recording it in June, we don&#8217;t need to get into it, but we&#8217;ve got a different, a very different cadence for how often Core is being updated. Maybe that will change in the future, maybe not.</p>



<p>But with a canonical option, it would be possible to do any cadence you liked. And also, I suppose you could be a little bit more a la carte because you could have a variety of canonical plugins wrapped around the theme of accessibility. So, yeah, I guess what I&#8217;m asking there is really, does the cadence of a canonical plugin allow more flexibility?</p>



<p>[00:20:21] <strong>Jonathan Desrosiers:</strong> Absolutely. Whether we&#8217;re releasing once a month, or we&#8217;re releasing once a year, you can release a canonical plugin as often as you want, whereas Core has a much more predictable, well, not that the canonical plugin releases won&#8217;t be predictable, but it has a much more standardised schedule, I guess.</p>



<p>And so you could release once a week for your canonical plugin, and then if we have a Core release every three months, that&#8217;s 12 weeks, you have 12 releases of that canonical plugin that you could potentially refine issues. Whereas if you released it in the one Core release, you&#8217;d get all that feedback at once instead of dividing it up and making adjustments and going from there.</p>



<p>[00:21:00] <strong>Joe Dolson:</strong> So just to pose an example of something that I think actually is extremely suitable for an accessible plugin, and this is because, you know, I actually have written this. So let&#8217;s take for an example, the WordPress video block. It is extremely basic. It produces a video element and it gives you options to upload various tracks that are used in that video element. It is just the raw HTML 5. That&#8217;s what WordPress produces in the block editor.</p>



<p>Now, is it appropriate for WordPress Core to make a decision about how that video block is actually going to be rendered as it is with this raw HTML 5 element? It&#8217;s rendered differently by every browser. They have their own rules, their own way of doing it. That&#8217;s what it&#8217;s going to do. You can make it much more accessible, because there are a lot of things that those native blocks don&#8217;t support, the native video element doesn&#8217;t support.</p>



<p>In the past, WordPress did use MediaElement.js to render videos. And I actually think getting rid of that, and just using the raw video element was a good thing. But it&#8217;s not the most accessible way of viewing video. So is it something that we should do in Core? Should we dictate a player interface, or should we leave that raw in Core? Core just produces a video element, and then a plugin can enhance that to make it more accessible.</p>



<p>I&#8217;m also the lead developer for an accessible media player called Able Player. That&#8217;s a completely separate JavaScript project that has nothing to do with WordPress, but I have got a WordPress plugin for it, which basically just says, hey, here&#8217;s a video block, I&#8217;m going to re-render it using Able Player.</p>



<p>[00:22:37] <strong>Jonathan Desrosiers:</strong> I think if you want another good example of what a canonical plugin can be in the framework it can operate within, look at the Performance Lab plugin. The Performance Team has this plugin, and initially it had all these different features in it, and then we were trying to merge in support for the WebP image format in Core, and we realised it needed a little bit more time. And Matt suggested that we break them out into more finite plugins.</p>



<p>So the Performance Lab feature plugin has, or canonical plugin, has a framework and then there are sub plugins that you can install for modern image formats. Pre-loading the images, there&#8217;s an accessibility feature where it shows you the color, the dominant color of the image, and it&#8217;s there until the image loads. And so that way it&#8217;s visually represented. And so that&#8217;s another good example of that.</p>



<p>And one example that I&#8217;m wondering may be a good use of canonical plugins is the new AI Team. And so we&#8217;re at a point where we need to do some research and figure out what, in the context of WordPress, is needed for AI to flourish, and WordPress to be AI friendly. And I think that in some way, that will end up being a base foundation, some classes and some ways to interact with your content and your site, that can communicate with different models.</p>



<p>So perhaps some canonical plugins could be one for each of the popular models. And so you have this data transport layer that passes your site&#8217;s information to these plugins, and then it connects with ChatGPT, or whichever your preferred model is. And so within that you could have settings. The reason why I brought up the Performance Plugin is there&#8217;s settings within it. So for the modern image format, you could say, I only want WebP, or I only want JPEG XL or AVIF. You can decide which ones you want. But if that were to get into Core, that&#8217;s not the right thing to say like, I do or I don&#8217;t want this.</p>



<p>Another philosophy is decisions not options. We don&#8217;t want to overwhelm users with this. And a good example of this is, should this site be indexed by search engines? And if you disable that, it also disables your sitemap. And so making those intuitive decisions on behalf of the user and what they&#8217;ve done, the actions they&#8217;ve taken, we don&#8217;t want to overload them with options.</p>



<p>And so in canonical plugins, you can be more, you don&#8217;t have to follow that as strictly, because the point is that it&#8217;s a plugin that&#8217;s configurable, that we&#8217;re testing different things in different ways, and finding out what works for which groups of people, and in what ways, and gathering feedback around that.</p>



<p>Back to the point about, one other thing I wanted to mention too, is that one complaint I&#8217;ve always had with canonical plugins is that it&#8217;s very difficult to know about the experiences of the people using them. So for example, we had a plugin for a while that they want to, thankfully they want to rekindle it, is the Design Experiments plugin.</p>



<p>And you would install that, and there were, you know, at any given time, a couple of 2, 3, 4 different design experiments in the plugin. But we never knew who had which experiments active, which ones they disabled. Did they have bad experiences? And that&#8217;s why they turned it off. Did they like it? Did they prefer it?</p>



<p>We almost need to have some type of either AB testing within the plugins themselves, or a way to gather that feedback from the people that are using these canonical plugins. This is especially true when it&#8217;s a feature plugin that we may want to emerge into Core.</p>



<p>And so I did bring up to Matt in one of our recent meetings with the Core committers, and he was open to exploring the idea of better ways in canonical plugins to gather that feedback, because they&#8217;re now of a renewed importance in our community and how we foresee maintaining things.</p>



<p>We&#8217;re quite large, and we need to start saying no to more things in some ways. And so this is a great way to push it to a canonical plugin. Like, we don&#8217;t think that&#8217;s a right fit in Core, it&#8217;s too much, we can&#8217;t handle it. But create a community maintain plugin and we&#8217;re happy to stand behind it with you.</p>



<p>[00:26:32] <strong>Nathan Wrigley:</strong> I&#8217;m going to try and get this out. I&#8217;m not sure I&#8217;m going to encapsulate it right. I&#8217;m going to offer this one to Joe first. And that is the legislation in the landscape of 2025. And we know that in Europe in particular, a lot of this stuff is mandated. Obviously there&#8217;s degrees to that, but there&#8217;s a lot of mandatory stuff coming down very, very soon.</p>



<p>Given that, putting things into a canonical plugin where you can pick and choose, I have not installed that, I have installed that, what are your feelings about that? Is there some, I&#8217;m going to use the word core, set of features around accessibility that really where we&#8217;re at now, there&#8217;s just no choice, it just has to be in Core?</p>



<p>Because the concern that I have perhaps is, how will you discover this canonical plugin? How will it surface itself? The three of us will find it, because this is what we do. But the regular user who&#8217;s just got a brick and mortar store, they want to put a WooCommerce site out there, just something quick and easy, where are they going to even find out about these canonical plugins?</p>



<p>[00:27:32] <strong>Joe Dolson:</strong> And I do think this is a big part of what comes down to that question of, what does the accessibility plugin, what does it do? Because that is where things can really go kind of horribly wrong.</p>



<p>When we&#8217;re talking about the accessibility of existing WordPress interfaces, how you actually interact with the admin, I don&#8217;t think there&#8217;s anything there that should ever be in a plugin because the Core code has to be accessible.</p>



<p>You know, Jonathan mentioned that we&#8217;ve got this commitment to WCAG 2.2 at Level AA. I would say that we haven&#8217;t quite achieved that. It&#8217;s a goal, but I mean, the reality is there&#8217;s still a lot of legacy interfaces that our, I find new things every day. It&#8217;s just the reality. But those need to be fixed in Core. They should not be part of a plugin.</p>



<p>So, a plugin should be something that enhances something in a meaningful way that perhaps doesn&#8217;t apply to all situations. That&#8217;s one of the reasons I brought up the video element, because one of the interesting exceptions in WCAG is that you are not responsible for the accessibility of browser defaults. The browser is responsible for that.</p>



<p>And so if you are using a video block, and it&#8217;s just the video element, that is actually something that should pass. It&#8217;s not necessarily accessible, that&#8217;s up to the browser, but it&#8217;s not the responsibility of your site. And that&#8217;s a really fuzzy area from the law because, yes, you should still fix it.</p>



<p>[00:29:00] <strong>Nathan Wrigley:</strong> Imagine a scenario where we have a canonical plugin for accessibility. So we have WordPress Core, and then a canonical plugin for accessibility. WordPress Core is evolving all the time. No doubt missteps will be made. People like you, Joe, will be going in and saying, okay, this needs to be adapted, this needs to be amended.</p>



<p>And then on top of that, we&#8217;ve also got this complete other path of developing the canonical plugin side of things. There&#8217;s two strains of work happening now. So that&#8217;s just interesting. I don&#8217;t know whether that&#8217;s good or bad.</p>



<p>[00:29:30] <strong>Joe Dolson:</strong> So one thing I will say is, you know, the bulk of the new development in WordPress is in Gutenberg. There&#8217;s no need for a canonical plugin to handle accessibility things in Gutenberg because honestly, that should just go into the plugin Gutenberg. If there&#8217;s something in Core that needs to be fixed, you should be able to install Gutenberg and be able to move forward. I think that would be reasonable. I don&#8217;t think that&#8217;s a practical path to have a separate accessibility canonical plugin that fixes issues in Gutenberg problems for Core. I mean, I can&#8217;t see that as making any sense.</p>



<p>[00:30:04] <strong>Jonathan Desrosiers:</strong> In some ways we have to just weigh the benefits with the effectiveness and the time and the resources available. Some other ways that you can find canonical plugins, when you click add plugin on your site, there&#8217;s different tabs at the top, like featured, popular. One of them is featured, and so that is one that when we have canonical plugins, we want people to adopt or use, we add plugins to that tab.</p>



<p>So the performance plugin is there, Gutenberg is there because we want people to be testing those up and coming changes. To the point of the, we&#8217;re not being fully compliant with that standard, it&#8217;s, we have to remember that this constant churn going on with a code, right? There&#8217;s new code coming in, there&#8217;s old code being removed. And so in a way the goal line is still the same, but we&#8217;re getting peaks and valleys that we have to, they suddenly appear and we have to tackle them as we go.</p>



<p>I think for discoverability, it depends on the ecosystem in some ways. For example, as an American, you know, I&#8217;m not always, sometimes I hear of new legislations from EU and I say, oh, what are they up to now, right? It&#8217;s more things I have to do to follow the rules. But I think about maybe an American business owner, or American site owner, and sometimes it&#8217;s not clear. What happens if I&#8217;m in Europe and then I visit my site when I&#8217;m traveling, right? Does that open me up for legal action. If someone happens, if I make a very specific or rare type of trinket, and people in the EU find it, does that open me up to legal problems?</p>



<p>And so these are things that the normal site owner, I just want a website, I just write on it, right? They don&#8217;t think about this stuff. And so, in addition to being compliant with these guidelines that we strive to achieve, we need to think about those decisions, not options type things.</p>



<p>Another philosophy is to be simple, strive for simplicity. Most people don&#8217;t know what an XML sitemap specification is, or how to implement it, or what should go in it. And so we just make the decision to handle that stuff on their behalf. And if they need to, they can install a plugin to customise it, right?</p>



<p>So the same is kind of true in this sense. And if the world is susceptible to, or responsible for adhering to certain things, and we can reasonably help them without them having to find certain things to install or configure, then maybe it&#8217;s the right thing to put that thing into Core, right?</p>



<p>Perhaps it falls on the shoulders of hosts, where if the customer has an EU address, they install the accessibility canonical plugin, depending on what&#8217;s in it and what&#8217;s not. It&#8217;s likely not. We should be deliberate about what goes in Core and what goes into the accessibility plugin and for what reasons. But we also should be conscious that, as a community, we have to also help these non-technical users by making decisions for them when we know that it&#8217;s a problem.</p>



<p>Like, our legal team says, yep, any site that potentially gets EU traffic, they have to have this, or they have to block EU or whatever it is. We can outline these situations and make the best decisions for our customers and our users, given those criteria that we are aware of.</p>



<p>[00:33:07] <strong>Joe Dolson:</strong> It&#8217;s interesting you say that because one of the things you particularly dove into there is the idea of an accessibility plugin being something for the front end. And that is something that is actually fundamentally challenging. Because when it comes right down to it, we don&#8217;t know what&#8217;s on the front end. And accessibility is an incredibly difficult problem to solve when you&#8217;re kind of just trying to do automation on something that you don&#8217;t know.</p>



<p>You know, there&#8217;s a lot of accessibility plugins out there that are already doing that sort of thing. Overlay plugins. They are famously iffy, because they really don&#8217;t solve most of the problems. And some of them actually introduce more. And that is the thing that I most want to avoid, is that we create our canonical plugin and it&#8217;s just screwing up people&#8217;s websites.</p>



<p>[00:33:59] <strong>Jonathan Desrosiers:</strong> We&#8217;ve all installed a plugin that has way too many options, way too many features, and it doesn&#8217;t do any of them well, right? That&#8217;s not what a canonical plugin should be. In instances where there are many features, like the Performance Lab, there&#8217;s a framework perhaps, and then there&#8217;s sub plugins that do it, right? We don&#8217;t have an importer plugin that has every importer in the same plugin. They&#8217;re in specific plugins so that it can be more targeted, more focused on that specific outlined goal or focus area.</p>



<p>And so that, yeah, that speaks to me, because we definitely don&#8217;t want to mimic some of the plugins that are out there where they try to adhere to cookie laws, and then they also try to adhere to popups and, you know, Consent API and all that type of stuff. And so we want to make sure that we&#8217;re dividing those problems up into meaningful chunks, but chunks that we can manage reasonably and not be a runaway train in some ways.</p>



<p>[00:34:47] <strong>Nathan Wrigley:</strong> I was thinking about this last night and I was thinking, why does this conversation matter to me so much? And it came down to the fact that if we were having this conversation about a canonical plugin for, let&#8217;s say, performance or SEO, it would be intriguing, but there&#8217;s no moral component to it. You&#8217;re just serving a bunch of people who would like a more performant website. Well, that&#8217;s great. That will increase your SEO. No doubt, more traffic will come to your website.</p>



<p>But there is a moral component here, and there are people whose lives will be immeasurably better if WordPress is, and I&#8217;m doing air quotes, accessible. And so that just makes this whole thing so much more important and impactful. So there&#8217;s no question there, it&#8217;s just an observation.</p>



<p>There&#8217;s a different wrinkle here. There&#8217;s just some other thing. You know, you can imagine the panoply of different people trying to use websites. The frustration, the endless frustration that&#8217;s being caused by things because they&#8217;re not configured in a way that they can use them. And it would be a shame to miss this opportunity. And I don&#8217;t know what the right answer is here. I just know that there&#8217;s this moral component that makes this much more of a hot button topic than anything else. So that&#8217;s my piece, but if you want to respond to that.</p>



<p>[00:36:03] <strong>Jonathan Desrosiers:</strong> I just left the keynote this morning by Noel Tock, and he spoke a lot about the impact. I try to illustrate this often, and he did a much better job than I&#8217;ve done before. He&#8217;s involved with a lot of organisations in the war affected Ukraine. And so he covered a half dozen organisations that are saving lives, rescuing animals, providing humanitarian relief, and they run on WordPress. And so accessibility lends to that in some ways, because you don&#8217;t know where a group is that has a need, and the free software could help them with that need, and in what ways and what impact that could have on them.</p>



<p>Sometimes I think about how certain things overlap. And so I picture two circles, one for accessibility, and if you were to make a diagram of how it overlaps with democratising publishing. In many ways, it almost completely overlaps that circle. There&#8217;s something democratising with being accessible. I mean, it&#8217;s in the name, it&#8217;s accessible to as many people as possible. And so I think that, whether you know it or not, that probably in some ways is eliciting that feeling, right, of we all believe in this project where we all want to do good in the world. We want our software, and our community, to have an impact. And in many ways, accessibility leads to that mission that we all have.</p>



<p>[00:37:26] <strong>Joe Dolson:</strong> And I do want to say that, as it stands right now, when we&#8217;re talking about the admin of WordPress, it&#8217;s already one of the most accessible content management systems out there. We have done very good work there.</p>



<p>The front end is kind of a completely different story, and that ultimately is the fact that Core doesn&#8217;t control very much of front end, which is both one of the incredible powers of WordPress. It&#8217;s got this amazing degree of flexibility, and you can do almost anything with it. And it&#8217;s also one of the curses, because if we want to globally make the front end of everybody&#8217;s website better, there is very little we can do.</p>



<p>That&#8217;s where I kind of feel like our accessibility efforts most are needed right now is just kind of getting plugin developers, getting theme developers, to be better. Make better choices and provide better options in their tools.</p>



<p>[00:38:18] <strong>Jonathan Desrosiers:</strong> It is true that we don&#8217;t control the front end, but one of the features I love in Gutenberg is when you&#8217;re selecting the text colour and the background colour of a block. If you select light blue and dark blue, it says, hey, this is not accessible, it doesn&#8217;t meet the guidelines. People are going to have a hard time reading this.</p>



<p>I often think about ways that maybe, one I had suggested before which hasn&#8217;t been implemented yet, some issues take many years to flesh out and be adopted, if at all. But one of them is perhaps we do another notice like that when someone is entering an alternate text for their image. You know, maybe they just put jpeg 123, right? That&#8217;s not what alt text is meant for. It&#8217;s meant to describe what&#8217;s in the picture in case someone can&#8217;t see it, or it&#8217;s not visible.</p>



<p>And so it should be, Nathan Wrigley holding his microphone, sitting at a table, talking to Jonathan and Joe, who also have a microphone. Stuff like that. He&#8217;s got a red shirt. Things that illustrate what&#8217;s in the image. And so what are opportunities that we can take to guide our users to produce better content on the front ends?</p>



<p>And I think there&#8217;s a particularly large opportunity for that in block themes, because the nature of block themes is very structured. It starts with a theme.json file, and it&#8217;s gobbledegook for a lot of people. They don&#8217;t understand what the JSON is, how to read it. But it&#8217;s structured data that&#8217;s extrapolated into the editor to apply the default margin for your blocks. To apply the default labels, the colours, all those different things that are configurable in a block theme.</p>



<p>And so like, what&#8217;s missing from that that we can add that will lend to better visual representations of your content? There&#8217;s the HTML API behind the scenes that manipulates HTML strings in the context of WordPress. So how can we make sure that we&#8217;re generating accessible markup, those building blocks?</p>



<p>A lot of times we run into issues where there&#8217;s no good solution for a specific accessibility problem because the foundational elements, were not taking that into consideration when it was built. And so oftentimes it&#8217;s hard to get backing for those changes, because it&#8217;s such a big undertaking because it wasn&#8217;t a part of the the initial discussion and consideration.</p>



<p>And so how can we replace these over time, but also as we build new things, take those things into consideration so that the things that get expanded into the user experience and exposed in the site editor, result in better front end experiences for everyone, that are more accessible?</p>



<p>[00:40:50] <strong>Joe Dolson:</strong> Yeah, I think that&#8217;s a really great thing to call out is those places in the authoring process where we provide accessibility feedback. There&#8217;s a whole set of guidelines that are specific to that. That&#8217;s the Authoring Tool Accessibility Guidelines. And I love everything we do to try and implement those.</p>



<p>I will say that the colour contrast one, it was implemented very, very early on. There are a number of things that are in Core now that it actually just isn&#8217;t able to handle. Some layering things that it&#8217;s just like, oh, I don&#8217;t know what&#8217;s going on here. So that needs work. But that&#8217;s just kind of the constant process. At least it does exist and it can cover a lot of the most common use cases.</p>



<p>But, yeah, that alt text one, that&#8217;s also a really valuable thing to be able to have some checks on. It&#8217;s a hard thing, and I think one precursor change we actually need to be able to make that possible is we need to make some revisions to how alt text is stored in the database.</p>



<p>Because the reality is, right now WordPress stores alt text as a meta field that&#8217;s tied to the attachment, tied to the image. But alt text actually is context sensitive. And so really there shouldn&#8217;t be one canonical alt text for an image. There could be a canonical description of that image, but the alt text itself should always be context sensitive.</p>



<p>On the other hand, if we just removed that field and didn&#8217;t save it, which is something that the block editor has kind of taken that path, when you change it in the block editor, it does not save to the media library, that&#8217;s also flawed, because sometimes you do actually want to use that, or at least want to use it as the basis for the next version of that alt text you write. So what I&#8217;d like to see is that we could actually save multiple alt text fields and have that managed.</p>



<p>[00:42:33] <strong>Jonathan Desrosiers:</strong> There&#8217;s all these great ideas, and great things, but we also need to strive for simplicity. We don&#8217;t want them overwhelmed with a hundred different accessibility notices of how they could improve to the point where they say, I&#8217;m going to somewhere else, this website&#8217;s too confusing.</p>



<p>This is potentially also another opportunity for AI. Perhaps AI could be used to suggest what accessible alt text should be in the context of the article you&#8217;re writing, or the page you&#8217;re authoring. You know, maybe AI can be trained in a way to audit your page for accessibility and make suggestions.</p>



<p>AI is really exciting. I often sit back and watch and just observe because there&#8217;s so many models and you never know which ones to use. And unless you&#8217;re really deeply involved, it&#8217;s hard to know the best model for certain tasks.</p>



<p>But I definitely like to think about, it&#8217;s helped me be more organised for sure. I have a hard time sometimes when I am creating a talk, getting my thoughts into an organised deck. And so by putting all my thoughts into AI, I&#8217;m able to better organise it and then I can drop my notes and my thoughts in the structured outline that it kind of organises for me, right?</p>



<p>But, in what ways can that be applied in the editing process within WordPress under the lens of accessibility? And we could have SEO, we could have, Yoast has a lot of SEO tools that makes SEO recommendations. And we could have our canonical plugin perhaps has an AI interface and we go from there.</p>



<p>So, yeah, there&#8217;s many different ways we can tackle these accessibility issues. It&#8217;s exciting to have these types of discussions and consider what could be.</p>



<p>[00:44:05] <strong>Nathan Wrigley:</strong> Sadly, I think time is going to get the better of us. But I would like to say thank you, both of you, for your intelligent commentary on this. I don&#8217;t know which way it&#8217;ll go.</p>



<p>[00:44:15] <strong>Jonathan Desrosiers:</strong> And there&#8217;s no right way necessarily.</p>



<p>[00:44:16] <strong>Nathan Wrigley:</strong> That&#8217;s right. And it seems like there&#8217;s benefits in both possibilities. I&#8217;m not going to put you on the spot and ask you which your preferred one is. I have suspicions. Let&#8217;s keep this debate going I suppose. Let&#8217;s see which way it falls out. And, yeah, Joe and Jonathan, thank you so much for chatting to me today.</p>



<p>[00:44:33] <strong>Jonathan Desrosiers:</strong> Of course. Perhaps we could do like a six month check-in on the state of canonical plugins.</p>



<p>[00:44:38] <strong>Joe Dolson:</strong> Yeah, it&#8217;ll be interesting to see what happens next. Thanks so much.</p>



<p>[00:44:40] <strong>Nathan Wrigley:</strong> I honestly think that we could have gone in a hundred different directions here. I think there&#8217;s bits of this podcast, which we could have opened up and probably spoken for many, many more hours. But, yeah, thank you both.</p>
</div></details>



<p>On the podcast today we have <a href="https://www.joedolson.com/">Joe Dolson</a> and <a href="https://jonathandesrosiers.com/">Jonathan Desrosiers</a>.</p>



<p>As you’ll hear in their podcast introductions, both Joe and Jonathan are veterans of WordPress, committing to Core in different ways. They’re deeply committed towards making the platform more useful for all users.</p>



<p>This episode is all about exploration rather than answers. Joe and Jonathan discuss the world of canonical plugins, a special category of plugins maintained by the Core team. They are designed to be as reliable and secure as features found in WordPress Core itself. The discussion unpacks what exactly defines a canonical plugin, how these plugins have evolved out of the traditional feature plugin model, and what it means for users and contributors alike.</p>



<p>At the center of this episode is accessibility: should accessibility enhancements remain a primary concern within WordPress Core, or is it time to start developing them as canonical plugins? Joe and Jonathan discuss the pros and cons of both options, referencing technical challenges, project philosophies, and the ever-changing legislative environment, especially with tough new regulations in Europe.</p>



<p>They consider the discoverability of canonical plugins for non-technical users, potential overlaps and division of labour between plugins and Core, and the moral imperative of making websites  accessible to all.</p>



<p>We also touch upon practical examples, from the WordPress video block, to the Performance Lab plugin, and weigh up how cadence, stability, and focus can differ outside the Core. The conversation also goes beyond theory, delving into the real-life impact accessible technology has, from legal requirements to personal stories and the broader mission of democratising publishing.</p>



<p>Whether you&#8217;re a developer, a site owner, or someone interested in the ethical questions at the heart of open-source software, this episode is for you.</p>



<h2 class="wp-block-heading">Useful links</h2>



<p><a href="https://wordpress.org/news/2009/12/canonical-plugins/">Canonical Plugins (Say What?)</a></p>



<p><a href="https://wordpress.org/plugins/wordpress-importer/">WordPress Importer</a> plugin</p>



<p><a href="https://wordpress.org/plugins/mp6/">mp6</a> plugin</p>



<p><a href="https://hackerone.com/wordpress?type=team">WordPress HackerOne program</a></p>



<p><a href="https://wordpress.org/data-liberation/">Data Liberation Project</a></p>



<p><a href="https://jonathandesrosiers.com/2018/10/accessibility-a-developers-pledge/">Accessibility: A Developer’s Pledge</a></p>



<p><a href="https://www.freedomscientific.com/products/software/jaws/">JAWS</a></p>



<p><a href="https://www.mediaelementjs.com/"> MediaElement.js</a></p>



<p><a href="https://ableplayer.github.io/ableplayer/"> Able Player</a></p>



<p><a href="https://github.com/WordPress/design-experiments"> Design Experiments plugin</a></p>



<p><a href="https://europe.wordcamp.org/2025/speaker/noel-tock/">WordCamp Europe 2025  keynote with Noel Tock</a></p>



<p><a href="https://www.w3.org/WAI/standards-guidelines/atag/">Authoring Tool Accessibility Guidelines</a></p>";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Wed, 25 Jun 2025 14:00:00 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:14:"Nathan Wrigley";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:1;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:85:"Open Channels FM: Measuring Success in Video Marketing: Why Views Aren’t Everything";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:47:"https://openchannels.fm/?post_type=blog&p=97509";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:88:"https://openchannels.fm/measuring-success-in-video-marketing-why-views-arent-everything/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:192:"View counts aren't definitive for video marketing success. Focus on quality viewers, conversion-oriented content, and long-term impact instead of just numbers for achieving meaningful results.";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Wed, 25 Jun 2025 11:47:18 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:5:"BobWP";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:2;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:62:"Gravatar: Mobile SDKs Now Edit Full Profiles, Not Just Avatars";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:32:"http://blog.gravatar.com/?p=3338";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:89:"https://blog.gravatar.com/2025/06/24/mobile-sdks-now-edit-full-profiles-not-just-avatars/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:3665:"<p>Got users stuck with outdated Gravatars or profile info in your mobile app? Your Gravatar integration just became a lot more powerful.</p>



<p>Tens of thousands of apps and sites pull in Gravatars for a better user experience. But when someone wants to update their avatar or profile details, they&#8217;re usually stuck hunting for settings — or worse, they can&#8217;t update them at all.</p>



<p>With our Quick Editor and Mobile SDKs, problem solved!</p>



<h2 class="wp-block-heading">One Tap to Update Everything</h2>



<p>Our Mobile SDKs have always made avatar updates simple. Users tap their avatar, make changes, and boom – it&#8217;s updated everywhere. But avatars are just part of your digital identity.</p>



<p>The latest SDK releases bring full profile editing to your mobile app. Now users can update their entire Gravatar – display name, about info, location, pronouns, and more – right from within your app.</p>



<h2 class="wp-block-heading">What&#8217;s New</h2>



<h3 class="wp-block-heading">Profile Editing Beyond Avatars</h3>



<p>Users can now edit their complete Gravatar profile without leaving your app. </p>



<p>This includes:</p>



<ul class="wp-block-list">
<li>Display name</li>



<li>About/bio information</li>



<li>Location</li>



<li>Job title</li>



<li>And more</li>
</ul>



<h3 class="wp-block-heading">iOS 3.4.0 Improvements</h3>



<ul class="wp-block-list">
<li>Smoother animations on the SwiftUI sheet</li>



<li>Better VoiceOver support for accessibility</li>



<li>Performance optimizations throughout</li>
</ul>



<h3 class="wp-block-heading">Android 2.5.0 Updates</h3>



<ul class="wp-block-list">
<li>Removed Retrofit dependency from core module (cleaner, lighter integration)</li>



<li>New API endpoints for expanded functionality</li>



<li>Bug fixes for improved stability</li>
</ul>



<h2 class="wp-block-heading">See It in Action</h2>



<p>The editing flow feels native to each platform. On iOS, it&#8217;s a sleek SwiftUI sheet. On Android, it follows Material Design patterns. Your users get a familiar experience while managing their universal web identity.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img alt="" class="wp-image-3343" height="1260" src="https://blog.gravatar.com/wp-content/uploads/2025/06/cleanshot-2025-06-24-at-16.21.33.gif" style="width: 300px;" width="580" /></figure>



<h2 class="wp-block-heading">Why This Matters</h2>



<p>Think about it: someone downloads your app, signs up, and their Gravatar automatically fills in their avatar and profile details. Later, when they get a new headshot or job title, they can update it right there in your app.</p>



<p>No hunting through settings. No switching between apps. One tap, and they&#8217;re current everywhere.</p>



<p>You get happier users with fresh, accurate profiles. They get a seamless experience that just works.</p>



<p>We know it works because we dogfood our SDKs in our sister apps <a href="https://jetpack.com/mobile/">Jetpack</a> and <a href="https://pocketcasts.com">Pocket Casts</a>, powering avatars and profile details millions of users monthly.</p>



<h2 class="wp-block-heading">Developers: Ready to Upgrade?</h2>



<p>The updated SDKs are available now for both iOS and Android. Adding profile editing to your existing Gravatar integration takes just a few lines of code.</p>



<p>Check out our <a href="https://docs.gravatar.com/mobile-sdk/">developer documentation</a> for platform-specific guides, code examples, and migration instructions.</p>



<p>Your users deserve to control their digital identity. Now you can help them do it.</p>";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Tue, 24 Jun 2025 16:07:19 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:11:"Ronnie Burt";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:3;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:110:"Open Channels FM: New, Open Channels Dispatch: Rebranding, Site Updates, and What’s Next for OpenChannels FM";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:32:"https://openchannels.fm/?p=99138";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:110:"https://openchannels.fm/new-open-channels-dispatch-rebranding-site-updates-and-whats-next-for-openchannels-fm/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:108:"BobWP kicks off Open Channels Dispatch to share quick updates and news about the rebranded Open Channels FM.";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Tue, 24 Jun 2025 11:41:30 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:5:"BobWP";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:4;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:106:"Open Channels FM: How Non-Developers Can Start Contributing to WordPress Translations (And Why It Matters)";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:47:"https://openchannels.fm/?post_type=blog&p=97421";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:111:"https://openchannels.fm/how-non-developers-can-start-contributing-to-wordpress-translations-and-why-it-matters/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:354:"One of the most inspiring aspects of the WordPress ecosystem is its commitment to making the web accessible in every language. In a recent episode from the series The WordPress Way,” hosts Abha Thakor, Pascal Birchler, and Robert Windisch dove deep into the world of translations and multilingual WordPress and revealed just how much everyday [&#8230;]";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Mon, 23 Jun 2025 09:23:00 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:5:"BobWP";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:5;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:23:"Matt: Automattic Twenty";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:23:"https://ma.tt/?p=143509";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:40:"https://ma.tt/2025/06/automattic-twenty/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:4771:"<p><a href="https://automattic.com/2025/06/20/automattic-20-years/">We&#8217;re celebrating a fun anniversary at Automattic today, our 20th, with a fun look-back</a>. Gosh, it&#8217;s been quite a journey, and it still feels like we&#8217;re just getting started in so many areas.</p>



<p>In 2005, being a remote-first company was anathema to investors and business leaders* at the time; it was a scarlet letter that combined with our embrace of Open Source and the relative inexperience got us some funny looks and a lot of skepticism. I will be forever grateful to the true contrarians who bet on Automattic in our earliest days. </p>



<p>Even when it was clearly working the first few years, there was always the dismissal of &#8220;that won&#8217;t scale&#8221; that loomed like a remote startup <a href="https://en.wikipedia.org/wiki/Great_Filter">Great Filter</a>. These days I hear from friends who run incubators or do seed investing that almost every company they look at taps into remote talent.</p>



<p>It makes me think about what uncommon things Automattic does today that will be standard in the coming decades. We do our best to balance idealism with pragmatism, because even if you are on the right side of history, being too early can be as bad as being wrong.</p>



<p>I can&#8217;t predict everything that will change over the coming decades, especially with AI making the next few years particularly hard to predict. Still, I do know a few things that <em>won&#8217;t</em> change: everything flows from our people, open source is still the most powerful idea of our generation, growth is the best feedback loop, and no matter how far away the goal is, the only way to get there is by putting one foot in front of another every day. People will always want fast, bug-free software; instant, omniscient customer service when they need it; and experiences so intuitive that they usually don&#8217;t. And once they&#8217;ve had a taste of freedom, it&#8217;s hard to return to their previous state. (For more, <a href="https://automattic.com/creed/">see our creed</a>.)</p>



<p>Our industry is highly cyclical, and I feel fortunate to have gained the perspective of a few bubbles and crashes, along with all the emotions that go with them. It&#8217;s undeniable we&#8217;re in the very early days — the command-line times — of an AI era, and though it will probably have its own bubble and crash cycles, it feels as significant to me as anything since we started. It&#8217;s more important than ever that we fight for open source and the freedom-enhancing side of technology. I&#8217;m committed to doing whatever I can to democratize publishing, commerce, and messaging, but there are many other areas of the human experience to cover&#8230; pick one to work on! It&#8217;s hard and rewarding work. </p>



<p>When I was working on an early version of one of our internal stats systems, it was really important to me that it showed rolling windows of the last 24 hours (daily), 168 hours, 4 weeks, and of course yearly. The rolling was important so you could see the impact of your changes as soon as possible. Then I felt called to add another: decade.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img alt="" class="wp-image-143529" height="113" src="https://i0.wp.com/ma.tt/files/2025/06/mc-rolling-stats-1024x191.png?resize=604%2C113&#038;quality=80&#038;ssl=1" width="604" /></figure></div>


<p>Some thought it was silly at the time, and it&#8217;s true that it initially served mainly as a way to display the cumulative number. But I wanted every time someone looked at one of these stats pages that they were reminded that <strong>we&#8217;re building for the long term</strong>. Our users and customers deserve nothing less. And now we have some statistics with 20 years of history, it has some useful comparisons as well! </p>



<p>In <a href="https://ma.tt/2015/06/ten-years-of-automattic/">Ten Years of Automattic, I wrote</a>:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>There’s a lot more to do, and I can’t wait to see what a “20 Years of Automattic” post says. I’m a lucky guy.</p>
</blockquote>



<p>Now we know! I&#8217;m still a very lucky guy, and can&#8217;t wait to build, learn, and share alongside a talented crew of like-minded hackers, dreamers, and doers.</p>



<p><em>* I&#8217;ll note that pioneers like Bob Young (Red Hat), Stephen Wolfram (Wolfram Research), Jason Fried (37Signals), and Mårten Mickos (MySQL) were big inspirations. Also, the entire Open Source community and most projects operated at least partially this way, which is why it seemed so natural to us as a second-generation Open Source company.</em></p>";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Sat, 21 Jun 2025 02:59:54 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:4:"Matt";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:6;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:115:"Gutenberg Times: Interactivity API, WordPress 6.8.2, Transitions API and Pride Photo Drive — Weekend Edition #333";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:35:"https://gutenbergtimes.com/?p=40735";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:119:"https://gutenbergtimes.com/interactivity-api-wordpress-6-8-2-transitions-api-and-pride-photo-drive-weekend-edition-333/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:20878:"<p>Hi there, </p>



<p>Are you ready for a summer break of the Gutenberg Times? I am definitely ready for a vacation. It&#8217;s been a fabulous first half of the year with plenty of new experiences, and reconnecting with friends in the WordPress community. There is soo much inspiring creativity in the community around block editor, Playground and AI. I am curious what the second half of year will bring.</p>



<p>As for WordCamps, I am considering going to WordCamps, <a href="https://gdynia.wordcamp.org/2025/">Gyndia</a>, <a href="https://verona.wordcamp.org/2025/">Verona</a>,  and <a href="https://pisa.wordcamp.org/2025/">Pisa</a>. Once the decisions are made, I, of course, will let you know. Do you have any WordCamp plans?</p>



<p>Enjoy the summer and I&#8217;ll be back. </p>



<p>Yours, <img alt="💕" class="wp-smiley" src="https://s.w.org/images/core/emoji/15.1.0/72x72/1f495.png" style="height: 1em;" /><br /><em>Birgit</em></p>





<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" />


<section class="wp-block-newsletterglue-group" style="padding-top: 10px; padding-bottom: 10px; padding-left: 20px; padding-right: 20px; margin-top: 0px; margin-bottom: 0px;">
<div class="wp-block-group has-light-background-background-color has-background"><div class="wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow">
<p><strong>Table of Contents</strong></p>



<nav class="wp-block-table-of-contents"><ol><li><a class="wp-block-table-of-contents__entry" href="https://gutenbergtimes.com/interactivity-api-wordpress-6-8-2-transitions-api-and-pride-photo-drive-weekend-edition-333/#0-word-press-release-information">Developing Gutenberg and WordPress</a></li><li><a class="wp-block-table-of-contents__entry" href="https://gutenbergtimes.com/interactivity-api-wordpress-6-8-2-transitions-api-and-pride-photo-drive-weekend-edition-333/#0-p">Plugins, Themes, and Tools for #nocode site builders and owners</a></li><li><a class="wp-block-table-of-contents__entry" href="https://gutenbergtimes.com/interactivity-api-wordpress-6-8-2-transitions-api-and-pride-photo-drive-weekend-edition-333/#2-word-press-6-0-1-and-6-1-scheduled">Theme Development for Full Site Editing and Blocks</a></li><li><a class="wp-block-table-of-contents__entry" href="https://gutenbergtimes.com/interactivity-api-wordpress-6-8-2-transitions-api-and-pride-photo-drive-weekend-edition-333/#3-building-themes-for-fse-and-word-press">Building Blocks and Tools for the Block editor</a></li></ol></nav>
</div></div>
</section>

<div class="wp-block-newsletterglue-showhide ng-block" width="100%"></div>


<p>In their post, <a href="https://lgbtqpress.com/2025/05/share-your-pride-photo-drive-is-back-for-2025/"><strong>Share your Pride Photo Drive is back for 2025</strong></a>,  <strong>Anne McCarthy</strong> invites you to  an open photo submission event to boost LGBTQ+ representation in the WordPress Photo Directory. The initiative encourages everyone (not just the LGBTQ+ community) to contribute, with fun incentives and cash prizes, emphasizing the importance of diverse, high-quality imagery for web creators. <strong>The deadline is July 1st 2025. </strong></p>



<h2 class="wp-block-heading" id="0-word-press-release-information">Developing Gutenberg and WordPress</h2>



<p><strong>Jean-Baptiste Audras</strong> just dropped the schedule for <a href="https://make.wordpress.org/core/2025/06/17/wordpress-6-8-2-release-schedule/"><strong>WordPress 6.8.2 Release Schedule</strong></a>. There are a few bug scrub sessions coming up, with the first release candidate (RC1) out on July 8, 2025, and the final version landing a week later on July 15. He also shared some handy links to the list of fixes they’re hoping to squeeze into this update.</p>



<div class="wp-block-group has-light-background-background-color has-background"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<p><img alt="🎙" class="wp-smiley" src="https://s.w.org/images/core/emoji/15.1.0/72x72/1f399.png" style="height: 1em;" /> The latest episode <a href="https://gutenbergtimes.com/podcast/gutenberg-changelog-118-wordpress-new-ai-team-the-pride-photo-drive/">Gutenberg Changelog 118 – WordCamp Europe, WordPress New AI Team, the Pride Photo Drive, Gutenberg 20.9 and 21.0 </a> <strong>Anne McCarthy</strong> is back from sabbatical and we talked about WordCamp Europe, the new WordPress AI team, the Pride Photo Drive, and Gutenberg 20.9 and 21.0 . </p>



<p><em>If you are listing via Spotify, please leave a comment. If you listen via other podcast apps, please leave a review. It&#8217;ll help with the distribution.</em></p>



<figure class="wp-block-image size-full"><img alt="" class="wp-image-40687" height="185" src="https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/06/Screenshot-2025-06-14-at-08.28.08.png?resize=652%2C185&#038;ssl=1" width="652" /></figure>
</div></div>



<h2 class="wp-block-heading" id="0-p">Plugins, Themes, and Tools for #nocode site builders and owners</h2>



<p>In his post <a href="https://felix-arntz.me/blog/introducing-view-transitions-wordpress-plugin/"><strong>Introducing the View Transitions Plugin for WordPress</strong></a>, <strong>Felix Arntz <br /></strong>announced a new plugin that brings smooth, animated transitions between pages to WordPress sites. He explains that <a href="https://wordpress.org/plugins/view-transitions/">the plugin</a> uses the <a href="https://developer.mozilla.org/en-US/docs/Web/API/View_Transition_API">View Transitions API</a> to create seamless visual effects, making navigation feel more modern and app-like without the complexity of single-page applications. Arntz described how the plugin works out of the box, offers customization through both the WordPress admin and theme code, and supports various animation styles. The goal is to improve user experience and perceived performance with minimal setup.<strong> </strong></p>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" />



<p>In his latest video, <a href="https://www.youtube.com/watch?v=s9vt5skaTfw"><strong>The Secret to Client-Proof WordPress Sites</strong></a>, <strong>Wes Theron</strong> shows how to let clients safely update content while keeping a consistent design. He demonstrates using synced patterns with editable overrides. Global design changes to a pattern update all instances on the site. He explains how clients can modify specific elements without disrupting the layout. This method simplifies site management and maintains design integrity, making WordPress sites easier to manage and grow.</p>


<div class="wp-block-newsletterglue-showhide ng-block" width="100%">
<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">

</div></figure>
</div>


<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" />



<p><br /><strong>Claire Brotherton</strong> reviewed the Twenty Twenty-Five WordPress theme, highlighting its flexibility and modern design.  Brotherton details its customizable templates, diverse style variations, and extensive block patterns, making it easy to create unique layouts. She notes the theme’s accessibility features, international typography options, and compatibility with the latest WordPress tools. The guide also covers practical tips for editing menus, headers, and footers, and encourages users to experiment with the theme’s many design possibilities. The post <a href="https://www.abrightclearweb.com/twenty-twenty-five-theme-the-ultimate-guide/"><strong>Twenty Twenty-Five Theme: the Ultimate Guide</strong></a> definitely lives up to its promise. </p>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" />



<p><strong>Johanne Courtright</strong> <a href="https://groundworx.dev/blog/introducing-groundworx-navigation/"><strong>introduced the Groundworx Navigation plugin</strong></a>, a flexible, block-based navigation tool for WordPress. After years of building custom menus, she created this plugin to streamline features like accordions, slide-ins, sticky headers, and responsive toggles. Designed for Full Site Editing, it fits modern WordPress workflows and eliminates the need to rebuild navigation logic for each project, making advanced menu patterns easier for both developers and site owners. <a href="https://github.com/groundworx-dev/groundworx-navigation">Check it out from GitHub</a>. Once it goes through the approval process, it will also be available for download from the WordPress repository.</p>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" />



<p>In his post <a href="https://publishpress.com/blog/publishpress-blocks/find-all-gutenberg-blocks/"><strong>What&#8217;s the plan for PublishPress Blocks</strong></a>? <strong>Steve Burge</strong> mentions the new Block Usage Screen. It shows you any usage of blocks on your site or search for blocks. For example, it will show how many paragraph blocks you used throughout all blog posts. He also shows the new menu from within the plugin and lists six more features: control on who can use each block, additional blocks like accordion, galleries, tabs etc. I am excited about the feature to create my own Block Styles right from the interface without code. In the video on YouTube, Burge shows off how to  <a href="https://www.youtube.com/watch?v=ZMgZ3JiNl1Y&amp;t=16s">find your WordPress Blocks with the PublishPress Blocks Plugin</a>. </p>



<h2 class="wp-block-heading" id="2-word-press-6-0-1-and-6-1-scheduled">Theme Development for Full Site Editing and Blocks</h2>



<p>A common solution to make a sticky header is to wrap the template part in a group block and set the Position to &#8220;sticky&#8221;. <strong>Mike McAlister</strong> has more elegant solutions to  <a href="https://olliewp.com/fixing-the-sticky-header-bug-in-the-wordpress-site-editor/"><strong>Fixing the sticky header bug in the WordPress site editor</strong></a>. </p>



<p><strong>Hans-Gerd Gerhards</strong> has also tackled this problem with his plugin <strong><a href="https://wordpress.org/plugins/shrinking-logo-sticky-header/">Dynamic Header &amp; Navigation for Block Themes</a></strong>, that also, among a few other things, it gives you settings to shrink the header on scroll, so it doesn&#8217;t take up too much real-estate. </p>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" />



<p><br />In her post, <strong><a href="https://www.askdesign.biz/blog/2025/06/layout-and-design-with-the-grid-block/">Layout and Design with the Grid Block</a>,</strong> <strong>Anne Katzeff</strong> explains how the grid block can help make web pages look cleaner and more organized. She gives simple advice for setting up columns, spacing, and alignment, and encourages people to play around with different layouts to find what looks and works best. It might just be the manual you have been looking for. </p>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" />


<section class="wp-block-newsletterglue-callout undefined not-color-set" style="border-color: #f9f9e5; border-radius: 22px; border-style: solid; border-width: 0; padding-top: 20px; padding-bottom: 20px; padding-left: 20px; padding-right: 20px; text-align: left; margin-left: 0; margin-right: 0; margin-top: 0px; margin-bottom: 0px; background-color: #f9f9e5;">
<p><strong> <a href="https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/" rel="noreferrer noopener" target="_blank">&#8220;Keeping up with Gutenberg &#8211; Index 2025&#8221;</a> </strong><br />A chronological list of the WordPress Make Blog posts from various teams involved in Gutenberg development: Design, Theme Review Team, Core Editor, Core JS, Core CSS, Test, and Meta team from Jan. 2024 on. Updated by yours truly. The previous years are also available: <strong><strong><a href="https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/keeping-up-with-gutenberg-index-2020/">2020</a> | <a href="https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/keeping-up-with-gutenberg-index-2021/">2021</a></strong> | <strong><a href="https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/keeping-up-with-gutenberg-index-2022/">2022</a></strong></strong> | <strong><a href="https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/gutenberg-index-2023">2023</a></strong> | <a href="https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/gutenberg-index-2024/"><strong>2024</strong></a></p>
</section>


<h2 class="wp-block-heading" id="3-building-themes-for-fse-and-word-press">Building Blocks and Tools for the Block editor</h2>



<p>In this high-level post, <a href="https://wp.gallery/themes/wordpress-block-theme/" rel="noreferrer noopener" target="_blank"></a><a href="https://wp.gallery/wordpress-interactivity-api/" rel="noreferrer noopener" target="_blank"><strong>15 WordPress Interactivity API examples &#8211; WP Gallery</strong></a><br />Diane Collet, co-founder of Twentig and WP Gallery, explains how the new WordPress Interactivity API empowers developers to create dynamic, interactive front-end experiences without relying on heavy JavaScript frameworks. She highlights how the API enables seamless, reactive user interfaces directly within WordPress blocks, making it easier to build features like live search, filters, and instant feedback. Collet emphasizes the API’s simplicity, performance benefits, and its alignment with WordPress’s vision for a more interactive and modern web, encouraging developers to explore its capabilities for enhancing user engagement. </p>



<p>To get started with the Interactivity API, you can work through this list of resources:</p>



<ul class="wp-block-list">
<li><a href="https://wordpress.tv/2025/06/07/wordpress-gems-for-devs-interactivity-api-2/">WordPress Gems around the Interactivity API</a> (Workshop recording) </li>



<li><a href="https://developer.wordpress.org/news/2024/04/a-first-look-at-the-interactivity-api/">A first look at the Interactivity API</a> </li>



<li><a href="https://developer.wordpress.org/news/2024/02/an-introduction-to-block-based-mega-menus/">An introduction to block-based mega menus</a></li>



<li><a href="https://developer.wordpress.org/block-editor/reference-guides/packages/packages-interactivity/packages-interactivity-api-reference/#list-of-directives" rel="noreferrer noopener" target="_blank">Interactivity API Reference</a> </li>



<li><a href="https://github.com/WordPress/gutenberg/discussions/55642">Interactivity API showcase</a></li>



<li><a href="https://www.youtube.com/watch?v=ndW-Kz0iDdY&amp;list=PL1pJFUVKQ7ETApyQQlt3pLNjPx2HrQwl5&amp;index=18">Developer Hours: Building custom blocks in WordPress with the Interactivity API</a></li>



<li><a href="https://www.youtube.com/watch?v=Sl6nqGN8YVQ&amp;list=PL1pJFUVKQ7ETApyQQlt3pLNjPx2HrQwl5&amp;index=19">Developer Hours: Exploring the Interactivity API in WordPress 6.5</a></li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" />



<p><strong>JuanMa Garrido </strong>was inspired by Igor Benić&#8217;s <a href="https://wpchallenges.beehiiv.com/.">list of <strong>WordPress challenges</strong></a>. In his live stream he ventured to solve some of them. <a href="https://www.youtube.com/watch?v=DgB5M5ameUs">The recording is on YouTube</a>. The first challenge was: <em>Create a block that fetches and displays posts from a specific category dynamically (using ServerSideRender component).</em></p>


<div class="wp-block-newsletterglue-showhide ng-block" width="100%">
<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">

</div></figure>
</div>


<p><strong>In his live stream<a href="https://www.youtube.com/watch?v=ABfMFB5s_TA">, WCEU workshop code along</a></strong>, <strong>Ryan Welcher</strong> followed Bero&#8217;s WCEU workshop on setting up automatic testing with Playwright and Playground. </p>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" />


<div class="wp-block-newsletterglue-showhide ng-block" width="100%">
<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">

</div></figure>
</div>


<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" />



<p>This week, <strong>Jonathan Bossenger</strong> updates us about <strong><a href="https://www.youtube.com/watch?v=_q-1aGvHfqo">WordPress MCP &amp; Feature API</a> </strong>on his live stream. </p>


<div class="wp-block-newsletterglue-showhide ng-block" width="100%">
<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">

</div></figure>
</div>


<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" />


<section class="wp-block-newsletterglue-callout undefined not-color-set" style="border-color: #eeeeee; border-radius: 26px; border-style: solid; border-width: 0; padding-top: 20px; padding-bottom: 20px; padding-left: 20px; padding-right: 20px; text-align: left; margin-left: 0; margin-right: 0; margin-top: 0px; margin-bottom: 0px; background-color: #f3efe9;">
<p><strong><a href="https://gutenbergtimes.com/need-a-zip-from-master/">Need a plugin .zip from Gutenberg&#8217;s master branch?</a></strong><br />Gutenberg Times provides daily build for testing and review. </p>



<p>Now also available via <a href="https://playground.wordpress.net/?blueprint-url=https://gutenbergtimes.com/wp-content/uploads/2020/11/playnightly.json">WordPress Playground</a>. There is no need for a test site locally or on a server. Have you been using it? <a href="mailto:pauli@gutenbergtimes.com">Email me </a>with your experience</p>



<p><img alt="GitHub all releases" src="https://img.shields.io/github/downloads/bph/gutenberg/total?style=for-the-badge" /></p>
</section>


<p class="has-text-align-center has-small-font-size"><em>Questions? Suggestions? Ideas? </em><br /><em>Don&#8217;t hesitate to send <a href="mailto:pauli@gutenbergtimes.com">them via email</a> or</em><br /><em> send me a message on WordPress Slack or Twitter @bph</em>.</p>



<hr class="wp-block-separator has-alpha-channel-opacity" />



<p class="has-text-align-center has-small-font-size">For questions to be answered on the <a href="http://gutenbergtimes.com/podcast">Gutenberg Changelog</a>, <br />send them to <a href="mailto:changelog@gutenbergtimes.com">changelog@gutenbergtimes.com</a></p>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" />


<section class="wp-block-newsletterglue-group" style="padding-top: 10px; padding-bottom: 10px; padding-left: 20px; padding-right: 20px; margin-top: 0px; margin-bottom: 0px;">
<p>Featured Image: Photo by Polesie Toys on Pexel</p>



<hr class="wp-block-separator has-css-opacity is-style-wide" />



<p class="has-text-align-left"><strong>Don&#8217;t want to miss the next Weekend Edition? </strong></p>


<form action="https://gutenbergtimes.com/feed/" autocomplete="on" class="wp-block-newsletterglue-form ngl-form ngl-portrait" method="post"><div class="ngl-form-container"><div class="ngl-form-field" style="margin-bottom: 25px;"><label class="ngl-form-label" for="ngl_email"><br />Type in your Email address to subscribe.</label><div class="ngl-form-input"><input autocomplete="email" class="ngl-form-input-text" id="ngl_email" name="ngl_email" required="required" style="border-radius: 21px;" type="email" /></div></div><button class="ngl-form-button" style="background-color: #005075; border-color: #005075; border-width: 1px; border-style: solid; color: #ffffff; border-radius: 21px;" type="submit">Subscribe</button><p class="ngl-form-text">We hate spam, too, and won&#8217;t give your email address to anyone <br />except Mailchimp to send out our Weekend Edition</p></div><div class="ngl-message-overlay"><div class="ngl-message-svg-wrap"><svg fill="none" height="24" stroke="#fff" stroke-width="2" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><polyline points="20 6 9 17 4 12"></polyline></svg></div><div class="ngl-message-overlay-text">Thanks for subscribing.</div></div><input id="ngl_list_id" name="ngl_list_id" type="hidden" value="26f81bd8ae" /><input id="ngl_double_optin" name="ngl_double_optin" type="hidden" value="yes" /></form>


<hr class="wp-block-separator has-css-opacity is-style-wide" />
</section>";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Sat, 21 Jun 2025 00:40:00 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:18:"Birgit Pauli-Haack";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:7;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:65:"Gravatar: How to Build Trust Online With Professional Credibility";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:32:"http://blog.gravatar.com/?p=3280";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:59:"https://blog.gravatar.com/2025/06/20/building-trust-online/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:17008:"<p>Here’s the deal: Every time you pop up online with a different headshot, a tweaked job title, or a bio that sounds like it was written by three different people on three different days, you’re not just being quirky. You’re quietly <em>chipping away</em> at your credibility.</p>



<p>Those little inconsistencies create one big problem: Cognitive friction. And cognitive friction = second-guessing. Not ideal when you’re trying to win hearts, minds, or contracts.</p>



<p>Unlike the good old days of handshakes and conference rooms, building trust online isn’t natural or automatic. It’s something you have to <em>design</em> carefully, deliberately, across every touchpoint where your name shows up.</p>



<p>And if you’re new to the game without a reputation to fall back on? The stakes are even higher. </p>



<p>But here’s the good news: Trust is buildable – and way more under your control than you think.</p>



<p>In this guide, you’ll learn how to: </p>



<ul class="wp-block-list">
<li>centralize your online identity so you look polished and cohesive everywhere.</li>



<li>use social proof like a pro to boost instant credibility.</li>



<li>communicate authentically without feeling like you’re &#8220;branding&#8221; yourself to death.</li>
</ul>



<p>By the time we&#8217;re done, you&#8217;ll know exactly how to build a digital presence that feels genuine, trustworthy, and ready to convert curious visitors into loyal fans, wherever they find you.</p>



<h2 class="wp-block-heading">Why professional credibility isn’t just “nice to have” anymore</h2>



<p>Thinking professional credibility online is just about having a typo-free website and a decent logo is like saying a handshake is only about touching another person’s hand. Important, yes – but nowhere near the full story.</p>



<p>Today, trust online demands way more than surface polish. It’s about creating a <em>coherent, recognizable presence</em> that follows you everywhere your audience might stumble across you.</p>



<p>A <a href="https://eujournal.org/index.php/esj/article/view/17729">January 2024 study</a> from the Digital Identity Institute nailed it down to four essentials:</p>



<ul class="wp-block-list">
<li>Your <strong>identifiers</strong> (name, handle, URL).</li>



<li>Your <strong>content</strong> (what you post and share).</li>



<li>Your <strong>profile photos</strong> (how you visually show up).</li>



<li>Your <strong>personal images</strong> (those behind-the-scenes moments that humanize you).</li>
</ul>



<p>Get these aligned? You’re golden. Mix them up? You undermine the very trust and credibility you’re aiming for.</p>



<p>Every time someone jumps from your Twitter to your LinkedIn to your personal blog and spots a disconnect, a little voice whispers: <em>&#8220;Wait, is this even the same person?&#8221;</em></p>



<p>Cue doubt. Cue hesitation. Cue lost opportunity.</p>



<p>And just a heads-up: Your digital reputation isn’t <em>just</em> about what you put out there. It’s also:</p>



<ul class="wp-block-list">
<li>What people say about you on review sites.</li>



<li>How (and whether) you respond to comments.</li>



<li>Where your name pops up in industry chatter.</li>



<li>Those forgotten forum posts from 2018 (yes, even the cringey ones).</li>
</ul>



<p>For newcomers, this can feel wildly overwhelming. But don’t panic – there’s a system for building trust that works whether you’re a total newbie or a seasoned pro.</p>



<p>And it all starts with something deceptively simple: Making it <em>crystal clear</em> that it’s actually <em>you</em>, wherever you show up.</p>



<p>Let’s dig into how to make that happen.</p>



<h2 class="wp-block-heading">Establishing your verified identity online</h2>



<p>Let’s talk about the sneaky tax no one warns you about: <strong>Digital fragmentation</strong>. </p>



<p>Every time you spin up a new <a href="https://github.com/">GitHub</a> profile, tweak your <a href="https://wordpress.com/">WordPress.com</a> bio, or casually update your <a href="https://slack.com/">Slack</a> status, you’re basically creating another branch of your professional identity.</p>



<p>Each one demands attention; otherwise, it leaves behind tiny cracks in your credibility that clients will notice (even if they don’t realize it).</p>



<p>Trust is built silently through strategic verification signals. Things like:</p>



<ul class="wp-block-list">
<li><strong>Verified email domains:</strong> Yourname@yourcompany.com trumps hotmaillegend1995@gmail.com (every time).</li>



<li><strong>Consistent usernames:</strong> When &#8220;jane-smith-designer&#8221; shows up everywhere, recognition is effortless.</li>



<li><strong>Linked professional accounts:</strong> Connecting your LinkedIn, Twitter, and portfolio into a neat trust web.</li>



<li><strong>Visual continuity:</strong> That profile photo is important, it’s a visual anchor that screams &#8220;yep, this is me&#8221;.</li>
</ul>



<p>But the brutal truth is that keeping it all polished and synced can feel like a part-time job. And the longer you’re online, the more ancient breadcrumbs (and outdated bios) you scatter across the internet like digital confetti.</p>



<p><strong>Enter Gravatar.</strong></p>



<p>Instead of <em>another</em> profile to manage, <a href="https://gravatar.com/">Gravatar is the solution</a> <em>to</em> profile management by connecting your professional identity to something you already use everywhere: Your email address.</p>



<p>Gravatar becomes your single source of truth, rippling updated credibility across the web with zero extra work.</p>



<h3 class="wp-block-heading"><strong>How Gravatar keeps your digital identity (and sanity) intact</strong></h3>



<p>Gravatar’s magic trick is simple but game-changing: <strong>Update once. Sync everywhere</strong></p>



<p>Here’s how it works:</p>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<figure class="wp-block-image size-large"><img alt="Gravatar profile example" class="wp-image-3282" height="774" src="https://blog.gravatar.com/wp-content/uploads/2025/05/gravatar-profile.png?w=660" width="660" /></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<ol class="wp-block-list">
<li>You sign up once using your email address.</li>



<li>Gravatar then pushes your profile info – your headshot, your bio, your portfolio links – across any platform that has Gravatar integrated.</li>



<li>Instantly recognizable. No manual updates. No weird gaps.</li>
</ol>
</div>
</div>



<div class="wp-block-spacer" style="height: 20px;"></div>



<figure class="wp-block-image size-full"><a href="https://gravatar.com/connect/?gravatar_from=blog"><img alt="" class="wp-image-2616" height="729" src="https://blog.gravatar.com/wp-content/uploads/2024/12/free_profile_cta.png" width="3243" /></a></figure>



<p>Gravatar plugs into heavy-hitters like:</p>



<ul class="wp-block-list">
<li><a href="https://wordpress.org/"><strong>WordPress</strong></a> (hello, <a href="https://en-gb.wordpress.org/about/features/">43% of the internet</a>)</li>



<li><a href="https://github.com/"><strong>GitHub</strong></a> (where devs prove their chops)</li>



<li><a href="https://slack.com/"><strong>Slack</strong></a> (where teams live)</li>



<li><a href="https://openai.com/"><strong>OpenAI</strong></a> (yep, even the AI world knows your face)</li>



<li><a href="https://www.atlassian.com/"><strong>Atlassian</strong></a><strong>, </strong><a href="https://www.figma.com/"><strong>Figma</strong></a><strong>, </strong><a href="https://mailchimp.com/"><strong>Mailchimp</strong></a><strong>, </strong><a href="https://stackoverflow.com/"><strong>Stack Overflow</strong></a><strong>, </strong><a href="https://www.coinbase.com/"><strong>Coinbase</strong></a> – and the list keeps growing</li>
</ul>



<p>It’s like a <a href="https://blog.gravatar.com/2024/11/08/creating-a-digital-business-card/">digital business card</a>, but one that updates itself, multiplies itself, and hands itself out for you.</p>



<p>When you update your Gravatar, you’re refreshing your professional image across a whole ecosystem without lifting another finger.</p>



<p>And even on platforms that don’t plug directly into Gravatar (looking at you, X and Instagram), your Gravatar profile still works as a rock-solid <a href="https://blog.gravatar.com/2024/04/12/maximize-your-instagram-bio-the-top-tools-to-consider/">bio link</a> destination. A central hub that confirms, &#8220;Yes, I’m legit.&#8221;</p>



<p>Let’s get into how to set it up.</p>



<h2 class="wp-block-heading">How to showcase expertise that actually converts (not just impresses)</h2>



<p>Having a verified, consistent digital identity is a great first step. But if you want to turn casual visitors into paying clients, you need more than legitimacy. You need to <em>flex</em> your expertise in ways that actually move people to act.</p>



<p>Here’s the difference between professionals who quietly exist online and those who consistently <a href="https://www.business.com/articles/9-steps-to-lead-conversion-success/">rack up conversions</a>: They don’t just <em>say</em> they’re good. They <em>prove</em> it – strategically.</p>



<p>Here’s how to build serious trust <em>and</em> trigger buying decisions at the same time:</p>



<h3 class="wp-block-heading"><strong>Content that builds (and measures) trust</strong></h3>



<p>Not all content earns trust equally. Here are the formats that drive the biggest trust-to-conversion ROI:</p>



<ul class="wp-block-list">
<li><strong>Case studies with real results:</strong> Proving you&#8217;ve solved <em>this exact problem</em> before removes the risk for new clients.</li>



<li><strong>Original research with downloadable assets:</strong> Publishing fresh findings no one else has? Authority unlocked (not to mention backlinks).</li>



<li><strong>Video demonstrations:</strong> Watching you in action builds confidence <em>fast</em>.</li>



<li><strong>Step-by-step tutorials:</strong> Breaking down complex processes shows mastery <em>and</em> your ability to guide others.</li>
</ul>



<h3 class="wp-block-heading"><strong>Credentials that appear </strong><strong><em>exactly</em></strong><strong> where they matter</strong></h3>



<p><em>Having</em> credentials is great, but <em>placing</em> them where they crush doubt is the difference.</p>



<ul class="wp-block-list">
<li><strong>Certification logos</strong> near pricing tables instantly calm “Is this worth it?” nerves.</li>



<li><strong>Industry awards</strong> on service pages make your premium offer feel like a no-brainer.</li>



<li><strong>Testimonials</strong> right beside CTA buttons? Ideal for that final, reassuring nudge.</li>
</ul>



<h3 class="wp-block-heading"><strong>Thought leadership that stands out (not blends in)</strong></h3>



<p>Vanilla expertise doesn’t convert. You need a clear, memorable POV that plants your flag.</p>



<ul class="wp-block-list">
<li><strong>Challenge industry norms</strong> (backed by real evidence, not just hot takes).</li>



<li><strong>Create your own frameworks</strong> that only <em>you</em> offer.</li>



<li><strong>Take thoughtful stands</strong> on key industry debates (without turning your audience into enemies).</li>
</ul>



<h3 class="wp-block-heading"><strong>Trusted platforms that amplify your expertise</strong></h3>



<p>Sometimes it’s not just what you say – it’s <em>where</em> you say it. That’s why Gravatar’s integrations create trust-by-proxy opportunities you can’t buy:</p>



<ul class="wp-block-list">
<li><strong>WordPress comments:</strong> Your verified Gravatar shows up and instantly builds recognition.</li>



<li><strong>GitHub contributions:</strong> Your Gravatar profile signals serious technical chops.</li>



<li><strong>Slack communities:</strong> Your Gravatar credentials put you right inside trusted expert circles.</li>
</ul>



<p>Stack these strategies, and not only are you building a reputation, you’re removing every obstacle between curiosity and conversion. When prospects can instantly answer both <em>&#8220;Can they help me?&#8221;</em> and <em>&#8220;Can I trust them?&#8221;</em>, signing on becomes the obvious next step.</p>



<p>Let’s move on to putting all of this into action.</p>



<h2 class="wp-block-heading">Building trust through authentic communication</h2>



<p>A fascinating <a href="https://pmc.ncbi.nlm.nih.gov/articles/PMC6961857/">2020 University of Missouri study</a> found that <em>sharing the story behind why you do what you do</em> skyrockets your perceived authenticity.</p>



<p>Turns out, people don’t just trust the expert with the most credentials. They trust the expert who lets them in on <em>why it matters</em> to them <em>personally</em>.</p>



<p>In other words, explaining why you <em>care</em> can be just as powerful as proving you’re <em>qualified</em>.</p>



<p>This research shatters the old-school myth that professional communication should stay cold, detached, and full of corporate buzzwords. Storytelling – real, personal, first-person storytelling – builds deeper trust than any third-person “Our team is passionate about solutions” fluff ever could.</p>



<p>Here’s what that looks like in action:</p>



<ul class="wp-block-list">
<li>&#8220;I built this workflow after nearly burning out during my first agency job.&#8221; is more effective than &#8220;Our optimized workflow increases efficiency by 27%.”<br /></li>



<li>&#8220;The software crashed on me three times before I figured out this workaround.&#8221; will win people over above &#8220;Our team has extensive troubleshooting experience.&#8221;</li>
</ul>



<p>See the difference? One makes you nod and feel something. The other makes you… skim.</p>



<h3 class="wp-block-heading"><strong>How Gravatar supercharges your authenticity</strong></h3>



<p><a href="https://gravatar.com/">Gravatar</a> is your secret weapon for broadcasting authenticity everywhere you show up. </p>



<p>Inside your Gravatar profile, you’ve got space to tell the story:</p>



<ul class="wp-block-list">
<li>The hurdles you’ve faced.</li>



<li>The experiences that shaped your expertise.</li>



<li>The <em>real reasons</em> behind what you do.</li>
</ul>



<p>And the beauty of this is you only have to do it once. Gravatar pushes that authentic narrative across every platform where your profile appears – so you’re building trust <em>automatically</em> without tailoring a new story for every single site.</p>



<p>When you combine that authenticity signal with your hard-earned credentials, you create a full, irresistible trust picture: Qualified. Relatable. Human.</p>



<p>Exactly what today’s clients are looking for. </p>



<h2 class="wp-block-heading">Create your Gravatar profile today and start boosting your professional credibility</h2>



<p>If there’s one thing this guide has made crystal clear, it’s that <strong>consistency = credibility</strong>.</p>



<p>When potential clients see the <em>same</em> professional presence across every platform, their trust barriers don’t just lower; they practically melt away.</p>



<p>And that trust is what turns casual browsers into paying customers.</p>



<p><a href="https://gravatar.com/">Gravatar</a> solves the messy fragmentation that trips up even the savviest digital pros. Instead of chasing down a dozen outdated bios and rogue headshots, Gravatar syncs your professional image, links, and story across <em>hundreds </em>of platforms automatically.</p>



<p>One update. Endless consistency. Zero stress.</p>



<p>And it’s not just a time-saver. It’s a <em>trust amplifier </em>that strengthens everything you’ve worked to build. As we’ve seen, Gravatar:</p>



<ul class="wp-block-list">
<li><strong>Anchors</strong> your visual identity wherever you show up</li>



<li><strong>Connects</strong> people directly to your best case studies, thought leadership, and portfolio</li>



<li><strong>Tells</strong> your authentic professional story, not just your title</li>



<li><strong>Reinforces</strong> every layer of social proof you’ve earned</li>
</ul>



<p>And the best part? Setting up your Gravatar profile takes <em>five minutes, </em>so <a href="https://gravatar.com/">create your free Gravatar profile today</a> and start turning trust into conversions.</p>



<figure class="wp-block-image size-full"><a href="https://gravatar.com/connect/?gravatar_from=blog"><img alt="" class="wp-image-2616" height="729" src="https://blog.gravatar.com/wp-content/uploads/2024/12/free_profile_cta.png" width="3243" /></a></figure>";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Fri, 20 Jun 2025 17:38:25 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:11:"Ronnie Burt";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:8;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:81:"Open Channels FM: Transparency, Community, and the Human Touch with Miriam Schwab";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:32:"https://openchannels.fm/?p=99083";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:86:"https://openchannels.fm/transparency-community-and-the-human-touch-with-miriam-schwab/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:222:"In this episode of "Woo Product Chat," co-hosts James and Katie chat with Miriam Schwab from Elementor about transparency in software, community engagement, and the balance of openness while navigating business strategies.";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Fri, 20 Jun 2025 09:56:48 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:5:"BobWP";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:9;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:65:"Open Channels FM: The Value of Starting Over in the Tech Industry";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:47:"https://openchannels.fm/?post_type=blog&p=97478";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:72:"https://openchannels.fm/the-value-of-starting-over-in-the-tech-industry/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:151:"A journey shows that success isn't a straight path. Embrace resilience, self-reflection, and the courage to reinvent yourself in a changing tech world.";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Fri, 20 Jun 2025 08:28:00 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:5:"BobWP";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:10;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:84:"WordPress.org blog: Dropping security updates for WordPress versions 4.1 through 4.6";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:35:"https://wordpress.org/news/?p=18872";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:100:"https://wordpress.org/news/2025/06/dropping-security-updates-for-wordpress-versions-4-1-through-4-6/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:1781:"<p>As of July 2025, the WordPress Security Team will no longer provide security updates for WordPress versions 4.1 through 4.6.</p>



<p>These versions were first released nine or more years ago and over 99% of WordPress installations run a more recent version. The chances this will affect your site, or sites, is very small.</p>



<p>If you are unsure if you are running an up-to-date version of WordPress, please log in to your site’s dashboard. Out of date versions will display a notice that looks like this:</p>



<figure class="wp-block-image size-full has-custom-border"><img alt="Dashboard notice: &quot;WordPress 6.8.1 is available! Please update now.&quot;" class="has-border-color has-luminous-vivid-amber-border-color wp-image-18873" height="122" src="https://i0.wp.com/wordpress.org/news/files/2022/09/WordPress-681-update-notice.png?resize=1048%2C122&#038;ssl=1" width="1048" /></figure>



<p>The version you are running is displayed in the bottom of the “At a Glance” section of the dashboard.</p>



<figure class="wp-block-image size-large has-custom-border"><img alt="At a glance widget showing a site running WordPress 4.1.41" class="has-border-color has-cyan-bluish-gray-border-color wp-image-18875" height="281" src="https://i0.wp.com/wordpress.org/news/files/2022/09/at-a-glance-wp-4141.png?resize=1024%2C281&#038;ssl=1" width="1024" /></figure>



<p>As a reminder, the only <em>actively</em> supported version of WordPress is the most recent one. Security updates are only backported to older branches as a courtesy.</p>



<p>The Make WordPress Security blog has further details about <a href="https://make.wordpress.org/security/2025/06/18/security-updates-will-cease-for-wordpress-versions-4-1-through-4-6/">the process to end support</a>.</p>";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Thu, 19 Jun 2025 15:26:06 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:15:"John Blackbourn";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:11;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:89:"Felix Arntz: Migrating Your JavaScript Codebase to TypeScript with Cline &amp;amp; Gemini";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:30:"https://felix-arntz.me/?p=2141";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:85:"https://felix-arntz.me/blog/migrating-javascript-codebase-to-typescript-cline-gemini/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:16953:"<p>I recently undertook a significant project: migrating the entire JavaScript codebase of my<a href="https://wordpress.org/plugins/ai-services/"> AI Services plugin for WordPress</a> (<a href="https://github.com/felixarntz/ai-services">GitHub repository</a>) to TypeScript.</p>



<p>Why is that significant?</p>



<ul class="wp-block-list">
<li>We&#8217;re talking about over 80 JavaScript files, so it’s by no means a small project. Not gigantic like e.g. Gutenberg, but certainly a substantial amount of code.</li>



<li>Additionally, that JavaScript code is powering a plugin with a fairly unique feature set. This uniqueness often makes it harder for Large Language Models (LLMs) to assist, as there&#8217;s likely less similar code in their training data.</li>
</ul>



<p>The process taught me a lot about the synergy between a well-structured codebase and LLMs. It also strengthened my belief that, while an LLM isn&#8217;t magically going to solve complex development tasks for you, it can be a massive productivity booster when you prepare your project and guide it effectively.</p>



<p>This post will walk you through how I used Cline in VS Code together with Google&#8217;s Gemini models to get it done efficiently and why I think this migration was worthwhile.</p>



<h2 class="wp-block-heading">Why Bother with TypeScript? (Hint: LLMs Love Structure)</h2>



<p>If you&#8217;re a developer who hasn&#8217;t yet embraced TypeScript, I get the hesitation. You might be annoyed by the seemingly verbose syntax, or perhaps you&#8217;ve heard that it slows down development. Let&#8217;s address those points.</p>



<p>The idea that TypeScript slows you down couldn&#8217;t be further from the truth in the long run. Using TypeScript allows you to ship safer code by preventing many potential bugs during development that plain JavaScript would miss. This makes complex projects easier to understand and ultimately faster to iterate on. The only scenario where TypeScript might genuinely get in the way is with quick prototypes, especially when dealing with dependencies that aren&#8217;t typed. I&#8217;d argue this is the only case where sticking with plain JavaScript is more reasonable today.</p>



<p>And if you&#8217;re turned away by the syntax? Don&#8217;t worry, I definitely was in the same boat myself. But after writing about five TypeScript files, I found it started to feel very natural.</p>



<p>Beyond the general benefits, there&#8217;s a modern, compelling reason to adopt it: <strong>TypeScript provides structure, and LLMs thrive on structure.</strong> By providing the clear, explicit types of TypeScript, you give the LLM a much more detailed and unambiguous map of your codebase. This helps it understand context and your intent, leading to far more accurate and helpful suggestions.</p>



<p>A few weeks ago, I posted on social media: “Learn TypeScript deeply.” And I truly think you should.</p>



<div class="linkedin-embed"></div>



<h2 class="wp-block-heading">My Migration Strategy: A Human-in-the-Loop Approach</h2>



<p>My goal wasn&#8217;t to have an LLM do all the work, but to have it act as a super-powered assistant. I used<a href="https://cline.bot/"> Cline</a> in VS Code, primarily with the Gemini 2.5 Pro model via the <a href="https://ai.google.dev/api">Gemini API</a>. I&#8217;m a fan of Cline because of its customizability and its &#8220;Plan&#8221; vs. &#8220;Act&#8221; modes, through which you can force the model to collaborate with you on defining the approach before writing any code.</p>



<p>Here&#8217;s the step-by-step process I followed.</p>



<h3 class="wp-block-heading">Step 1: Laying the Groundwork</h3>



<p>Before letting the LLM loose, some manual preparation is essential.</p>



<ol class="wp-block-list">
<li><strong>Start with the Most Foundational Package:</strong> My plugin consists of several JavaScript packages. I began with the package that had no dependencies on the others. It’s crucial to migrate packages in order of their dependency graph.</li>



<li><strong>Define Core Types Manually:</strong> This is the most critical manual step. I went through the foundational package and defined the core TypeScript types myself, e.g., in a types.ts file at the root of the package. While an LLM can sometimes help, doing this manually ensures accuracy and aligns the data structures perfectly with my intent.</li>



<li><strong>Migrate a Few Files Yourself:</strong> I manually migrated 3-5 files to TypeScript. This served two purposes. First, it created &#8220;perfect&#8221; examples of my desired coding patterns—including code style, JSDoc comments, and variable naming. Second, it helped me get reacquainted with TypeScript within the specific context of this project.</li>
</ol>



<h3 class="wp-block-heading">Step 2: Defining the Workflow (and Relevant Rules)</h3>



<p>To ensure consistency, I leveraged two key features: custom rules and reusable workflows.</p>



<p>First, I established <strong>custom rules</strong> that define the TypeScript coding standards for the project. This helps the LLM generate code that is consistent with my best practices. This concept is supported by many AI code assistants, including Cline. As an example, you can see the<a href="https://github.com/felixarntz/ai-services/blob/main/.clinerules/coding-standards.md"> coding standards I defined for the AI Services plugin here</a>.</p>



<p>Next, I created a reusable prompt, which Cline calls a &#8220;workflow.&#8221; This saves me from re-typing a complex prompt for every single file. Here is the workflow I created, saved as <code><a href="https://github.com/felixarntz/ai-services/blob/main/.clinerules/workflows/migrate-typescript.md">migrate-typescript.md</a></code>:</p>


<pre class="wp-block-code alignwide"><span><code class="hljs language-markdown shcb-wrap-lines">You need to migrate specific JavaScript files to be valid TypeScript.

Concretely, you need to migrate the JavaScript code in <span class="xml"><span class="hljs-tag">&lt;<span class="hljs-name">file</span>&gt;</span></span> to TypeScript. There are three possible scenarios:
<span class="hljs-bullet">
- </span>If the file is already using the extension <span class="hljs-code">`.ts`</span> or <span class="hljs-code">`.tsx`</span>, it may have already been renamed from <span class="hljs-code">`.js`</span>. You MUST make the changes to migrate the code to TypeScript directly within the file.
<span class="hljs-bullet">- </span>Otherwise, if the file is using the extension <span class="hljs-code">`.js`</span> and it contains React components (JSX), you must create a new file of the same name but with the <span class="hljs-code">`.tsx`</span> extension and write the code migrated to TypeScript in there.
<span class="hljs-bullet">- </span>Otherwise, if the file is using the extension <span class="hljs-code">`.js`</span> and it does not contain any JSX, you must create a new file of the same name but with the <span class="hljs-code">`.ts`</span> extension and write the code migrated to TypeScript in there.

First, use the <span class="hljs-code">`read_file`</span> tool to collect sufficient relevant context. Some of the files the user may have already provided to you. In that case, DO NOT READ THEM AGAIN.
<span class="hljs-bullet">
- </span>Search for <span class="hljs-code">`tsconfig.json`</span>, <span class="hljs-code">`.eslintrc.json`</span>, and <span class="hljs-code">`.eslintrc.js`</span> files in the project root directory. Read all of them that you find, to know which TypeScript and TSDoc configuration requirements the migrated TypeScript code must follow.
<span class="hljs-bullet">- </span>Search the current directory and any parent directories <span class="hljs-emphasis">_within_</span> the project for <span class="hljs-code">`types.ts`</span> files. You MUST read all of these files to understand the project-specific types.
<span class="hljs-bullet">- </span>Look for other TypeScript files in the same directory or a sibling directory. Read 1-3 files to learn about the project-specific TypeScript conventions and best practices, e.g. regarding specific type imports, code style, documentation, or file structure.
<span class="hljs-bullet">    - </span>If you are writing a <span class="hljs-code">`.ts`</span> file, you must ONLY consider existing <span class="hljs-code">`.ts`</span> files for this contextual research.
<span class="hljs-bullet">    - </span>If you are writing a <span class="hljs-code">`.tsx`</span> file, you must ONLY consider existing <span class="hljs-code">`.tsx`</span> files for this contextual research.

With that context in mind, you MUST follow the following steps in order to migrate the <span class="xml"><span class="hljs-tag">&lt;<span class="hljs-name">file</span>&gt;</span></span> to TypeScript:
<span class="hljs-bullet">
1. </span>Migrate the JavaScript code from <span class="xml"><span class="hljs-tag">&lt;<span class="hljs-name">file</span>&gt;</span></span> to TypeScript, following the patterns learned from ALL previous context.
<span class="hljs-bullet">    - </span>NEVER change any names, e.g. of variables or functions.
<span class="hljs-bullet">    - </span>NEVER change any logic.
<span class="hljs-bullet">    - </span>In addition to the TypeScript code itself, you MUST also ensure to update any JavaScript doc blocks to follow TSDoc syntax, according to project configuration.
<span class="hljs-bullet">    - </span>If any usage of the obsolete <span class="hljs-code">`PropTypes`</span> (<span class="hljs-code">`prop-types`</span>) is present, you MUST remove it. Using TypeScript itself is a sufficient replacement.
<span class="hljs-bullet">2. </span>Read the <span class="hljs-code">`package.json`</span> file in the root directory to check which <span class="hljs-code">`"scripts"`</span> are available. Identify any relevant lint, build, and format scripts, which you can use to verify whether the TypeScript code you wrote is accurate.
<span class="hljs-bullet">    - </span>To find the relevant lint script, look for names like "lint-js", "lint-ts", or "lint" for example.
<span class="hljs-bullet">    - </span>To find the relevant build script, look for names like "build:dev", or "build" for example.
<span class="hljs-bullet">    - </span>To find the relevant format script, look for names like "format-js", "format-ts", or "format" for example.
<span class="hljs-bullet">    - </span>Remember the exact names of these scripts that you found.
<span class="hljs-bullet">3. </span>If you found a relevant build script, RUN IT in the command line via NPM and check the output. Here is an example how to run it:
<span class="hljs-bullet">    - </span>If the script name is "build", execute <span class="hljs-code">`npm run build`</span> in the command line.
<span class="hljs-bullet">4. </span>If the build script you ran reported TypeScript errors, inspect them carefully. Then review the TypeScript you wrote to see how you can fix the errors. Update the previously generated TypeScript code to fix the reported errors.
<span class="hljs-bullet">5. </span>If you found a relevant lint script, RUN IT in the command line via NPM and check the output. Here is an example how to run it:
<span class="hljs-bullet">    - </span>If the script name is "lint-js", execute <span class="hljs-code">`npm run lint-js`</span> in the command line.
<span class="hljs-bullet">6. </span>If the lint script you ran reported errors, inspect them carefully.
<span class="hljs-bullet">    - </span>For any Prettier errors, DO NOT try to fix them manually. Instead, run the format script you previously found if one exists.
<span class="hljs-bullet">    - </span>For any errors other than Prettier, review the TypeScript you wrote to see how you can fix the errors. Update the previously generated TypeScript code to fix the reported errors.
<span class="hljs-bullet">7. </span>If you found a relevant build script before, RUN IT again and check the output. Afterwards, YOU MUST STOP.
<span class="hljs-bullet">    - </span>If the scripts no longer report TypeScript errors, all is well.
<span class="hljs-bullet">    - </span>If the scripts still report TypeScript errors, please share the feedback with the user, to let them decide on the next steps.</code></span></pre>


<p>Note: You may wonder about common prompting best practices like “You are a senior web engineer” etc. being missing from this workflow. This is because Cline already has its own built-in system instruction, so adding something like that here would likely be unnecessary or even confusing. Keep in mind that this workflow runs in combination with any built-in system instructions from your tooling as well as any custom rules you defined.</p>



<h3 class="wp-block-heading">Step 3: Executing the Migration, File by File</h3>



<p>With the groundwork laid, I began the migration. I preferred to first manually rename a file from <code>.js</code> to <code>.ts</code> or <code>.tsx</code>. Then, I&#8217;d invoke my workflow in Cline like this:</p>


<pre class="wp-block-code"><span><code class="hljs">/migrate-typescript.md @src/ai/classes/browser-generative-ai-model.ts</code></span></pre>


<p>By renaming the file first, Cline provides a convenient diff view against the original JavaScript code, making it much easier to spot changes. If I let the workflow create the new file, it would be treated as a brand-new file with no history to compare against.</p>



<p>I started with the most capable model, <strong>Gemini 2.5 Pro</strong>. After confirming its quality, I experimented with the faster and cheaper <strong>Gemini 2.5 Flash</strong>. However, the results were notably worse, so I switched back to Pro. This highlights a key lesson: always start with the most powerful model available, and only downgrade if you can confirm it meets your quality bar for the specific task.</p>



<p>While I&#8217;m using Cline, this approach should be adaptable to other tools like Cursor with only minor adjustments. As long as you can define custom rules and use reusable prompts (even if it&#8217;s just by copy-pasting), you can achieve similar results.</p>



<h2 class="wp-block-heading">The Results: Time, Cost, and Effort</h2>



<p>So, was it worth it? Absolutely.</p>



<p>My experience was that for some simpler files, Gemini got the migration 100% correct on the first try. For more complex files, I typically needed to spend 5-10 minutes on review and corrections. However, migrating those same files manually would have likely taken around 25-30 minutes each.</p>



<p>Let&#8217;s talk numbers:</p>



<ul class="wp-block-list">
<li><strong>Total Cost:</strong> The entire migration of over 80 files cost me about $20 in Gemini API credits.</li>



<li><strong>Time Spent:</strong> I spent approximately 3 hours on the migration, including setup, execution, and review.</li>



<li><strong>Estimated Time Saved:</strong> I estimate that doing this manually would have taken at least 8 hours.</li>
</ul>



<p><strong>Spending $20 to save 5 hours of focused development work is a trade I will happily make any day.</strong> And beyond that, now I have a reusable workflow that I can use to do the same for my other existing projects in the future.</p>



<p>Last but not least, LLMs will only get better with time. If you notice that the results you get for your use-case are rather poor even though you’ve set up the project and prompts in an ideal way, don’t give up for good. It can certainly be frustrating, but there’s a good chance that in a few months, or even a few weeks, the latest LLM will do better. And always keep in mind that the LLM is there to help you, not to replace you.</p>



<h2 class="wp-block-heading">Questions &amp; Feedback</h2>



<p>This project was a powerful demonstration of how to partner with an LLM effectively. It underscores that the role of the developer is shifting—we are not just writers of code, but also architects of systems and directors of our LLM assistants.</p>



<p>That said, I&#8217;m always learning.</p>



<ul class="wp-block-list">
<li>I am by no means a TypeScript expert. If you are, you may find code patterns in the AI Services codebase that you consider suboptimal. Please<a href="https://github.com/felixarntz/ai-services"> let me know in the repository</a>!</li>



<li>Obviously, when it comes to using LLMs for code assistance, the field is changing daily. If you&#8217;ve found success with other approaches or if your efforts have mostly led to disappointment, I&#8217;d love to hear from you and learn from your experiences in the comments below.</li>
</ul>
<p>The post <a href="https://felix-arntz.me/blog/migrating-javascript-codebase-to-typescript-cline-gemini/">Migrating Your JavaScript Codebase to TypeScript with Cline &amp; Gemini</a> appeared first on <a href="https://felix-arntz.me">felix-arntz.me</a>.</p>";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Thu, 19 Jun 2025 13:48:55 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:5:"Felix";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:12;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:40:"Matt: Alfred-like Shortcuts in Spotlight";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:23:"https://ma.tt/?p=143388";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:41:"https://ma.tt/2025/06/macos-26-spotlight/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:4211:"<p>I&#8217;ve been testing the developer previews of all the new Apple 26 operating systems, which I don&#8217;t recommend this early in the cycle, but I like to live dangerously. I&#8217;ve quickly become accustomed to Liquid Glass. The iPad windowing enhancements do make it feel more like a real computer, but I usually run things in full-screen mode. My favorite thing to play with so far has been the new Spotlight (what pops up when you press Command + Space) and related shortcuts.</p>



<p>I loved <a href="https://www.alfredapp.com/">Alfred</a>, I tried <a href="https://www.raycast.com/">Raycast</a>, but a general life goal this year is to simplify wherever I can, so I&#8217;ve been exploring the enhancements in the new Spotlight.</p>



<p>What I&#8217;ve found the most useful in the past is <a href="https://www.alfredapp.com/help/workflows/actions/open-url/">Alfred&#8217;s Open URL Action</a>, which basically lets you type something like &#8220;gm united reservation&#8221; and it translates that into opening a Gmail search in your browser, with &#8220;united reservation&#8221; put in the URL in the right place to run a search.</p>



<p>The Shortcuts app in MacOS and iOS is amazing, which I&#8217;ve always known, but I haven&#8217;t played with it much. This was my chance! After a bit of tinkering, I got it to pop up an input form and then run the search. <a href="https://www.google.com/search?q=macos+26+shortcuts+%22receive+input+from+search%22">I Googled a lot to see if it could take input</a> from the Spotlight search bar and every place said no, I&#8217;m not sure if this is new in MacOS 26 or not but I found the button that makes it work. It&#8217;s not as smooth as Alfred, but it&#8217;s pretty decent. I&#8217;m going to share a screenshot that shows my Gmail search shortcut that takes input from Spotlight — the key breakthrough was clicking the (i) menu on the right and finding the checkbox for &#8220;Receive Input from Search.&#8221;</p>



<figure class="wp-block-image size-large"><img alt="" class="wp-image-143391" height="309" src="https://i0.wp.com/ma.tt/files/2025/06/gmail-shortcut-1024x524.jpeg?resize=604%2C309&#038;quality=89&#038;ssl=1" width="604" /></figure>



<p>I gave it a &#8220;gm&#8221; hotkey, pressed enter, and you get this in Spotlight.</p>



<figure class="wp-block-image size-large"><img alt="" class="wp-image-143395" height="122" src="https://i0.wp.com/ma.tt/files/2025/06/spotlight-with-shortcut-1024x207.png?resize=604%2C122&#038;quality=80&#038;ssl=1" width="604" /></figure>



<p class="is-style-default">Tada! Not as nice as Alfred but it gets the job done. My other shortcuts that people might find useful are LI for LinkedIn search, PY is Perplexity, YT for searching the history of YouTube videos I&#8217;ve watched, and AM for searching my Amazon order history. (Because I&#8217;m usually trying to find a link for something I&#8217;m recommending, or re-order an item.) Here are the search URLs for everything I&#8217;ve mentioned:</p>



<ul class="wp-block-list">
<li><a href="https://mail.google.com/mail/u/3/#search/">https://mail.google.com/mail/u/0/#search/</a> (If you have multiple Google accounts, change the number in the URL to go to the one you want, and then login in that same order every time.)</li>



<li><a href="https://www.linkedin.com/search/results/index/?keywords=">https://www.linkedin.com/search/results/index/?keywords=</a></li>



<li><a href="https://www.perplexity.ai/search/">https://www.perplexity.ai/search/</a></li>



<li><a href="https://www.youtube.com/feed/history?query=">https://www.youtube.com/feed/history?query=</a></li>



<li><a href="https://www.amazon.com/your-orders/search/?search=">https://www.amazon.com/your-orders/search/?search=</a></li>
</ul>



<p>If you dug this, did you know WordPress also has a cool popup shortcut feature?<a href="https://wordpress.org/documentation/article/site-editor-command-palette/"> In 2023, we introduced the Command Palette in the Gutenberg block editor and site editor</a>. To access it on Mac, you press Command + k. I&#8217;d like to bring it to every admin page so it can function more like Spotlight or Raycast for WordPress.</p>";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Wed, 18 Jun 2025 16:55:25 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:4:"Matt";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:13;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:76:"WPTavern: #173 – Tom Willmot and Jon Ang on Building a Global Bank Website";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:48:"https://wptavern.com/?post_type=podcast&p=196672";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:89:"https://wptavern.com/podcast/173-tom-wilmot-and-jon-ang-on-building-a-global-bank-website";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:57580:"<details>Transcript<div>
<p>[00:00:19] <strong>Nathan Wrigley:</strong> Welcome to the Jukebox Podcast from WP Tavern. My name is Nathan Wrigley.</p>



<p>Jukebox is a podcast which is dedicated to all things WordPress. The people, the events, the plugins, the blocks, the themes, and in this case, how Human Made have built WordPress at the scale of a global bank.</p>



<p>If you&#8217;d like to subscribe to the podcast, you can do that by searching for WP Tavern in your podcast player of choice, or by going to wptavern.com/feed/podcast, and you can copy that URL into most podcast players.</p>



<p>If you have a topic that you&#8217;d like us to feature on the podcast, I&#8217;m keen to hear from you and hopefully get you, or your idea, featured on the show. Head to wptavern.com/contact/jukebox, and use the form there.</p>



<p>So on the podcast today, we have Tom Willmot and Jon Ang.</p>



<p>Tom is the co-founder of Human Made, an enterprise WordPress agency that&#8217;s been pushing the boundaries of what WordPress can do since its inception. Jon is also with Human Made, and together they bring a huge amount of experience working with major clients on large scale projects.</p>



<p>At this year&#8217;s WordCamp Europe in Basel, they presented a case study, their long-term, continually evolving work, with the global banking giant Standard Chartered. Most listeners might not be working at the scale of 85,000 employees, 70 countries, and hundreds of millions of page views a month, but Tom and Jon are here to share insights from the top end of WordPress implementation.</p>



<p>They explain how Human Made helped Standard Chartered shift from a proprietary CMS lock-in, to a flexible, open source Gutenberg powered WordPress solution that serves as the main web platform for the bank across all its markets.</p>



<p>We talk about the unique compliance and security challenges of working in the banking sector. What it takes to persuade giant enterprises that WordPress is not a toy, and how to support hundreds of CMS users with custom workflows and integrations.</p>



<p>Tom and Jon discussed the specifics of scaling WordPress for the enterprise, from accessibility and multilingual setups, to custom block development, and real time collaborative editing. We also hear how Human Made works with clients to contribute innovations and security improvements back to the WordPress community, ensuring that lessons learned at the enterprise level benefit everyone.</p>



<p>If you&#8217;re curious about how WordPress powers mission critical web infrastructure for some of the world&#8217;s biggest organizations, or how you might pitch WordPress for enterprise use, this episode is for you.</p>



<p>If you&#8217;re interested in finding out more, you can find all of the links in the show notes by heading to wptavern.com/podcast, where you&#8217;ll find all the other episodes as well.</p>



<p>And so without further delay, I bring you Tom Willmot and Jon Ang.</p>



<p>I am joined on the podcast today by two fabulous guests. I have Tom Willmot and Jon Ang. Hello both.</p>



<p>[00:03:32] <strong>Tom Willmot:</strong> It&#8217;s great to be here.</p>



<p>[00:03:33] <strong>Jon Ang:</strong> Hello.</p>



<p>[00:03:34] <strong>Nathan Wrigley:</strong> This is my first interview at WordCamp Europe in, I want to say Basel, but I still don&#8217;t know how to pronounce it. Let&#8217;s go with that.</p>



<p>[00:03:41] <strong>Tom Willmot:</strong> I mean, I think it&#8217;s Basel.</p>



<p>[00:03:42] <strong>Nathan Wrigley:</strong> Yeah, okay, we&#8217;ll go with that. And we&#8217;re here today talking to Tom and Jon all about an interesting project, which I want to say they&#8217;ve just completed, but I&#8217;m not sure that&#8217;s the right word.</p>



<p>They&#8217;re doing a presentation at WordCamp Europe and it&#8217;s all about a project for a bank, and a very large bank I might add. Standard Chartered, you may have heard of it, you may not. But that&#8217;s the presentation. I&#8217;m guessing you haven&#8217;t done it because we&#8217;re still in Contrib day, but are you all prepared and ready?</p>



<p>[00:04:06] <strong>Tom Willmot:</strong> I think we&#8217;re pretty prepared. When did you submit the slides, Jon?</p>



<p>[00:04:09] <strong>Jon Ang:</strong> Just submitted it 10 minutes ago, so I think we&#8217;re good. But it&#8217;s been revised multiple times, yeah. I&#8217;m fairly certain that it&#8217;s going to be quite interesting.</p>



<p>[00:04:16] <strong>Tom Willmot:</strong> I mean, one of the challenges actually of doing a presentation about a bank is you have to double check that you&#8217;re allowed to say everything that we&#8217;re going to say.</p>



<p>[00:04:23] <strong>Nathan Wrigley:</strong> So we&#8217;re going to be editing this heavily.</p>



<p>[00:04:25] <strong>Tom Willmot:</strong> Yeah, potentially.</p>



<p>[00:04:26] <strong>Nathan Wrigley:</strong> So Standard Chartered is a very large bank. WordPress is obviously a CMS, which allows us to create websites for these banks. But let&#8217;s talk about the whole story. These are not new clients of yours, or they are new clients of yours. How long have you been working with them?</p>



<p>[00:04:39] <strong>Tom Willmot:</strong> No, I mean, this has been a relationship that we&#8217;ve had since 2016. So, yeah, this is a long term client. These projects are not really like the project starts and the project finishes. We got involved working with them, yeah, back then there was an early prototype that turns into more stuff, that turns into more stuff. And we&#8217;ve been building and iterating and evolving the platform for nearly 10 years.</p>



<p>[00:04:59] <strong>Nathan Wrigley:</strong> Prior to us hitting record, I will have recorded a preamble saying who both of you are. But just in case you&#8217;ve dipped into the podcast right now, you&#8217;re both with Human Made. My understanding, Tom, is that this was something that you are the founder of.</p>



<p>[00:05:12] <strong>Tom Willmot:</strong> Yeah, I&#8217;m the co-founder. Me and my, actually my brother Joe, which a lot of people don&#8217;t know, co-founded the company together, and then Noel joined a year, in so that we are the three founders.</p>



<p>[00:05:21] <strong>Nathan Wrigley:</strong> And I guess it&#8217;s fair to categorise you as, maybe this is something that you don&#8217;t like the sound of, I don&#8217;t know, an enterprise WordPress agency.</p>



<p>[00:05:27] <strong>Tom Willmot:</strong> Yeah, for sure. We&#8217;ve been focused on like WordPress at the high end, since the beginning. We were always interested in like, what&#8217;s the biggest stuff that WordPress is possibly being used for and how can we get involved in that?</p>



<p>[00:05:38] <strong>Nathan Wrigley:</strong> And I guess you must have some kudos, credentials, now which enable you to open doors like the Standard Chartered door, in a way that nathanwrigley.com, that&#8217;s probably not going to happen.</p>



<p>[00:05:48] <strong>Tom Willmot:</strong> I mean, we&#8217;ve got a history now of doing that kind of work and so that helps.</p>



<p>[00:05:52] <strong>Nathan Wrigley:</strong> So tell us about this client then. Just paint the backstory. Who are they? What do they do? I guess what we&#8217;re trying to do is build a picture of just how massive a project this is. Because working for a bank, I imagine there&#8217;s lots of t&#8217;s to cross and i&#8217;s to dot.</p>



<p>[00:06:06] <strong>Jon Ang:</strong> Yeah, they&#8217;re a global bank inside about 70 countries, hovering around to 150 markets. I think about 85,000 employees worldwide. So out of those, there&#8217;s maybe, and it&#8217;s a bit of a intro into what we see in our slides, but 500 employees that&#8217;s using the backend on a day-to-day to publish.</p>



<p>So think of them working with the monetary authorities of each country that is governing how a website should function for a bank that has all of this running with the staff, figuring that out, and us providing the platform for them to stay compliant, and continue to be a agile in a way of what they&#8217;re publishing every day.</p>



<p>I think that&#8217;s a bit of what Standard Chartered is like. They are, I think, a bank that started in 1800&#8217;s, and has a pretty massive presence in Asia Pacific, particularly I think Singapore and Hong Kong. Started from the UK a long time ago.</p>



<p>[00:06:59] <strong>Nathan Wrigley:</strong> Yeah, it&#8217;s got a lot of heritage, hasn&#8217;t it? There are banks which are popping up all over the place at the moment, but there are still a few holding on that have been there for literally centuries. And this is a name which is very familiar to me. And whenever I&#8217;ve traveled throughout the world, there&#8217;s always some presence there. They&#8217;re big, essentially. This is not a child&#8217;s play website. You can&#8217;t throw this together in a matter of weeks. This is a big deal.</p>



<p>[00:07:19] <strong>Tom Willmot:</strong> And I mean, you know, they&#8217;re a big company and it&#8217;s a big name, there&#8217;s a lot of employees. I think also what&#8217;s interesting is that their use of WordPress is also big. So they&#8217;re not just using WordPress for a campaign mini site or their corporate comms department. This is like the primary web platform for Standard Chartered across all those countries, including sc.com, Wealth Banking. I think something like 95 plus percent of all web traffic goes through WordPress.</p>



<p>[00:07:44] <strong>Nathan Wrigley:</strong> Just to paint a picture of that, so it&#8217;s a website though, we&#8217;re not dealing with the sort of transaction data. You know, if you&#8217;re a customer of Standard Chartered, WordPress is not handling the money going from one account to another. This is the sort of front end, public facing website, I&#8217;m guessing.</p>



<p>[00:07:57] <strong>Tom Willmot:</strong> Yeah, we&#8217;ve not got like a dollars custom post type.</p>



<p>[00:08:00] <strong>Nathan Wrigley:</strong> So paint a picture of just how big they are. So they&#8217;ve been going for a couple of centuries. You mentioned that, I think 2015, you built this relationship. You&#8217;ve been working with them in an agile way since then.</p>



<p>Do you have any metrics in terms of, I don&#8217;t know, the amount of traffic that the website is currently having? The number of locales? I think you touched on that a little while ago. Number of users? And then I&#8217;ve got this fourth one that I&#8217;ll come to in a minute. So let&#8217;s hit traffic first. Do you have any idea of the amount of petabytes or terabytes of data that are flying around just for this website?</p>



<p>[00:08:28] <strong>Jon Ang:</strong> I don&#8217;t have the petabytes, we&#8217;re talking about like hundreds of millions of page views per month. Like, that&#8217;s the kind of traffic that they&#8217;re getting. Your previous question around, so like it&#8217;s not quite hitting the dollars amounts, like, how much do I have in my savings account? But there is a lot of work passing, let&#8217;s say account signup information from the front end to the back end stuff that we do on that front as well. So it does work on some fairly critical pieces too on the banking website, it&#8217;s not just the marketing setup.</p>



<p>[00:08:56] <strong>Tom Willmot:</strong> Yeah, like for example, when you use the internet banking mobile apps, all of the customer messaging there comes from the WordPress CMS.</p>



<p>[00:09:04] <strong>Nathan Wrigley:</strong> Wow, okay. So lots and lots of data flying around. Some fairly critical components where you have to be absolutely a hundred percent sure that you&#8217;ve got the bulletproof security. In terms of the number of users, what was that? Did you say 500?</p>



<p>[00:09:17] <strong>Tom Willmot:</strong> Around 500 in the CMS, at any one time. I mean, that&#8217;s kind of interesting. There&#8217;s like a central global team that manage like brand governance and all of that. And then each country has their own country level marketing team across like 150 markets or something.</p>



<p>[00:09:32] <strong>Nathan Wrigley:</strong> And when you say the 150 markets, does that translate into 150 different languages as well? I&#8217;m guessing languages, there&#8217;s a fairly large component there.</p>



<p>[00:09:40] <strong>Jon Ang:</strong> I think there&#8217;s about 30 separate languages in there. So around that, 150 markets is split into what we call retail banking and non retail. So retail banking are regular things that you and I would do. We go into the bank, we get a credit card set up, we withdraw cash. And then non retail will be like investors, people who are interested in big money. So those are the like individual markets they work in. And across that, 150 markets, 70 countries, 500 plus users, doing this on a day-to-day basis.</p>



<p>[00:10:09] <strong>Nathan Wrigley:</strong> These are all genuinely eye watering numbers actually. They just come out of your mouth like they&#8217;re nothing. But if you actually pause for a moment and consider it, they&#8217;re breathtaking. You really are pushing what is possible.</p>



<p>I mean, I&#8217;m sure there&#8217;s websites out there which exceed that, but getting onto compliance, which is going to be my next question. There can&#8217;t be an industry where compliance is more important than banking, I mean, maybe there is, but it feels like banking and compliance. And you&#8217;ve got how many countries? 70 odd countries, each of those with a different set of criteria for compliance. Just open that box a little bit. I mean, that must have been fun.</p>



<p>[00:10:46] <strong>Jon Ang:</strong> So think of it as every country has some sort of monetary authority that governs the banks. So you&#8217;ve got that monetary authority that sets this bunch of rules that you&#8217;ve got to follow. Then they&#8217;ve got pretty much an association of banks in a specific country that listens to that. And below that you&#8217;ve got the banks that have to obey all these rules. And then we have to talk to all three organisations in every single country that&#8217;s out there that wants to use our CMS. So that&#8217;s basically it.</p>



<p>And obviously this did not start in 2016, or at once. But across time, all of these individual countries that need to use the CMS has gone through the process, and talked to us, and we&#8217;ve gone through making it work for them. And pretty much every single country has their own set of rules. But the idea of good compliance, good governance, good security, is rooted in good practices. So it&#8217;s not that we&#8217;re trying these things every single time fresh, you know?</p>



<p>[00:11:43] <strong>Nathan Wrigley:</strong> Given that you are working with one company, so Standard Chartered is obviously spread out amongst all these different countries, does that make that piece a little bit easier? So Standard Chartered to take care of the compliance. Do they give you the documentation, you sign it off? Because if you were to work with 70 different companies in 70 different countries, that&#8217;s your entire project grinding to a halt, I imagine.</p>



<p>So do they come to you with their lawyers and say, if you can satisfy this stack of requirements, we are good to go?</p>



<p>[00:12:08] <strong>Jon Ang:</strong> It&#8217;s a bit of that but it&#8217;s also, it&#8217;s 85,000 employees. And these regulations, they change on a regular basis. And it&#8217;s not like, you pass it on day one, you&#8217;re going to pass it on day a hundred again. They might come back and say, oh, there&#8217;s something new that we have to talk to you about. And they might not know actually how to pass this, because it&#8217;s their first time dealing with this as well.</p>



<p>So there&#8217;s a lot of discussions and collaboration, I guess, between Human Made and Standard Chartered. There is a central team that we work with, but they are fairly open on figuring this out with us. We work together to get through these regulations.</p>



<p>[00:12:40] <strong>Tom Willmot:</strong> Something else I think that&#8217;s worth mentioning is there&#8217;s also industry compliance regulation. And so I think we&#8217;re probably the only WordPress agency with the OSPAR compliance, which is the kind of banking industry, digital compliance process which took I think maybe a year for us to go through that process. We were audited by Deloitte, and then they sign you off. And so that helps a lot because it&#8217;s like, once you&#8217;ve got that sign off, then the bank can kind of trust that most of what you&#8217;re doing meets their compliance.</p>



<p>[00:13:04] <strong>Nathan Wrigley:</strong> So did you do that in order to prize the door open to the financial sector, or did you do that so that Standard Chartered could come on?</p>



<p>[00:13:12] <strong>Tom Willmot:</strong> Yeah, actually did that fairly late into working with Standard Chartered. They were able to, it goes back to there&#8217;s like 85,000 employees, there&#8217;s a lot of internal politics and stuff too, as one can imagine. And so we were able to avoid needing to meet that highest level of compliance for the first few years.</p>



<p>[00:13:29] <strong>Nathan Wrigley:</strong> And I&#8217;m guessing that was not a toy. I imagine that that was a fairly serious piece of paperwork.</p>



<p>[00:13:34] <strong>Tom Willmot:</strong> For sure. I think it cost us like a hundred grand.</p>



<p>[00:13:36] <strong>Nathan Wrigley:</strong> We&#8217;re at WordCamp EU, and if we were to walk out those doors, we&#8217;re surrounded by all manner of different people using WordPress. Some of them may be freelancers, they&#8217;ve got a couple of websites. And then at the other end of the spectrum, there&#8217;s you guys. How easy is it to convince a company like Standard Chartered that WordPress is not a toy?</p>



<p>[00:13:54] <strong>Tom Willmot:</strong> I mean, it&#8217;s an interesting question because obviously we started talking to Standard Chartered in 2016, so that&#8217;s a long time ago. In the context of this question, back then the concerns were much more around scalability and security and performance. Actually, that one of the big hurdles that we faced to begin with is there really just weren&#8217;t examples of companies of that size using WordPress as their primary CMS in the way that Standard Chartered wanted to use it.</p>



<p>And so when they would come to the ecosystem and say, show us the biggest people using WordPress, and we would say, oh, PlayStation use it for their blog, or Skype use it for their blog. And so they had some big names, but they used it for small stuff. And so that was kind of a problem because Standard Chartered were like, well, we don&#8217;t want to move our blog to it. We are talking about making it the primary CMS of the bank that we&#8217;re going to mandate every employee use for the next 10 years. How can we trust that WordPress is up to the task?</p>



<p>[00:14:42] <strong>Nathan Wrigley:</strong> So did you have to saddle that burden as a company then? So it wasn&#8217;t leaning into, okay, that agency over there built that thing and we can sort of say, okay, that&#8217;s WordPress, and there&#8217;s another agency over there that built that. So did you have to do the job of convincing?</p>



<p>[00:14:56] <strong>Tom Willmot:</strong> Yeah, yeah, we just went for it. We were just like, of course WordPress can do this. I mean, the big thing that helped was that they had an internal senior stakeholder that really wanted WordPress. And so that meant we could work with him to figure out, you know, how do we satisfy the concerns of the bank? How do we sell this in the way it needs to be sold in? That was really much more common, especially back then. WordPress wasn&#8217;t in the conversations unless somebody internally wanted it, and then they would do the work.</p>



<p>[00:15:22] <strong>Nathan Wrigley:</strong> That&#8217;s an interesting bit of serendipity. There&#8217;s this one character in the company who potentially was the route in.</p>



<p>[00:15:29] <strong>Tom Willmot:</strong> Yeah, and that&#8217;s, almost every big project we did back then, there was some internal champion that had fought the fight to get it taken seriously. And then we could come with the data and the expertise to back up what they were saying.</p>



<p>These days, that&#8217;s definitely changed. Now WordPress just is in the conversation. Which CMS should we move to? WordPress is going to be the one that&#8217;s considered. And so that&#8217;s much easier.</p>



<p>[00:15:48] <strong>Nathan Wrigley:</strong> Is it? Do you not have to do any persuasion anymore?</p>



<p>[00:15:50] <strong>Tom Willmot:</strong> Not as much. I mean, you&#8217;d be surprised. These days WordPress is seen as more secure in the enterprise level. Like, open source generally is seen as more secure than proprietary often. And so that can actually be an advantage.</p>



<p>[00:16:00] <strong>Nathan Wrigley:</strong> That&#8217;s fascinating because my next question was exactly that. How do these big companies view an open source platform? Because it&#8217;s not like, I use the analogy sometimes, it&#8217;s not like they have the bat phone. There&#8217;s no person that they can immediately contact and say, we have something that&#8217;s broken, we need Core to be fixed. There is no bat phone.</p>



<p>And I would&#8217;ve thought, do you remember when, I think it was Log4j or something, there was this thing, maybe it was in 2019 or something like that, and there were all these pictures of this edifice held up by one Lego brick and that person, do you remember?</p>



<p>And that was all about the bat phone. We have nobody to contact to get this done. And I would&#8217;ve thought that would still be an obstacle and a difficult conversation to have. But maybe it&#8217;s just the rock solid nature of Core that kind of allows you to sidestep that.</p>



<p>[00:16:44] <strong>Tom Willmot:</strong> I mean there are just so many big examples now of WordPress being used that it&#8217;s, people will still have some of these concerns. Maybe they still have an idea that WordPress is not used for serious stuff. But then you just show them the huge list of like NASA, the White House, Standard Chartered, the New York Times. You just show them all of these brands, that helps.</p>



<p>[00:17:00] <strong>Jon Ang:</strong> I think there&#8217;s also a bit of that where, we mentioned that Standard Chartered had a senior stakeholder that really wanted WordPress because he&#8217;s used it, he likes it. The difference it makes against proprietary, very large CMSs. I think even right now you continue to have these people become senior stakeholders, to become CTOs of major companies. They&#8217;ve used WordPress maybe in their personal life as well, and they&#8217;re thinking, why wouldn&#8217;t I make this easier for the rest of my team? Why wouldn&#8217;t I make this easier for the rest of the world, and use something that&#8217;s good?</p>



<p>So there&#8217;s a lot of people coming to these spaces, into these roles that could say, yeah, let&#8217;s look at WordPress and figure it out. And just going back into what you were asking around, who did they co-op? I think this is one part, like, so we mentioned we&#8217;ve got this OSPAR compliance. We&#8217;ve probably gotten our SOC2 compliance as well. And we&#8217;re probably the only agency in the world, well, only WordPress agency in the world that has SOC2 as part of our setup.</p>



<p>They look at these things and did something that someone like Human Made is able to support them. You know, even if we are not WordPress support. We are their platform support. And WordPress is part of it. WordPress is what we do. But they call Human Made, I guess, to help them fix things, yeah.</p>



<p>[00:18:07] <strong>Nathan Wrigley:</strong> When you are, and I know this hasn&#8217;t been a pitching process as such, because you&#8217;ve been working with them for a decade or more, but do you ever lean into the whole, no vendor lock-in thing? Is that something that you big up or something that you sort of push to one side? Because obviously you would like to have them as a client forever more, but equally suggesting that, look, if some time down the road, you know, it&#8217;s not working out between us, that&#8217;s a really credible selling point of the CMS. But equally it might not be something that you wish to mention.</p>



<p>[00:18:37] <strong>Jon Ang:</strong> That is actually something we mention in almost every single one of our sales stacks, that we are not there to lock you in. By using WordPress, by working with Human Made, we make everything possible for you to move away if you ever wanted to in the future. And it might be that you still stay with WordPress, but maybe Human Made is not the company you want to work with in the future, that&#8217;s fine.</p>



<p>But your entire platform remains open source. It remains portable, remains yours. And that&#8217;s something we&#8217;re very serious about, to the point that like we have worked with large Fortune 500s to open source what we&#8217;ve built for them, so that it could be maintained beyond Human Made, so that their team could continue to work on it, to extend that into their own product.</p>



<p>And that&#8217;s something that I think is built into our DNA. As part of this, the banks, this Fortune 500s, they believe in this and therefore they don&#8217;t feel locked in, and therefore they feel more compelled to invest in it. Yeah, I think that&#8217;s a lot of that.</p>



<p>[00:19:35] <strong>Nathan Wrigley:</strong> I have this impression, and this is really nothing to do with this conversation. I haven&#8217;t even written it down. But there seems to be a push towards this open banking standard. I don&#8217;t really know much about it, but there seems to be a push to make banking transactions a much more open protocol as well. So that&#8217;s kind of a curious overlap.</p>



<p>[00:19:50] <strong>Tom Willmot:</strong> I mean, I think there is just, the trends over the last decade have been in open source&#8217;s favor, right? That people, we&#8217;re going to talk a bit about this again in our talk, but there&#8217;s, I&#8217;ve now, as a bank, been through multiple decades of being locked into proprietary platforms, I&#8217;ve felt the pain and expense of that. That&#8217;s where Standard Chartered were when we got involved.</p>



<p>They were running a CMS that had been end of lifed by the company, and they were having to pay for that company to keep that CMS on life support just for them. And that was incredibly expensive. The CMS was terrible. It was super painful. I remember hearing early on actually, that they had 40 people on site that they were paying for full-time from the CMS vendor, because every single content edit had to be done by the CMS vendor. They couldn&#8217;t do it themselves.</p>



<p>Absolutely, it&#8217;s in our DNA. Like, we care a lot about growing WordPress, and so there being no lock in a big part of that. But also, all of these customers have felt the pain of lock in so much that it&#8217;s like a huge selling point. We couldn&#8217;t afford to not mention it. It&#8217;s such a benefit of WordPress.</p>



<p>[00:20:48] <strong>Nathan Wrigley:</strong> Okay, so lock in is one thing, but if you had to cherry pick just one or two things that make it easy to pitch WordPress at this level. So the vast majority of the people listening to this podcast will have no experience dealing with clients of the nature of Human Made. But they might be curious, you know, it&#8217;s nice to hear. What are the things at this enterprise level, that you can say, okay, WordPress has this? Just one or two things.</p>



<p>[00:21:12] <strong>Tom Willmot:</strong> Yeah, yeah. I mean, I think there&#8217;s two kind of, I think fairly obvious ones that I&#8217;ll mention up front. One is just how flexible WordPress is. Like, a lot of these proprietary systems are not that flexible and customisation is very hard and expensive. And the reality for big enterprise is they&#8217;ve got a ton of like weird stuff that they need to integrate with. They&#8217;ve got a ton of weird, unique workflows that they need to support. And WordPress is just like, can do all of that really easily. So the flexibility&#8217;s a big selling point.</p>



<p>I think the interesting one that maybe listeners won&#8217;t realise, and which like honestly still surprises me to this day actually, is just how important the usability of WordPress is. I mean enterprise software generally is like known to be terrible to use, and that&#8217;s really true even in the enterprise CMS space. Even today with the like major enterprise CMSs, if you actually see the backends, they&#8217;re all pretty awful. And so often what we do is we go in and we like demo, and they&#8217;re like blown away.</p>



<p>[00:22:04] <strong>Nathan Wrigley:</strong> Genuinely blown away.</p>



<p>[00:22:05] <strong>Tom Willmot:</strong> Yeah.</p>



<p>[00:22:05] <strong>Nathan Wrigley:</strong> That&#8217;s fascinating.</p>



<p>[00:22:07] <strong>Jon Ang:</strong> I think another number you could take away as well is that the market share of WordPress in Japan is something like 80%. 80% of websites in Japan use WordPress. Not a lot of that is enterprise yet, but whenever I do demo just default Gutenberg, I am showing them creating a block, I am making changes to the font sizes, I&#8217;m moving things up and down. They are like, that&#8217;s possible?</p>



<p>And again, like this is just them looking at this, right? We&#8217;ve not even like built the custom blocks, made it tuned to the design. And I take a look at the backend that Tom just mentioned, and it would be something that WordPress was maybe 20 years ago when it was first created and. A lot of this really enterprise CMSs that have not moved on.</p>



<p>So Gutenberg is, I think it&#8217;s a major, major piece that people get interested in. And once you then continue to build that into the way that they think about workflows, content approvals, the way that it integrates into other APIs, and all this visualisation is just showing up, straight up on their backend editor. It&#8217;s just so much more amazing, yeah.</p>



<p>[00:23:10] <strong>Tom Willmot:</strong> This just reminds me of another story from, this is not from Standard Chartered actually, this is another big enterprise customer. When we went in for like the initial discovery, the way that they managed their online catalog, they were like a product company, they had a custom Java application that ran on one Windows XP PC. All of the content edits had to be done on that computer through that Java application.</p>



<p>And so like the idea that multiple people could log in and edit content was a major selling feature for them. Again, like I said, I still get surprised by this. It&#8217;s so easy to take for granted the stuff that WordPress does. But actually, in enterprise, a lot of that is pretty groundbreaking.</p>



<p>[00:23:45] <strong>Nathan Wrigley:</strong> Yeah, it&#8217;s interesting. I recall the joy I found when I first opened up Gutenberg and I could move a paragraph up and down. And I&#8217;ve completely lost that appreciation for that because I&#8217;m in it every single day. And in fact, you get to the point where you only see the things that it can&#8217;t do because you&#8217;re just really familiar with it. But the description that you&#8217;ve just given, it is quite a profound technology, isn&#8217;t it? And because I&#8217;m so familiar with it, can&#8217;t see the wood for the trees.</p>



<p>[00:24:09] <strong>Tom Willmot:</strong> It&#8217;s one of my favorite things, you know, especially in a company like Standard Chartered, there&#8217;s 500 people using that. Their entire job, they&#8217;re spending in that, doing those workflows. And so like the transformation that something like WordPress can bring to just like the quality of their life at work is huge.</p>



<p>[00:24:23] <strong>Nathan Wrigley:</strong> Is there anything though where you have to have the opposite discussion? So you&#8217;ve demonstrated it and they find that there&#8217;s drawbacks to WordPress. Do you have to convince them of things in the WordPress space? So you&#8217;ve just demonstrated a couple of things where it was fairly easy. You know, you show them the block editor, great. Are there bits of WordPress Core that they&#8217;re not that happy with?</p>



<p>[00:24:41] <strong>Tom Willmot:</strong> I think most of that, mostly not with the Core software. Like, I honestly think the Core software is like industry leading. I think the biggest challenge they face goes a little bit back to the bat phone piece, which is that they look at the WordPress ecosystem and it&#8217;s like how am I supposed to interact with this? I need to find a host. I need to find an agency. There&#8217;s all these plugins. Can I use those? What are WordCamps?</p>



<p>And so it&#8217;s like, it&#8217;s pretty difficult for an enterprise to like understand how that should be put together to meet their needs, and how do they procure it? In enterprise software, there&#8217;s usually an organisation, a vendor, that you can go and deal with that&#8217;s packaged all of that very nicely, and can like tell you what the roadmap is.</p>



<p>And so that tends to be the biggest challenge, and that&#8217;s like most of what the work we do is like, how can we package what&#8217;s available in the WordPress ecosystem? But like make it available in a way that these companies are going to understand in the terminology they use, provide them with the roadmaps and the confidence that they need to be able to say like, yeah, okay, we&#8217;re going to use it.</p>



<p>And to some degree hide all the mess and the chaos, which are like, is a real strength for the ecosystem but, yeah, can make it difficult for someone, a digital executive who like doesn&#8217;t really know that much about the ecosystem, and it&#8217;s probably going to get freaked out if they like go to the plugins directory and are like, oh, I need Salesforce. That&#8217;s not a great entry point.</p>



<p>[00:25:57] <strong>Jon Ang:</strong> I think there&#8217;s also a lot of work that we do to help them understand that moving alongside WordPress&#8217;s innovations is good for you. They&#8217;ve spent last, what, 9, 8, 9 years, 10 years, like believing in that. So it doesn&#8217;t take us a lot of effort saying, this is what WordPress is thinking about in the next few versions. Given the amount of Core committers we have on the project, we kind of can get a good sense of where the roadmap of the project is going. And then we kind of tell them ahead of time. So when it does come out in an actual Core version, like a major version update, then they already knew about it, maybe like a year ago. They&#8217;re thinking, okay, great, now we get to use it.</p>



<p>[00:26:33] <strong>Nathan Wrigley:</strong> If I was to look at the Standard Chartered backend, would I recognise it? Would it be something which is entirely familiar to me, or is there just a ton of bespoke stuff in there which makes it, you know, usable for them? So I&#8217;m thinking of things like, you&#8217;ve built custom workflows so that people who are, I don&#8217;t know on the editorial blog team or whatever, they can get their work done more quickly, or permissions which allow them to access this block, particular attribute of that block or not. So really, I&#8217;m just opening it up. Have you built a bunch of custom stuff for them to use?</p>



<p>[00:27:04] <strong>Jon Ang:</strong> There&#8217;s a lot of custom stuff. I&#8217;ll say that our focus in making sure that they stay open and they&#8217;re not bound to, you know, anything that we built that is just not understandable by them. So we continue to use the WordPress language, I guess. Things that feel like it should be part of the block editor, how the workflow should be placed. It should be part of the published button, should it show up as a separate overlay and so on? All of that is taken into the understanding of how WordPress kind of demands it, and we present it in a very similar way.</p>



<p>So even if you have someone that&#8217;s new to the bank, you know, but that person&#8217;s used WordPress before, they should be able to quickly understand how this is all going.</p>



<p>Now obviously there are bank rules, and workflows, and regulations that they have to be like inducted into, but the understanding of how to build a content in the platform that&#8217;s built for them should be something that you could get it understood in 30 minutes or an hour. You would probably see it about 60, 70% as what you would usually see in WordPress. But the rest of it, again, is still built within the WordPress design language.</p>



<p>[00:28:05] <strong>Nathan Wrigley:</strong> So it looks the same. So it looks like a WordPress site, but there&#8217;s obviously some custom bits and pieces, okay.</p>



<p>[00:28:10] <strong>Jon Ang:</strong> Where you would expect things to be will be where we place it, like the extra buttons, extra workflows, and so on. They&#8217;ll be exactly where you think you&#8217;ll be clicking the publish button, for example.</p>



<p>[00:28:19] <strong>Nathan Wrigley:</strong> So, I&#8217;m making air quotes, you are using modern WordPress, I&#8217;m guessing. So this is blocks, this is Site Editing. Tell us a little bit about that. Have you got some sort of custom block functionality in there? And I&#8217;m guessing it&#8217;s a Site Editing theme, a Full Site Editing</p>



<p>[00:28:35] <strong>Jon Ang:</strong> So it is some Full Site Editing, and then the way we&#8217;re set up obviously is that we try to build patterns on Core blocks. So there&#8217;s obviously a lot of custom blocks, but the more we do with the default WordPress blocks. We style them. The more that they benefit when WordPress decides to make some improvements and so on. So that&#8217;s a lot of that.</p>



<p>And part of our talk, we&#8217;ll talk about the integrations of different APIs into the blocks themselves. So, we are pulling, let&#8217;s say investor data, stock prices, and so on directly from all these APIs outside, and then into this charting systems that we&#8217;ve built within Gutenberg, so you get to build a chart within the block editor itself.</p>



<p>And there will be visuals, that you&#8217;ll be able to see in our talk. But I think that&#8217;s probably one of the most customised things out there. But it goes back to what&#8217;s using the virtues for the block editor, gives you the visual of what you&#8217;re trying to create, and then it allows you the press button to create this graph that you want to create within WordPress.</p>



<p>When you see these graphs on the WordPress website that we&#8217;ve created for Standard Chartered, it&#8217;s not an image that someone created in Microsoft Word. It is something that&#8217;s created within WordPress and generated directly inside there. So that&#8217;s basically what, well, part of what we&#8217;ve done for the block editor.</p>



<p>[00:29:47] <strong>Nathan Wrigley:</strong> I always had this impression that the block editor enabled blocks to basically be mini applications. So, in the example of banking, like you said, you put a block onto the page, it&#8217;s hooked up to some API or something, and then you can provide some custom infographic or something like that. You know, you can see it on the back end and you click publish and it looks basically the same on the front end.</p>



<p>The curious thing about that is it seems like only the enterprise can get there because that&#8217;s so much work. But the promise is so profound. These little mini applications, you know, for a real estate agent, like a house block or something like that. And in your case, display information about last year&#8217;s stats for Standard Chartered. I just think that&#8217;s the power of it, but so few people can pull it off because of the time and expense.</p>



<p>[00:30:33] <strong>Jon Ang:</strong> I&#8217;ll say that at an enterprise level, obviously you have to work with someone like Human Made as an enterprise agency to get the maximum out of this very unique API data. You don&#8217;t get access to Morningstar&#8217;s API data as a regular person, for example. But if you&#8217;re talking about, let&#8217;s say a real estate person, there are plugins out there that plug into, let&#8217;s say the country&#8217;s real estate data that automates a lot of this. And these blocks are already built for that.</p>



<p>So I think if you were in that industry and then talking to even a regular agency, they&#8217;ll be able to find these plugins that do a lot of that. And I said, these vendors, for example, they realise the need their software to integrate into WordPress. They will be building blocks that directly integrate that.</p>



<p>An example of that is HubSpot. They do a lot of integration into WordPress, and then you&#8217;ve got blocks to do that. Even if you don&#8217;t have a specific official plugin. Gravity Forms, does a lot of integration into separate ecosystems and so on.</p>



<p>So you get actually all these block transformation integrations and so on with this like popular plugins out there. And the more we use WordPress and the block editor together, I think the more of these blocks will become very accessible to the general public.</p>



<p>[00:31:40] <strong>Nathan Wrigley:</strong> How do you even have that conversation with a client like Standard Chartered though, because they&#8217;re into banking, you are into building websites, there can&#8217;t be a great deal of overlap in, like we would love this to be on the website. Okay, we can build that. How does that conversation even happen? How do you draw out of them, we can build that into a block? Because you are so miles apart in your areas of expertise.</p>



<p>[00:32:02] <strong>Tom Willmot:</strong> Really what we did is we worked with Standard Chartered to help them build a web platform team internally. And so the platform is really run as a 50/50 partnership between Human Made and the web platform team. They then act as the kind of internal service provider to all of these like country markets. Compliance and IT, and all of these other stakeholders, they bring the banking knowledge, and we bring the WordPress knowledge. It&#8217;s like we&#8217;ve got to work very, very closely together to make the most of that.</p>



<p>[00:32:30] <strong>Nathan Wrigley:</strong> So it&#8217;s a case of often them coming to you saying, can this be done?</p>



<p>[00:32:33] <strong>Tom Willmot:</strong> Yeah. And, you know, we&#8217;ve been running like two week sprints now for 8 years or something. So it&#8217;s like a very deep, agile relationship.</p>



<p>[00:32:40] <strong>Nathan Wrigley:</strong> This project, fingers crossed, has no end goal. There&#8217;s no date at which it&#8217;s done.</p>



<p>[00:32:45] <strong>Tom Willmot:</strong> No, exactly.</p>



<p>[00:32:46] <strong>Nathan Wrigley:</strong> Every two weeks, lets see we&#8217;re at.</p>



<p>[00:32:48] <strong>Tom Willmot:</strong> WordPress obviously has a pretty fast paced and iterative development process, right? There&#8217;s new stuff coming out pretty regularly. The bank has got aggressive growth targets and marketing plans across all of those countries. I mean, something else we didn&#8217;t talk about in terms of the lock-in, some of these country level teams will have their own agency relationships, maybe a marketing agency or something.</p>



<p>And so we also act as a centralised agency coordinator service so that those other agencies can plug into the right bits of the website, but in a safe way that complies with the development processes and things that are necessary.</p>



<p>[00:33:20] <strong>Nathan Wrigley:</strong> Just to finish it off, a few little questions around accessibility and multilingual and things like that. So multilingual, I suppose is fairly self-evident. You&#8217;ve got to translate this website into just about every language on the planet, I would&#8217;ve imagined. So that&#8217;s a whole body of work.</p>



<p>[00:33:36] <strong>Tom Willmot:</strong> One of the ways actually that, I mean, multilingual is somewhat easier at this big enterprise level because essentially every country just has its own team and its own website. And so actually multilingual is just solved with multi-site. Standard Chartered do not translate their content, they rewrite it in that language. Different people write the content using multi-site.</p>



<p>[00:33:52] <strong>Nathan Wrigley:</strong> But in terms of accessibility, very hot topic in the year 2025. And I&#8217;m guessing, again, goes back to compliance. I&#8217;m guessing there&#8217;s no missteps here. You can&#8217;t get this wrong. So just tell us about what&#8217;s been going on in that sphere.</p>



<p>[00:34:06] <strong>Jon Ang:</strong> I think the way that we&#8217;re set up as well is that every single team has their own site, which means that every deploy gets checked in terms of accessibility. So we would expect that any designs that come along is accessible in the first place. So they&#8217;ve done their work. And then when we actually build the front end for it, and a part of their team also builds the front end, it goes through all this accessibility checker stuff that we&#8217;ve already built across time that I think feeds the WCAG to 2.2 AA Plus standards.</p>



<p>So every single deploy is checked against that to make sure it is accessible. At any point in time where this looked at and said, okay, there should be improvements that we need to be making. It&#8217;s part of the whole two week adjustments that we continue to make sure that all these like websites are accessible.</p>



<p>It doesn&#8217;t matter whether it is a Chinese website or Japanese website, where maybe like they&#8217;re not held to the same EU accessibility laws, but every piece is actually taken to the same level and held out to the belief that, if we&#8217;re accessible in a specific space, that&#8217;s should be the same everywhere else.</p>



<p>[00:35:06] <strong>Tom Willmot:</strong> You know, something to say on accessibility, often listeners will probably feel this. It can be difficult to get clients to care about it enough to pay you to do the work necessary to make it accessible, right? That&#8217;s a common problem. It&#8217;s one of the really nice things about working with a heavily compliance regulated industry like Standard Chartered. Like, actually, they really care about it. And so they really do the work. They want to invest to make sure the platform can enable them and support them as much as possible to like meet their compliance requirements, yeah.</p>



<p>[00:35:31] <strong>Nathan Wrigley:</strong> Has the more recent WordPress past, let&#8217;s say since about September last year, has that caused any ripples in the nature of the work that you do? Or has it required a different relationship with your clients, more explaining what&#8217;s going on in the community? Has there been any kind of blowback from the pace of Core amendments? I think we&#8217;re maybe getting more back on track with that. But I just wondered if there were any ripples?</p>



<p>[00:35:58] <strong>Tom Willmot:</strong> The dropping from three to one releases a year, like I think in many parts of enterprise, it&#8217;s kind of helpful actually, like three releases a year is pretty fast. And so certainly that&#8217;s not raising eyebrows at the enterprise level.</p>



<p>I think just like, we&#8217;ve got a mix of clients, some who are the kind of stakeholder who loves WordPress and really wants it, and so they&#8217;re perhaps a little bit more plugged in. And so, yeah, they&#8217;ve got more questions. And then you&#8217;ve got the other 50% of clients who know nothing about it.</p>



<p>[00:36:22] <strong>Jon Ang:</strong> And I think that when we are building these enterprise websites, right, we are kind of playing at a slightly different playing field. So they&#8217;re not using the typical consumer level plugins and so on. They&#8217;re using the service that we&#8217;ve provided them. So when you look at this, they look at this as the Human Made WordPress thing that we&#8217;ve been doing. And then when they look at whether they can trust this thing, they&#8217;re looking at the service that we provide. So they&#8217;re not concerned about what&#8217;s going else out there. They&#8217;re concerned about whether we have the ability to continue providing this service and nothing has said otherwise, yeah.</p>



<p>[00:36:53] <strong>Nathan Wrigley:</strong> Okay, very last question then. How much of this can be contributed back into the project? Are there any facets of this, little bits over here or over there that can be contributed back to the community? I don&#8217;t know where they would land. And if that&#8217;s a question you can&#8217;t answer, how does Human Made take on the position of contributing back? What&#8217;s your posture on that?</p>



<p>[00:37:13] <strong>Jon Ang:</strong> So Standard Chartered was definitely one of the earlier adopters of Gutenberg. But I think one of the earliest, earliest adopters we had was a part of Disney, where we were using version 0.2 beta of Gutenberg. It was not much in Core. We&#8217;re talking about a very beta version of it. So we were building sidebars, we were building like all these things that, Gutenberg didn&#8217;t have yet. It was just paragraphs and so on, like back then.</p>



<p>So we were doing that and we were contributing back the idea of it, back to the project. And so you&#8217;re going to hear from our talk how we&#8217;ve already completed collaborative editing in Human Made. We are now talking to people outside about contributing the idea back to it as well. I think the growth of the block editor itself has been stuff that we are, you know, pushed back in as well. And then I&#8217;ll say that&#8217;s one part.</p>



<p>The other part as well is the security aspects of stuff. So banks are checked on CVEs and all these pieces, and their security team are on contact points with us on a regular basis. So when we do learn of these things that they&#8217;re concerned about, and this is something that we&#8217;ve then fixed for them, we then contribute it back to the project.</p>



<p>So I know John Blackbourn works in Human Made, he&#8217;s the WordPress Security Team lead. Big part of his job is making sure that the projects that we work on is secure, but the stuff that we have secured then afterwards is contributed back to the WordPress project. So there&#8217;s a lot of that ongoing.</p>



<p>[00:38:30] <strong>Nathan Wrigley:</strong> Do you blow your own trumpet about contributions back or do you like to keep it quiet? I was having a conversation with somebody in the Drupal space recently, and it seems like there&#8217;s this whole thing that they&#8217;ve got there where, if you contribute, you accrue benefits in terms of, you attend an event like a Drupal Con and you can sponsor because you did some things. And so you had to blow your own trumpet in a way to be acknowledged as having done the things.</p>



<p>I don&#8217;t know what your position on that is, whether you like to sort of shout it from the rooftops. We did this, we contributed this back, or I don&#8217;t know if it&#8217;s more softly, softly than that.</p>



<p>[00:39:00] <strong>Tom Willmot:</strong> Yeah, I think I&#8217;m quite a fan actually of the maker taker stuff that Drupal does. Like, I think they do some really interesting things to benefit maker organisations, which I think has the right incentives then associated with it. Something I learned about, they&#8217;ve worked with some of the federal and public sector contracting authorities to preference maker organisations in the RFP processes that they do. So I think stuff like that&#8217;s actually really good. I would like to see some of that on the WordPress side.</p>



<p>We really do trumpet it when we&#8217;re talking to clients because it&#8217;s a big part of our sales pitch, right? That&#8217;s how we contribute back to WordPress. We&#8217;re a part of the Security Team. That means that we can use Gutenberg way before it&#8217;s shipped in Core, which means by the time it&#8217;s shipping in Core, Standard Chartered are already using it. They&#8217;re already familiar with it. There&#8217;s not a big expensive transition. It&#8217;s not a shock.</p>



<p>The collaborative editing that Jon mentioned, they needed real time editing in the CMS for multiple users, and we were able to take the like alpha version that the Core team are working on, finish that off and do the work to get that running in production.</p>



<p>[00:39:58] <strong>Nathan Wrigley:</strong> Yeah, just snuck that in. I mean, that&#8217;s a whole episode.</p>



<p>[00:40:01] <strong>Tom Willmot:</strong> Yeah. And you know, that&#8217;s really interesting. They&#8217;ve been running that in production for a year or more. So then, yeah, there&#8217;s obviously stuff there that is like a two-way thing. So some stuff is like, okay, we build something unique and that&#8217;s like released open source, but actually more of it is just we are using the stuff that&#8217;s coming ahead of time, so then what we are learning can feed back, and make sure that when that is ready, it&#8217;s like already learnt the enterprise lessons it needs to learn to be relevant or whatever, yeah.</p>



<p>[00:40:26] <strong>Nathan Wrigley:</strong> Well, that was a really, honestly, I got so much out of that. Thank you very much, Tom Willmot and Jon Ang for talking to me today all about your project with Standard Chartered. Thank you very much.</p>



<p>[00:40:35] <strong>Tom Willmot:</strong> Great to be here and a great way to kick off the day. We&#8217;ve recorded as our first thing for the conference, so that&#8217;s pretty cool.</p>



<p>[00:40:41] <strong>Jon Ang:</strong> Thank you for helping us walk through our talk as well. So a lot of what we mentioned, it&#8217;s probably going to be mentioned our talk. But it&#8217;s been good to be here.</p>
</div></details>



<p>On the podcast today we have <a href="https://humanmade.com/who-we-are/tomwillmot/">Tom Willmot</a> and <a href="https://humanmade.com/who-we-are/jonang/">Jon Ang</a>.</p>



<p>Tom is the co-founder of Human Made, an enterprise WordPress agency that’s been pushing the boundaries of what WordPress can do since its inception. Jon is also with Human Made, and together they bring a huge amount of experience working with major clients on large-scale projects. At this year’s WordCamp Europe in Basel, they presented a case study: their long-term, continually evolving work with the global banking giant Standard Chartered.</p>



<p>Most listeners might not be working at the scale of 85,000 employees, 70 countries, and hundreds of millions of page views a month, but Tom and Jon are here to share insights from the top end of WordPress implementation.</p>



<p>They explain how Human Made helped Standard Chartered shift from proprietary CMS lock-in to a flexible, open-source, Gutenberg-powered WordPress solution that serves as the main web platform for the bank across all its markets.</p>



<p>We talk about the unique compliance and security challenges of working in the banking sector, what it takes to persuade giant enterprises that WordPress is ‘not a toy’, and how to support hundreds of CMS users with custom workflows and integrations.</p>



<p>Tom and Jon discuss the specifics of scaling WordPress for the enterprise, from accessibility and multilingual setups to custom block development and real-time collaborative editing.</p>



<p>We also hear how Human Made works with clients to contribute innovations and security improvements back to the WordPress community, ensuring that lessons learned at the enterprise level benefit everyone.</p>



<p>If you’re curious about how WordPress powers mission-critical web infrastructure for some of the world’s biggest organisations, or how you might pitch WordPress for enterprise use, this episode is for you.</p>



<h2 class="wp-block-heading">Useful links</h2>



<p><a href="https://humanmade.com/">Human Made</a></p>



<p><a href="https://www.sc.com/en/">Standard Chartered</a></p>



<p>Tom and Jon&#8217;s WordCamp Europe presentation: <a href="https://europe.wordcamp.org/2025/session/banking-on-wordpress-inside-a-ftse-50-banks-global-platform/">Banking on WordPress: Inside a FTSE 50 Bank’s Global Platform</a></p>



<p><a href="https://humanmade.com/work/standard-chartered-banking-on-the-future/">Standard Chartered: banking on the future</a></p>";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Wed, 18 Jun 2025 14:00:00 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:14:"Nathan Wrigley";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:14;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:94:"Open Channels FM: Tihomir Dmitrović’s Journey: Integrating AI Agents in WordPress Using MCP";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:32:"https://openchannels.fm/?p=99060";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:96:"https://openchannels.fm/tihomir-dmitrovics-journey-integrating-ai-agents-in-wordpress-using-mcp/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:196:"In this episode of Emerging Tech, host Dave talks to Tole, an innovative developer who shares his journey from mobile to WordPress. He discusses his MCP integration in ConvoWorks for AI workflows.";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Wed, 18 Jun 2025 13:41:37 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:5:"BobWP";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:15;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:70:"Akismet: reCAPTCHA not stopping spam? Here’s the perfect alternative";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:28:"http://akismet.com/?p=284427";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:53:"https://akismet.com/blog/recaptcha-not-stopping-spam/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:10424:"<p>Have you enabled reCAPTCHA thinking it would shield you against spam, only to find bots slipping through? You’re not alone. Those little puzzles prove that some visitors are human, but they don’t always stop the spam messages.</p>


<p>It may be disappointing to hear, but reCAPTCHA seriously annoys site visitors while only doing a moderate job of preventing spam. You (and your visitors) deserve something much better. </p>



<span id="more-284427"></span>



<h2 class="wp-block-heading" id="common-issues-with-recaptcha ">Common issues with reCAPTCHA </h2>



<p>Though a popular option, reCAPTCHA doesn’t always deliver the spam protection you need.  Let’s look at just a few key reasons why this is the case, from user frustration and accessibility concerns to bots getting through.</p>



<h3 class="wp-block-heading" id="1-user-friction-and-poor-accessibility ">1. User friction and poor accessibility </h3>


<p>For those caught in an endless loop of trying to find all the squares that include a bicycle, it’s no surprise that user frustration tops the list of reasons that reCAPTCHA isn’t a great option.</p>

<p>In fact, a <a href="https://web.stanford.edu/~jurafsky/burszstein_2010_captcha.pdf" rel="noreferrer noopener" target="_blank">study by Stanford</a> showed that humans need an average of ten seconds to solve Google reCAPTCHAs and up to 30 seconds for audio. This study showed that users abandon the page 29% of the time without even trying to solve it. Imagine losing a sale because your customer couldn’t pass the test!</p>

<h3 class="wp-block-heading" id="2-low-effectiveness-against-advanced-bots-and-captcha farms">2. Low effectiveness against advanced bots and CAPTCHA farms</h3>

<p>While effective when it was first released, AI bots can now bypass reCAPTCHA with 99.8% accuracy, according to the <a href="https://merchantriskcouncil.org/learning/resource-center/member-news/blog/2024/paypal-captcha-evolution-and-effectiveness" rel="noreferrer noopener" target="_blank">Merchant Risk Council</a>. </p>

<p>Where bots aren’t effective, there are even entire “<a href="https://www.f5.com/labs/articles/cisotociso/i-was-a-human-captcha-solver" rel="noreferrer noopener" target="_blank">CAPTCHA farms</a>” that use human labor to bypass CAPTCHAs at astonishing rates. </p>


<p>Either way, you’ll likely be bogged down with tons of annoying, dangerous spam — even with reCAPTCHA.</p>


<h3 class="wp-block-heading" id="3-a-negative-impact-on-site-performance-and-load times">3. A negative impact on site performance and load times</h3>


<p>On the internet, every second counts. Visitors won’t wait more than a couple of seconds for your site to load before moving on. </p>



<p>That’s why site owners put so much effort into optimizing images, finding a high-performing host, installing the right speed plugins, and more. </p>


<p>Unfortunately, using reCAPTCHA can undo a lot of that hard work. <a href="https://pagepipe.com/how-google-no-captcha-captcha-slows-down-your-mobile-site/" rel="noreferrer noopener" target="_blank">PagePipe’s testing</a> found that reCAPTCHA adds a full half&#8209;second lag to a site’s load time, costing you visitors and likely customers. After all, <a href="https://blog.google/products/admanager/the-need-for-mobile-speed/" rel="noreferrer noopener" target="_blank">53% of mobile users</a> abandon sites that take over three seconds to load.</p>

<p>Plus, this likely has a serious (negative) impact on Core Web Vitals. This can drop your rankings so fewer visitors find your slow&#8209;loading site to begin with.</p>


<h3 class="wp-block-heading" id="4-false-positives-galore ">4. False positives galore </h3>



<p>When reCAPTCHA flags a submission as a false positive, you’re inadvertently telling your visitors that they aren’t even human. </p>



<p>For example, some reCAPTCHAs flag super fast form submissions under the assumption that, when someone fills out a form too quickly, it must be a bot. But there are some people who are simply fast typers — they could be blocked from your site because of their typing prowess! </p>


<p>The inconvenience and potential lost sales that result from false positives simply aren’t worth the risk.</p>

<h2 class="wp-block-heading" id="akismet-is-your-superior-spam-protection solution">Akismet is your superior spam protection solution</h2>


<p>With the drawbacks of reCAPTCHA well understood, let’s now think about a scenario where you don’t have to worry about losing clients or driving away new subscribers by confronting them with accusations of being bots. </p>



<p>The solution <em>does </em>exist, and it’s called Akismet. </p>



<p>Akismet is an anti-spam tool that works behind the scenes on nearly any type of site (WordPress, Drupal, etc.) to detect and block spam in real time. </p>


<p>Its advanced AI algorithm is constantly learning from the network of over 100 million protected sites to maintain an incredible 99.999% accuracy rate.</p>


<p>It doesn’t slow down your site, doesn’t challenge your visitors with annoying tests (it’s in the background, remember?), and can be customized for your individual site with the opportunity for you to manually review submissions and provide feedback. </p>



<p>To date, it’s blocked over 550 billion spam messages, with 76 million pieces of additional spam annihilated each day. Let’s look at how Akismet accomplishes this: </p>



<h3 class="wp-block-heading" id="next-generation-ai-and-machine-learning-technology ">Next-generation AI and machine learning technology </h3>


<p>Akismet’s AI uses the content within a form submission to identify automated spam attempts and bots. In fact, their advanced machine learning technology analyzes real spam data from more than 100 million users and is always improving.</p>


<h3 class="wp-block-heading" id="real-time-analysis-of-user-submissions ">Real-time analysis of user submissions </h3>



<p>Akismet analyzes form submissions in real time, making split-second decisions about whether a comment or form entry is legitimate or spam. This keeps your site free of spam without any work required on your end. </p>



<h3 class="wp-block-heading" id="99-99-spam-detection-accuracy ">99.99% spam detection accuracy </h3>



<p>Akismet has a 99% spam detection accuracy rate with the track record to back up the claim. Notably, <a href="https://akismet.com/blog/convertkit-customerstory/">Kit switched to Akismet</a> and saved 20 hours per customer every month without losing any leads. That kind of performance shows how effective spam protection doesn’t have to come at the cost of user experience. </p>


<h3 class="wp-block-heading" id="the-largest-spam-database-in-the world">The largest spam database in the world</h3>

<p>Akismet is powered by the largest spam database on the internet. Every time it catches a new spam pattern, it feeds that data back into its systems, improving accuracy across all the sites it protects.</p>

<h2 class="wp-block-heading" id="core-advantages-of-akismet-over recaptcha">Core advantages of Akismet over reCAPTCHA</h2>

<p>Now that you’ve seen how Akismet works, let’s zoom in on the key differences between it and reCAPTCHA.</p>

<h3 class="wp-block-heading">1. Content&#8209;based analysis, which targets spam (instead of users)</h3>


<p>Akismet analyzes content directly rather than relying on click-based tests or suspicious IP lists. It looks at the substance of the message and compares it against patterns of known spam behavior, which makes it far more effective at catching the source. </p>


<p>This also means that it doesn’t get in the way of real users because it’s not constantly passing judgment on their behavior (which slows down sites) or asking them to complete tests.</p>

<h3 class="wp-block-heading" id="2-zero-friction-for-site visitors">2. Zero friction for site visitors</h3>

<p>Friction slows down conversions and that’s precisely what reCAPTCHA causes. It introduces friction and interrupts your visitors with tedious tasks before they can even submit a form. If they get it wrong once, many won’t bother trying again.</p>

<p>Akismet removes that friction. It doesn’t bother users with puzzles, challenges, or visual tests. It runs quietly in the background, allowing visitors to stay focused and engaged without even noticing it.</p>


<h3 class="wp-block-heading" id="3-ongoing-adaptation-to-new-spam-patterns ">3. Ongoing adaptation to new spam patterns </h3>



<p>One of the most impressive benefits of Akismet often goes unnoticed, and that’s its ability to adapt to new spam methods and bots in real time. Its machine learning engine takes notes from every spam attempt it blocks — across all the websites it protects. </p>


<p>That means it’s not just reacting to spam. It’s predicting and adapting in real time, keeping your forms clean no matter how spam trends shift.</p>


<h3 class="wp-block-heading" id="4-zero-impact-on-performance-and-site-speed ">4. Zero impact on performance and site speed </h3>


<p>Unlike reCAPTCHA, which can add lag to your forms and frustrate visitors with slow load times, Akismet promises <a href="https://akismet.com/features/#:~:text=zero%20impact%20on%20site%20speed">zero impact on performance</a>. Since it uses the cloud to store data, Akismet won’t affect your site speed, bounce rates, or conversion rates. Compare that to the half&#8209;second load&#8209;time drag reCAPTCHA brings to the table and the choice becomes clear.</p>


<h2 class="wp-block-heading" id="recaptcha-not-stopping-spam-switch-to-akismet-in-minutes ">reCAPTCHA not stopping spam? Switch to Akismet in minutes </h2>


<p>Why settle for a tool that slows down your site, frustrates visitors, and still lets spam slip through? Thankfully, with Akismet, you don’t have to.</p>

<p>Getting started only takes a few minutes. Simply:</p>


<ol class="wp-block-list"><li>Remove the CAPTCHAs that turn visitors away.</li>

<li>Activate Akismet on your WordPress site.</li>

<li>Let Akismet handle the spam while you focus on growing your site and improving conversions.</li></ol>


<p>Ready to stop making your visitors prove they’re human? <a href="https://akismet.com/pricing/">Add Akismet to your site</a> and see how convenient set&#8209;it&#8209;and&#8209;forget&#8209;it spam protection can be.</p>";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Wed, 18 Jun 2025 12:00:00 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:11:"Jen Swisher";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:16;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:104:"Open Channels FM: Finding Your Community: The Challenge of Reaching WooCommerce End Users vs. Developers";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:47:"https://openchannels.fm/?post_type=blog&p=97448";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:109:"https://openchannels.fm/finding-your-community-the-challenge-of-reaching-woocommerce-end-users-vs-developers/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:356:"When it comes to building successful plugins and products for WordPress or WooCommerce, everyone talks about the importance of “community.” But what does that really mean—and who should you be building community with? In a recent episode of Woo Product Chat, hosts Katie Keith, James Kemp, and special guest Jonathan Wold dove deep into the [&#8230;]";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Wed, 18 Jun 2025 11:47:18 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:5:"BobWP";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:17;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:103:"Open Channels FM: How to Tell If Your WordPress News Is Really Newsworthy with Rae Morey and Adam Weeks";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:32:"https://openchannels.fm/?p=99023";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:110:"https://openchannels.fm/how-to-tell-if-your-wordpress-news-is-really-newsworthy-with-rae-morey-and-adam-weeks/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:213:"In the first of the series, Media Playbook, Rae and Adam discuss how to connect WordPress businesses with the media. They share tips on crafting newsworthy stories and building relationships for better visibility.";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Tue, 17 Jun 2025 09:51:08 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:5:"BobWP";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:18;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:55:"Open Channels FM: We Are Welcoming Woo As a New Sponsor";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:32:"https://openchannels.fm/?p=98641";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:62:"https://openchannels.fm/we-are-welcoming-woo-as-a-new-sponsor/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:196:"Since 2018, WooCommerce has been a vital partner for Do the Woo, promoting the brand and providing resources. They will now sponsor Open Channels FM to strengthen community engagement and support.";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Mon, 16 Jun 2025 08:31:00 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:5:"BobWP";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:19;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:131:"Gutenberg Times: Gutenberg Changelog 118 – WordCamp Europe, WordPress New AI Team, the Pride Photo Drive, Gutenberg 20.9 and 21.0";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:53:"https://gutenbergtimes.com/?post_type=podcast&p=40707";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:103:"https://gutenbergtimes.com/podcast/gutenberg-changelog-118-wordpress-new-ai-team-the-pride-photo-drive/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:44750:"<p>Hosted by Birgit Pauli-Haack, with special guest Anne McCarthy, this episode dives into recent happenings in the WordPress ecosystem, including updates from WordCamp Europe, the launch of the new WordPress AI Team, the Pride Photo Drive initiative, and the latest Gutenberg releases (20.9 and 21.0).</p>



<h2 class="wp-block-heading"><strong>WordCamp Europe Recap</strong></h2>



<p>The community celebrated new milestones, including all workshops being recorded and promptly published to WordPress TV, making it easier for everyone to catch up. Notable sessions covered digital freedom, block development, and innovative ways to extend WordPress without custom blocks. There was also a special mention of the WordPress Campus Connect pilot at the University of Pisa, enabling students to earn credits through WordPress contributions.</p>



<h2 class="wp-block-heading"><strong>WordPress AI Team Launch</strong></h2>



<p>WordPress has officially formed a core AI Team, supported by both Automattic and Google contributors, focusing on foundational tools and integrations to bring AI capabilities to the platform. The team is working on projects like the AI Services plugin, the Model Context Protocol (MCP), and the WP Feature API, each designed to provide standardized and extensible AI solutions for the WordPress ecosystem.</p>



<h2 class="wp-block-heading"><strong>Pride Photo Drive</strong></h2>



<p>Anne McCarthy introduced the Pride Photo Drive: an open photo submission event to boost LGBTQ+ representation in the WordPress Photo Directory. The initiative encourages everyone (not just the LGBTQ+ community) to contribute, with fun incentives and cash prizes, emphasizing the importance of diverse, high-quality imagery for web creators.</p>



<h2 class="wp-block-heading"><strong>Gutenberg 20.9 &amp; 21.0 Releases</strong></h2>



<p>The latest Gutenberg plugin releases bring a host of improvements and enhancements:</p>



<ul class="wp-block-list">
<li>A shift towards more modern and maintainable codebase (SASS modules),</li>



<li>Usability changes to block settings and tool panels,</li>



<li>Continued iteration on “content-only” editing for simpler, safer user experiences,</li>



<li>Accessibility improvements and bug fixes suggested by new and long-time contributors,</li>



<li>Ongoing expansion of the Interactivity API for richer client-side experiences.</li>
</ul>



<h2 class="wp-block-heading"><strong>Community &amp; Contribution</strong></h2>



<p>Anne and Birgit emphasize the power of direct community feedback—how user suggestions shape features and workflows. There&#8217;s an open call for more engagement, hallway hangouts, and broad collaboration beyond just in-person events.</p>



<p><em>This episode is packed with optimism and opportunities for WordPress users and contributors of all backgrounds to get involved—whether that’s through new tech like AI, creative community projects, or by shaping the future of Gutenberg.</em></p>



<p><a href="https://gutenbergtimes.com/podcast/gutenberg-changelog-118-wordpress-new-ai-team-the-pride-photo-drive/#shownotes">Show Notes</a> / <a href="https://gutenbergtimes.com/podcast/gutenberg-changelog-118-wordpress-new-ai-team-the-pride-photo-drive/#transcript">Transcript</a></p>



<ul class="wp-block-list">
<li>Editor: <a href="https://www.linkedin.com/in/sandy-reed/">Sandy Reed</a></li>



<li>Logo: <a href="https://markuraine.com/">Mark Uraine</a></li>



<li>Production: <a href="https://icodeforapurpose.com">Birgit Pauli-Haack</a></li>
</ul>



<p class="has-larger-font-size" id="shownotes"><strong>Show Notes</strong></p>



<h3 class="wp-block-heading">Special Guest: Anne McCarthy</h3>



<ul class="wp-block-list">
<li><a href="https://profiles.wordpress.org/annezazu/">WordPress profile</a></li>



<li><a href="https://www.linkedin.com/in/anneguionmccarthy/">LinkedIn</a></li>



<li>Personal Blog: <a href="https://nomad.blog/">Nomad.blog</a></li>



<li><a href="https://gutenbergtimes.com/podcast/gutenberg-changelog-111-developer-hours-playground-and-collaborative-editing/">Gutenberg Changelog #111 – Gutenberg 19.6 and 19.7, Developer Hours, Playground, and Collaborative Editing</a></li>



<li><a href="https://gutenbergtimes.com/podcast/gutenberg-changelog-87/">Gutenberg Changelog #87 – Patterns, Gutenberg 16.3 and WordPress 6.3.</a></li>
</ul>



<h3 class="wp-block-heading">Celebrating Pride Month</h3>



<ul class="wp-block-list">
<li><a href="https://lgbtqpress.com/2025/05/share-your-pride-photo-drive-is-back-for-2025/">Share your Pride Photo Drive is back for 2025</a></li>



<li>WordPress photo directory<a href="https://wordpress.org/photos/search/ShareYourPride2024/"> ShareYourPride 2024</a></li>
</ul>



<h3 class="wp-block-heading">WordPress AI Team</h3>



<ul class="wp-block-list">
<li><a href="https://wordpress.org/news/2025/05/announcing-the-formation-of-the-wordpress-ai-team/">Announcing the Formation of the WordPress AI Team</a></li>



<li><a href="https://make.wordpress.org/ai/2025/05/23/welcome-to-the-core-ai-team-blog/">Welcome to the Core AI Team Blog</a></li>



<li><a href="https://make.wordpress.org/ai/2025/06/03/introducing-the-ai-team-hallway-hangout-recap/">Introducing the AI Team – Hallway Hangout Recap</a></li>



<li><a href="https://wordpress.org/plugins/ai-services/">AI Services</a></li>



<li><a href="https://github.com/mcp-wp/">MCP for WordPress</a></li>



<li><a href="https://pascalbirchler.com/wordpress-model-context-protocol-mcp/">Enabling AI-Powered WordPress Development with WP-CLI and the Model Context Protocol (MCP)</a></li>



<li><a href="https://github.com/Automattic/wp-feature-api">WP Feature API</a></li>



<li><a href="https://www.youtube.com/watch?v=V08qhLL19cM">The WordPress AI fightback begins!</a></li>
</ul>



<h3 class="wp-block-heading">WordCamp Europe Recordings</h3>



<ul class="wp-block-list">
<li><a href="https://wordpress.tv/2025/06/09/fireside-chat-with-mary-hubbard-and-matt-mullenweg/">During Fire side Chat</a> with Mary Hubbard and Matt Mullenweg</li>



<li><a href="https://wordpress.tv/2025/06/07/wordpress-without-borders-the-fight-for-digital-freedom/">WordPress without Borders – The Fight for Digital Freedom</a></li>



<li><a href="https://wordpress.tv/2025/06/07/the-block-developer-cookbook-wceu-2025-edition/">The Block Developer Cookbook: WCEU 2025 Edition</a></li>



<li><a href="https://wordpress.tv/2025/06/07/wordpress-gems-for-devs-interactivity-api-2/">WordPress Gems around the Interactivity API</a>.</li>



<li><a href="https://wordpress.tv/2025/06/07/why-block-themes-make-woocommerce-stores-better/">Why Block Themes Make WooCommerce Stores Better</a></li>



<li><a href="https://wordpress.tv/2025/06/07/do-you-really-need-a-custom-block/">Do you really need a custom block</a></li>



<li>All recordings from <a href="https://wordpress.tv/event/wordcamp-europe-2025/">WordCamp Europe on WordPressTV</a></li>
</ul>



<h2 class="wp-block-heading">Gutenberg Releases</h2>



<ul class="wp-block-list">
<li><a href="https://developer.wordpress.org/news/2025/06/whats-new-for-developers-june-2025/">What’s New for Developers (June 2025)</a></li>



<li><a href="https://make.wordpress.org/core/2025/06/11/whats-new-in-gutenberg-20-8-and-20-9/">What’s new in Gutenberg 20.8 and 20.9?</a></li>



<li><a href="https://make.wordpress.org/core/2025/06/11/whats-new-in-gutenberg-21-0-11-june/">What’s new in Gutenberg 21.0?</a></li>



<li>I<a href="https://github.com/WordPress/gutenberg/issues/70372">nteractivity API: Backport of WooCommerce&#8217;s Interactivity API improvements #70372</a><br /></li>
</ul>



<p class="has-large-font-size">Stay in Touch</p>



<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow">
<ul class="wp-block-list">
<li>Did you like this episode? <a href="https://lovethepodcast.com/gutenbergchangelog"><strong>Please write us a review </strong></a></li>



<li>Ping us on X (formerly known as Twitter) or send DMs with questions. <a href="https://twitter.com/gutenbergtimes">@gutenbergtimes </a>and <a href="https://twitter.com/bph">@bph</a>.</li>



<li><em>If you have questions or suggestions, or news you want us to include, send them to <a href="mailto:changelog@gutenbergtimes.com">changelog@gutenbergtimes.com</a>. </em></li>



<li><em>Please write us a review on iTunes! <a href="https://gutenbergtimes.com/itunes/">(Click here to learn how)</a></em></li>
</ul>
</div></div>



<p class="has-large-font-size" id="transcript"><strong>Transcript</strong></p>



<p><em>Birgit Pauli-Haack</em>: Ladies and gentlemen, welcome to our 118th episode of the Gutenberg Changelog podcast. In today&#8217;s episode, we will talk about WordCamp Europe and the WordPress new AI team, and Pride Photo Drive and the Gutenberg 20.9 and 21.0 releases. I&#8217;m your host, Birgit Pauli-Haack, curator at the Gutenberg Times, a developer advocate at Automattic, and core contributor to the WordPress open source project. With me today, relatively fresh back from the sabbatical, is Anne McCarthy. Thank you, Anne. Welcome back and I&#8217;m thrilled you&#8217;re on the show. How are you today?</p>



<p><em>Anne McCarthy</em>: Thank you for having me. It is incredible to be back from sabbatical and also to be back to contributing with sponsorship, which is amazing. I was trying to do it coming back without it and to have to have that change so quickly. Coming back from sabbatical has been so energizing combined with Pride Month, so I can&#8217;t complain. I&#8217;m just excited to get into stuff and excited to be back in this space talking about this important work.</p>



<p><em>Birgit Pauli-Haack:</em> Wonderful. Yeah, no, we&#8217;re all back contributing. It will be. We still have to kind of figure that out. I know that every team is kind of trying to get unplugged from what they were doing as part so they can contribute back. So the last time you were on the show, it was in November last year. Episode 111. So, so much has changed for the project and for you. What are you now working on at Automattic and respectively for WordPress? Yeah.</p>



<p><em>Anne McCarthy: </em>So my job title has shifted a bit as well, to align with some of the changes that have happened. So we. I am now an architecture wrangler is the title I&#8217;m rolling with right now. And essentially the core of my job is the same. I&#8217;m looking across Automattic the community to find shared patterns, to accelerate work, to do work and to connect work. And so trying to make sure we&#8217;re moving in the same direction in the project. So working on things like roadmaps, breaking down work, helping for the future, teams get into contributing and figuring out important projects they can work on and providing support there, as well as collecting user feedback across different places and how it impacts things. So if we hear something, for example, from like an enterprise client, I recently did this. A couple weeks ago, there was a bug that came out from an enterprise client. I said, hey, who else has dealt with this? Aaron Jordan used to in publishing. What do you think? Hey, can we get someone to work on this? What are you all seeing? What feedback are you seeing? Here&#8217;s the feedback I&#8217;m seeing. So I&#8217;m still doing the same kind of work. Cool thing is now instead of working with about 100 engineers, I&#8217;m working with about 300, about 50 different teams. So internally there&#8217;s a lot more spread. But I&#8217;m really excited because it can really help influence and move faster on some of the stuff we do in the core project. So instead of things being a bit divorced and separated, especially from customer feedback and customer needs, we can now, you know, using Automattic spread of customers, use that to bring things that are foundational for all WordPress, because we cover so many different use cases between themes and plugins and hosting and enterprise and bloggers and all sorts of stuff. So I&#8217;m really excited to see increased collaboration there, including with the broader Five for the future groups, and encourage everyone to get involved, to share that feedback and join in the fun.</p>



<p><em>Birgit Pauli-Haack: </em>That&#8217;s wonderful. Yeah, it sounds exciting. It also sounds like a lot of work, but, yeah.</p>



<p><em>Anne McCarthy: </em>It&#8217;S good work. It&#8217;s good work because you get to kind of see things at the root, which is fine.</p>



<p><em>Birgit Pauli-Haack: </em>Yeah, yeah. And you can also kind of see it happening when it&#8217;s fixed or something like that, or come together in a. In a very creative way. Yeah.</p>



<h3 class="wp-block-heading">Announcements</h3>



<p>So you also are the instigator of the Pride Photo Drive. Tell us about it.</p>



<h3 class="wp-block-heading">Pride Photo Drive</h3>



<p><em>Anne McCarthy: </em>Yeah, so it&#8217;s inspired by what I&#8217;ve seen with other photo directories. And something that I think is really near and dear to me is representation really matters. And so if you can find things that actually resonate, whether with your culture, part of your identity, or where you live, it makes it easier when you&#8217;re creating websites. Like, websites are inherently quite visual. And so having really good photos that represent queer people is really awesome. And so, of course, you can&#8217;t have faces in this. But the whole point of the photo drive is to inspire some folks to contribute photos, increase representation in the photo directory, and honestly, just have some fun. Like, I think there is something fun about going out and having a reason to take a photo that I think, at least I enjoy someone who takes a lot of photos. There are some cash prizes for winners, both in terms of most submitted photos, and we&#8217;ll have some folks select the top photos. But honestly, like, you don&#8217;t need to be a part of the LGBTQ community to participate. It&#8217;s for everyone. And it&#8217;s just mainly to ensure when folks go and look for something that represents them, there&#8217;s a higher chance of finding high quality work for that. So I hope to see more kind of initiatives like that. And so if anyone wants to talk about doing more drives, I&#8217;m happy to share what I&#8217;ve done. It&#8217;s been very. It&#8217;s been pretty simple. So more people can do this for sure.</p>



<p><em>Birgit Pauli-Haack: </em>Yeah. And we have a link to the call for photos on the LGBTDPress.com and there are also the rules and how you actually can upload it to WordPress photo directory. And I&#8217;m really excited about that. I, yeah. Was last year, not this year I missed it, but last year was at the Christopher Street Day here in Munich and that was kind of. Wow. I didn&#8217;t realize how big that was. Yeah. And it was about 600,000 people on the road and 60,000 people in the parade and yeah, totally took over the. The downtown. But I probably have a few pictures made there that I can upload there. Yeah. So yeah, but it was a good point for you to say no photos or no faces or people out there. People, yes, but no faces. Yeah. So that&#8217;s cool. Yeah. So, yeah. </p>



<h3 class="wp-block-heading">WordPress New AI Team</h3>



<p>And the second piece of announcement that we have is that WordPress has now an AI team. AI stands for artificial intelligence. There are two, three links actually that I can share with you. One is the welcome to the core AI team blog post, then the announcement and the hallway hangout and recap for the first hangout. </p>



<p>So the mission I understood it is to build foundational building blocks for AI integration in WordPress and the timing is ideal because of the rapid evolution of AI. Some people at WordCamp EU said, okay, are we not a little bit late or something like that? No, you can&#8217;t. Yeah, it&#8217;s just the right time because now the emerging standards are there, and WordPress could be an ideal platform for AI driven web apps. There are immediate plans to integrate LMMs directly into WordPress, but there are canonical plugins that are on the roadmap and packages that are abstracting the AI provider like AI Services or. And the core integration would be more like. Yeah, a little. A second step. And we know that everything is kind of in place. It has the full support from WordPress leadership, including Matt and Mary. And because they recognize the importance of the open web and ensure it&#8217;s central in the evolving landscape.</p>



<p>So what are the current initiatives? One is the AI services plugin from Felix Arntz. He&#8217;s on the team. But the team are right now James LePage from Automattic, Felix Arntz from Google as well as Pascal Bichler from Google and then Jeff Paul from TenUp. And all four have already some experience with AI in the space. And so there are three plugins that are being worked on. One is the AI services plugin Felix already publish that, and I&#8217;ll share links in the show Notes so you can look it up. And it&#8217;s an abstraction layer for multiple AI providers to enable plugin authors to unify the API for AI interactions. So you need your OpenAI API key or your CLAUDE API key or whatever you use, but then it helps you to include those services into whatever you want to do on the website. The other, the second one is the called MCP WP. MCP means Model Context Protocol. Those are servers to enable WordPress advanced AI integration with command line or plugins. So plugins say, okay, my plugin can do that with WordPress and you register those services and the AI can discover those on the site. I know that Jonathan Brassinger as well as Ryan Welcher have done some live streams on that and I can share some of that, the latest ones for on the show notes with the videos, so you can kind of follow along with that. </p>



<p>And the last plugin is the WP feature API. That&#8217;s a plugin coming from Automattic, and it structures WordPress features for better AI integration. It&#8217;s kind of pretty much it&#8217;s a standardized way to register resources for AI. That&#8217;s pretty much what I can say there. It exposes the server and client side functionality in WordPress so LMMs can tap into it if they have the right credentials. Yes. So that&#8217;s kind of what I know about it. I read quite a bit about AI agents and MCP and it&#8217;s all still a little murky, but I think that&#8217;s with any of the new services and new technologies that are kind of coming out that we all need to figure out the smallest use case to figure it all out. Jamie Marsland has interviewed James LePage about the new AI team. And it&#8217;s a video, it&#8217;s called Very Clicky. It&#8217;s called WordPress AI fights back, fight Back Begins. So but it&#8217;s really insightful and Jamie asked some great questions in it. Any thoughts from you?</p>



<p><em>Anne McCarthy: </em>Yeah, that was such a good rundown. One of the big questions I&#8217;ve heard from people and I&#8217;ve been getting pings about is like, how do I join? How do I join? The team is creating a handbook at its early stages. You can join the core AI Slack channel. That&#8217;s the best place they&#8217;re holding meetings and they&#8217;re pulling together that context. So please get involved. The idea is to create a shared group of tooling that then plugin authors can reuse. It&#8217;s meant to provide a shared base. So for the MCP thing, the way I&#8217;ve been kind of thinking of it is like rather than rewriting every AI integration from scratch, you can reuse this to Talk, to have WordPress talk to LLMs. So like those sorts of things are kind of the current focus to provide tooling for people who want to use AI with WordPress, including with plugin authors and stuff like that. So that&#8217;s the current perspective. And if that appeals to you, you have ideas there, you have personal experience. Trying to make that work like that definitely is a great place to give feedback. And these are the early stages. So it&#8217;s a great time to get involved. But yeah, that to me is the biggest takeaway to do a great job covering everything. And I love that each team member has direct experience building stuff in line with that mission and value. I&#8217;m really excited about the canonical plugins and what we can do and packages that we can do to move this work forward and iterate following a similar model as the performance team.</p>



<p><em>Birgit Pauli-Haack:</em> Yeah, Fabian Kagy and I were on a podcast with Nathan Wrigley on the WP Builds podcast and we talked a little bit. We talked about a lot of things, but we also talked a little bit about the 10up plugin classify, especially because the latest release actually included an open source way to have LMMs on your server. So every time you ask the AI something, it doesn&#8217;t go out to a central server, it stays on your site.</p>



<p>Well, you need of course a server with a little bit more oomph. But yeah, for those that want to use it for their internal communications or documentation, it&#8217;s definitely a great way to do this. And that&#8217;s why TenUp is also part of the team, and I share that also in the Show Notes, of course, both the podcast and the plugin. </p>



<p>So other news the what&#8217;s New for developer edition June 2025 is available now. Justin Tadlock collected lots of information speaking about being back to contributing, lots of information relevant to plugin authors, theme builders and agency freelancers, the freelance developers for Core, Gutenberg and Playground. And it&#8217;s pretty much the best post to catch up on the last two months of updates on WordPress. So check it out with the link on the show notes or you go to developer.WordPress.org news or blog. Either way, Both of them get you to the developer blog.</p>



<h3 class="wp-block-heading">Community Contributions &#8211; WordCamp Europe</h3>



<p>All right, so now that brings us to WordCamp Europe, first time. In contrast to previous WordCamps, all workshops have been recorded and all recordings have been already submitted to WordPress TV. That I only saw. That&#8217;s so cool. I only saw this on smaller WordCamps like in Karlsruhe or in Leipzig where there&#8217;s only one track or one or two tracks in only one day. But having two days with three tracks, everything already on WordPress TV, that&#8217;s a phenomenal achievement. </p>



<p>So I have a few favorites I want to kind of suggest to you. One is of course, the fireside chat with Mary Hubbard and Matt Mullerweg. They discussed, among other things, a lot of other things, but the. The WordPress Campus Connect project that&#8217;s being rolled out as the official program from the WordPress Foundation. And also Mary announced a pilot project with the University of Pisa in Italy where 5,000 students have 150 mandatory contribution hours and those will equate to six credits for college. So that&#8217;s going to be a phenomenal place.</p>



<p><em>Anne McCarthy: </em>I&#8217;m so excited for that.</p>



<p><em>Birgit Pauli-Haack: </em>Yeah, yeah. Getting the young folks involved in WordPress evolved in open source and also bringing them together with mentors in the technical fields. Yeah. So I&#8217;m really excited about that. It&#8217;s also more focused on the translations because that&#8217;s the humanities department there. But yeah, yeah, everything helps. Anything helps. Yeah.</p>



<p><em>Anne McCarthy: </em>So I got my start in college so I would have loved. This would have been amazing. I was working on a WordPress multi site in college and if I could have had this as a chance to get to know the WordPress community rather than learning about it four years after. I think it would have been amazing to have this kind of opportunity and access and experience of open source early on. So I&#8217;m very, I agree with you. I&#8217;m very excited about that program.</p>



<p><em>Birgit Pauli-Haack: </em>Yeah, yeah. I also had about. Took me about four years to kind of get into the community here. So yeah, it&#8217;s always something, something. Another great talk was by Noel Tock. The title was WordPress Without Borders, the Fight for Digital Freedom. And he not only shared his about his own charity work in the Ukraine, about rescuing dogs and bringing them back to their owners, but also about other charities who helped with finding kids, providing a roof over the head for people that were bombed out and other hardships. And he made us realize the True Impact of WordPress because all the agencies use WordPress, not all the agencies, but over 50% of them use WordPress for the website to fundraise and to connect with the communities. </p>



<p>So sorry my voice kind of gave out but that has partly to do with something like that. But I also got a gift from WordCamp Europe at home to suffer. There&#8217;s another cold that I&#8217;m fighting. That&#8217;s why I&#8217;m also sound so horsy. So sorry for that. Check it out. The block related talks were Ryan Welch&#8217;s workshop for the Block Development Cookbook and Milana Cap’s workshop around the Interactivity API. And that last one is really I didn&#8217;t see the first one, but the last one I saw and I learned more about the source and the namespace and how you can interact from one block to the next and exchange data. So that&#8217;s a really eye opener. Ellen Bauer talked about how block themes speed up stores and sites in WooCommerce and Robert O&#8217; Rourke asks and provides answers to do you really need a custom block? And he walks you through how you can extend the block editor own blocks without writing your own custom blocks. But really, all the many great talks about the WordCamp Europe are online and there are many for content creators, developers, entrepreneurs, educators, contributors as well. So check out the WordPress TV space with all the recordings. </p>



<h3 class="wp-block-heading">What’s Released &#8211; Gutenberg 20.9</h3>



<p>And that brings us to Gutenberg releases. We start out with Gutenberg 20.9. So 20.9 was released on May 28th. We were a little late, but I was traveling and so do you want to start us off?</p>



<h3 class="wp-block-heading">Enhancements</h3>



<p><em>Anne McCarthy: </em>Yeah, I totally can. In terms of enhancements, the base styles have been updated to a modern Saas module system, and this was basically an obstacle to the Gutenberg project overall, migrating to the dart SaaS format in the future. So I love this kind of proactive unblocking that&#8217;s happening, kind of moving away from some of the legacy import statements. Great work by Aki per usual, but one of those just kind of foundational pieces to work on and make sure we have up to date just to unblock future things. </p>



<p>This one, I actually was involved in this one previously, but a revert was done for how the edit site link works. When you&#8217;re viewing your site, you&#8217;re using a block theme and you see edit site. There&#8217;s been a debate; does it open the current template you&#8217;re looking at or does it open just the site editor and the homepage? And this has gone back and forth since the dawn of time. So this is a revert that previously had it update. Basically whenever you hit edit site, it would bring you just to the general homepage of your site editor. Now it brings you to the current template. We got a bunch of feedback and this is where I love the WordPress project and love the feedback that we get straight from folks. Whenever that was implemented in 6.8, people came back and said, hang on, what&#8217;s going on? This is different. This isn&#8217;t interrupting my workflow. This now takes three clicks for me to get to the current template I was looking at rather than bringing me there. I see the argument on both sides. There&#8217;s definitely. I think Rich shared a great video of himself with. If you set a homepage or set a page as your homepage, what the experience of that looks like and how it can be confusing for end users, I have a feeling this is something that will continue to be a conversation and something that hopefully in the overarching issue there was a discussion around having more granularity. So maybe edit site has a little drop down menu, kind of like an ad post thing where you can see it says like edit template, edit homepage, edit, whatever. Like having edit styles, like having something with more granularity. We&#8217;ll see where that ends up. But this is. As of now, this experience has changed. Thanks to feedback. Do you want to jump into…</p>



<p><em>Birgit Pauli-Haack: </em>The only thing that I wanted to say about that was that there are actually at least one plugin out there who actually tried to implement a dropdown with and kind of. So you can check it out. I&#8217;m going to do some research and share it in the show notes. Yeah, so and with the block library we had a few changes that I wanted to talk about. One is that the search settings. So for the search block there were a lot of settings in the toolbar, and it seems that most end users are kind of now trained to open up the sidebar for the settings. So developers have now moved some of the settings into the inspector to the right hand side in the sidebar so they&#8217;re all together. I think that&#8217;s just for. It&#8217;s also for consistency of the interface. So I like that. And then there were. For the first and the pre-formatted blocks, there were transformers missing and they were added. So people do not have to copy paste things and not delete a block and then add another block and copy paste the content and they just can transform them from paragraph to verse and back and forth. Yeah. And now Anne, we&#8217;re coming to a topic that you know a lot about. One is developers are enhancing content only editing experience. So what does that mean?</p>



<p><em>Anne McCarthy: </em>Yeah, this is. The names on this are rough. So right now there&#8217;s this idea of write mode. We need a new name because basically what it does and this is something to zoom back out. Whenever I ran the outreach program, one of the things we repeatedly found is that dropping people straight into the site editor is pretty overwhelming. There&#8217;s a lot of options open, there&#8217;s a lot of tools open and it&#8217;s like, how do we add a simplified layer on top? That&#8217;s what write mode is intending to do. </p>



<p>So you can imagine a way to toggle between a simplified site editing version and then like boom, all the tools you want and having a way to switch in between those modes as you you&#8217;d like. The underpinning technology used for that is content only. And what that does is it basically allows you to only edit the content. So it&#8217;s a lot of fancy names. But this is. I&#8217;m trying to like set the scene. And so there are some updates I think across both releases we&#8217;re covering that improves different blocks and how they work with this option because out of the box, not every block works with it and something has to be done manually to basically add support for it. Now there&#8217;s questions around specific blocks, like how much should be exposed, what should it look like, what should the experience be? I actually did some user testing at work campus last year with random people and recorded them going through this. And so there&#8217;s a lot to be figured out there. At the core it&#8217;s making way and taking steps towards a simplified site editing experience that folks can toggle on. You can imagine the first time in the site editor, maybe you have that experience and then if you run into something where you want to do more, you can have a quick way to just switch into like show me all the tools. Kind of like the idea of when you&#8217;re editing a presentation and like a slide slides for something and you want to go into the overall view of everything, you can do that. Otherwise you can just add text, move things around and have some like simplified experience. So that&#8217;s the context for that. This covers the details block, the code block, the read more block, the post block. There&#8217;s a lot of blocks that were changed for this and we&#8217;ll continue to see this. I think over the future releases we&#8217;ll see iteration on this area. So stay tuned.</p>



<p><em>Birgit Pauli-Haack: </em>Awesome, awesome.</p>



<p><em>Anne McCarthy: </em>Does that help explain it?</p>



<p><em>Birgit Pauli-Haack: </em>Definitely helped me, yeah. And it also helped me to understand why there all of a sudden were different things in the sidebar. Because the different icons on there, they&#8217;re just identifying the places where you can edit the content but not, you&#8217;re not Having anything else in there. There are no display options or settings or something like that. So now I understand that. I also understand why plugin authors or agency for instance, are quite excited about that because they can curate the interface for their clients and kind of keep them out of the design and out of the have some more guardrails for them. And I think that&#8217;s because you can implement that through a plugin as well. So yeah, you can tap into the block JSON and say put this into content only mode because it&#8217;s not a default thing. So yeah, I like it. </p>



<p>The two components had some changes. One is that the color. The color picker now has visual cues when you copy value. That&#8217;s definitely great. The interaction there. So you don&#8217;t have to wonder, did I copy it or did I not copy it? And then the snack bar, that&#8217;s the term that developers use for the notifications that are on bottom on your screen that come up when you do something. So if you have to, if you save your post, you get the little note. Click here to view it. And now this is also now available to open the links in new tabs, especially when you are a plugin author for your whatever plugin you do. You can also use the snack arx component. And then now you have the options to open links in a new tab, which is controversial, but yeah, just having the option in the components should be fine. It&#8217;s controversial because you take over the freedom of the user to decide if they want it into a new tab or new window or just right there because all of a sudden they don&#8217;t have the choice anymore.</p>



<p><em>Anne McCarthy: </em>I think that I&#8217;m curious how that bland with. With folks. Yeah, that one I was surprised to see a bit.</p>



<p><em>Birgit Pauli-Haack: </em>But yeah, yeah, I think that was it for Gutenberg 20.9. </p>



<h3 class="wp-block-heading">Gutenberg 21.0</h3>



<p>Gutenberg 21 was just released this week. And do you want to take that next step there?</p>



<h3 class="wp-block-heading">Enhancements</h3>



<p><em>Anne McCarthy: </em>Yeah, let&#8217;s dive into it. One of the main enhancements that I love to see is a refactor, the settings panel to use Tools panel. So across a bunch of different blocks to zoom back out, there&#8217;s different ways in which we display settings. And that can cause those little inconsistencies really add up, especially when you&#8217;re looking, you&#8217;re trying to do something in one block and you do something in a different one and it looks slightly different or appears slightly differently. So the more we can have really smart, intuitive defaults where for any block, whenever you want to change something in one block, it&#8217;s the same in another the better and especially just experience wise and using the latest components. It&#8217;s a really important thing to continue to iterate on. And so across a number of different blocks the Tools panel was implemented and there&#8217;s a lot of benefits. I don&#8217;t know if you want to talk about the benefits of it just because it&#8217;d be good to hear your perspective on this too.</p>



<p><em>Birgit Pauli-Haack: </em>Yeah, I would because I was trying to figure out what is actually that the user gets out of it and. Or the developers that use the blocks or extend those blocks. You get more control for the display. It&#8217;s every time the same thing. That&#8217;s what you mentioned. But it&#8217;s also an easier mechanism for injecting additional settings into an existing group. I&#8217;m not quite sure if that&#8217;s exposed for the third party to. For the extensibility, but that will definitely enable it. And then there is a visual parity between the styles that are already in the Tools panel and those who don&#8217;t. Yeah. So it&#8217;s really. It&#8217;s all the comments block. It&#8217;s. There&#8217;s a tracking issue 67813 where you can kind of see all the progress on this project and also the list of the blocks that are handled with that. Yeah. </p>



<p>So another change is that the separator has now. Well, we talked about earlier. Well in the last  episode about that. That the separator now has an additional. You can have now a div instead of an HR so you can style it more. And with this release that HTML element option is much more visible. It&#8217;s now kind of moved up in the advanced section and it&#8217;s not hidden anymore. So you can just toggle that and can change the options there. I really like that there was another block about that. I think the same thing happens with a button block. They also move the HTML element section up so you can change through between the element of a button or the element of a link, an anchor. So that&#8217;s why I&#8217;m kind of hesitating about moving forward there. In the video Block has now an additional option to set a track as default and the track is actually the caption track. So you can select the default language there. And that&#8217;s really helpful for anybody who has videos on the website and is not an English speaker or doesn&#8217;t have the audience of any English speaker. So they could set the default but they had to really specifically do it. And if there&#8217;s not one uploaded, it was a little janky, so buggy for things. So I think that was it on the enhancements.</p>



<h3 class="wp-block-heading">Bug Fixes</h3>



<p><em>Anne McCarthy: </em>Yeah. Now we can jump into bug fixes if you want to. I can start with that.</p>



<p><em>Birgit Pauli-Haack: </em>Yeah, yeah.</p>



<p><em>Anne McCarthy: </em>One of the first bug fixes which I do want to call out is from, I&#8217;m pretty sure a new contributor. Yep, first-time contributor, which is always really cool to see. Super awesome. McCool I think is the name. Apologies if I&#8217;m mispronouncing that, but this work basically fixed an issue where the pull quotes site element couldn&#8217;t be styled or overridden by theme JSON due to basically conflicting CSS specificity. And so this is a nice win for blocking developers because they can now customize citation styles as they&#8217;d like. And it was some nice collaboration with Aki again to basically resolve this by reducing the specificity of the class selector so that theme JSON styles can actually work. I love when that actually works out. So yeah, keep the feedback coming, especially block theme authors around limitations you run into like this. It&#8217;s always really helpful to start to continue to fix these sorts of things. So I was excited to see that bug fix there.</p>



<p><em>Birgit Pauli-Haack: </em>Definitely. It&#8217;s also, if you want to read up about it and see how such a collaboration between veteran contributors and new contributors actually happens. It&#8217;s a great example where a lot of people have some opinions, but then you move forward and you get a nice PR merged that helps a lot of people. So it&#8217;s definitely a great way to contribute. I don&#8217;t think I see any other bug fixes that I would want to talk about. </p>



<h3 class="wp-block-heading">Accessibility</h3>



<p>So there&#8217;s one on the component that&#8217;s more on accessibility thing, that the toolbar now adjusts the colors for dark mode support. And that&#8217;s really cool because now you can also have the toolbar on the block in dark mode. For a lot of people that are around in dark mode, it&#8217;s really cool. </p>



<h3 class="wp-block-heading">Documentation</h3>



<p>And then there is one documentation issue I need to look at that, but it is that the block schema now also has a roll field and the role field is important for.</p>



<p><em>Anne McCarthy: </em>It looks like it was added before in 6.7. Like the roll field was stabilized but it wasn&#8217;t exposed in the schema. Which, you know, might be good to follow up on.</p>



<p><em>Birgit Pauli-Haack: </em>Yeah, yeah, it happens with 6.7 it was. Yeah. And that&#8217;s for the content mode.</p>



<p><em>Anne McCarthy: </em>Yeah, that&#8217;s right.</p>



<p><em>Birgit Pauli-Haack: </em>Yeah. So that&#8217;s it. I think we&#8217;re through that. We have Gutenberg 20.9 and 21 and we are at the last bit of our show. </p>



<h3 class="wp-block-heading">What’s in Active Development or Released</h3>



<p>And that is what&#8217;s in active development or discussed. And with a few more talks on flagship WordCamps, the interactivity becomes more and more popular, and the team worked in the last few months with the WordPress team together to implement additional features, and those are now with the start of contributing again backported to the Gutenberg repo. There are many issues and you can follow along on the tracking issue. Backport WooCommerce Interactivity API improvements. That&#8217;s tracking issue 70372. It&#8217;s like a phone number. Yeah, there are actually quite a few issues in there. I&#8217;m really excited about that because there is a new feature that&#8217;s the interactivity router that lets you organize your pages better or the links between blocks. And also what was the other one?</p>



<p><em>Anne McCarthy: </em>I know there&#8217;s some client side navigation work that&#8217;s been done too, which I&#8217;m really excited about. I&#8217;ve been using that in the Block Museum for a while now and it just makes it super quick to switch between pages and to have it be pulled in and hopefully stabilize soon. It&#8217;d be really, really neat to have as an option. I have loved having it on the Block Museum.</p>



<p><em>Birgit Pauli-Haack: </em>So yeah, yeah, that was also something, that was an experiment I think in Gutenberg for the, for the query block. Yeah, yes, yes. So, okay, so now we&#8217;re kind of moving forward on that and I&#8217;m quite excited about that, and I hope you dear listeners are too. All right, is there anything else that you wanted to talk about on the show?</p>



<p><em>Anne McCarthy: </em>But nothing on my mind. I mean I would love this is a selfish ask, but as I get back into the project, mainly coming back from sabbatical, I would love to know what sort of hallway hangouts or conversations folks want to have. I&#8217;m really keen on making sure we continue to have a lot of those community wide conversations, not just at WordCamps because not everyone can join those. And like that&#8217;s some inspiration I took from the COVID times is to continue the conversation. So if folks have ideas or suggestions, I&#8217;m Nzazu and WordPress at org Slack, my site Snowmad Blog, you can contact me there. I&#8217;m not on X or any of the social media so you cannot find me. But yeah, I, I just am. I&#8217;m very curious to see what&#8217;s on people&#8217;s minds, what feels like hot topics to discuss and what feels important to hear more about and how we can facilitate sharing that knowledge and inviting more folks into the work. That&#8217;s the only other thing I&#8217;d love to add.</p>



<p><em>Birgit Pauli-Haack: </em>Awesome. Awesome. Yes. And as always, the show notes will be published on <a href="http://gutenbergtimes.com/podcast">GutenbergTimes.com/podcast</a> this is episode 118. And if you have questions or suggestions or news you want us to include, send them to <a href="mailto:changelog@gutenbergtimes.com">changelog@gutenbergtimes.com</a> that&#8217;s <a href="mailto:changelog@gutenbergtimes.com">changelog@gutenbergtimes.com</a> and this is the end of this show. </p>



<p>Thank you all for listening, and thank you so much for taking the time out of your busy, busy schedule to be on the show with me. And thank you all for listening. And until the next time, bye. </p>



<p><em>Anne McCarthy: </em>Bye.</p>



<p></p>";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Sun, 15 Jun 2025 14:52:18 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:18:"Birgit Pauli-Haack";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:20;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:119:"Gutenberg Times: From WordCamp Europe to AI and Beyond: Figma, Fresh Courses, and Block Style  — Weekend Edition #332";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:35:"https://gutenbergtimes.com/?p=40572";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:121:"https://gutenbergtimes.com/from-wordcamp-europe-to-ai-and-beyond-figma-fresh-courses-and-block-style-weekend-edition-332/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:28069:"<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" />



<p>Hi there,</p>



<p>WordCamp Europe is over. I had a blast and also caught a bug.<img alt="🤧" class="wp-smiley" src="https://s.w.org/images/core/emoji/15.1.0/72x72/1f927.png" style="height: 1em;" /> </p>



<p>The next flagship WordCamp is just around the corner: <a href="https://us.wordcamp.org/2025/">WordCamp US</a> will take place August 26 &#8211; 29 with Contributor Day, Showcase Day and a two-day conference. The <a href="https://us.wordcamp.org/2025/call-for-speakers/">call for speakers is open</a>, notice the deadline June 20 for your submission. Also open are the <a href="https://us.wordcamp.org/2025/call-for-sponsors/">call for sponsors</a> and <a href="https://us.wordcamp.org/2025/volunteer/">for volunteers.</a></p>



<p>I am so excited as I will finally connect with my WordPress friends from the US again. It took me three years to get back to WordCamp US after our move to Germany. </p>



<p>With Automattic <a href="https://automattic.com/2025/05/29/returning-to-core/">getting back to contributions</a>, the team caught up on Gutenberg release posts and there is a new Gutenberg version available. I also have a few notes and links collected about the new AI team and their work. </p>



<p>I hope to see you at WordCamp US, too</p>



<p>Yours, <img alt="💕" class="wp-smiley" src="https://s.w.org/images/core/emoji/15.1.0/72x72/1f495.png" style="height: 1em;" /><br /><em>Birgit</em></p>






<div class="wp-block-newsletterglue-showhide ng-block" width="100%"></div>


<h2 class="wp-block-heading" id="0-word-press-release-information">Developing Gutenberg and WordPress</h2>



<p>In the latest edition of <a href="https://developer.wordpress.org/news/2025/06/whats-new-for-developers-june-2025/"><strong>What’s New for Developers (June 2025)</strong></a>, <strong>Justin Tadlock</strong> collected lots of information relevant for plugin authors, themes builders and agency freelance developers from Core, Gutenberg, and Playground. It’s the best post to catch up on the last to month of updates in WordPress. </p>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" />



<p><strong>Carlos Bravo </strong>release Gutenberg 21.0. In his release post <a href="https://make.wordpress.org/core/2025/06/11/whats-new-in-gutenberg-21-0-11-june/"><strong>What’s new in Gutenberg 21.0?</strong></a> he highlighted. </p>



<ul class="wp-block-list">
<li><a href="https://make.wordpress.org/core/2025/06/11/whats-new-in-gutenberg-21-0-11-june/#html-element-now-selectable">The HTML Element is now selectable on Button and Separator blocks.</a></li>



<li><a href="https://make.wordpress.org/core/2025/06/11/whats-new-in-gutenberg-21-0-11-june/#experimental-inline-comments">Extensive ToolsPanel Refactoring</a></li>



<li><a href="https://make.wordpress.org/core/2025/06/11/whats-new-in-gutenberg-21-0-11-june/#accessibility-and-usability">Accessibility and usability</a></li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" />



<p><strong>Jessica Lyschik</strong> used the time during Contributor Day at WordCamp Europe to get a head start on catching up with the release posts for earlier Gutenberg releases. </p>



<ul class="wp-block-list">
<li><a href="https://make.wordpress.org/core/2025/06/05/whats-new-in-gutenberg-20-4-and-20-5/">What’s new in Gutenberg 20.4 and 20.5?</a></li>



<li><a href="https://make.wordpress.org/core/2025/06/11/whats-new-in-gutenberg-20-6-and-20-7/">What’s new in Gutenberg 20.6 and 20.7?</a></li>



<li><a href="https://make.wordpress.org/core/2025/06/11/whats-new-in-gutenberg-20-8-and-20-9/">What’s new in Gutenberg 20.8 and 20.9?</a></li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" />



<div class="wp-block-group has-light-background-background-color has-background"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<p><img alt="🎙" class="wp-smiley" src="https://s.w.org/images/core/emoji/15.1.0/72x72/1f399.png" style="height: 1em;" /> The latest episode <a href="https://gutenbergtimes.com/podcast/gutenberg-changelog-118-wordpress-new-ai-team-the-pride-photo-drive/">Gutenberg Changelog 118 – WordCamp Europe, WordPress New AI Team, the Pride Photo Drive, Gutenberg 20.9 and 21.0 </a> <strong>Anne McCarthy</strong> is back from sabbatical and we talked about WordCamp Europe, the new WordPress AI team, the Pride Photo Drive, and Gutenberg 20.9 and 21.0 . </p>



<p><em>If you are listing via Spotify, please leave a comment. If you listen via other podcast apps, please leave a review. It&#8217;ll help with the distribution.</em></p>



<figure class="wp-block-image size-full"><img alt="" class="wp-image-40687" height="185" src="https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/06/Screenshot-2025-06-14-at-08.28.08.png?resize=652%2C185&#038;ssl=1" width="652" /></figure>
</div></div>



<h3 class="wp-block-heading" id="new-wordpress-ai-team">New WordPress AI Team</h3>



<p>Just ahead of WordCamp Europe, <strong>Mary Hubbard</strong> <a href="https://wordpress.org/news/2025/05/announcing-the-formation-of-the-wordpress-ai-team/"><strong>announce the new AI team</strong></a>, identifying James LePage and Felix Arnzt as team reps. James LePage followed up with his post <a href="https://make.wordpress.org/ai/2025/05/23/welcome-to-the-core-ai-team-blog/"><strong>Welcome to the Core AI Team Blog</strong></a>. </p>



<p>The community came together for the <strong><a href="https://make.wordpress.org/ai/2025/06/03/introducing-the-ai-team-hallway-hangout-recap/">Introducing the AI Team Hallway Hangout</a></strong> and <strong>Anne McCarthy</strong> published the recap and the recording. </p>



<p>What I learned: </p>



<ul class="wp-block-list">
<li>The AI Team is laying the groundwork to bring AI into WordPress, and the timing couldn’t be better. With AI moving at lightning speed, it’s important for WordPress to stay in the mix.</li>



<li>For now, the AI Team isn’t adding big AI tools directly into WordPress. Instead, they’re working on simple plugins that help connect WordPress to different AI services. Maybe someday AI will be built right into the core, but that’s not on the table yet.</li>



<li>WordPress leaders are fully behind the AI Team, recognizing that AI is the future and wanting to keep WordPress front and center as things evolve.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" />



<p>The current initiatives / plugins have been mentioned in early editions of the newsletter: </p>



<ul class="wp-block-list">
<li><a href="https://wordpress.org/plugins/ai-services/"><strong>AI Services</strong></a> Plugin by Felix Arnzt provides an abstraction layer for multiple AI providers, enabling plugin authors to use a unified API for AI interactions. </li>



<li><a href="https://github.com/mcp-wp/"><strong>MCP for WordPress</strong></a> plugin  by Pascal Birchler implements Model Context Protocol (MCP) servers in WordPress, enabling advanced AI integrations via command-line or plugins. You can learn more about reading Pascal Bichler&#8217;s post <a href="https://pascalbirchler.com/wordpress-model-context-protocol-mcp/"><em>Enabling AI-Powered WordPress Development with WP-CLI and the Model Context Protocol (MCP)</em></a></li>



<li><a href="https://github.com/Automattic/wp-feature-api"><strong>WP-Feature-API</strong> </a>plugin by Automattic structures WordPress features for better AI interaction, offering a standardized way to register resources for AI use. It&#8217;s a system for exposing server and client-side functionality in WordPress for use in LLMs and agentic systems</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" />



<p>The <strong>WordPress AI Team</strong> chats in the WPSlack <a href="https://wordpress.slack.com/archives/C08TJ8BPULS">#core-ai</a> channel and holds meetings every other Thursday at 16:00 UTC. You can read <a href="https://make.wordpress.org/ai/2025/06/13/ai-chat-summary-12-june-2025/">the summary of this week&#8217;s meeting</a> on the Make AI blog. </p>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" />



<p>In his video <a href="https://www.youtube.com/watch?v=V08qhLL19cM"><strong>The WordPress AI fightback begins!</strong></a> Jamie Marsland interviews James LePage about AI in WordPress and the new team. </p>


<div class="wp-block-newsletterglue-showhide ng-block" width="100%">
<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">

</div></figure>
</div>


<h3 class="wp-block-heading" id="wordcamp-europe">WordCamp Europe </h3>



<p>It was a fantastic WordCamp at a great venue. I enjoyed the many, many conversations with attendees, sponsors, contributors and fellow speakers. The organizing team has done a fabulous job, in all areas, and the volunteers were awesome. The speaker team was first-class in their support. As a first time WCEU speaker, I felt very well cared for. I loved the bright and brilliant designs at the venue as well as on the website and on screens. </p>



<p>The most astonishing work was done by the AV team, who <a href="https://wordpress.tv/event/wordcamp-europe-2025/">uploaded all videos to WordPress TV</a> by the end of the WordCamp.  In contrast to previous WordCamps, all workshops were also recorded, and you can watch them at your own speed. </p>



<p>As always, I share my opinionated list of favorites: </p>



<p><a href="https://wordpress.tv/2025/06/09/fireside-chat-with-mary-hubbard-and-matt-mullenweg/"><strong>During Fire side Chat</strong></a> with <strong>Mary Hubbard</strong> and <strong>Matt Mullenweg</strong> they discussed, among other things, the <strong>WordPress Campus Connect</strong> project that’s being rolled out as an official program. Hubbard also announced the start of a pilot project for student internships with the University of Pisa, encompassing 5000 students to contribute 150 hours and received six college credits.</p>



<figure class="wp-block-image size-large"><a href="https://wordpress.tv/2025/06/09/fireside-chat-with-mary-hubbard-and-matt-mullenweg/"><img alt="Mary Hubbard and Matt Mullenweg at WordCamp Europe 2025. Photo by Sathwik Prabhu" class="wp-image-40669" height="435" src="https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/06/Mary-Hubbard-Matt-Mullenweg-WordCamp-Europe-2025.jpg?resize=652%2C435&#038;ssl=1" width="652" /></a></figure>



<p>Another great talk was by <strong>Noel Tock <a href="https://wordpress.tv/2025/06/07/wordpress-without-borders-the-fight-for-digital-freedom/">WordPress without Borders – The Fight for Digital Freedom</a></strong>. Tock not only shared from his charity work in Ukraine but also about other charities who help with finding kids, providing a roof over the head of people who lost their homes, and trying to alleviate other hardships. Tock made us realize the true impact of WordPress has to all the agencies who use it for their web site to fundraise and connect with communities. The pictures from Ukraine are heart-wrenching.</p>



<p>The Block related talks:  </p>



<ul class="wp-block-list">
<li><strong>Ryan Welcher</strong> and <a href="https://wordpress.tv/2025/06/07/the-block-developer-cookbook-wceu-2025-edition/"><strong>his block development cookbook</strong></a> workshop and</li>



<li><strong>Milana Cap</strong> conducting the workshop <strong><a href="https://wordpress.tv/2025/06/07/wordpress-gems-for-devs-interactivity-api-2/">WordPress Gems around the Interactivity API</a>. </strong></li>



<li><strong>Ellen Bauer</strong> talked about <strong><a href="https://wordpress.tv/2025/06/07/why-block-themes-make-woocommerce-stores-better/">how block themes speed up stores and sites</a> </strong>and give back control for the layouts to the merchants</li>



<li><strong>Robert O’Rourke</strong> asked <strong><a href="https://wordpress.tv/2025/06/07/do-you-really-need-a-custom-block/">Do you really need a custom block</a>.</strong>   </li>
</ul>



<p>If you are interested in working with Playground, two workshops might help you get started depending on your needs</p>



<ul class="wp-block-list">
<li><a href="https://wordpress.tv/2025/06/07/from-zero-to-demo-mastering-wordpress-playground-blueprints/"><strong>From Zero to Demo: Mastering WordPress Playground Blueprints</strong></a> with yours truly and</li>



<li><a href="https://wordpress.tv/2025/06/07/building-automated-tests-with-wordpress-playground/"><strong>Building Automated Tests with WordPress Playground</strong></a> with <strong>Berislav (Bero) Grgicak</strong></li>
</ul>



<p>This is only a small list, and there are many great talks about all WordPress topics, for content creators, developers, entrepreneurs, and educators. <a href="https://wordpress.tv/event/wordcamp-europe-2025/">Check them out.</a> </p>



<p>A few attendees published recap posts:</p>



<ul class="wp-block-list">
<li><a href="https://wordpress.org/news/2025/06/wceu-2025-a-community-celebration-in-the-swiss-sun/">WCEU 2025: A Community Celebration in the Swiss Sun</a> by <strong>Brett McSherry</strong></li>



<li><a href="https://make.wordpress.org/core/2025/06/10/wordcamp-europe-2025-recap-of-the-event/">WordCamp Europe 2025 | Recap of the event</a> by <strong>Benjamin Zekavica</strong></li>



<li><a href="https://make.wordpress.org/test/2025/06/10/wceu-2025-contributor-day-recap/">WCEU 2025 : Test Team Contributor Day Recap</a> by <strong>Krupa Nanda</strong></li>



<li><strong>TechRadar:</strong> <a href="https://www.techradar.com/pro/live/wordcamp-europe-2025-all-the-latest-news-and-updates-as-they-happen">WordCamp Europe 2025 &#8211; here&#8217;s all the highlights from the event</a></li>



<li><a href="https://kau-boys.com/4146/wordcamp/wordcamp-europe-2025-a-trip-to-a-beautiful-city">WordCamp Europe 2025 – A trip to a beautiful city</a> by <strong>Bernhard Kau</strong></li>
</ul>



<h2 class="wp-block-heading" id="0-p">Plugins, Themes, and Tools for #nocode site builders and owners</h2>



<p><strong><br />Carlo Daniele</strong>, Kinsta, dug deeper in the term <a href="https://kinsta.com/blog/hybrid-themes/"><strong>WordPress Hybrid Themes</strong></a>. He covered two approaches. The first is how hybrid themes bridge the gap between Classic and Block Themes by supporting modern block features. They maintain compatibility with traditional plugins and templates. The second highlights ways developers can enhance hybrid themes with global styles. They can use block patterns and template parts for flexible site building.</p>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" />



<p>In her post, <a href="https://groundworx.dev/from-page-builders-to-blocks-how-and-why-to-finally-move-to-gutenberg/"><strong>From Page Builders to Blocks</strong></a>, <strong>Johanne Courtright</strong>, founder of Groundworx,  explains why it’s time to move from page builders to Gutenberg, the built-in block editor. She points out its built-in stability, better performance, and easier design control. Courtright tackles common worries, then suggests starting small—like switching your blog first, updating your theme, and helping users learn—showing that Gutenberg’s block system is the way forward for WordPress.</p>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" />



<p>In here post <a href="https://binatethoughts.com/design-once-build-everywherethe-lego-principle-for-page-builders/"><strong>Design Once, Build Everywhere:The Lego Principle for Page Builders</strong></a>, <strong>Tammie Lister </strong>reflects on the fragmented world of page builders, arguing for a “Lego principle” where design components are created once and used everywhere. She suggests that adopting shared foundations and modular systems—much like Lego’s approach—would unlock creativity, improve portability, and better meet modern demands. Ultimately, Lister envisions a future where page builders are collaborative, flexible, and empower users to build without barriers.</p>



<h2 class="wp-block-heading" id="2-word-press-6-0-1-and-6-1-scheduled">Theme Development for Full Site Editing and Blocks</h2>



<p><strong>Fabian Kägy,</strong> director of Editorial Engineering, introduced <a href="https://fueled.com/blog/figma-to-wordpress-in-minutes/"><strong>Fueled’s open-source Figma to WordPress plugin,</strong></a> which exports design tokens from Figma directly into a WordPress theme.json file, reducing a 10–15 hour manual process to about an hour and enabling rapid, consistent theme development without extra frameworks or licenses</p>



<figure class="wp-block-image size-large"><a href="https://fueled.com/blog/figma-to-wordpress-in-minutes/"><img alt="Screenshot of the Figma to WordPress plugin " class="wp-image-40680" height="408" src="https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/06/Figma-to-theme.json_.png?resize=652%2C408&#038;ssl=1" width="652" /></a></figure>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" />



<p>J<strong>eremy Holcombe</strong> at Kinsta, also researched <a href="https://kinsta.com/blog/convert-figma-to-wordpress/" rel="noreferrer noopener" target="_blank">How to convert a Figma project to WordPress</a> and walks you through three methods. He covers using the <a href="https://www.figma.com/community/plugin/1195068675739761335/figma-to-wordpress">Figma plugin </a>by <a href="https://yotako.io/">Yotako</a> for automation, manually rebuilding designs in WordPress for precision, and hiring professional services, highlighting the pros, cons, and best use cases for each approach.. </p>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" />



<p><strong>Mike McAlister</strong> introduced <a href="https://olliewp.com/introducing-the-ollie-theme-academy-video-course/"><strong>the Ollie Theme Academy video course</strong></a> a free and in-depth video course teaching everything from the basics to advanced techniques of WordPress block theme development. The course covers full site editing, global styles, patterns, and aims to help anyone modernize their WordPress workflow for 2025 and beyond.</p>



<p>10 days later, McAlister followed up with the announcement of a <a href="https://olliewp.com/introducing-the-ollie-block-dev-academy/"><strong>Block Development course</strong></a>. This is a new resource to help developers master building custom WordPress blocks. It provides practical, hands-on video lessons focused on modern block development. This approach aims to make it easier for anyone to create powerful, custom blocks for their WordPress sites.</p>



<figure class="wp-block-image size-large"><a href="https://olliewp.com/introducing-the-ollie-block-dev-academy/"><img alt="Screenshot of the landing page for the Ollie Block Academy, courtesy of Mike McAlister " class="wp-image-40685" height="341" src="https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/06/Screenshot-2025-06-12-at-1.47.26%E2%80%AFPM.png?resize=652%2C341&#038;ssl=1" width="652" /></a></figure>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" />



<p><strong>Bernhard Kau</strong> explored <a href="https://kau-boys.com/4130/web-development/implementing-a-custom-block-style-variation-using-only-json-files" rel="noreferrer noopener" target="_blank"><strong>Implementing a custom block style variation using only JSON files</strong></a> in WordPress block themes. He explains how to make a perfectly round button by defining a new style in a JSON file. This approach bypasses the need for PHP or JavaScript. Despite some limitations, this approach allows for easy customization. There is incomplete support for certain properties. Nevertheless, it enables consistent design without writing traditional code.</p>


<section class="wp-block-newsletterglue-callout undefined not-color-set" style="border-color: #f9f9e5; border-radius: 22px; border-style: solid; border-width: 0; padding-top: 20px; padding-bottom: 20px; padding-left: 20px; padding-right: 20px; text-align: left; margin-left: 0; margin-right: 0; margin-top: 0px; margin-bottom: 0px; background-color: #f9f9e5;">
<p><strong> <a href="https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/" rel="noreferrer noopener" target="_blank">&#8220;Keeping up with Gutenberg &#8211; Index 2025&#8221;</a> </strong><br />A chronological list of the WordPress Make Blog posts from various teams involved in Gutenberg development: Design, Theme Review Team, Core Editor, Core JS, Core CSS, Test, and Meta team from Jan. 2024 on. Updated by yours truly. The previous years are also available: <strong><strong><a href="https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/keeping-up-with-gutenberg-index-2020/">2020</a> | <a href="https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/keeping-up-with-gutenberg-index-2021/">2021</a></strong> | <strong><a href="https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/keeping-up-with-gutenberg-index-2022/">2022</a></strong></strong> | <strong><a href="https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/gutenberg-index-2023">2023</a></strong> | <a href="https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/gutenberg-index-2024/"><strong>2024</strong></a></p>
</section>


<h2 class="wp-block-heading" id="3-building-themes-for-fse-and-word-press">Building Blocks and Tools for the Block editor</h2>



<p><br /><strong>Alfredo Navas</strong>, developer at WebDevStudios, explored <a href="https://webdevstudios.com/2025/06/11/using-wordpress-mcp-as-a-development-tool/"><strong>the MCP server plugin</strong></a>. He shared his findings and highlighted how it enables external tools or AI agents to interact with WordPress. These interactions are useful for tasks like creating posts or debugging. He notes its usefulness for automating workflows, its extensibility, and that it’s still under active development.</p>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" />



<p><strong>Eric Karkovack</strong> explains how to <a href="https://speckyboy.com/add-custom-style-variations-wordpress-blocks/"><strong>add custom style variations to WordPress blocks using a custom plugin</strong></a>. He guides you through creating custom style variations for WordPress blocks. He details building a plugin, using the ‎`register_block_style()` function, and applying unique styles—like a “Unicorn” button—via PHP or JSON. This way you empower your users to personalize block designs and enhance site consistency. </p>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" />



<p>I mentioned <strong>DeepWiki</strong> before, <a href="https://gutenbergtimes.com/block-styles-woo-product-collection-deepwiki-accessibility-day-weekend-edition-329/#deepwiki">in WE #329</a>, and now <strong>Jonathan Bossenger</strong> invites you in you YouTube video to learn more about <strong><a href="https://www.youtube.com/watch?v=bq0P8Gc-9xk">DeepWiki | AI powered documentation you can talk to</a></strong>.</p>



<p>I asked DeepWiki the following questions, click on the links to get to the answers. </p>



<ul class="wp-block-list">
<li><a href="https://deepwiki.com/search/what-are-the-elements-of-the-w_7f48ffc6-285a-4522-bb0c-5b98471c3178">What are the elements of the WordPress Design system</a></li>



<li><a href="https://deepwiki.com/search/what-are-the-elements-of-the-w_7f48ffc6-285a-4522-bb0c-5b98471c3178">How is the spacing fluid?</a></li>
</ul>


<div class="wp-block-newsletterglue-showhide ng-block" width="100%">
<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">

</div></figure>
</div>


<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" />


<section class="wp-block-newsletterglue-callout undefined not-color-set" style="border-color: #eeeeee; border-radius: 26px; border-style: solid; border-width: 0; padding-top: 20px; padding-bottom: 20px; padding-left: 20px; padding-right: 20px; text-align: left; margin-left: 0; margin-right: 0; margin-top: 0px; margin-bottom: 0px; background-color: #f3efe9;">
<p><strong><a href="https://gutenbergtimes.com/need-a-zip-from-master/">Need a plugin .zip from Gutenberg&#8217;s master branch?</a></strong><br />Gutenberg Times provides daily build for testing and review. </p>



<p>Now also available via <a href="https://playground.wordpress.net/?blueprint-url=https://gutenbergtimes.com/wp-content/uploads/2020/11/playnightly.json">WordPress Playground</a>. There is no need for a test site locally or on a server. Have you been using it? <a href="mailto:pauli@gutenbergtimes.com">Email me </a>with your experience</p>



<p><img alt="GitHub all releases" src="https://img.shields.io/github/downloads/bph/gutenberg/total?style=for-the-badge" /></p>
</section>


<p class="has-text-align-center has-small-font-size"><em>Questions? Suggestions? Ideas? </em><br /><em>Don&#8217;t hesitate to send <a href="mailto:pauli@gutenbergtimes.com">them via email</a> or</em><br /><em> send me a message on WordPress Slack or Twitter @bph</em>.</p>



<hr class="wp-block-separator has-alpha-channel-opacity" />



<p class="has-text-align-center has-small-font-size">For questions to be answered on the <a href="http://gutenbergtimes.com/podcast">Gutenberg Changelog</a>, <br />send them to <a href="mailto:changelog@gutenbergtimes.com">changelog@gutenbergtimes.com</a></p>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" />


<section class="wp-block-newsletterglue-group" style="padding-top: 10px; padding-bottom: 10px; padding-left: 20px; padding-right: 20px; margin-top: 0px; margin-bottom: 0px;">
<p>Featured Image: WordCamp Europe 2025 photo by Kostas Fryganiotis, <a href="https://www.flickr.com/photos/wceu/54572922149/in/album-72177720326409151">found on Flickr</a></p>



<hr class="wp-block-separator has-css-opacity is-style-wide" />



<p class="has-text-align-left"><strong>Don&#8217;t want to miss the next Weekend Edition? </strong></p>


<form action="https://gutenbergtimes.com/feed/" autocomplete="on" class="wp-block-newsletterglue-form ngl-form ngl-portrait" method="post"><div class="ngl-form-container"><div class="ngl-form-field" style="margin-bottom: 25px;"><label class="ngl-form-label" for="ngl_email"><br />Type in your Email address to subscribe.</label><div class="ngl-form-input"><input autocomplete="email" class="ngl-form-input-text" id="ngl_email" name="ngl_email" required="required" style="border-radius: 21px;" type="email" /></div></div><button class="ngl-form-button" style="background-color: #005075; border-color: #005075; border-width: 1px; border-style: solid; color: #ffffff; border-radius: 21px;" type="submit">Subscribe</button><p class="ngl-form-text">We hate spam, too, and won&#8217;t give your email address to anyone <br />except Mailchimp to send out our Weekend Edition</p></div><div class="ngl-message-overlay"><div class="ngl-message-svg-wrap"><svg fill="none" height="24" stroke="#fff" stroke-width="2" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><polyline points="20 6 9 17 4 12"></polyline></svg></div><div class="ngl-message-overlay-text">Thanks for subscribing.</div></div><input id="ngl_list_id" name="ngl_list_id" type="hidden" value="26f81bd8ae" /><input id="ngl_double_optin" name="ngl_double_optin" type="hidden" value="yes" /></form>


<hr class="wp-block-separator has-css-opacity is-style-wide" />
</section>";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Sat, 14 Jun 2025 09:50:37 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:18:"Birgit Pauli-Haack";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:21;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:66:"Gravatar: Building Better Social Networks Through Decentralization";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:32:"http://blog.gravatar.com/?p=3324";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:64:"https://blog.gravatar.com/2025/06/13/decentralized-social-media/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:10070:"<p>Let&#8217;s face it. Social media is starting to feel like a rigged game. Users are burnt out, brands are boxed in, and algorithms act more like black boxes than helpful curators.</p>



<p>Enter the promise of decentralized social networks: platforms that ditch the central command center and run on independently managed servers. They promise a fairer, freer internet – but pulling it off isn&#8217;t easy.</p>



<p>And the numbers tell an interesting story.</p>



<h2 class="wp-block-heading">The Great Migration: What&#8217;s Really Driving Growth?</h2>



<p>Bluesky has been absolutely exploding lately, adding millions of users in just the past few months. Meanwhile, Mastodon has been puttering along with steady but modest growth for years, never quite hitting that mainstream breakout moment.</p>



<p>But here&#8217;s the question: are people flocking to Bluesky because they genuinely want decentralization, or because they just want somewhere that ain&#8217;t X?</p>



<p>Most folks don&#8217;t wake up thinking &#8220;I need a decentralized social network.&#8221; They wake up frustrated that their posts aren&#8217;t reaching their followers, or worried their account might vanish overnight, or just plain tired of dealing with whatever chaos is happening on their current platform.</p>



<p>Bluesky offers an escape hatch that feels familiar. Mastodon? Well, that&#8217;s where you go when you really, truly care about the principles behind decentralization.</p>



<h2 class="wp-block-heading">Is Bluesky Actually Decentralized?</h2>



<p>Here&#8217;s where things get interesting. Bluesky runs on the AT Protocol, which is designed for decentralization. But right now? There&#8217;s essentially one big server doing all the heavy lifting.</p>



<p>It&#8217;s like having a decentralized highway system with only one on-ramp.</p>



<p>Bluesky promises you can eventually take your data and followers elsewhere if things go south. That&#8217;s a big improvement over traditional platforms. But as of today, &#8220;elsewhere&#8221; doesn&#8217;t really exist yet. You&#8217;re still trusting one company with your digital life – they just promise to be nicer about it.</p>



<p>That doesn&#8217;t make Bluesky worthless. The data portability and algorithmic choice features are genuinely useful. And the fact that you can use your own domain as your username? That&#8217;s actually pretty brilliant.</p>



<p>But calling it fully decentralized right now is like calling a blueprint a building.</p>



<h2 class="wp-block-heading">How True Decentralization Works: The Fediverse</h2>



<p>Real decentralization looks more like Mastodon and the fediverse – a sprawling network of independently run servers that all speak the same digital language thanks to open protocols.</p>



<p>It&#8217;s a bit like email. Your Gmail can talk to someone&#8217;s Outlook, Yahoo, or that one person still clinging to AOL, because they all follow the same basic rules.</p>



<p>In the fediverse, you don&#8217;t sign up with one big platform. You choose an instance to call home. Each comes with its own vibe, community guidelines, and moderation style. Some are havens for coders, others filled with artists, activists, or people very, very into vintage tractors.</p>



<p>This setup hands users real control over moderation and community culture. No black-box algorithm deciding who sees what. No getting locked into a single app. And if your current server starts feeling off? You can pack up your followers and posts and move to another instance.</p>



<p>The fediverse includes:</p>



<ul class="wp-block-list">
<li>Mastodon for microblogging (basically Twitter, but with more thoughtful conversations)</li>



<li>Pixelfed for photo sharing (Instagram without the influencer economy)</li>



<li>PeerTube for video hosting (YouTube minus the surveillance capitalism)</li>
</ul>



<p>But here&#8217;s the catch. All this freedom comes with complexity that makes most people&#8217;s heads spin.</p>



<h2 class="wp-block-heading">The Identity Problem Nobody Talks About</h2>



<p>The biggest challenge with decentralized social media isn&#8217;t technical – it&#8217;s practical. How do you maintain a consistent identity when you&#8217;re scattered across multiple platforms, instances, and protocols?</p>



<p>That dream handle you grabbed on mastodon.social? Already taken on hachyderm.io. Now you&#8217;re stuck with @yourname2024 or something equally clunky. Your bio works perfectly on <a href="https://docs.joinmastodon.org/user/profile/#:~:text=Your%20bio%20is%20a%20short,link%20shortener%20to%20save%20characters.">Mastodon&#8217;s 500-character limit</a> but gets chopped off everywhere else. Profile links follow no consistent format.</p>



<p>The result? Your digital presence looks different everywhere, making it harder for people to find and recognize you across platforms.</p>



<p>This is where domain-based usernames start making sense. Whether it&#8217;s Bluesky&#8217;s @yourname.yourdomain.com handles or setting up your own domain for the fediverse, owning your name means owning your identity.</p>



<p>And that&#8217;s not just about vanity – it&#8217;s about being findable when you inevitably need to move platforms again.</p>



<h2 class="wp-block-heading">Making Yourself Findable in a Fragmented World</h2>



<figure class="wp-block-image size-full"><img alt="" class="wp-image-3332" height="1170" src="https://blog.gravatar.com/wp-content/uploads/2025/06/image.png" width="2048" /></figure>



<p>Here&#8217;s something that might sound contradictory: one way to navigate decentralized social media is through a centralized identity service.</p>



<p>I know, I know. Using Gravatar to manage your presence across decentralized platforms sounds backwards. Some folks specifically chose Mastodon to escape centralized identity systems. That tension is real, and worth acknowledging.</p>



<p>But here&#8217;s the thing – when you&#8217;re bouncing between Mastodon, Bluesky, PeerTube, and whatever comes next, consistency becomes valuable. Not for data collection or advertising, but for basic human recognition.</p>



<p>Unlike your all-in-one identity on places like Facebook or Instagram, <a href="https://blog.gravatar.com/2024/07/30/decentralized-identity-management/">the decentralized world hands you a juggling act</a>. Different apps, different instances, different handles. Not ideal.</p>



<p>When someone sees @yourname.link posting on Bluesky, then spots the same name and face commenting on a GitHub issue or WordPress blog, that consistency builds trust and recognition. It&#8217;s the difference between being a random username and being a recognizable person.</p>



<p>Gravatar handles this by creating a portable identity hub that follows you around like a digital business card. Set it up once, and it appears automatically on thousands of sites whenever you use your email to register or comment.</p>



<p>You choose what to share. You update it when you want. No algorithm meddles with your identity, and your data stays yours.</p>



<p>For Bluesky specifically, <a href="https://blog.gravatar.com/2025/02/06/bluesky-handle/">Gravatar supports custom domain handles</a>, so you can claim @yourname.bio without the technical hassle of setting up your own server.</p>



<h2 class="wp-block-heading">The Real Value: Being Found When You Move</h2>



<p>The benefit ain&#8217;t about convenience – it&#8217;s about portability. When you inevitably need to jump platforms (and you will), your followers can find you because your identity remains consistent.</p>



<p>Your Gravatar profile becomes a lighthouse, pointing people to wherever you&#8217;ve landed next. Mastodon handle? Listed there. PeerTube channel? Yep. New platform that launches next year? Add it to the list.</p>



<p>This matters more in a decentralized world where there&#8217;s no central directory, no &#8220;suggested users&#8221; algorithm to help people discover you on a new platform. You&#8217;re responsible for being findable.</p>



<figure class="wp-block-image size-full"><a href="https://gravatar.com/connect/?gravatar_from=blog"><img alt="" class="wp-image-2616" height="729" src="https://blog.gravatar.com/wp-content/uploads/2024/12/free_profile_cta.png" width="3243" /></a></figure>



<h2 class="wp-block-heading">What&#8217;s Next for Decentralized Social Media</h2>



<p>The momentum is real, but the direction isn&#8217;t clear yet. Will Bluesky eventually become truly decentralized, or will it remain a benevolent centralized platform with decentralized features? Will Mastodon find its mainstream moment, or stay the principled-but-niche option?</p>



<p>And will regular folks – not just tech enthusiasts – actually want the complexity that comes with true decentralization?</p>



<p>The answer probably depends on whether platforms can solve the basic human problems (finding your people, keeping your identity, avoiding harassment) better than what we have now.</p>



<p>What we know for sure is that the old model is cracking. People want more control, more transparency, and more choice in how they connect online. Whether that comes through truly decentralized networks or just better-behaved centralized ones remains to be seen.</p>



<p>But either way, making yourself consistently findable across this changing landscape? That&#8217;s just good sense.</p>



<h3 class="wp-block-heading"><strong>Navigating the challenges of cross-platform identity mana</strong></h3>



<p>So, step into the future.</p>



<p>Take two minutes (seriously, that’s all it takes) to <a href="https://gravatar.com/">set up your free Gravatar profile</a>, and take charge of your identity across the decentralized web.</p>



<figure class="wp-block-image size-full"><a href="https://gravatar.com/connect/?gravatar_from=blog"><img alt="" class="wp-image-2616" height="729" src="https://blog.gravatar.com/wp-content/uploads/2024/12/free_profile_cta.png" width="3243" /></a></figure>";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Fri, 13 Jun 2025 14:45:06 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:11:"Ronnie Burt";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:22;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:50:"Gravatar: Vibe Better With Custom LLM Instructions";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:32:"http://blog.gravatar.com/?p=3315";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:78:"https://blog.gravatar.com/2025/06/12/vibe-better-with-custom-llm-instructions/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:1651:"<p>Are you creating code with AI tools like Cursor, Loveable, or Claude? We just made it way easier.</p>



<p>We&#8217;ve created a single page of custom instructions that developers can copy-paste into any LLM or AI tool to instantly understand how Gravatar works. No more explaining our API from scratch or watching your AI assistant guess how profile data flows.</p>



<h2 class="wp-block-heading">What&#8217;s In The Box?</h2>



<p>Our custom instructions give AI tools everything they need to integrate with Gravatar properly:</p>



<ul class="wp-block-list">
<li>Complete API understanding for avatars and profiles</li>



<li>Real-world code examples</li>



<li>Privacy and data handling best practices (ex. SHA256, not MD5)</li>



<li>Mobile SDK guidance for iOS and Android</li>
</ul>



<p>Think of it as the ultimate cheat sheet for building with Gravatar. </p>



<h2 class="wp-block-heading">Perfect For Developers Who Vibe</h2>



<p>Whether you&#8217;re prototyping with v0, building with ChatGPT, or coding alongside any AI assistant, these instructions ensure your AI actually gets what Gravatar does. </p>



<p>Your AI will understand profile-as-a-service, know our REST API endpoints, and suggest the right integration approach for your project.</p>



<h2 class="wp-block-heading">Copy, Paste, Build</h2>



<p>We&#8217;ve done the heavy lifting. </p>



<p>The instructions work with any LLM that accepts custom prompts. Paste them in, start your project, and watch your AI assistant become a Gravatar integration expert.</p>



<p><a href="https://docs.gravatar.com/guides/llms-txt/">Grab the instructions here →</a></p>";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Thu, 12 Jun 2025 21:10:25 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:11:"Ronnie Burt";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:23;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:58:"Gravatar: 10 Essential Tips for DIY Professional Headshots";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:32:"http://blog.gravatar.com/?p=3299";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:64:"https://blog.gravatar.com/2025/06/12/professional-headshot-tips/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:22246:"<p>So, you’ve decided it’s time for a headshot that doesn’t look like it was taken at 11 pm under your kitchen light. Sensible move. But then – bam! You check out the prices and suddenly consider just cropping yourself out of a group photo from 2017.</p>



<p>You’re not overreacting. </p>



<p>The professional route is painfully pricey. As for the DIY route, one minute you&#8217;re adjusting lighting, the next you&#8217;re wondering why you suddenly resemble a startled meerkat.</p>



<p>And yet, the stakes are high. Research shows <a href="https://www.psychologicalscience.org/observer/how-many-seconds-to-a-first-impression">people form an impression of you from your photo in <em>1/10th of a second</em></a>. That’s faster than your thumb can scroll. </p>



<p>Like it or not, your headshot is your always-on personal brand billboard, beaming across LinkedIn, Zoom, your email signature… basically, everywhere.</p>



<p>But the truth is, you don’t need a Hollywood budget or a Nikon the size of a shoebox to nail it.</p>



<p>With just your smartphone, a few clever tricks, and a sprinkle of intention, you can snap a headshot that says “professional,” not “panicked.”</p>



<p>Below you’ll find <strong>10 practical strategies</strong> to help you:</p>



<ul class="wp-block-list">
<li>Nail lighting without a studio.</li>



<li>Pose without looking like you&#8217;re mid-blink.</li>



<li>Edit like a pro.</li>
</ul>



<p>This guide will take you from “I guess this will do?” to a polished, professional headshot that opens doors, lands clients, or gets you into that next big role.</p>



<p>Let’s get snapping!</p>



<h2 class="wp-block-heading"><strong>1. Choose your equipment</strong> </h2>



<p>Good news: The best camera you own is probably already in your pocket. Today’s smartphones are absolute powerhouses, easily capable of snapping headshots that look straight out of a studio… <em>if</em> you know how to wield them. </p>



<p>Here’s what you’ll need:</p>



<ul class="wp-block-list">
<li>A recent phone with at least a 12MP main camera.</li>



<li>Portrait mode (hello, dreamy background blur).</li>



<li>A grid display to keep your framing sharp.</li>



<li>Focus lock to make sure your eyes stay crisp.</li>



<li>Self-timer or voice command so you’re not sprinting back and forth between shots.</li>
</ul>



<figure class="wp-block-image size-full"><img alt="Phone settings for professional headshot tips" class="wp-image-3300" height="1712" src="https://blog.gravatar.com/wp-content/uploads/2025/05/gravatar-professional-headshot-tips-phone-settings.png" width="959" /></figure>



<p>Take note: As tempting as it is to use the front-facing camera, the back camera’s where the magic happens. It’s higher quality, gives you more control, and won’t leave you with that slightly fuzzy “FaceTime screenshot” look.</p>



<p>To get it right:</p>



<ul class="wp-block-list">
<li>Set your phone 3-4 feet away, level with your eyes.</li>



<li>Balance it on a stack of books, boxes – whatever’s sturdy.</li>



<li>Or better yet, grab an <a href="https://www.nytimes.com/wirecutter/reviews/best-tripod-for-iphones-smartphones/">adjustable phone tripod</a> (they’re less than $50 and worth every penny).</li>
</ul>



<p><img alt="✨" class="wp-smiley" src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/2728.png" style="height: 1em;" /> <strong>Pro tip:</strong> Some phones flip selfies by default, turning text (and your face) backward. If you insist on the front camera, dig into your settings and switch off image mirroring before you start. That way, your photo looks polished and professional <em>everywhere</em> it shows up.</p>



<h2 class="wp-block-heading"><strong>2. Find your ideal lighting</strong></h2>



<p>Lighting. It’s the make-or-break factor; the difference between “Oh wow, did you get that done professionally?” and “Cute… but why does it look like you’re hiding in a cave?”</p>



<p>Don’t worry. Your best lighting? Totally free. Natural light is your secret weapon.</p>



<p>Start by parking yourself near a big window – bonus points if it faces away from the sun, that way light stays soft and steady, skipping those harsh, unflattering shadows. Aim to stand about 3–5 feet away so that the gentle glow wraps your face like a flattering Instagram filter.</p>



<p>And yes, timing <em>totally</em> matters:</p>



<ul class="wp-block-list">
<li>Early morning (7–9 AM) means crisp, clean, chef’s-kiss light <img alt="🤌" class="wp-smiley" src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f90c.png" style="height: 1em;" /><img alt="☀" class="wp-smiley" src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/2600.png" style="height: 1em;" />.</li>



<li>Golden hour (1–2 hours before sunset): Dreamy, warm, universally flattering.</li>



<li>Midday? Big no, no. Shadows where you don’t want them.</li>
</ul>



<p>And don’t just snap and hope for the best. Play around. Shuffle a little left or right of the window. Step closer, then further away. Test different angles to find <em>your</em> best side.</p>



<p><img alt="✨" class="wp-smiley" src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/2728.png" style="height: 1em;" /> <strong>Pro tip:</strong> If you’re wearing spectacles, tilt your chin slightly down, and if you’re using extra lights, angle them upward to give you the no glare, natural, polished look you want.</p>



<p>Go on, work that window.</p>



<h2 class="wp-block-heading"><strong>3. Pick your background</strong></h2>



<p>Your background is the unsung hero of your headshot. Typically, you’ll want a backdrop so subtle, no one even notices it. All eyes should be on <em>you</em>, not whatever’s lurking behind you.</p>



<p>The easiest win is to stick to plain, neutral tones:</p>



<ul class="wp-block-list">
<li><strong>Light gray</strong> = sleek, modern vibes.</li>



<li><strong>Off-white</strong> = timeless, classic feel.</li>



<li><strong>Soft blue</strong> = just enough warmth without stealing the spotlight.</li>
</ul>



<figure class="wp-block-image size-full"><img alt="" class="wp-image-3302" height="1620" src="https://blog.gravatar.com/wp-content/uploads/2025/05/gravatar-profile-picture-headshot-tips.png" width="1620" /></figure>



<p>These shades quietly do their job, keeping attention exactly where it belongs – on your face. And no, you don’t need a fancy studio to pull this off. Try one of these simple DIY setups:</p>



<ul class="wp-block-list">
<li>A plain, unadorned wall (yes, really).</li>



<li>A wrinkle-free bedsheet, hung nicely and smoothly.</li>



<li>A big sheet of foam board from the craft store.</li>
</ul>



<p><img alt="✨" class="wp-smiley" src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/2728.png" style="height: 1em;" /> <strong>Pro tip:</strong> Do <em>not</em> stand right up against the background. Step forward 3-4 feet to:<br /><img alt="✅" class="wp-smiley" src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/2705.png" style="height: 1em;" /> Add natural depth<br /><img alt="✅" class="wp-smiley" src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/2705.png" style="height: 1em;" /> Dodge harsh shadows<br /><img alt="✅" class="wp-smiley" src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/2705.png" style="height: 1em;" /> Get a subtle blur in portrait mode</p>



<p>A few things to avoid: Bright colors that clash with your skin tone. Busy patterns screaming for attention. Random clutter (bookshelves, kitchen counter, laundry pile). Remember, you’re the star. Everything else needs to <em>fade</em> into the background. And if all else fails, you can always swap out the backdrop later when you <a href="https://snapseed.online/">edit your pic</a>.</p>



<p>There you have it: Pro-looking backdrop, no studio required.</p>



<h2 class="wp-block-heading"><strong>4. Dress for success</strong></h2>



<p>Let’s talk wardrobe. Color psychology isn’t just fluff, it shapes how people see you. In corporate settings, blues and grays quietly say “trustworthy” and “competent.” Whereas in creative industries, brighter colors scream “innovative.” Rule of thumb: Dress for <em>your</em> industry and purpose.</p>



<p>Your outfit also needs to work with your background:</p>



<ul class="wp-block-list">
<li>Dark clothes + light backdrop = high contrast (tricky for cameras).</li>



<li>Similar tones = coordinated, polished look.</li>



<li>Solid colors &gt; busy prints (trust us).</li>
</ul>



<p>Necklines matter too:</p>



<ul class="wp-block-list">
<li>Round face? V-neck = flattering length.</li>



<li>Square face? A scoop or rounded neckline softens angles.</li>



<li>Long face? Boat or crew neck balances things.</li>



<li>Heart-shaped? Try square or cowl necklines.</li>
</ul>



<p>Heads-up: The camera spots <em>everything</em> – gaps, seams, button strain. If it doesn’t fit perfectly, fix it or swap it.</p>



<figure class="wp-block-image size-full"><img alt="Gravatar profile example for headshot tips]" class="wp-image-3303" height="1056" src="https://blog.gravatar.com/wp-content/uploads/2025/05/gravatar-card-joe.png" width="744" /></figure>



<p>And once you’ve nailed that shot? Upload it to <a href="https://gravatar.com/"><strong>Gravatar</strong></a>. It syncs your headshot across platforms like <a href="https://wordpress.org/">WordPress</a>, <a href="http://github">GitHub</a>, and <a href="https://slack.com/">Slack</a> – no manual updates needed. </p>



<p>In just 5 minutes, you can <a href="https://gravatar.com/">create your free profile</a>, upload your pic, and let your digital presence do the talking.</p>



<h2 class="wp-block-heading"><strong>5. Apply makeup strategically</strong></h2>



<p>Here’s the thing about cameras: They’re sneaky little flatteners. What looks defined and dimensional in real life can end up weirdly washed out or featureless in a photo. That’s why a little strategic makeup can make a big difference for headshots.</p>



<p>If makeup’s already in your routine, dial it up a notch – think a touch more definition around the eyes and cheekbones than your everyday look. This helps counteract the camera’s flattening effect and keeps your face looking sculpted and alive in the final shot.</p>



<p>A few things to <em>skip</em> before your shoot:</p>



<ul class="wp-block-list">
<li>Products with SPF (they can throw off a ghostly white cast on camera).</li>



<li>Silica-heavy setting powders (you don’t want that chalky “flashback” effect).</li>



<li>Super shimmery products (they tend to photograph as oily rather than glowy).</li>
</ul>



<p>For men – or anyone who doesn’t usually reach for makeup – consider a few subtle tweaks:</p>



<ul class="wp-block-list">
<li>A quick dusting of translucent powder to knock back shine on the forehead and nose.</li>



<li>A tinted moisturizer to even out skin tone (promise, it won’t look like makeup).</li>



<li>And don’t underestimate the power of a precise beard trim – cameras love to highlight asymmetry.</li>
</ul>



<p>But here’s the best bit: You don’t need to chase perfection on the day. A <a href="https://snapseed.online/">good photo editor</a> can easily tackle things like redness, uneven skin tone, or tiny blemishes after the fact.</p>



<h2 class="wp-block-heading">6. Use confident body language</h2>



<p>Body language matters more than you think in a headshot. Research shows small posture tweaks can <a href="https://jov.arvojournals.org/article.aspx?articleid=2135912">boost how competent and approachable you seem</a>. Plus, striking confident poses doesn’t just influence others, <a href="https://richardepetty.com/wp-content/uploads/2019/01/2009-ejsp-brinol-petty-wagner.pdf">it literally boosts your confidence</a> while lowering stress.</p>



<p>Try the <strong>“turtle method.”</strong></p>



<ul class="wp-block-list">
<li>Gently push your chin forward and slightly down.</li>



<li>It sharpens your jawline.</li>



<li>Separates your head from your shoulders.</li>



<li>Instantly adds flattering definition.</li>
</ul>



<p>Skip perfect symmetry – it reads stiff. Instead:</p>



<ul class="wp-block-list">
<li>Tilt your head a little (around 15°).</li>



<li>Angle your shoulders slightly.</li>



<li>Keep your spine tall, but relaxed.</li>
</ul>



<p>Before the shutter clicks, use this breathing hack to ditch tension:</p>



<ul class="wp-block-list">
<li>Inhale through your nose for 4 counts.</li>



<li>Hold briefly.</li>



<li>Exhale through your mouth for 6 counts.</li>



<li>On the last exhale, fully relax your face.</li>
</ul>



<p>End result: Less “awkward passport photo,” more polished, confident professional.</p>



<h2 class="wp-block-heading">7. Find your facial expressions</h2>



<p>Here’s the thing: Everyone’s got signature expressions that photograph well, but you probably won’t stumble upon them on first try. The secret is to indulge in a little trial and error.</p>



<p>Block out some time, grab your phone, and take test shots from different angles. What feels natural in the mirror doesn’t always translate on camera. You’ll need to push past your usual go-to faces and experiment.</p>



<p>Here’s what to try:</p>



<ul class="wp-block-list">
<li><strong>The “squinch”</strong> – a subtle narrowing of the lower eyelids that says “I’ve got this” without veering into “can’t see without my glasses.”</li>



<li><strong>Eyebrows: Relaxed but slightly lifted</strong> – adds a hint of warmth and approachability.</li>



<li><strong>The 20% smile</strong> – not a full grin, not stone-faced: Just enough curve to look thoughtful and composed.</li>
</ul>



<p>Take note: Each industry carries its own preferences.</p>



<ul class="wp-block-list">
<li>Legal and finance? Go for serious and authoritative.</li>



<li>Tech? Relaxed, approachable smiles are fair game.</li>



<li>Creative fields? Feel free to let your personality shine through (quirks welcome).</li>
</ul>



<p>And if you’ve ever sworn you’re “just not photogenic”? Join the club. The trick is capturing enough variations to catch those magic in-between moments. Use your phone’s burst mode (hold that shutter down) to snap 10–15 shots at once. Those sneaky, subtle shifts mid-blink or mid-laugh are often the gold you’d never have deliberately posed for.</p>



<h2 class="wp-block-heading">8. Tweak those phone camera settings</h2>



<p>Your smartphone camera is smarter than you think. With a few tweaks, you can take your headshot from “meh” to “wow.” Here’s how:</p>



<ul class="wp-block-list">
<li><strong>Pick your mode:</strong> <strong>Portrait</strong> for background blur, <strong>Square</strong> for social profiles, <strong>Standard</strong> for flexibility.<br /></li>



<li><strong>Nail white balance:</strong> Keeps skin tones looking natural (not Smurf-like).
<ul class="wp-block-list">
<li>Find it under “pro” or “advanced” modes.</li>



<li>Outdoors? Auto’s fine.</li>



<li>Indoors? Pick a preset to match your lighting.</li>



<li>Still off? Manually adjust until you’re glowing (in a good way).<br /></li>
</ul>
</li>



<li><strong>Switch on gridlines:</strong></li>
</ul>



<ol class="wp-block-list">
<li>Apply <a href="https://digital-photography-school.com/rule-of-thirds/">the rule of thirds</a> and align the eyes along the top horizontal line.</li>



<li>Center your face at a grid intersection.</li>



<li>Voilà: Pro-level framing.<br /></li>
</ol>



<figure class="wp-block-image size-large"><img alt="Grid framing for Gravatar headshot tips" class="wp-image-3304" height="660" src="https://blog.gravatar.com/wp-content/uploads/2025/05/gravatar-headshot-tips-grid.png?w=660" width="660" /></figure>



<ul class="wp-block-list">
<li><strong>Use HDR (High Dynamic Range):</strong> Helps balance light when:
<ul class="wp-block-list">
<li>The background’s brighter than your face.</li>



<li>You’re dealing with tricky lighting.</li>
</ul>
</li>



<li><strong>Choose your aspect ratio:</strong>
<ul class="wp-block-list">
<li>4:3 = classic headshot.</li>



<li>1:1 = perfect for social profiles.</li>
</ul>
</li>
</ul>



<p>With these settings dialled in, you’ll be cranking out headshots that punch well above their weight.</p>



<h2 class="wp-block-heading">9. Time for a quick polish: Edit that headshot</h2>



<p>Even the best DIY headshots can use a little finesse. But don’t worry, you don’t need Photoshop or a degree in digital media. A few smart tweaks with free (or cheap) apps can level up your photo without draining your wallet:</p>



<ul class="wp-block-list">
<li><a href="https://www.adobe.com/products/photoshop-lightroom/mobile.html"><strong>Lightroom Mobile</strong></a> (the free version has all the essentials).</li>



<li><a href="https://snapseed.online/"><strong>Snapseed</strong></a> (totally free, with pro-level tools).</li>



<li><a href="https://www.vsco.co/"><strong>VSCO</strong></a> (great for natural, flattering presets).</li>



<li><strong>Your phone’s built-in editor</strong> (seriously underrated).</li>
</ul>



<p>Here’s where to focus your edits:</p>



<p><strong>Cropping</strong></p>



<ul class="wp-block-list">
<li>Frame your eyes in the <em>top third</em> of the shot (see above).</li>



<li>Snip out any background distractions.</li>



<li>Keep a comfy balance around your head and shoulders.</li>
</ul>



<p><strong>Brightness &amp; contrast</strong></p>



<ul class="wp-block-list">
<li>Bump exposure up 10–15% for a fresher, more open look.</li>



<li>Add a dash of contrast (+5 to +10) to sharpen features.</li>



<li>But don’t overdo it. You want glow, not glare.</li>
</ul>



<p><strong>White balance</strong></p>



<ul class="wp-block-list">
<li>Warm things up slightly (+5 to +10) for friendlier skin tones.</li>



<li>Tweak any weird color casts from artificial lights.</li>
</ul>



<p><strong>Vignette</strong></p>



<ul class="wp-block-list">
<li>Add a subtle dark edge (-10 to -15) to draw attention inward.</li>
</ul>



<p>A few editing <em>don’ts</em> to steer clear of:</p>



<ul class="wp-block-list">
<li>Over-smoothing your skin into porcelain doll territory.</li>



<li>Filters so heavy they’ll age your photo by next week.</li>



<li>Anything that tweaks your facial features beyond recognition.</li>
</ul>



<p>And when you’re done, always save in high-res (at least 1000&#215;1000 pixels) to keep things crisp across every platform.</p>



<h2 class="wp-block-heading">10. Use Gravatar to display your perfect headshot everywhere</h2>



<p>You’ve finally nailed the perfect headshot – great lighting, solid pose, zero double chin. Congrats! But now comes the tedious part: Uploading it <em>everywhere</em>. <a href="https://www.linkedin.com/">LinkedIn</a>. Company intranet. <a href="https://slack.com/">Slack</a>. <a href="https://github.com/">GitHub</a>. That random forum you signed up for in 2014. Each site wants a different size, a different crop, a different format. Ugh.</p>



<p>Enter <a href="https://gravatar.com/"><strong>Gravatar</strong></a>: The no-fuss, no-hassle way to make your headshot follow you around the internet like the loyal professional sidekick it was born to be.</p>



<p>Here’s how it works:</p>



<ul class="wp-block-list">
<li>Gravatar links your email address to your headshot.</li>



<li>Any platform that’s Gravatar-enabled pulls in your photo automatically.</li>



<li>Update your pic once in your Gravatar account, and it updates everywhere else, no manual uploads or awkward crops required.</li>
</ul>



<p>And it doesn’t stop at just your photo. Gravatar also lets you round out your online presence with:</p>



<ul class="wp-block-list">
<li>A professional bio.</li>



<li>Verified links to your portfolio and social profiles.</li>



<li>Additional professional images.</li>



<li>Your contact info.</li>
</ul>



<figure class="wp-block-image size-large"><img alt="Example Gravatar bio for headshot tips" class="wp-image-3305" height="936" src="https://blog.gravatar.com/wp-content/uploads/2025/05/gravatar-card-ethan.png?w=660" width="660" /></figure>



<p>The cherry on top? It’s 100% free. <a href="https://gravatar.com/">Spend five minutes setting up your profile</a> today, and you’ll save yourself countless “ugh-I-need-to-update-my-photo-there-too” headaches down the line – all you need for a polished <a href="https://blog.gravatar.com/2024/07/10/online-presence-management/">online presence</a>.</p>



<h2 class="wp-block-heading">Your perfect headshot + Gravatar = instant professional glow-up</h2>



<p>Turns out, you <em>can</em> create a killer professional headshot at home – no fancy cameras, no overpriced photographers, no awkward studio backdrops required. Just your smartphone, some decent lighting, and a little know-how.</p>



<p>By following these 10 steps, you’ve already cracked the code – the gear, the angles, the lighting, the editing – to turn your humble selfie into a headshot that can go toe-to-toe with the pros.</p>



<p>Pair that polished photo with <a href="https://gravatar.com/"><strong>Gravatar</strong></a>, and suddenly your face shows up <em>everywhere</em> you show up – LinkedIn, blogs, email signatures, you name it – without you lifting another finger. You just update your Gravatar once to instantly refresh across the board.</p>



<p>So, carve out an hour to snap that headshot, then take five minutes to <a href="https://gravatar.com/">set up your (free!) Gravatar profile</a> today.</p>



<figure class="wp-block-image size-full"><a href="https://gravatar.com/connect/?gravatar_from=blog"><img alt="" class="wp-image-2616" height="729" src="https://blog.gravatar.com/wp-content/uploads/2024/12/free_profile_cta.png" width="3243" /></a></figure>";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Thu, 12 Jun 2025 20:59:04 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:11:"Ronnie Burt";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:24;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:20:"Matt: Play With Clay";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:23:"https://ma.tt/?p=143265";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:27:"https://ma.tt/2025/06/clay/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:1699:"<p>Happy to announce that the amazing <a href="https://clay.earth/">Clay.earth</a> product and team is joining <a href="https://automattic.com/">Automattic</a>. If you haven&#8217;t tried the app out yet, here&#8217;s a quick video to give you a taste.</p>



<figure class="wp-block-embed alignwide is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">

</div></figure>



<p><a href="https://techcrunch.com/2025/06/12/automattic-acquires-relationship-manager-clay-to-add-an-identity-layer-to-online-tools/">TechCrunch has covered the broader strategy pretty well</a>: One of the top requests we&#8217;ve heard from <a href="https://www.beeper.com/">Beeper</a> beta testers is they want to tie in more context, like a personal CRM, and some even requested Clay by name. We&#8217;ll keep the apps separate, as Clay also has some interesting team uses, but they will complement and integrate with each other as part of our all-in-one messaging strategy.</p>



<p>We share a vision to integrate Clay&#8217;s technology, which manages over 140 million relationships, as a layer across many of our products and experiences at Automattic. I&#8217;m excited to work with the founders, Matt and Zach, to bring this vision to life. I&#8217;ve always felt the missing primitive in WordPress&#8217; content management data architecture was a scalable concept of a Person and Relationships outside of our user table.</p>



<p><a href="https://clay.earth/next">Here&#8217;s the beautiful announcement on the Clay site</a> and <a href="https://automattic.com/2025/06/12/automattic-welcomes-clay/">on Automattic&#8217;s</a>.</p>";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Thu, 12 Jun 2025 18:37:46 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:4:"Matt";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:25;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:59:"Bernie Reiter: Using git-svn for WordPress Core Development";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:24:"http://raz.or.at/?p=1198";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:74:"https://raz.or.at/2025/06/12/using-git-svn-for-wordpress-core-development/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:11643:"<p>A while ago, there was a call for WordPress Core Committers to share their development setups. <a href="https://make.wordpress.org/core/handbook/best-practices/when-you-become-a-committer/core-committer-workflows/">Many of them have already done so</a>; I’m finally getting around to sharing mine.</p>



<p>As far as I know, I’m one of the few people that use <code>git-svn</code>. Not only does it shield me from the quirks of Subversion (SVN); it also allows me to use git to work on branches from the  <code><a href="https://github.com/WordPress/wordpress-develop">WordPress/wordpress-develop</a></code> GitHub mirror (which has become the de-facto standard for Core development), and to merge my contributions to Core’s SVN repo once they’re ready, all from within the same directory.</p>



<p>The following is based on a <a href="https://markjaquith.wordpress.com/2011/05/26/developing-on-wordpress-using-git/">blog post</a> by Mark Jaquith that’s over fourteen years old, meaning it predates <code>WordPress/wordpress-develop</code> as well as some new features and behavioral changes in git (and <code>git-svn</code>). I used the <a href="https://git-scm.com/docs/git-svn">official <code>git-svn</code> docs</a> to update accordingly.</p>



<h2 class="wp-block-heading">Setup</h2>



<p>Assuming you already have git and homebrew installed, you’ll need to use the latter to install <code>git-svn</code>:</p>



<pre class="wp-block-code"><code>brew install git-svn</code></pre>



<p>You can now check out the SVN repo. A word of warning before you proceed: Due to the linear nature of SVN, cloning the repository means checking out all ~60k revisions (as of June 2025).<sup class="fn"><a href="https://raz.or.at/category/wordpress/feed/#78b71bc7-31f3-4e14-9996-ff8ad1338461" id="78b71bc7-31f3-4e14-9996-ff8ad1338461-link">1</a></sup> Even with a fast internet connection, this takes several hours; I let it run overnight.<sup class="fn"><a href="https://raz.or.at/category/wordpress/feed/#83875f15-4f02-426b-841f-c9104c628e43" id="83875f15-4f02-426b-841f-c9104c628e43-link">2</a></sup></p>



<pre class="wp-block-code"><code>git svn clone -s --prefix=svn/ --log-window-size=5000 https://develop.svn.wordpress.org wordpress-develop</code></pre>



<p>Let’s go through the arguments one by one:</p>



<ul class="wp-block-list">
<li><code>-s</code> (short for <code>--stdlayout</code>) will make git-svn look for trunk, branches, and tags in the eponymous subdirectories of the repository.</li>



<li><code>--prefix=svn/</code> <em>(make sure to include the trailing slash!)</em> sets a prefix that’s prepended to remotes in the git ref names that the aforementioned svn directories are mapped to. This defaults to <code>origin</code>, resulting in ref names such as <code>origin/trunk</code>. Since I want to use <code>origin</code> as the name for the <code>WordPress/wordpress-develop</code> GitHub mirror, I set the prefix to <code>svn</code> to denote the SVN repo.</li>



<li><code>--log-window-size=5000</code>: According to the docs, this specifies the number of log entries fetched per request when scanning the SVN repo. The docs recommend setting this to a higher number than the default 100 when cloning large repositories.</li>



<li><a href="https://develop.svn.wordpress.org/"><code>https://develop.svn.wordpress.org/</code></a> is of course the location of the WordPress codebase.</li>



<li><code>wordpress-develop</code> is the name of the target folder that the repo will be cloned into.</li>
</ul>



<p>Now for the fun part: We can add git remotes and switch between branches like we’d do in any other git repo! Typically, the next thing you’ll want to do is adding the <code>WordPress/wordpress-develop</code> GitHub mirror as <code>origin</code>:</p>



<pre class="wp-block-code"><code>git remote add origin git@github.com:WordPress/wordpress-develop.git</code></pre>



<p>Since you can’t push branches to that repo, you’ll likely also want to add your own fork as a remote (and probably some other folks’, if you want to test their PRs). For my own fork, that’s</p>



<pre class="wp-block-code"><code>git remote add ockham git@github.com:ockham/wordpress-develop.git</code></pre>



<h2 class="wp-block-heading">Day-to-day Usage</h2>



<p>For your day-to-day development, you can use git just like you normally would, i.e. create branches, push them to your remote, fetch updates from the remote, etc.</p>



<p>The only difference is in the handling of the branches checked out from SVN. If you’re on one of of those – e.g. <code>trunk</code> –  you don’t use <code>git pull</code> to update, but</p>



<pre class="wp-block-code"><code>git svn rebase</code></pre>



<p>This will fetch the latest commits from the SVN repo and add them to your local copy of the branch.</p>



<p>To fetch any new branches and/or tags that have been created in the SVN repo (e.g. around Feature Freeze for a new WordPress version), you’ll do</p>



<pre class="wp-block-code"><code>git svn fetch</code></pre>



<p>When checking out the branch, remember that you’ll have to include the <code>svn/</code> prefix to indicate that you want the branch from SVN (rather than from the default <code>origin</code>, which in this setup will point to the <code>WordPress/wordpress-develop</code> GitHub mirror):</p>



<pre class="wp-block-code"><code>git checkout -b 6.8 svn/6.8</code></pre>



<p>You can always use <code>git svn info</code> to find out if the branch you’re currently on was checked out from SVN or git.</p>



<h2 class="wp-block-heading">Committing Code to SVN</h2>



<h3 class="wp-block-heading">Preparing the commit (the git part)</h3>



<p>Let’s say I’ve been working on some code in a git branch called <code>add/my-stuff</code>. Once that code is ready to merge, I start by locally squashing all my changes into one commit. There are different ways of doing this; if you’re unfamiliar with them, you can probably find some online tutorials (this part isn’t specific to <code>git-svn</code> at all). I typically either do an interactive rebase (<code>git rebase -i origin/trunk</code>) if there aren’t a lot of commits, or I reset all commits to the point that the branch deviated from <code>origin/trunk</code><sup class="fn"><a href="https://raz.or.at/category/wordpress/feed/#d8bbfaa9-8db9-426e-90d2-9a78a0fa3a4c" id="d8bbfaa9-8db9-426e-90d2-9a78a0fa3a4c-link">3</a></sup>, i.e.</p>



<pre class="wp-block-code"><code>git reset $(git merge-base origin/trunk $(git rev-parse --abbrev-ref HEAD))</code></pre>



<p>I then simply re-add all files that had any modifications (including new files that were previously untracked)</p>



<pre class="wp-block-code"><code>git add -A</code></pre>



<p>and finally create the commit</p>



<pre class="wp-block-code"><code>git commit</code></pre>



<p>At this point, I typically just paste the commit message that I’ve already prepared in my editor. This is the commit message that’s going into SVN, so it needs to follow <a href="https://make.wordpress.org/core/handbook/best-practices/commit-messages/">Core’s guidelines for commit messages</a>. However, it doesn’t have to be perfect right away; you’ll be able to go back to it later and polish it some more via <code>git commit --amend</code>. Be sure to review both the commit message and code changes by looking at the output of <code>git show</code>.</p>



<h3 class="wp-block-heading">Pushing the code to SVN</h3>



<p>Once I’m happy with my commit, I note its SHA and switch back to <code>trunk</code>. I do a last <code>git svn rebase</code> to fetch all the latest changes from SVN, and then <code>git cherry-pick</code> my commit. It’s probably a good idea to follow up with a final <code>git log</code> and <code>git show</code> to make sure everything is looking alright.</p>



<p>I then push my code to SVN by typing</p>



<pre class="wp-block-code"><code>git svn dcommit</code></pre>



<p>(Yes, that&#8217;s <code>dcommit</code>.)That’s the <code>git-svn</code> equivalent of <code>git push</code>! I watch as <code>git-svn</code> does its magic. Once it’s done, I check the Trac ticket and <code>wordpress-develop</code> PR which should now have been automatically closed.</p>



<h2 class="wp-block-heading">Other tools</h2>



<p>I use <a href="https://rancherdesktop.io/">Rancher Desktop</a> by SUSE, which is a free and open-source replacement for Docker Desktop. I&#8217;m using <strong>VZ</strong> as my virtual machine, and <strong>virtiofs</strong> as mount type. You can set these in <em>Preferences &gt; Virtual Machine</em>, in the <em>Emulation</em> and <em>Volume</em> tabs, respectively. Note that if you&#8217;re on Apple Silicon, you&#8217;ll need to <em>Enable Rosetta support</em>, as the <code>wordpressdevelop/php</code> container <a href="https://github.com/WordPress/wpdev-docker-images/issues/127">isn&#8217;t natively available for the <code>arm64</code> architecture yet</a>.</p>



<figure class="wp-block-image size-large"><img alt="" class="wp-image-1224" height="604" src="https://raz.or.at/wp-content/uploads/2025/06/screenshot-2025-06-16-at-20.00.28.png?w=1024" width="1024" /></figure>



<p>(There’s a chance that I won’t need any of that once macOS 26 is available, since apparently Apple is working on <a href="https://appleinsider.com/articles/25/06/09/sorry-docker-macos-26-adds-native-support-for-linux-containers">native support for Linux containers</a>.)</p>


<ol class="wp-block-footnotes"><li id="78b71bc7-31f3-4e14-9996-ff8ad1338461">While svn itself supports <code>--set-depth immediates</code>  to only check out the last <em>n</em> commits, <code>git-svn</code> unfortunately doesn’t. There is a <a href="https://stackoverflow.com/questions/747075/how-to-git-svn-clone-the-last-n-revisions-from-a-subversion-repository">workaround</a>; however, if you ever want to <a href="https://stackoverflow.com/questions/747075/how-to-git-svn-clone-the-last-n-revisions-from-a-subversion-repository#comment25773619_749054">fetch the preceding commits</a>, you’ll have to <a href="https://stackoverflow.com/questions/747075/how-to-git-svn-clone-the-last-n-revisions-from-a-subversion-repository#comment33777609_749054">mess with git history</a>, which is something I’d personally rather avoid. <a href="https://raz.or.at/category/wordpress/feed/#78b71bc7-31f3-4e14-9996-ff8ad1338461-link"><img alt="↩" class="wp-smiley" src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/21a9.png" style="height: 1em;" />︎</a></li><li id="83875f15-4f02-426b-841f-c9104c628e43">You might want to disable automatic standby in your operating system’s settings; in macOS, it’s a toggle called <em>Prevent automatic sleeping on power adapter when the display is off</em>. <a href="https://raz.or.at/category/wordpress/feed/#83875f15-4f02-426b-841f-c9104c628e43-link"><img alt="↩" class="wp-smiley" src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/21a9.png" style="height: 1em;" />︎</a></li><li id="d8bbfaa9-8db9-426e-90d2-9a78a0fa3a4c">We’re using <code>origin/trunk</code> as the base branch here (rather than <code>trunk</code> which maps to <code>svn/trunk</code> in this setup), so it’s important to keep that updated regularly (<code>git fetch origin</code>). <a href="https://raz.or.at/category/wordpress/feed/#d8bbfaa9-8db9-426e-90d2-9a78a0fa3a4c-link"><img alt="↩" class="wp-smiley" src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/21a9.png" style="height: 1em;" />︎</a></li></ol>";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Thu, 12 Jun 2025 11:41:28 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:13:"Bernie Reiter";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:26;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:59:"Open Channels FM: Wrapping Up the Rebrand Series with BobWP";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:32:"https://openchannels.fm/?p=97958";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:66:"https://openchannels.fm/wrapping-up-the-rebrand-series-with-bobwp/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:207:"BobWP wraps up the rebranding of Do the Woo into Open Channels FM. The new channel features five diverse shows, maintaining core values while offering more structure for listeners to explore their interests.";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Thu, 12 Jun 2025 08:30:00 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:5:"BobWP";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:27;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:117:"WPTavern: #172 – Reyes Martínez and Héctor De Prada on Website Maintenance for WordPress Agencies and Freelancers";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:48:"https://wptavern.com/?post_type=podcast&p=196556";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:129:"https://wptavern.com/podcast/172-reyes-martinez-and-hector-de-prada-on-website-maintenance-for-wordpress-agencies-and-freelancers";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:50854:"<details>Transcript<div>
<p>[00:00:19] <strong>Nathan Wrigley:</strong> Welcome to the Jukebox Podcast from WP Tavern. My name is Nathan Wrigley.</p>



<p>Jukebox is a podcast which is dedicated to all things WordPress. The people, the events, the plugins, the blocks, the themes, and in this case, website maintenance for WordPress agencies and freelancers.</p>



<p>If you&#8217;d like to subscribe to the podcast, you can do that by searching for WP Tavern in your podcast player of choice, or by going to wptavern.com/feed/podcast, and you can copy that URL into most podcast players.</p>



<p>If you have a topic that you&#8217;d like us to feature on the podcast, I&#8217;m keen to hear from you and hopefully get you, or your idea, featured on the show. Head to wptavern.com/contact/jukebox, and use the form there.</p>



<p>So on the podcast today, we have Reyes Martínez, and Héctor de Prada.</p>



<p>Reyes has been involved in the WordPress community since 2015, with a background in journalism, digital communications, and early stage startups. From 2021 to 2024, she was sponsored by Automattic to contribute full-time to global marketing and communication efforts for the WordPress Open Source project, She led several initiatives during that time, including the experimental WordPress Media Corps. Reyes currently serves as content lead at Modular DS.</p>



<p>Héctor has been building websites since he was 12, and has worked with WordPress for nearly a decade, first as a freelancer, then running his own agency. Today, he&#8217;s one of the co-founders of Modular DS. He co-organizes the WordPress meetup in León in Spain, and writes a Spanish newsletter that keeps readers updated with the latest news from the WordPress ecosystem.</p>



<p>In this episode, we get into the nitty gritty of WordPress maintenance. What it takes to effectively manage multiple websites, and why maintenance is such a crucial, if often overlooked, part of running a successful client business.</p>



<p>You might think that updating plugins and themes is all there is to it, but Reyes and Héctor explained that there&#8217;s much more involved, performing regular backups, monitoring, uptime, and performance, checking for security vulnerabilities, database cleanups, and ensuring essential features like contact forms continue working as expected.</p>



<p>We discuss best practices for educating clients, how to position ongoing maintenance as an investment rather than a cost, and solutions which can help automate and streamline these essential tasks.</p>



<p>We also chat about how the maintenance landscape is changing with upcoming legal requirements around accessibility and privacy, and the emerging business opportunities for professionals specializing solely in website care.</p>



<p>If you&#8217;re a freelancer or agency owner looking to scale up your business, perhaps you offer care plans to clients, or are considering adding maintenance plans to your service, this episode is for you.</p>



<p>If you&#8217;re interested in finding out more, you can find all of the links in the show notes by heading to wptavern.com/podcast. Where you&#8217;ll find all the other episodes as well.</p>



<p>And so without further delay, I bring you Reyes Martínez and Héctor de Prada.</p>



<p>I am joined on the podcast today by Reyes Martinez and by Héctor de Prada. Hello Both.</p>



<p>[00:03:53] <strong>Héctor de Prada:</strong> Hello Nathan.</p>



<p>[00:03:54] <strong>Reyes Martínez:</strong> Hello Nathan.</p>



<p>[00:03:55] <strong>Nathan Wrigley:</strong> I&#8217;m so pleased to have both of you on. This is going to be interesting because I&#8217;m going to be speaking to Héctor in about a week&#8217;s time as well, which will be kind of interesting. So there&#8217;ll be two podcasts coming out in quick succession featuring Héctor.</p>



<p>But the topic will be very different, and I&#8217;ll explain in a moment what the topic is going to be about.</p>



<p>But before that, I wonder if we could just get a little bit of an introduction to both of you. If we can keep it around the subject of WordPress that would be helpful.</p>



<p>So let&#8217;s go to Reyes first. Tell us exactly who you are, who you work for, what do they do, whatever you like in your little potted bio.</p>



<p>[00:04:29] <strong>Reyes Martínez:</strong> Yeah, sure. I&#8217;m Reyes and I have been part of the WordPress community since 2015. My background is in journalism and digital marketing and communications, and over the past 10 years, more or less, I have worked with startups and tech companies closely connected to the WordPress ecosystem.</p>



<p>And from 2021 and 2024, I was sponsored by Automattic to contribute full time to the WordPress project, where I had the opportunity to contribute to different marketing and communications initiatives.</p>



<p>And now I am the content lead at Modular DS. We&#8217;re building a tool to help freelancers and agencies manage multiple WordPress sites more efficiently.</p>



<p>[00:05:13] <strong>Nathan Wrigley:</strong> Thank you so much. And let&#8217;s move over to Héctor. Similar question really, just give us your little potted bio.</p>



<p>[00:05:19] <strong>Héctor de Prada:</strong> Of course. Well, I have been making websites, I always say almost all my life, since I was like very young, at 12, 13 years old. At the beginning, not with WordPress, I have to say. But I started working with WordPress around 8, 9 years ago when I started freelancing as a web designer, and that evolved to creating a web design agency.</p>



<p>So I have been doing web design and websites, WordPress websites, for a long time. And 4 years ago almost, it&#8217;s when my partner and I, David and I, we started our current company, which is Modular DS, which is now where Reyes is working.</p>



<p>I am also part of the community. This is what you were saying, Nathan, that we are going to talk about, WordCamp Europe, because I am one of the organisers at the meetup in León, in my city. So this is also something I like a lot because we go to a lot of WordCamps, a lot of WordPress events, and it&#8217;s very nice to be able to do that in our own city as well.</p>



<p>[00:06:20] <strong>Nathan Wrigley:</strong> Thank you both so much. So if we stray into anything today, like a blog post is mentioned or a homepage or anything like that is mentioned, I will endeavor to link to that into the show notes. So if you head to wptavern.com and then search for the episode with these two fine people, then you&#8217;ll be able to find all of those links. It&#8217;s going to be easier to do it that way than to read anything out in an audio podcast.</p>



<p>The approach I think I want to take with this episode is one of somebody fairly new in the WordPress space. So if you are new in the WordPress space, then you might just have the one website. And maintaining that one simple website is probably a reasonably straightforward thing to do. You know, you log in, you update the plugins, you update the themes and what have you.</p>



<p>But if you&#8217;ve got any aspirations of becoming a bigger player in the WordPress space, perhaps you want to take on the job of maintaining multiple websites, perhaps you want to have clients and you want to maintain their websites, it becomes fairly obvious, fairly quickly, it&#8217;s a bit of a chore. There&#8217;s quite a lot of tasks that you need to do in order to keep those websites live.</p>



<p>So that&#8217;s what we&#8217;re going to talk about. What are those tasks? What&#8217;s important to notice if you are a WordPress freelancer or agency owner. What are the things that you need to make sure that your clients are getting updated with and for? And then I guess we&#8217;ll sort of mention right at the beginning that Modular DS is something which kind of can take that process off your shoulders and make it fairly automated. But you can go and check out that of your own accord.</p>



<p>So let&#8217;s just get into it then. What are the things that you would need to worry about? You can interrupt each other as you see fit. What are the kind of tasks that as a newbie WordPress we may not even know are coming our way, when we&#8217;ve got 2, 3, 5, 50 websites that we&#8217;ve got to keep maintained?</p>



<p>[00:08:14] <strong>Héctor de Prada:</strong> I don&#8217;t think it&#8217;s, how to say, like that we don&#8217;t know we have to do that, or that we don&#8217;t expect to do it when we are trying to manage a few websites. Reyes and I, we were talking this morning, normally maintenance or maintenance tasks are something nobody is very thrilled about doing, okay. It&#8217;s not like the best job. Like, you can be a designer because you love creativity and designing things, or a developer because you love to build things.</p>



<p>But I haven&#8217;t met anybody that is like, oh, my dream is to update plugins, create backups, and restore the website when it&#8217;s broken, you know? I think that&#8217;s the number one challenge, okay. Normally I see that one of the biggest problems is that we know maintenance has to be done in a website, but we don&#8217;t always do it. And when we have more and more websites, it becomes even a bigger problem, because we also let it aside more and more because it&#8217;s too much work. So that&#8217;s one of the main problems.</p>



<p>[00:09:17] <strong>Nathan Wrigley:</strong> One of the things that in my life, I don&#8217;t know what the number of websites was, but there was a point where each morning, because I decided to do the updating on a more or less daily basis, there came a point where you realise that you&#8217;d now logged into X number of websites. So you&#8217;d gone to the URL to log in, you&#8217;d found the username and password, you&#8217;d logged in, you&#8217;d inspected whether there were plugins or themes to be updated. You&#8217;d gone to them individually, you&#8217;d update them in a careful manner to make sure nothing got broken, and you moved on to the next website. And at some point you kind of have the intuition, how many minutes or hours have I just lost?</p>



<p>And whilst for one or two websites this really isn&#8217;t a problem, I guess what we&#8217;re talking about here is something at scale, when you&#8217;re over a, let&#8217;s say 2 or 3 or 5, or whatever that number is. It does start to add up, and you can&#8217;t afford to waste time in that way. And I think it&#8217;s exactly like you said, you don&#8217;t really know going into it that this is what you&#8217;re going to end up doing with your WordPress websites. But you&#8217;re right, nobody wrote down on their bucket list of things to do in life, I would like to update plugins for a living.</p>



<p>[00:10:23] <strong>Héctor de Prada:</strong> And it&#8217;s very important at the same time. Like we said, yeah, maybe Reyes, you can say a little bit more about it. But maintenance, it&#8217;s really important for many reasons, in particular in the WordPress ecosystem.</p>



<p>[00:10:34] <strong>Reyes Martínez:</strong> Yeah, I would say that it&#8217;s just that, that it&#8217;s not the most glamorous part of managing a website, like all the maintenance tasks. But I think it&#8217;s also what keep things running smoothly and professionally. I guess that&#8217;s the difference between being reactive and being proactive as well. I mean, that makes all the difference. So even though it&#8217;s not the most, I don&#8217;t know, glamorous part, it&#8217;s still very important to keep things professionally.</p>



<p>[00:11:03] <strong>Nathan Wrigley:</strong> What are the things that we&#8217;re updating? So we&#8217;ve covered plugins and themes, and I suspect that they&#8217;re the ones most people, and again, the audience for this podcast is really broad, so obviously that sentence will be really blindingly obvious to many people. But there may be a proportion of people who don&#8217;t even know that that kind of stuff needs to be updated. So let&#8217;s just work from the basics upwards. There&#8217;s plugins and themes. When you talk about maintenance, what else are you bringing into that?</p>



<p>[00:11:30] <strong>Héctor de Prada:</strong> You have the updates, both plugin, themes and the Core of WordPress, because it also gets updated. Now it&#8217;s once a year, it used to be like two, three times a year so those are also very important updates. But normally it&#8217;s mostly, because some people might ask, why should I update a plugin? If my website is working, if it&#8217;s perfectly fine, why do I have to update a plugin or a theme?</p>



<p>Well, one of the biggest things in maintenance, because we have to do these updates, is the security part. I am positive that WordPress is a secure solution, that is why it powers 40 something percent of the web. But at the same time, we have 60,000 different plugins just in the WordPress repository. Each one of them is created by an independent team or developers. And even when everybody tries to create the best possible plugin, a secure plugin, and everything, there is human error, of course. And there is always people, since WordPress is so popular, trying to find vulnerabilities to attack these kind of plugins or themes.</p>



<p>So many times, the most important updates are security updates. To avoid that, you have an older version of a plugin or a theme that maybe got exposed, and somebody found a vulnerability, and your website might get hacked because you didn&#8217;t do the updates. So even if your website is functioning perfectly, you should still do those updates. And this is something, for example, a lot of end clients, they normally don&#8217;t understand when you run an agency and stuff, because they don&#8217;t see the point of doing this. But this is one of the reasons, it&#8217;s super important.</p>



<p>[00:13:08] <strong>Nathan Wrigley:</strong> In the normal experience in life, you go into a shop and you buy a thing, like some new sunglasses or a pair of shoes. You don&#8217;t anticipate having to update the shoes or update the sunglasses. You kind of just bought the thing and the thing is now yours and off it goes. You know, you expect it to function as sunglasses from now on, and the shoes will keep going as shoes. You know, you might have to replace them from time to time, but that&#8217;s another thing altogether. So it&#8217;s kind of hard to encapsulate that.</p>



<p>But also, I suspect that most clients wouldn&#8217;t even know that there&#8217;s this sort of specter of security problems and the fact that bad things could potentially happen. Most clients I imagine have just come to you, the agency, the freelancer, because they want a website. They&#8217;re not interested particularly in all of that, but you have to explain that to them. And I always thought that was quite hard. I always got an intuition that the clients kind of thought, what are you on about? I&#8217;ve just bought this thing from you, why do I need to update it? Why do I need to keep doing these things?</p>



<p>[00:14:07] <strong>Héctor de Prada:</strong> Education is one of the biggest parts in having a WordPress maintenance service in your agency or as a professional. Most people, end clients, many people is not tech people so they won&#8217;t understand. Updates, backups, these are all very not tangible things. So it&#8217;s not hard to explain, but it is more, it&#8217;s not like you go to a store, okay? You buy something, it normally doesn&#8217;t need maintenance. But I would say it&#8217;s like, you buy a house, you buy a car, it needs maintenance, okay? Because you can keep running with a car, but even if the car still works, maybe the brakes, at some point they will stop working and you will have a crash and nobody wants that. So I would say a website is more like a car than a normal product.</p>



<p>[00:14:49] <strong>Nathan Wrigley:</strong> Yeah, that&#8217;s a really nice example because with a car particularly, there are bad people who are literally trying to break into the car and take the car away, or do damage to the car, or steal bits from the car. That explains it really well.</p>



<p>Okay, let&#8217;s imagine that you&#8217;ve had that conversation, you&#8217;ve done that education piece, you&#8217;ve said to the clients, look, we need some kind of thing going on in the background. There has to be some kind of ongoing relationship between me, the website builder, the developer, and you, the client. But what are those tasks? What are the things, I guess your software will handle these kind of things, but just talking about them hypothetically, what are the list of things just beyond plugin, theme, Core updates? Are there any other things which you recommend?</p>



<p>[00:15:32] <strong>Reyes Martínez:</strong> Besides updates there are also, for example, like I think it&#8217;s very important making regular backups. Monitoring up time and performance. Checking for security issues, you were just talking about that as well. Vulnerabilities, cleaning up the database, and in general, like making sure the site is running smoothly, like contact forms and links are working.</p>



<p>Because there are things that even people think they might have not, I don&#8217;t know, like they are not very important. They can have an impact on their business as well. For example, like a broken contact form, that&#8217;s just like a very small example, but yeah, those things come to mind. I don&#8217;t know, Héctor, if you want to add anything else.</p>



<p>[00:16:15] <strong>Héctor de Prada:</strong> I think those are the main ones, like your backups and the restoration of the backups when you have a problem. It happened to me I have to say. When we had the agency, I remember more than a few times having a client calling me and telling me, hey Héctor, the website is not working. And I was like, I didn&#8217;t know. So it&#8217;s like a very, very embarrassing moment because you&#8217;re supposed to be taking care of the website, but you didn&#8217;t know it wasn&#8217;t working until the client told you.</p>



<p>So things like monitoring. When I started making websites, I couldn&#8217;t monitor them at all. If they break, I wouldn&#8217;t find out because somebody told me or I was just trying to do something and I found out. So monitoring as well. Security Monitoring, like you said, for vulnerabilities, for malware. There are a bunch of tools. I mean, it&#8217;s not only tools, maintenance tools, like it can be Modular or others.</p>



<p>There are a bunch of tools in WordPress, like for everything in WordPress, that can help you with this maintenance task. Because the ideal thing, like we were saying, is to automate them so they don&#8217;t take so much time. Even if you only have one website, the ideal thing is that backups, monitoring, you have most of it automated, so you make sure even if you forget, if you go on holiday or whatever, it will still be running.</p>



<p>[00:17:30] <strong>Reyes Martínez:</strong> Yeah, and you can get alerts, for example. Like Héctor was saying, if a website goes down, you can get alerts so you don&#8217;t have to be monitoring all the time. Imagine like manual monitoring or going site by site, just checking if everything is working correctly. And monitoring, it&#8217;s exactly a big task as well of maintenance and because it can help you catch problems early.</p>



<p>[00:17:55] <strong>Nathan Wrigley:</strong> Okay, let&#8217;s just break all that now and then. So we&#8217;re imagining a scenario where we&#8217;ve built a website, we&#8217;ve handed it over to a client, and then we&#8217;re sort of presenting with the client the scenario, look, although we&#8217;ve given you the thing, here&#8217;s the website, there it is, it&#8217;s on the internet, there&#8217;s a whole load of other things that we need to do in the background.</p>



<p>And there&#8217;s an education piece there, but there&#8217;s also a bit of sales that has to go on there because you have to persuade them, presumably that the thing that I&#8217;m suggesting here, you are going to need to pay for probably, there&#8217;ll be a, some kind of subscription model going on there. We will do all of these things in return for a monthly fee or whatever it might be.</p>



<p>But broadly it is updating things. So that&#8217;s plugins, themes and Core. Making sure that those things are available. Then there&#8217;s the backup piece, a different thing altogether, and that&#8217;s just basically storing in multiple locations, an entire version of the website, the database, and the files to make sure that if an absolute catastrophe occurs, you can go back to whenever the website was last saved successfully, minus any security problems that you might have.</p>



<p>And then another thing is uptime monitoring, which is the process of just alerting you, and I presume it&#8217;s you, not the client, that something&#8217;s gone wrong. The website that was there 10 minutes ago is not here now. And that&#8217;s a really, really, you know, that&#8217;s not a once a day thing, that&#8217;s once every two minutes kind of thing. You want to know the minute the website goes down, so that you can be the person that contacts the client to say, look, we see that the website&#8217;s gone down. And in some curious sense, you actually paint yourself in a good light by admitting something before they&#8217;ve even learned about it.</p>



<p>But also something that you said that I never really think about is the idea of bits of the website, which may appear to work, but which don&#8217;t work. So the contact form is a big one. You know that whole egg on your face moment where you realise that possibly for six months, the contact form hasn&#8217;t worked, has never worked, and you have no way of saying to your client, look, sorry, we&#8217;ll be able to reverse that, we&#8217;ll be able to get all of the contact forms that would have been submitted over the last six months, because you won&#8217;t. It&#8217;s gone. And if it wasn&#8217;t working, that&#8217;s a catastrophe.</p>



<p>But then my mind then goes to things like e-commerce. The site might look fine. Everything might check out okay, when I say checkout, I don&#8217;t mean checkout through the cart, I mean, looks fine. But the checkout might not work. Maybe people can&#8217;t actually buy things off your website, so it&#8217;s up but it&#8217;s not working.</p>



<p>So there&#8217;s all this stuff. And I guess what Modular DS is doing, and the rivals that you&#8217;ve got in that space, is they&#8217;re trying to take all of those tasks, package them up into a wrapper piece of software, and basically you don&#8217;t really have to worry too much about it. You just sort of set it all up, make sure that all the dominoes are set up in the right place. And then it will do all of those things for you without you having to do too much. Have I got that about right?</p>



<p>[00:20:54] <strong>Héctor de Prada:</strong> Yeah, of course. That&#8217;s the idea, to try to centralise everything when you have a lot of websites. And at the same time, like we were saying, yeah, automate these kinds of tasks so they don&#8217;t slip away. And it&#8217;s a great point about the WooCommerce because one thing about maintenance is that it&#8217;s very dependent on the type of website you have. I mean, it&#8217;s not the same maintenance you have to do for maybe a small corporate website, like the Meetup group website, for example, than a big e-commerce that is selling hundreds of products every day. You won&#8217;t need to have the same systems in place, not for backups, not for monitoring, not for any kind of checks. So that&#8217;s also very important to know. Maintenance is very different depending on the website.</p>



<p>[00:21:38] <strong>Nathan Wrigley:</strong> So in the case of this whole idea of being able to do this for your client, I&#8217;m guessing your position would be that this is something that you can in fact sell to your clients on a regular basis. It&#8217;s not like you built the site back in 2024 and you&#8217;ve charged a fee for it, and then that&#8217;s the end of that. This is more of a, you charged a fee to build the website, and now we have this kind of, I think the term which I hear used a lot is like Care Plan or something like that.</p>



<p>Some kind of process of, on a monthly basis, annual basis, whatever it might be, you offer these different things in return for a subscription fee, and therefore kind of have recurring revenue. And in many cases that recurring revenue might not need a lot of work. You know, fingers crossed, if everything works out okay, and WordPress updates itself correctly, and the plugins all work out and there are no security vulnerabilities, you might have days, weeks, entire months go by where your revenue is really not that difficult to manage.</p>



<p>[00:22:39] <strong>Héctor de Prada:</strong> In what you said there, it&#8217;s like all the main things. Not only you can offer Care Plans or Web Maintenance Plans, but you should as a professional. Because I&#8217;ve heard you talk on another podcast, Nathan, you were saying that when you&#8217;re a freelancer or an agency, you are always waiting for next projects to see when they come. What&#8217;s going to be next? And if you&#8217;re going to have enough work to keep going.</p>



<p>And that&#8217;s why recurring revenue, it&#8217;s so important for us as professionals. And in web design or web development, it&#8217;s not so easy to get besides web maintenance. It might be if you want to go to plugin development or theme development or do something like that, you can start getting recurring revenue.</p>



<p>But if it&#8217;s just building websites, I think the only way to get that recurring revenue is by offering Care Plans. That&#8217;s why I always say, the critical thing that you were also mentioning before, is that it&#8217;s of course also a sales job to sell this to a client, but I don&#8217;t think it has to be once the website is generated, and you try to tell the client, okay, we did the website, it&#8217;s looking good, it&#8217;s working. And now we are going to do maintenance on the website, and you have to pay this or that.</p>



<p>I think it has to go way before that. When we were an agency, what worked really good for us, so I always give this advice because it really worked for us, is that we used to talk about maintenance with the clients before we started the website project. If somebody would come to us saying, okay, we want a new website design for our company, we&#8217;d include it always in our proposal. It&#8217;ll be, okay, we are going to design the website, we are going to do the development of the website, and then after that we are going to care for the website.</p>



<p>So we are going to do a maintenance on the website because this is very important. We are not going to just leave you there with your website, out in the open. Like, you don&#8217;t really know how it works, but we are going to be there with you. And this was like a massive change for us because when we were selling it this way, once the website was completed and we would tell the client, okay, now is the time to start the web maintenance job, and they were like, oh great, so this what we were talking about. It is not even a discussion anymore. It is like, oh great, it&#8217;s finally the time. So that&#8217;s like crucial. It was crucial for us.</p>



<p>[00:25:00] <strong>Nathan Wrigley:</strong> Yeah, I think when people do get recurring revenue into their business, especially around maintenance, it does feel like, why didn&#8217;t I do this before? Because it really is kind of, I hate to use the phrase, you are kind of leaving money on the table a little bit.</p>



<p>I wonder what both of you have in your head around the way to pitch that product. Because I went through lots of different ways of doing it. Some of them I&#8217;m not that proud of. So for example, in some cases I would emphasise the problems that could happen. You know, your website could go down. The internet can be a bit of a dark place, there&#8217;s hackers out there. And in the end it felt a bit like, I&#8217;m trying to scare you into giving me this maintenance deal. But then on the other hand, there was the sort of more positive way of doing it. You know, we&#8217;ll make sure that your website is always up and just different ways.</p>



<p>I wonder how you, both of you, tackle that. Do you have a particular kind of language? Do you have like a brochure or a booklet that you pass on to somebody which outlines it all?</p>



<p>[00:25:59] <strong>Héctor de Prada:</strong> For us, at least when we were an agency, you are seeing that I like to talk a lot. So for me it was like I could talk a lot with the clients. I would just try to be very educational, like we said from the beginning, in calls or in meetings I could talk about maintenance, the task it requires. Trying to explain it for everybody, of course, like not trying to make it sound technical or anything. Just trying to make them understand that technology evolves, WordPress evolves, the needs that the website, or the business, might have change so we should keep the website evolving with the business so it always stays in good shape.</p>



<p>Luckily, even when this is a terrible thing for our field, is that many, many clients, they come to you when they have had a bad experience before, having a website design. And this experience, so many times has more to do about not having maintenance than about the web design itself. Because they might come after three, four years and they might tell you, somebody did this website for me four years ago and now nothing works.</p>



<p>And it&#8217;s like, okay, when they did the website, everything worked. What happened? Nobody looked at the website for four years, so now nothing is working, which is understandable. So that also helps you a lot to make them understand that you don&#8217;t want that to happen again.</p>



<p>[00:27:22] <strong>Reyes Martínez:</strong> I think it&#8217;s also important to maybe reframe things or just showing clients that that&#8217;s part of, I mean that you care about their success over time. So it&#8217;s not just about launching their site. I don&#8217;t know, sometimes I like to think about maintenance as insurance. You hope you don&#8217;t need it, but if something goes wrong, you&#8217;ll be glad to have it. So I think it&#8217;s the same. Like, if you have someone who&#8217;s taking care of your website to make sure it&#8217;s healthy, that it is performant and that everything is running smoothly. I think you are investing in its long-term success as well.</p>



<p>[00:27:57] <strong>Nathan Wrigley:</strong> Framing it as an investment is quite a good way around it, isn&#8217;t it? As opposed to a, it&#8217;s not like a cost, it&#8217;s an investment. You&#8217;re putting something in so that it maintains. Spending money kind of feels like, oh, I&#8217;ve spent it, it&#8217;s all gone. Whereas an investment, you feel a bit more like, okay, I&#8217;ve spent some money, but as a result, things are going to be better in the future.</p>



<p>[00:28:15] <strong>Héctor de Prada:</strong> You both said it, Reyes, you said right now that it is kind of an insurance also, if something bad happens. Because when something really bad, like the website crashes or gets hacked or whatever, because it can always happen, at some point everybody will be glad to have a professional taking care of things.</p>



<p>Because another way to frame this, and you were saying that before Nathan, is that I&#8217;ve seen many, many professionals that they are like, okay, so the client doesn&#8217;t want to pay for maintenance, so I&#8217;m just going to wait until they have a huge problem that will come sooner or later. When they come without the maintenance deal, I&#8217;m going to charge them a bunch and then they will be glad they get the maintenance package. And they will start paying for that. I&#8217;m not saying I recommend that, I haven&#8217;t done that, but I&#8217;ve seen so many people do that at the same time.</p>



<p>[00:29:04] <strong>Nathan Wrigley:</strong> Yeah, I think describing his insurance is quite interesting. The curious thing about insurance is, how to describe it, at some point you might begin to resent paying the insurance if you never have an accident or nothing is ever stolen. So one of the things that I often got with the Care Plans was this whole thing of years would go by, I would do my job well, so nothing ever happened.</p>



<p>And so after 24 months of nothing ever happening, the client would turn around and say, what am I actually spending the money on? And then it occurred to me, okay, maybe there should have been some process of telling you what I was doing each month. Some kind of report or something to give to the client to say, look, literally things are happening. It&#8217;s not like we&#8217;ve gone away with your monthly subscription and done nothing.</p>



<p>So I wondered if you had any thoughts around those, you know those clients who think nothing&#8217;s happening, why am I spending this each month in order for apparently nothing to happen? It&#8217;s just a black hole.</p>



<p>[00:30:02] <strong>Reyes Martínez:</strong> That&#8217;s actually one of the hardest parts as well, like showing all the work that professionals are, like us are doing in the background. That work, that it&#8217;s not so visible as well, and how to communicate the value of all that work.</p>



<p>So I think there are, I don&#8217;t know, there are many different ways to communicate that value, but for example, like reports are pretty common. Showing, not just task, but all you have been monitoring and performance data, updates. And just, again, like educating on how all the work done have an impact on their business.</p>



<p>Because I think it&#8217;s also easy to go maybe, or to get into technical details, but I think clients don&#8217;t really care if you update a plugin or if you, you know, how you are maintaining their site. I think they care that their website is secure, fast and it&#8217;s working. It&#8217;s always working.</p>



<p>[00:30:58] <strong>Nathan Wrigley:</strong> One of the things that I ended up doing, which I think worked well was, I eventually landed on the idea of this report thing. So I would issue a report and it would say, during the course of the last month, these things have happened. And it would be a list of all the plugins that been updated, maybe WordPress Core had been updated, maybe I&#8217;d done some work on the server to update that, a PHP version or something like that. So all of those kind of things. And then some kind of indication of how the uptime went. You know, it was 99.9% last month, we had a little glitch on Tuesday or whatever, but that was taken care of within five minutes.</p>



<p>But the thing which worked best for me was I offered a proportion of time, based upon the plan that they gave me, of my actual time. And that could be deployed in any which way they wanted.So, for example, it could have been, I will just tell you what that report means or let&#8217;s just knock our heads together for half an hour or an hour, and figure out if there&#8217;s anything you wanted doing on the website. Maybe you want a telephone number updating or you want to have a different design on the homepage because Christmas is coming or whatever it might be.</p>



<p>And interestingly, most clients never took me up on it, but the mere fact that it was offered, and I&#8217;d offered the time, there was just something a bit more to it. There was something more tangible and more credible about it. And then when the clients did take me up on it, and I could explain what had happened and that it wasn&#8217;t this black hole where the money was just falling into for the maintenance plan and nothing happened, that really worked.</p>



<p>But I had the time available. And it may be that some people, most people don&#8217;t have that time available. For me, that was a good thing, you know, that kind of personal touch was a way to make it work.</p>



<p>[00:32:33] <strong>Héctor de Prada:</strong> Also another thing that is very important to solve, for example, in client reports, and it&#8217;s not so obvious, it&#8217;s because it is not a job you are doing. It&#8217;s some stats about how the website is working for their business. Because 99% of the time a website comes from a business that needs an online presence.</p>



<p>So it should be very important for them to know how this is performing or how this is helping the business. And I found this hundreds of times, that people have a website and they don&#8217;t know if somebody&#8217;s visiting the website, if you can find it on Google. They don&#8217;t know anything about the website. They are just like, yeah, I have a website there, but I don&#8217;t really know what&#8217;s happening with it.</p>



<p>So I think adding things like, I don&#8217;t know, like Google Analytics or any other analytics. Or search console results so you know, it&#8217;s somebody coming from Google or where is people coming. Or if you have an international website, from which countries is people coming. Things like that, I think it&#8217;s like very valuable for the end client, for the business, to know how the website is performing. And it&#8217;s not always added, but I think it&#8217;s crucial to also put that information.</p>



<p>[00:33:41] <strong>Nathan Wrigley:</strong> Do you know if anybody actually makes a business out of what you do? So, do people have a business of maintaining websites? Just doing that work. So they&#8217;ve decided they don&#8217;t want to be involved in creating the website, but they want to turn this product, if you like, that we&#8217;re talking about now. Is that a thing? Do people do that for a living? They maintain other people&#8217;s websites for them. Maybe you could bind yourself to an agency and they would hand the maintenance side to you. You are both nodding, so I&#8217;m guessing the answer&#8217;s yes.</p>



<p>[00:34:11] <strong>Héctor de Prada:</strong> We know many people, but we are kind of biased because most of our clients are agencies or freelancers that manage a lot of websites. So many of them are actually specialised in this kind of service. So we have freelancers that manage like 120 websites, and that&#8217;s all they do. They don&#8217;t do any websites, they just manage websites.</p>



<p>And then we have agencies that they are like fully specialised in web maintenance, web caring, and maybe if you have an urgency in your site because it&#8217;s broken or something, they can help you with that also. But they don&#8217;t design websites or create new websites.</p>



<p>So I think, yes. And one example I always say is that, at least in Spain, if you search in Google for WordPress maintenance, there are so many page results. So that means it&#8217;s a profitable business, okay? There is a lot of competence of people trying to get leads out of those keywords. I would imagine in most countries it could be the same. So yeah, definitely. I think it&#8217;s possible. I see it every day, so yeah, a hundred percent</p>



<p>[00:35:10] <strong>Nathan Wrigley:</strong> That&#8217;s kind of interesting because it may be that you are, I don&#8217;t know, you just want to take a break from actually building websites, and this might be an interesting way to pivot, especially if you&#8217;ve got your foot in the door with a bunch of agencies, and you know people that could supply you that work and they don&#8217;t wish to be involved in that. That&#8217;s curious.</p>



<p>[00:35:27] <strong>Héctor de Prada:</strong> You can automate much more stuff than in a web design process, or web development. In maintenance, like we were saying, with tools like Modular or other tools, you can automate most of the maintenance tasks. So many times, yeah, like one person can manage like 120 websites. Imagine how long it would take to build 120 websites. It&#8217;s almost impossible. You could say, oh, I don&#8217;t know, like five years, seven years. But you can maintain every week or every month, 120 websites by yourselves, just with the tools that are available. So that&#8217;s a really big difference.</p>



<p>[00:36:04] <strong>Nathan Wrigley:</strong> Does this maintenance landscape change? Because I&#8217;m just curious, the web industry changes all the time, but broadly, you know, plugins and theme updates, that&#8217;s been around since WordPress got plugins and themes. Hosting and backups, again, similar.</p>



<p>But there have been developments in the more recent past where I&#8217;m thinking, okay, you could definitely push that into the maintenance idea. So things that come to mind are, I don&#8217;t know, optimisation, Core Web Vital scores, maybe something like that could leak in.</p>



<p>And the one at the minute, which I think would be really interesting, and again, maybe it&#8217;s a thing already, is accessibility. Some kind of report about, okay, it looks like these pages need a particular bit of attention, or something&#8217;s gone wrong here from an accessibility point of view. And so really my question there is, does the landscape of maintenance change, or is it broadly fixed with whatever it is now is how it&#8217;ll be in a decade?</p>



<p>[00:36:57] <strong>Héctor de Prada:</strong> Now also with AI, I don&#8217;t even know what&#8217;s going to happen in a decade. But I do think things change. For example, with accessibility, like you said, now in Europe it&#8217;s going to be big changes. With security as well, with the new Cyber Resilience Act, it&#8217;s going to be changes.</p>



<p>And for example, we saw it a few years ago with the data privacy law in Europe. I&#8217;ve seen so many agencies offering legal checks for the cookie banners and things like that. To also add in maintenance, I don&#8217;t know, like seven years ago, that wasn&#8217;t a theme because it wasn&#8217;t mandatory, so nobody really cared that much. And it is the same with accessibility.</p>



<p>A few years ago, nobody, almost nobody cared about that. And I think now because of the law changes, this is going to change drastically and almost every professional is going to start doing things related to accessibility, and is going to care about that. And it&#8217;s also going to be able to offer that to their clients as an upsell, or as an extra value, they&#8217;re going to give in their care plans.</p>



<p>So yeah, I do think it changes. We don&#8217;t have a lot of changes because the basics are always the same, the updates, the backups, the monitoring. But there are things that, yeah, might bring big changes every once in a while and we have to adapt.</p>



<p>[00:38:12] <strong>Reyes Martínez:</strong> I just wanted to add that also with AI and no-code tools, I mean, it&#8217;s easier than ever to launch a website. But what happens after that? Because maybe we find that more and more sites are being left behind with no updates, no backups.</p>



<p>What I mean with this is that maybe, maybe not, there&#8217;s already a growing maybe opportunity, because there are more and more sites that we don&#8217;t know what would happen with them. And they will need maintenance for sure. So I think we are seeing a growing opportunity as well, there for people who want to manage or dedicate themselves to maintain websites, yeah.</p>



<p>[00:38:51] <strong>Nathan Wrigley:</strong> Yeah, it does feel like in the year 2025 when we&#8217;re recording this, there are some key bits of legislation which are coming. You know, the European Accessibility Act very, very soon going to be completely mandatory across the whole of the EU. I mean, basically it should be something that you&#8217;ve taken care of already, but nevertheless.</p>



<p>And so these kind of things I imagine, will become part of the platform, the ethos of doing maintenance in the future. So that&#8217;s kind of interesting.</p>



<p>Just for the last moment or two, minute or two, let&#8217;s talk a little bit about what you have. So Modular DS, I&#8217;ll put a link into the show notes, but is the URL, is it modulards.com? Is that where we would go?</p>



<p>[00:39:30] <strong>Héctor de Prada:</strong> Yeah, we could say dash EN for the English version.</p>



<p>[00:39:33] <strong>Nathan Wrigley:</strong> Lovely, okay, so I will link to that into the show notes. I&#8217;ll link to the English version in this case, just because I think that makes most sense given that we&#8217;re all talking in English.</p>



<p>This is what you do. This is that in a nutshell. You have a service that you can sign up to. Is it plugin based? Is it a SaaS? Is it a mixture of SaaS and a plugin? How does it work and what kind of things can you do?</p>



<p>[00:39:56] <strong>Héctor de Prada:</strong> It&#8217;s kind of a mixture. It&#8217;s a SaaS outside of WordPress, we are going to say, but it needs a connector plugin to connect your websites to Modular DS. So basically what you do is you connect your different websites, the ones you manage, to Modular, and then from there you can like centralise most of the maintenance tasks, do updates, for example, in all the sites at the same time.</p>



<p>And also you can automate monitoring, vulnerability analysis. You can automate client reports like the generation of this client reports. So it basically tries to help, yeah, agencies, freelancer to save time, to have a good maintenance business. And also, like we have been saying, to sell the maintenance business to their clients, which we all know is not easy. So that&#8217;s what we try to do.</p>



<p>[00:40:42] <strong>Nathan Wrigley:</strong> So if I were somebody looking after my site and a bunch of others, you cater to that market, but also you are catering towards the more agency owner, if you know what I mean, where they&#8217;ve got multiple websites.</p>



<p>Is it possible to, white label is often the word I hear surrounding this. Is it possible to sort of make it so that it appears your own? That seems to be something that people really like, but I don&#8217;t know if you offer that feature.</p>



<p>[00:41:04] <strong>Héctor de Prada:</strong> You can white label everything that goes to the client. Let&#8217;s say, client reports. Of course, you can white label that, like your agency logo, your agency email to send the reports. Also, you can white label the plugin. So in the WordPress installation, you can change the plugin info so the client doesn&#8217;t know you&#8217;re using Modular, if you don&#8217;t want them to know. So yeah, of course, that&#8217;s important for many professionals, yeah.</p>



<p>[00:41:27] <strong>Nathan Wrigley:</strong> You could definitely be checking that out. And obviously this entire episode really was to provide an education piece around what it is that you might need to do, especially for those people who are new. You may not realise that there&#8217;s an actual business opportunity here for you, but also that there&#8217;s a whole cavalcade of different things that you can do.</p>



<p>So just to reprise, plugin, theme, updates, plus up time monitoring, backups, client reports. There&#8217;s a whole laundry list of things in there.</p>



<p>Yeah, I think that&#8217;s everything I wanted to ask. So if that&#8217;s the case, I will say, Reyes and Héctor, thank you very much for chatting to me today. I really appreciate it.</p>



<p>[00:42:04] <strong>Héctor de Prada:</strong> Well, thank you, Nathan.</p>



<p>[00:42:05] <strong>Reyes Martínez:</strong> Thank you.</p>
</div></details>



<p>On the podcast today we have <a href="https://profiles.wordpress.org/rmartinezduque/">Reyes Martínez</a> and <a href="https://profiles.wordpress.org/hdeprada/">Héctor De Prada</a>.</p>



<p>Reyes has been involved in the WordPress community since 2015, with a background in journalism, digital communications, and early-stage startups. From 2021 to 2024, she was sponsored by Automattic to contribute full-time to global marketing and communication efforts for the WordPress open-source project. She led several initiatives during that time, including the experimental WordPress Media Corps. Reyes currently serves as Content Lead at <a href="https://modulards.com/en/">Modular DS</a>.</p>



<p>Héctor has been building websites since he was 12 and has worked with WordPress for nearly a decade, first as a freelancer, then running his own agency. Today, he&#8217;s one of the co-founders of Modular DS. He co-organizes the WordPress meetup in León in Spain, and writes a Spanish newsletter that keeps readers updated with the latest news from the WordPress ecosystem.</p>



<p>In this episode, we get into the nitty-gritty of WordPress maintenance. What it takes to effectively manage multiple websites, and why maintenance is such a crucial, if often overlooked, part of running a successful client business.</p>



<p>You might think that updating plugins and themes is all there is to it, but Reyes and Héctor explain that there’s much more involved: performing regular backups, monitoring uptime and performance, checking for security vulnerabilities, database clean-ups, and ensuring essential site features like contact forms continue working as expected.</p>



<p>We discuss best practices for educating clients, how to position ongoing maintenance as an investment rather than a cost, and solutions which can help automate and streamline these essential tasks.</p>



<p>We also chat about how the maintenance landscape is changing, with upcoming legal requirements around accessibility and privacy, and the emerging business opportunities for professionals specializing solely in website care.</p>



<p>If you’re a freelancer or agency owner looking to scale up your business, perhaps you offer care plans to clients, or are considering adding maintenance plans to your services, this episode’s for you.</p>



<h2 class="wp-block-heading">Useful links</h2>



<p><a href="https://modulards.com/en/">Modular DS</a></p>



<p><a href="https://www.meetup.com/es-ES/Leon-WordPress-Meetup/">Meetup in  León, Spain</a></p>



<p><a href="https://en.wikipedia.org/wiki/Cyber_Resilience_Act">Cyber Resilience Act</a></p>";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Wed, 11 Jun 2025 14:00:00 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:14:"Nathan Wrigley";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:28;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:69:"Open Channels FM: Rebrand: Amplifying with the Open Source Reach Show";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:32:"https://openchannels.fm/?p=97948";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:75:"https://openchannels.fm/rebrand-amplifying-with-the-open-source-reach-show/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:140:"Bob's getting close to wrapping up the series and introducing "Open Source Reach," exploring open source's real-world impacts beyond coding.";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Wed, 11 Jun 2025 09:44:00 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:5:"BobWP";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:29;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:71:"Open Channels FM: Thanks to The Repository for Sharing Our Next Chapter";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:32:"https://openchannels.fm/?p=98164";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:78:"https://openchannels.fm/thanks-to-the-repository-for-sharing-our-next-chapter/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:89:"It means a lot to be recognized by a publication that truly gets the WordPress ecosystem.";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Tue, 10 Jun 2025 09:22:22 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:5:"BobWP";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:30;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:73:"Open Channels FM: Rebrand: Moving the Needle with the Content Sparks Show";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:32:"https://openchannels.fm/?p=97940";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:79:"https://openchannels.fm/rebrand-moving-the-needle-with-the-content-sparks-show/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:372:"On today’s BobWP Unplugged, host BobWP walks us through day five of the OpenChannel FM rebranding series. He gives us a look at Content Sparks, and each series designed to help creators make smarter digital content, from streamlining workflows and harnessing AI, to mastering storytelling and media strategy. If you’re passionate about creating great content [&#8230;]";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Tue, 10 Jun 2025 08:32:00 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:5:"BobWP";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:31;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:47:"Aaron Jorbin: Some initial questions about FAIR";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:31:"https://aaron.jorb.in/?p=192654";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:56:"https://aaron.jorb.in/some-initial-questions-about-fair/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:3344:"<p>Congratulations to the <a href="https://fair.pm/">FAIR</a> team on thier launch. <a href="https://ma.tt/2010/11/one-point-oh/">1.0 is the lonliest number</a>, so getting to to this milestone is something for them to celebrate and I hope the team behind it feels great about getting this far. </p>



<p>One of the best parts of getting to a public release is that you start getting feedback from real users. Some of that is coming out and I&#8217;m sure I will have some to add, at this point I don&#8217;t yet have a solid opinion on FAIR. What I do have are some questions I haven&#8217;t found the answer to while reading the <a href="https://github.com/fairpm/fair-protocol">protocol documentation</a>. I am hoping someone can either point me to the documentation for each of these or answer directly while I continue to digest as much as I can:</p>



<ol class="wp-block-list">
<li>How does someone report a bad actor in a federated repository? If I discover someone who is acting in bad faith, do I need to track down every discovery aggregator, inform them independetly, and have each do its own investigation before users are protected?
<ul class="wp-block-list">
<li>For this purpose, I&#8217;m using Bad Actor in all of it&#8217;s possible meanings including introducing intentional and unintentional security issues, hacked accounts, and people being jerks. </li>
</ul>
</li>



<li>What happens if different aggregagtors accept the same name for a plugin/theme? What can be done to prevent user confusion?
<ul class="wp-block-list">
<li>I think this is also important since someone doing local development with one aggregator but using a different in production feels like a distinct possibility.</li>
</ul>
</li>



<li>In order to be listed in the plugin, is there a standard for the aggregator and the standards that they set for inclusion?
<ul class="wp-block-list">
<li>Similiarly, how will these standards be monitored for potential exclusion later on?</li>
</ul>
</li>



<li>If the <strong>Decentralized ID</strong> is based on the repo, does that mean you can not transfer ownership of a plugin?
<ul class="wp-block-list">
<li>The <a href="https://github.com/fairpm/fair-protocol/blob/main/specification.md#resolving-dids">documentaiton states</a> &#8220;Vendors SHOULD use DID methods that are future-proof for data portability, and which avoid encoding trademarks or potentially-ephemeral names or domains.&#8221; Does this mean that Github should be avoided since it is a trademark?</li>
</ul>
</li>



<li>Does FAIR have a concept of release confirmations or other 2nd factor for releases?</li>



<li>How do reviews work in a decentralized manner? If I have an opinion on a plugin, will I need to share it with all aggregators?
<ul class="wp-block-list">
<li>On a similiar basis, if reviews are going to multiple places, what is the plan to combat sock puppets?</li>
</ul>
</li>
</ol>



<p>I imagine some of these are questions that will need to get answered over time, and also that for some, today&#8217;s answer may not be tomorrow’s. As with all open source projects, I can only imagine FAIR will change over time.</p>
<p>The post <a href="https://aaron.jorb.in/some-initial-questions-about-fair/">Some initial questions about FAIR</a> appeared first on <a href="https://aaron.jorb.in">Aaron Jorbin</a>.</p>";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Mon, 09 Jun 2025 15:19:19 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:6:"jorbin";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:32;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:49:"Open Channels FM: Rebrand: Our New Show WP Voices";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:32:"https://openchannels.fm/?p=97908";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:55:"https://openchannels.fm/rebrand-our-new-show-wp-voices/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:231:"BobWP is shaking things up with a rebrand of his podcast, introducing "WP Voices", where community members share their WordPress experiences. Expect humor, familiar faces, and new shows focusing on agency life, core and multisites.";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Mon, 09 Jun 2025 09:02:00 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:5:"BobWP";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:33;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:44:"Tammie Lister: Defining roadmaps in the open";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:34:"https://binatethoughts.com/?p=1858";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:57:"https://binatethoughts.com/defining-roadmaps-in-the-open/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:6251:"<p>WordCamp Europe has just concluded, and one term that emerged during the contribution day discussions across a wide range of areas was &#8216;roadmaps&#8217;. As someone who appreciates the power of a roadmap and aligning with it, working towards agreed-upon goals, this couldn&#8217;t make me happier. It makes me think curiously whether everyone is using the term in the same way, and I wanted to examine how we could define these terms openly and come to a shared understanding of what they mean.</p>



<figure class="wp-block-image size-full"><img alt="" class="wp-image-1859" height="1024" src="https://binatethoughts.com/wp-content/uploads/2025/06/openart-87541afc-67ae-4ef5-8da8-528a8ea86813.png" width="1024" /></figure>



<h2 class="wp-block-heading">Basic definitions</h2>



<p>The reality is that even in companies, the definition and use of the term &#8216;roadmap&#8217; can vary significantly. This may be due to frameworks and processes, or it may simply be a matter of personal preference. In order, though, to have them work on an open project, some common understanding has to be reached. We start at the beginning, and it is clear what the vision is and what a roadmap is.</p>



<p><strong>Vision: </strong>a high-level, inspirational description of what you hope to achieve in the long term. This is often seen as the &#8220;why&#8221; and &#8220;what&#8221; and the ultimate destination everyone works towards.</p>



<p><strong>A roadmap</strong> is a practical, time-based plan that involves action and outlines how to achieve a vision through specific steps. It includes milestones, notes, priorities and ties to deliverables.</p>



<h2 class="wp-block-heading">Why not both?</h2>



<p>To answer this, we need both in most projects. WordPress is no exception, and it is similar to other open source platforms; both are essential. To have both, though, you need clear definitions and differences between them.</p>



<p>The vision needs to be clear about where you want to go, broad, inspiring, and strategic. It&#8217;s a partner that helps with the roadmap and the plan for getting there. This is detailed, tactical and tied to times.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><strong>&#8220;A vision gives people a reason to care; a roadmap gives them a way to help.&#8221;</strong></p>



<p>— <em>Nadia Eghbal</em></p>
</blockquote>



<p>Combining both is essential. The roadmap gets you towards the vision, but it doesn&#8217;t define it. In my opinion, as the wider project has a vision, each team and component also likely has a vision, but these should always align with and add up to support the broad vision. This is why defining roadmaps and visions in isolation is often problematic in larger projects. </p>



<h2 class="wp-block-heading">Essential duplicity</h2>



<p>To look more at why both matter in an open-source project, you can split each into relatively easy formats:</p>



<p>A vision:</p>



<ul class="wp-block-list">
<li>Unites contributors around a shared purpose. </li>



<li>Inspires commitment over time. A vision doesn&#8217;t specifically though allocate that inspiration or fund; that&#8217;s the roadmap.</li>



<li>Clarifies what the project is not. Often more essential than we think.</li>
</ul>



<p>A roadmap:</p>



<ul class="wp-block-list">
<li>Shows the process. It allows each stage to be broken down into the steps required to achieve it.</li>



<li>Organizes contributions. Which in turn attracts and allocates people and funding.</li>



<li>Builds trust and focus. By seeing what is being done at a given point, it can be clear to everyone, whether they are contributor, sponsors, makers, users, supporters, or implementors.</li>
</ul>



<p>Whilst they aren&#8217;t the same, they certainly are companions to each other. A roadmap without a vision is a guess. It&#8217;s placing things on a calendar and hoping for delivery. A roadmap that lacks a clear vision is unable to gain focus and often spirals due to a lack of delivery. A vision that serves as a roadmap is uninspiring and fails to clarify or unite.</p>



<h2 class="wp-block-heading">Defining in open</h2>



<p>This is the more complex piece. It&#8217;s all well and good to know the difference and want to do this. You then need to take these seeds, grow them into roadmaps and visions, and collectively agree, because that is how open things get buy-in. </p>



<p>A simple process is a first pass from those leading the work, facilitated, distilled, and then shared, reviewed, and iterated. This is typical amongst open source projects. In WordPress, we have had several variations over time, and now we need to determine what works today. Both need to be shared; a roadmap is a document to check and measure against, a living thing.</p>



<h2 class="wp-block-heading">Beyond defining</h2>



<p>As we move forward into the second half of this year, the topic of roadmaps arises. Let&#8217;s make sure they are roadmaps. We could collaborate on a project to define what they are for us and share the results somewhere. Having an agreed-upon definition and working from it helps everyone, regardless of their approach to this topic. </p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><strong>&#8220;Open source thrives on clarity. A vision tells us why to show up, and a roadmap shows us how to move forward together.&#8221;</strong></p>



<p>— <em>Danese Cooper</em></p>
</blockquote>



<p>The reality is we need both vision and roadmaps, and all too often, we easily have a vision. Most likely, WordPress has not only a project vision, but we also need to gather some team visions to unite those working together. If you were to think of this as an adventure, think of them not as side quests but as storyline quest points that lead to the end point. </p>



<p>Roadmaps get us to delivery, and what we need more of is that right now in WordPress across all areas. They also allow us to start thinking about measuring, but they shouldn&#8217;t be where we end the measuring. That is another conversation but an essential one. We are at step one on the path to collectively growing our processes.</p>";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Mon, 09 Jun 2025 08:14:31 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:18:"binatethoughts.com";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:34;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:68:"Open Channels FM: Rebrand: Expanding the Open Web Conversations Show";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:32:"https://openchannels.fm/?p=97900";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:74:"https://openchannels.fm/rebrand-expanding-the-open-web-conversations-show/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:248:"The episode introduces the show Open Web Conversatioins during the Open Channel FM's rebranding series, featuring insights from builders and innovators on digital identity, emerging technologies, and online creativity, inviting listeners to engage.";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Sun, 08 Jun 2025 09:20:00 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:5:"BobWP";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:35;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:71:"WordPress.org blog: WCEU 2025: A Community Celebration in the Swiss Sun";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:35:"https://wordpress.org/news/?p=18776";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:86:"https://wordpress.org/news/2025/06/wceu-2025-a-community-celebration-in-the-swiss-sun/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:28388:"<figure class="wp-block-image size-large"><img alt="" class="wp-image-18837" height="683" src="https://i0.wp.com/wordpress.org/news/files/2025/06/IMG-20250607-WA0151.jpg?resize=1024%2C683&#038;ssl=1" width="1024" /><figcaption class="wp-element-caption"><em>Photo by Nilo Velez</em></figcaption></figure>



<p>Over 1,723 attendees from 84 countries gathered at the Messe and Congress Center Basel in Switzerland, and 20,353 more joined online for WordCamp Europe 2025.</p>



<div class="wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-6c531013 wp-block-group-is-layout-flex">
<figure class="wp-block-pullquote"><blockquote><p>I’m personally very excited&#8230; There’s so much I want to do. I think there’s a clear pathway to 7.0 and beyond.</p><cite>Matt Mullenweg, WordPress Cofounder</cite></blockquote></figure>
</div>



<p>The flagship WordPress event kicked off in Basel, Switzerland, with a dedicated Contributor Day. It was followed by two days of engaging talks, panels, hands-on workshops, and vibrant community connections. WordPress Cofounder Matt Mullenweg and Executive Director Mary Hubbard joined a diverse lineup of speakers and panelists, sharing insights in the heart of one of Europe’s most charming cities.</p>



<p>Set against the backdrop of Basel’s historic streets and Rhine-side views, the sponsor hall buzzed with activity as companies from across the WordPress ecosystem showcased their latest innovations, offered live demos, and connected with attendees. Each day, participants refueled with a range of local and international cuisine — from Swiss specialties to global favorites — making mealtime a lively space for networking, collaboration, and sparking new ideas.</p>



<h2 class="wp-block-heading">A Global Gathering in Basel</h2>



<p>WordCamp Europe has long been one of the most anticipated WordPress events of the year — a space where community, creativity, and collaboration thrive. This year in Basel, the conference delivered an exciting and diverse program that reached every corner of the WordPress ecosystem.</p>



<p>Here’s what attendees experienced:</p>



<ul class="wp-block-list">
<li><strong>Engaging Sessions Across Tracks</strong> &#8211; Across two full days, the conference featured informative talks, captivating keynotes, and dynamic discussions exploring WordPress and the broader web.</li>



<li><strong>A Global Speaker Lineup</strong> &#8211; The stage welcomed 52 speakers from 23 countries across five continents, each bringing unique insights and global perspectives.</li>



<li><strong>Wide-Ranging Topics</strong> &#8211; The schedule included 45 sessions and four hands-on workshops across three tracks, covering:
<ul class="wp-block-list">
<li>Accessibility and key policy updates like the European Accessibility Act and the Cyber Resilience Act</li>



<li>The evolving role of Artificial Intelligence in the open web</li>



<li>Cutting-edge web design, development best practices, SEO, and content strategy</li>



<li>Real-world case studies and showcases from across the community</li>
</ul>
</li>



<li><strong>Hands-On Learning Opportunities</strong> &#8211; Interactive workshops allowed attendees to roll up their sleeves and develop practical skills in a collaborative setting.</li>



<li><strong>A Community Built on Collaboration</strong> &#8211; Whether developer, designer, content creator, or entrepreneur, every attendee found space to connect, learn, and grow within a vibrant and welcoming community.</li>
</ul>



<h2 class="wp-block-heading">Contributor Day</h2>



<p>WordCamp Europe began with a vibrant Contributor Day that brought together 640 contributors—including many first-timers—to collaborate, share knowledge, and support the WordPress project. Guided by 33 dedicated table leads, with 21 teams, attendees of all experience levels came together to exchange ideas, solve real challenges, and make meaningful contributions to open source. From accessibility improvements to theme development and translation efforts, every table played a part in moving WordPress forward.</p>



<figure class="wp-block-gallery has-nested-images columns-default is-cropped has-black-background-color has-background wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex" style="border-width: 20px; border-radius: 2px;">
<figure class="wp-block-image size-large wp-lightbox-container"><img alt="" class="wp-image-18798" height="683" src="https://i0.wp.com/wordpress.org/news/files/2025/06/54568125707_c7f1d5c4a2_k.jpg?resize=1024%2C683&#038;ssl=1" width="1024" /><button class="lightbox-trigger" type="button">
			<svg fill="none" height="12" viewBox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg">
				<path d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" fill="#fff">
			</svg>
		</button><figcaption class="wp-element-caption">Thanh Nguyen</figcaption></figure>



<figure class="wp-block-image size-large wp-lightbox-container"><img alt="" class="wp-image-18799" height="683" src="https://i0.wp.com/wordpress.org/news/files/2025/06/54568126032_465e58f52e_k.jpg?resize=1024%2C683&#038;ssl=1" width="1024" /><button class="lightbox-trigger" type="button">
			<svg fill="none" height="12" viewBox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg">
				<path d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" fill="#fff">
			</svg>
		</button><figcaption class="wp-element-caption">Jeroen Rotty</figcaption></figure>



<figure class="wp-block-image size-large wp-lightbox-container"><img alt="" class="wp-image-18800" height="683" src="https://i0.wp.com/wordpress.org/news/files/2025/06/54568127677_4608e6c2e5_k.jpg?resize=1024%2C683&#038;ssl=1" width="1024" /><button class="lightbox-trigger" type="button">
			<svg fill="none" height="12" viewBox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg">
				<path d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" fill="#fff">
			</svg>
		</button><figcaption class="wp-element-caption">Thanh Nguyen</figcaption></figure>



<figure class="wp-block-image size-large wp-lightbox-container"><img alt="" class="wp-image-18801" height="683" src="https://i0.wp.com/wordpress.org/news/files/2025/06/54568995131_a2b3103540_k.jpg?resize=1024%2C683&#038;ssl=1" width="1024" /><button class="lightbox-trigger" type="button">
			<svg fill="none" height="12" viewBox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg">
				<path d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" fill="#fff">
			</svg>
		</button><figcaption class="wp-element-caption">Roan de Vries</figcaption></figure>



<figure class="wp-block-image size-large wp-lightbox-container"><img alt="" class="wp-image-18802" height="576" src="https://i0.wp.com/wordpress.org/news/files/2025/06/54568997316_388cdfd4e5_k-1.jpg?resize=1024%2C576&#038;ssl=1" width="1024" /><button class="lightbox-trigger" type="button">
			<svg fill="none" height="12" viewBox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg">
				<path d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" fill="#fff">
			</svg>
		</button><figcaption class="wp-element-caption">Thanh Nguyen</figcaption></figure>



<figure class="wp-block-image size-large wp-lightbox-container"><img alt="" class="wp-image-18803" height="683" src="https://i0.wp.com/wordpress.org/news/files/2025/06/54569219743_6bc7238ce1_k.jpg?resize=1024%2C683&#038;ssl=1" width="1024" /><button class="lightbox-trigger" type="button">
			<svg fill="none" height="12" viewBox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg">
				<path d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" fill="#fff">
			</svg>
		</button><figcaption class="wp-element-caption">Nilo Velez</figcaption></figure>



<figure class="wp-block-image size-large wp-lightbox-container"><img alt="" class="wp-image-18804" height="683" src="https://i0.wp.com/wordpress.org/news/files/2025/06/54569219883_c2df21a0cb_k.jpg?resize=1024%2C683&#038;ssl=1" width="1024" /><button class="lightbox-trigger" type="button">
			<svg fill="none" height="12" viewBox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg">
				<path d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" fill="#fff">
			</svg>
		</button><figcaption class="wp-element-caption">Thanh Nguyen</figcaption></figure>



<figure class="wp-block-image size-large wp-lightbox-container"><img alt="" class="wp-image-18805" height="683" src="https://i0.wp.com/wordpress.org/news/files/2025/06/54569220458_b2cc7018a6_k.jpg?resize=1024%2C683&#038;ssl=1" width="1024" /><button class="lightbox-trigger" type="button">
			<svg fill="none" height="12" viewBox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg">
				<path d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" fill="#fff">
			</svg>
		</button><figcaption class="wp-element-caption">Levente András Tóth</figcaption></figure>



<figure class="wp-block-image size-large wp-lightbox-container"><img alt="" class="wp-image-18806" height="683" src="https://i0.wp.com/wordpress.org/news/files/2025/06/54569220633_32194e94d5_k.jpg?resize=1024%2C683&#038;ssl=1" width="1024" /><button class="lightbox-trigger" type="button">
			<svg fill="none" height="12" viewBox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg">
				<path d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" fill="#fff">
			</svg>
		</button><figcaption class="wp-element-caption">Jeroen Rotty</figcaption></figure>



<figure class="wp-block-image size-large wp-lightbox-container"><img alt="" class="wp-image-18807" height="683" src="https://i0.wp.com/wordpress.org/news/files/2025/06/54569320070_03f700e2a1_k.jpg?resize=1024%2C683&#038;ssl=1" width="1024" /><button class="lightbox-trigger" type="button">
			<svg fill="none" height="12" viewBox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg">
				<path d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" fill="#fff">
			</svg>
		</button><figcaption class="wp-element-caption">Levente András Tóth</figcaption></figure>



<figure class="wp-block-image size-large wp-lightbox-container"><img alt="" class="wp-image-18808" height="683" src="https://i0.wp.com/wordpress.org/news/files/2025/06/54569320480_cc49061ebc_k.jpg?resize=1024%2C683&#038;ssl=1" width="1024" /><button class="lightbox-trigger" type="button">
			<svg fill="none" height="12" viewBox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg">
				<path d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" fill="#fff">
			</svg>
		</button><figcaption class="wp-element-caption">Sebastián Echeverri Jaramillo</figcaption></figure>



<figure class="wp-block-image size-large wp-lightbox-container"><img alt="" class="wp-image-18809" height="683" src="https://i0.wp.com/wordpress.org/news/files/2025/06/54569323570_dfb78eb42f_k.jpg?resize=1024%2C683&#038;ssl=1" width="1024" /><button class="lightbox-trigger" type="button">
			<svg fill="none" height="12" viewBox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg">
				<path d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" fill="#fff">
			</svg>
		</button><figcaption class="wp-element-caption">Thanh Nguyen</figcaption></figure>



<figure class="wp-block-image size-large wp-lightbox-container"><img alt="" class="wp-image-18810" height="683" src="https://i0.wp.com/wordpress.org/news/files/2025/06/IMG-20250605-WA0137-1.jpg?resize=1024%2C683&#038;ssl=1" width="1024" /><button class="lightbox-trigger" type="button">
			<svg fill="none" height="12" viewBox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg">
				<path d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" fill="#fff">
			</svg>
		</button><figcaption class="wp-element-caption">Nilo Velez</figcaption></figure>
</figure>



<p>Contributor Day at WordCamp Europe 2025 brought together a mix of first-time and returning contributors across a wide range of teams, from Core and Accessibility to Polyglots, Training, and Community. Attendees tackled everything from onboarding and ticket triage to translating strings, improving documentation, and enhancing tools and workflows. Development-focused teams explored performance and testing improvements and worked through live coding exercises. Meanwhile, accessibility testers, support volunteers, and photo moderators contributed to efforts that directly impact users around the world.</p>



<p>In parallel, teams like Marketing, Meta, Hosting, and Sustainability focused on future-facing initiatives—from promoting WordPress through the Showcase and social media campaigns to refining infrastructure, increasing accessibility, and preparing for long-term project growth. Whether contributing to plugins, themes, documentation, or new contributor experiences, participants reinforced the values that power the WordPress project: collaboration, inclusivity, and openness. The day served as a reminder that WordPress is not just software—it’s a community built by and for everyone.</p>



<h2 class="wp-block-heading">Tomorrow Starts with WordPress</h2>



<p>The first full day of WordCamp Europe 2025 brought the community together to celebrate the power of open source collaboration and innovation. Opening remarks from both global and local event leads reflected on the journey of WordCamp Europe—from its beginnings in 2013 in Leiden, Netherlands, to the vibrant event in Basel today. This full-circle moment underscored the growth of the WordPress community, united by a shared commitment to an open web.</p>



<p>The day launched into an inspiring program with the keynote session, <em>WordPress Without Borders – The Fight for Digital Freedom</em>, delivered by Noel Tock. Drawing from his experiences—including time on the frontlines in Ukraine—Tock illustrated how open source supports global resilience and serves as a digital human right. His message called on contributors to see their work as part of something greater, offering a compelling and forward-looking vision to energize and unify the WordPress community.</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">

</div></figure>



<p>From there, the program unfolded across multiple tracks—each one sparking new conversations and insights. One standout session highlighted social entrepreneurship in Bulgaria, where WordPress is helping grassroots organizations drive change in education, journalism, and social justice. Petya Raykovska shared how nonprofits like Teenovator and the Bulgarian Fund for Women are using WordPress to amplify their work and strengthen their communities.</p>



<p>Designers and developers explored ways to improve workflows and collaboration. In <em>Bridging Design and Development</em>, attendees learned how Figma Design Systems can connect design and development through shared structures mapped to block themes. Real-world examples, like the Novus Media Newspaper Design System, demonstrated how scalable, consistent design can power multi-brand platforms.</p>



<p>Workshops played a key role throughout the day, including the interactive <em>Block Developer Cookbook: WCEU 2025 Edition</em>, where attendees worked through community-voted code recipes featuring the latest WordPress APIs. Sessions also dove into emerging technologies, such as <em>Automating WordPress Setup with Modern AI Tools</em>, which showcased how WP-CLI, scripting, and AI can accelerate project setup and reduce repetitive tasks.</p>



<figure class="wp-block-image size-large"><img alt="" class="wp-image-18817" height="683" src="https://i0.wp.com/wordpress.org/news/files/2025/06/54571048139_5009fd3c2b_k.jpg?resize=1024%2C683&#038;ssl=1" width="1024" /><figcaption class="wp-element-caption"><em>Photo by Marc Wieland</em></figcaption></figure>



<p>Day Two of WordCamp Europe 2025 opened with a focus on the evolving role of the WordPress community in a rapidly changing digital world. Sessions explored how contributors—from local meetup organizers to global advocates—play a vital part in shaping WordPress’s future. Talks on inclusivity, such as <em>Over the Rainbow</em>, encouraged attendees to consider how individual actions can help build a more welcoming, representative open source ecosystem. Throughout the morning, the spirit of collaboration and shared purpose remained front and center.</p>



<p>As the day progressed, attention turned to the tools and technologies pushing WordPress forward. From sessions on scaling multilingual sites and managing observability to hands-on workshops, developers explored new ways to streamline workflows and enhance performance. Highlights included <em>WordPress Gems for Devs</em>, which introduced the Interactivity API through live coding, and <em>Client-side Web AI Agents</em>, a look at cutting-edge browser-based AI that unlocks new possibilities for web experiences. These talks reflected the platform’s growing capacity to adapt to emerging trends while staying true to its open foundations.</p>



<p>The afternoon brought a blend of practical guidance and inspiring stories across tracks. A case study on accessibility from Switzerland showed how thoughtful design can benefit all users, while a session on brand-building for women entrepreneurs highlighted the creative and economic opportunities WordPress enables. With topics spanning content strategy, business growth, regulatory readiness, and more, the second day of WCEU 2025 affirmed the strength of the WordPress ecosystem—not only as a technology platform, but as a global movement fueled by people, purpose, and possibility.</p>



<h2 class="wp-block-heading">Fireside Chat</h2>



<p>As the final day drew to a close, Matt and Mary shared some thoughts on EU regulation (Open Web Alliance), AI, and the introduction of the WordPress AI team, and then answered questions from the audience.</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">

</div></figure>



<h2 class="wp-block-heading">Closing</h2>



<p>A heartfelt thank you to the dedicated organizers who brought WordCamp Europe 2025 to life in Basel, the speakers who shared their insights, the attendees who joined us in person, and those who followed along from afar. We hope you leave with fresh ideas, meaningful connections, and renewed energy to help shape the future of the open web.</p>



<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex" style="border-width: 20px;">
<figure class="wp-block-image size-large wp-lightbox-container"><img alt="" class="wp-image-18827" height="683" src="https://i0.wp.com/wordpress.org/news/files/2025/06/54571099103_b61e92651c_k.jpg?resize=1024%2C683&#038;ssl=1" width="1024" /><button class="lightbox-trigger" type="button">
			<svg fill="none" height="12" viewBox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg">
				<path d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" fill="#fff">
			</svg>
		</button><figcaption class="wp-element-caption">Jeroen Rotty</figcaption></figure>



<figure class="wp-block-image size-large wp-lightbox-container"><img alt="" class="wp-image-18825" height="683" src="https://i0.wp.com/wordpress.org/news/files/2025/06/54570002952_63c3ced847_k.jpg?resize=1024%2C683&#038;ssl=1" width="1024" /><button class="lightbox-trigger" type="button">
			<svg fill="none" height="12" viewBox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg">
				<path d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" fill="#fff">
			</svg>
		</button><figcaption class="wp-element-caption">Chris Clarke</figcaption></figure>



<figure class="wp-block-image size-large wp-lightbox-container"><img alt="" class="wp-image-18824" height="683" src="https://i0.wp.com/wordpress.org/news/files/2025/06/54569999382_839ad34def_k.jpg?resize=1024%2C683&#038;ssl=1" width="1024" /><button class="lightbox-trigger" type="button">
			<svg fill="none" height="12" viewBox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg">
				<path d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" fill="#fff">
			</svg>
		</button><figcaption class="wp-element-caption">Thanh Nguyen</figcaption></figure>



<figure class="wp-block-image size-large wp-lightbox-container"><img alt="" class="wp-image-18823" height="683" src="https://i0.wp.com/wordpress.org/news/files/2025/06/54571194430_99b40d9280_k.jpg?resize=1024%2C683&#038;ssl=1" width="1024" /><button class="lightbox-trigger" type="button">
			<svg fill="none" height="12" viewBox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg">
				<path d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" fill="#fff">
			</svg>
		</button><figcaption class="wp-element-caption">Thanh Nguyen</figcaption></figure>



<figure class="wp-block-image size-large wp-lightbox-container"><img alt="" class="wp-image-18822" height="684" src="https://i0.wp.com/wordpress.org/news/files/2025/06/54571195715_0e2dbb778c_k.jpg?resize=1024%2C684&#038;ssl=1" width="1024" /><button class="lightbox-trigger" type="button">
			<svg fill="none" height="12" viewBox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg">
				<path d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" fill="#fff">
			</svg>
		</button><figcaption class="wp-element-caption">Maksym Kaharlytskyi</figcaption></figure>



<figure class="wp-block-image size-large wp-lightbox-container"><img alt="" class="wp-image-18821" height="533" src="https://i0.wp.com/wordpress.org/news/files/2025/06/54571048019_d36c78cc86_c.jpg?resize=799%2C533&#038;ssl=1" width="799" /><button class="lightbox-trigger" type="button">
			<svg fill="none" height="12" viewBox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg">
				<path d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" fill="#fff">
			</svg>
		</button><figcaption class="wp-element-caption">Chris Clarke</figcaption></figure>



<figure class="wp-block-image size-large wp-lightbox-container"><img alt="" class="wp-image-18820" height="683" src="https://i0.wp.com/wordpress.org/news/files/2025/06/54570870476_a8bef84c32_k.jpg?resize=1024%2C683&#038;ssl=1" width="1024" /><button class="lightbox-trigger" type="button">
			<svg fill="none" height="12" viewBox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg">
				<path d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" fill="#fff">
			</svg>
		</button><figcaption class="wp-element-caption">Atsushi Ando</figcaption></figure>



<figure class="wp-block-image size-large wp-lightbox-container"><img alt="" class="wp-image-18819" height="683" src="https://i0.wp.com/wordpress.org/news/files/2025/06/54570001717_fa54bba4e1_k.jpg?resize=1024%2C683&#038;ssl=1" width="1024" /><button class="lightbox-trigger" type="button">
			<svg fill="none" height="12" viewBox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg">
				<path d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" fill="#fff">
			</svg>
		</button><figcaption class="wp-element-caption">Nilo Velez</figcaption></figure>



<figure class="wp-block-image size-large wp-lightbox-container"><img alt="" class="wp-image-18829" height="683" src="https://i0.wp.com/wordpress.org/news/files/2025/06/54570869816_7de53cc2f1_k-1.jpg?resize=1024%2C683&#038;ssl=1" width="1024" /><button class="lightbox-trigger" type="button">
			<svg fill="none" height="12" viewBox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg">
				<path d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" fill="#fff">
			</svg>
		</button><figcaption class="wp-element-caption">Jeroen Rotty</figcaption></figure>



<figure class="wp-block-image size-large wp-lightbox-container"><img alt="" class="wp-image-18859" height="682" src="https://i0.wp.com/wordpress.org/news/files/2025/06/IMG-20250607-WA0337.jpg?resize=1024%2C682&#038;ssl=1" width="1024" /><button class="lightbox-trigger" type="button">
			<svg fill="none" height="12" viewBox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg">
				<path d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" fill="#fff">
			</svg>
		</button><figcaption class="wp-element-caption">Nilo Velez</figcaption></figure>
</figure>



<p>Be sure to mark your calendars for the final major WordPress events in 2025: <a href="https://us.wordcamp.org/2025/">WordCamp US</a> (Portland, Oregon, USA). Then join us in <a href="https://europe.wordcamp.org/2026/">Kraków, Poland for WordCamp Europe 2026</a>! Also, if you want to get involved with WCEU, the call for organisers is already open for 2026. </p>



<p></p>";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Sat, 07 Jun 2025 19:19:18 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:14:"Brett McSherry";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:36;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:198:"WordCamp Central: WordCamp Jinja 2025 Recap: An impactful 2 days of learning, diverse speakers, hands-on workshops, contributions, charity website hackathon, and celebration of WordPress on the Nile";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:40:"https://central.wordcamp.org/?p=10743950";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:217:"https://central.wordcamp.org/news/2025/06/wordcamp-jinja-2025-recap-an-impactful-2-days-of-learning-diverse-speakers-hands-on-workshops-contributions-charity-website-hackathon-and-celebration-of-wordpress-on-the-nile/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:15797:"<figure class="wp-block-image size-large"><img alt="" class="wp-image-791" src="https://jinja.wordcamp.org/2025/files/2025/05/IMG_20250524_115107_645-1024x768.jpg" /></figure>



<p>From <strong>May 24th to 25th, 2025</strong>, we had the fourth annual <strong>WordCamp Jinja</strong> at the <strong>largest </strong>educational institution in the region <strong>Jinja Senior Secondary School</strong>. This year’s event was our <strong>biggest and most impactful yet</strong> both in numbers and key demographics, having <strong>over 250 attendees and participants that primarily included students</strong> as well as developers, designers, bloggers, educators, and entrepreneurs from across Uganda and East Africa.</p>



<p>With the theme <em><strong>“Create, Impact, and Explore with WordPress!”</strong></em><strong>,</strong> the event was a celebration of open-source innovation, practical skills, and community spirit, all set against the stunning backdrop of the Nile.</p>



<h3 class="wp-block-heading has-x-large-font-size"><strong>A WordCamp Designed for Student WordPressers, Developers and Creatives Alike</strong></h3>



<p><strong>Students were at the heart of WordCamp Jinja 2025</strong>, reflecting their role as a key and growing demographic in both the WordPress Jinja community and the wider Ugandan community. This year’s venue <strong>Jinja Senior Secondary School</strong>—was purposefully chosen to bring the WordPress experience closer to students, ensuring greater accessibility, relevance, and impact.</p>



<p>We welcomed enthusiastic participation from students of <strong>Jinja SS</strong>, <strong>Makerere University</strong>, <strong>Macedonian Vocational School</strong>, <strong>Ezone School of Computing</strong>, and others. For most, it was their first exposure to open-source tools, and the excitement was palpable. At Jinja SS, the event left a lasting impression—inspiring students to launch their very own <strong>ICT Club</strong> to continue learning and collaborating long after the event, thus we left a standing souvenir at the school.</p>



<p>As a community, we are intentional about <strong>balancing engagement</strong> between our student and creative/developer communities. We do this by <strong>alternating venues each year</strong> to better suit both these key groups and demographics, whether it’s schools, colleges or innovation hubs. We are excited to continue our <strong>outreach programs</strong> and student-focused initiatives at both <strong>Jinja Senior Secondary School</strong> and <strong>Macedonian Vocational School</strong> among other schools, nurturing future WordPress contributors, creators, and tech leaders as well as having creative and developer oriented meetups and next-gen events.</p>



<h3 class="wp-block-heading"><strong>Diverse Speaker Sessions</strong></h3>



<p>Attendees enjoyed powerful sessions across two tracks led by speakers from Uganda, Kenya, Rwanda, USA, and beyond. Talks covered everything from advanced contributions, development and accessibility to blogging, diversity, SEO, and AI tools for content creators—sparking learning, inspiration, and engagement throughout the event.</p>



<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large wp-duotone-unset-1"><img alt="" class="wp-image-818" src="https://jinja.wordcamp.org/2025/files/2025/06/P5250896-1024x576.jpg" /></figure>



<figure class="wp-block-image size-large"><img alt="" class="wp-image-798" src="https://jinja.wordcamp.org/2025/files/2025/06/IMG_20250524_115609_422-1024x768.jpg" /></figure>
</figure>



<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-4 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large"><img alt="" class="wp-image-821" src="https://jinja.wordcamp.org/2025/files/2025/06/Gr49gctW0AARSNv-1024x771.png" /></figure>



<figure class="wp-block-image size-large wp-duotone-unset-3"><img alt="" class="wp-image-820" src="https://jinja.wordcamp.org/2025/files/2025/06/Gr49gdJXcAAznXz-1024x771.png" /></figure>
</figure>



<h3 class="wp-block-heading"><strong>Contributor Day sessions and Website Hackathon Track</strong></h3>



<p>Teams collaborated in a <strong>WordPress Website Hackathon</strong>, that we have been holding each year, building websites for NGOs, community initiatives, and personal projects—all powered by WordPress. It was an energetic, purpose-driven space where learning met real-world impact.</p>



<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-6 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large wp-duotone-unset-5"><img alt="" class="wp-image-806" src="https://jinja.wordcamp.org/2025/files/2025/06/IMG_20250525_093536_203-1024x768.jpg" /></figure>



<figure class="wp-block-image size-large"><img alt="" class="wp-image-801" src="https://jinja.wordcamp.org/2025/files/2025/06/IMG_9604-1024x683.jpg" /></figure>



<figure class="wp-block-image size-large"><img alt="" class="wp-image-822" src="https://jinja.wordcamp.org/2025/files/2025/06/IMG_20250525_132024_307-1024x458.jpg" /></figure>
</figure>



<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-7 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large"><img alt="" class="wp-image-833" src="https://jinja.wordcamp.org/2025/files/2025/06/IMG_20250525_132931_056-1024x768.jpg" /></figure>



<figure class="wp-block-image size-large"><img alt="" class="wp-image-800" src="https://jinja.wordcamp.org/2025/files/2025/06/IMG_9734-1024x683.jpg" /></figure>
</figure>



<p>Throughout the event during the hackathon track and culminating on <strong>May 25th</strong>, participants joined the global open-source movement through the <strong>Contributor Day</strong> and sessions. From learning how to translate and reviewing content to contributing to the WordPress Photos and Polyglots teams, attendees learned how to give back and make an impact in the WordPress ecosystem.</p>
