a:6:{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:100:"WPTavern: #197 – Johanne Courtright on Enhancing Gutenberg: Agency-Driven Block Editor Innovations";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=201629";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:113:"https://wptavern.com/podcast/197-johanne-courtright-on-enhancing-gutenberg-agency-driven-block-editor-innovations";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:54861:"<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, enhancing Gutenberg with agency driven block editor innovations.</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 Johanne Courtright. Johanne started working with WordPress back in 2011, moving over from a background in marketing agencies, Dreamweaver and Static HTML sites. Over the years, she&#8217;s become a skill developer, focusing on extending WordPress through custom queries, forms, integrations with APIs, and increasingly harnessing the power of the block editor and React.</p>



<p>Johanne talks about her journey from the classic world of agency WordPress development to embracing Gutenberg, and the challenges and wins along the way. She shares her experience in building custom blocks, and enhancing existing ones to better serve agencies. Things like improving break points, color palettes, responsive designs, and navigation, all of which aren&#8217;t offered in Core yet. These features come together in her growing open source project Groundworx.</p>



<p>We talk about the shifting landscape from classic themes to block-based themes, and why even in 2025, a lot of agencies and users are still hesitant to make the leap fully. Johanne explains where the block editor falls short for her use, and how Groundworx aims to plug these perceived gaps with a foundation of flexible, performant, agency focus blocks and templates.</p>



<p>You will hear about her approach to building modular themes with theme.json, the realities of client work and scope creep, and how the 80 20 rule shapes what belongs in Core, and what&#8217;s best handled by plugins.</p>



<p>We also get into the challenge of discovery in the WordPress plugin ecosystem, her wishlist for block editor improvements, and her take on the future of block-based businesses in WordPress.</p>



<p>Whether you&#8217;re a developer eager to modernize your workflow, or just curious about extending Gutenberg for real world 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 Johanne Courtright.</p>



<p>I am joined on the podcast by Johanne Courtright. Hello, Johanne.</p>



<p>[00:03:21] <strong>Johanne Courtright:</strong> Hi. Nice to be here.</p>



<p>[00:03:22] <strong>Nathan Wrigley:</strong> Yeah, very nice to have you with us. I put a tweet out not that long ago, seeing if anybody wanted to come on the WP Tavern Jukebox podcast, and Johanne was very kind and reached out to me. And we had a little bit of toing and froing. Not a lot, but a little bit. And I thought that the topic of conversation that she suggested was extremely curious.</p>



<p>As you&#8217;ll discover in a moment, Johanne has been working hard trying to make the block editor, well, I&#8217;m going to use the word improved. Trying to add things to the block editor to make it more usable.</p>



<p>That conversation though, probably would benefit from us knowing exactly who you are, and what your background is. Maybe if we stick to the WordPress bits and pieces, but would you mind just giving us a little biography? Tell us a bit about you.</p>



<p>[00:04:00] <strong>Johanne Courtright:</strong> Sure. I got into WordPress in 2011, working for a marketing agency. It solved a big problem at the time coming from Dreamweaver, HTML static pages. My writing to that was a lot of convincing, but it was a very welcome change. WordPress made a huge impact on a lot of agencies.</p>



<p>And so we used it for, primarily for home builders, and it was great. Discovered Advanced Custom Fields, tapped into that. Custom post types. It was a lot of fun for many years and I&#8217;ve worked for other agencies after that too, and my specialty has always been around extending as far as I can. Custom queries and forms, tapping into CRM and with APIs and all sorts of things. Anything that can be done with WordPress I was doing it, pretty much.</p>



<p>[00:04:55] <strong>Nathan Wrigley:</strong> Are you self-taught then, or have you learned on the job? Or did you go through like a university program or something like that?</p>



<p>[00:05:00] <strong>Johanne Courtright:</strong> Just learned on the job. Just looking for solution, and WordPress felt like it was a great fit. A lot of support online, a lot of documentation, just a lot of people providing enough documentation to be able to explore was very helpful. And there was Joomla and Drupal that was also contenders, but I didn&#8217;t like Drupal&#8217;s interface, and I wasn&#8217;t a fan of how unstable Joomla was from updating versions to versions. So for me, it was a pretty fast decision to go with WordPress.</p>



<p>[00:05:35] <strong>Nathan Wrigley:</strong> I think WordPress is a really great thing to hang your coat on if you are learning, because there&#8217;s so much, like you said, documentation. So much of it is prebuilt, so you can just download a version of WordPress and dig in basically, and see how somebody else over many years, in the case of WordPress, 22 years, how that has been built.</p>



<p>Whereas I always found when I was digging in, so this is prior to me using any CMS, I had those PHP books, paper books, where you try to learn. And you&#8217;d always learn from nothing and you&#8217;d have to start building up and anything that you did wrong, you kind of really didn&#8217;t know what was going on.</p>



<p>And so I quickly moved into the CMS space, and probably a little bit like you, WordPress was able to scaffold my learning. And quite a lot of the things that I thought I wouldn&#8217;t be interested in, I could skip over. I don&#8217;t know, things like permissions and stuff. WordPress already did that, so I didn&#8217;t really have to worry about how all of that was taken care of. So it enabled me to learn more quickly. And then of course, there&#8217;s the whole community behind it, and knowledge bases and articles and that whole thing. So I well understand your story.</p>



<p>However, you&#8217;ve gone in a much more developer direction, I think, than I ever did. Looking at the bits and pieces that you are doing now, I think it&#8217;s fair to say that you have become a really competent developer, not just with things like PHP and JavaScript, but also I think more recently with things like React as well. How are you finding all of that, the new React based WordPress? Is it still maintaining the interest or are you banging your head on the wall a lot?</p>



<p>[00:06:58] <strong>Johanne Courtright:</strong> I started Gutenberg, I started to use it pretty much around the time it came out. I had a bit of a struggle because I had to learn React for it. I didn&#8217;t want to be left behind, so I really tried hard, took a course online to accelerate a bit of my learning. And then I faced a time where it was just too much work to be done.</p>



<p>But the last agency I worked at, I started I think like four or five years ago, they were open. They wanted to tackle it. And so we&#8217;re a team of three to start, and we made like a core foundation of blocks that we needed over time, building off projects and versions.</p>



<p>And so it was a lot of fun, but in the same time we were still stuck in the old world with ACF for some of it. And I wasn&#8217;t quite pleased on some of it, but I understand sometimes like the budget, because I&#8217;m allowed to be fully a hundred percent Gutenberg. So when I decided to start something on my own to solve those things, I went a hundred percent Gutenberg, Interactivity API, no jQuery as much as possible. I decided to dive in completely, a hundred percent, because I believed in it. I knew how to solve those issues.</p>



<p>[00:08:11] <strong>Nathan Wrigley:</strong> Yeah, all of those things that you&#8217;ve mentioned, you know, things like custom fields and things like that, they&#8217;re really curious, aren&#8217;t they? I mean, they&#8217;re really interesting stuff that you can do there, and it&#8217;s very much time saving, but it does feel like in the future there are utterly different possibilities there. And blocks, and all of the different bits and pieces that we&#8217;ll get into that you are working on, afford the chance to build custom solutions for every single project, without necessarily relying on downloading a plugin. You know, writing a bit of code, which will achieve a bit of functionality for this particular block or that particular block.</p>



<p>However, all of that stuff being said, and the sort of rainbow version that we&#8217;ve painted of Gutenberg, it&#8217;s pretty obvious to me that during the last few years, there must be parts of the block editor that you&#8217;ve found to be lacking. Because as we&#8217;re going to discover, you&#8217;ve got a project called Groundworx, which is an endeavor in lots of different ways to bring features into the block editor which you feel probably, I&#8217;m guessing you feel, should have been shipped a long time ago.</p>



<p>And I think it&#8217;s fair to say that your endeavor here is not to create a new suite of blocks, which you would download and replace core blocks. You are trying to enhance the paragraph block or the whatever block it may be. So you&#8217;re taking the core block, adding functionality into it. Have I got that right? Is that the endeavor?</p>



<p>[00:09:34] <strong>Johanne Courtright:</strong> I have some extra blocks, but I did enhance quite a bit of what was already there, but not too much that it would interfere if they were to ever support. I mean, I have to be cautious on what I&#8217;m adding. But essentially, if you take WordPress as is, it&#8217;s good enough for somebody who&#8217;s starting, but it&#8217;s not good enough for an agency.</p>



<p>[00:09:57] <strong>Nathan Wrigley:</strong> What are the bits that you think are missing? And honestly, feel free to just dig deep here. I know for me what I found lacking, but it only maps to the things that I have had to do. But I&#8217;m curious what a different person having worked for agencies and built a suite of blocks, what are the, I don&#8217;t know, four, five different things that you really feel are missing?</p>



<p>[00:10:15] <strong>Johanne Courtright:</strong> You have to be pixel perfect with agencies, and they work with break points, and in containers and whatnot. And so you have to really kind of like stretch it further. And you have to also provide user experience efficiencies, for example, colour palettes and things like that. So you have to make it easier. So having presets of colours that already predetermined based on their branding, is ideal. So they can choose those presets, it already applies all the colours and your set. And then they can still override each components, which is amazing. That was something very important.</p>



<p>So efficiencies and ease of use was great. So a combination of some custom blocks, but a lot of pre-made templates that you can make for them, and colour palettes. So the more you embrace Gutenberg, the more you can make it happen. But if you have those solutions that are not quite fully Gutenberg, it becomes a little bit complex because you&#8217;re fighting Gutenberg.</p>



<p>[00:11:13] <strong>Nathan Wrigley:</strong> Did you build your suite of blocks? And we&#8217;ll get into what that means in a minute, and we can highlight the different bits and pieces that you&#8217;ve got. But did you build that out of frustration or were there, I don&#8217;t know, particular things that a particular project needed that was pretty edge case that you thought you&#8217;d build? Or is this more a case of, okay, everybody needs these things, it&#8217;s curious that they&#8217;re missing in Core? What&#8217;s the approach? Is it kind of edge case stuff or is it more, everybody could benefit from these?</p>



<p>[00:11:42] <strong>Johanne Courtright:</strong> It&#8217;s a little bit of everything. Most of the time, agencies would need those extra features I brought in. The problem is, I didn&#8217;t want to overwhelm normal users as well with so many options. And I think that&#8217;s where Gutenberg is shining essentially.</p>



<p>The padding system, for example. It&#8217;s got increments, but it doesn&#8217;t have an overwhelming amount of like, this is the padding for this break point, this is the padding for this break point. But you can still tap into it by using clamp on your padding to adjust based on your screen resolution. So you can solve that problem without having to specify all those extra padding for each break point.</p>



<p>So there&#8217;s a lot of different ways to set up your theme.json to compensate for the lack of extra features per breakpoint. And that&#8217;s what I&#8217;ve been doing. And my goal is to set up enough blocks and provide, I&#8217;ll have a theme.json that I want to share, so it&#8217;ll be easy for people to have a starting theme to start with. And I&#8217;m planning to release that for free. I was just, there&#8217;s a lot to be done and provide documentation. There&#8217;s just a lot. It&#8217;s hard to get everything done fast.</p>



<p>[00:12:57] <strong>Nathan Wrigley:</strong> Yeah, no kidding. I mean, have you built your own themes then from the ground up, or do you tend to rely on, I don&#8217;t know, a default theme and then modify that?</p>



<p>[00:13:06] <strong>Johanne Courtright:</strong> I actually prefer to use my own theme. In fact, coming from the old world, you would put everything in a theme. You would put just all your functionality. And then you learn over time that it&#8217;s probably better to have a plugin, but then you still had the crossover of the two dependencies. You have to be cautious to not crash your site if one wasn&#8217;t, like if you switched a theme or if you switch a plugin.</p>



<p>And then Gutenberg made it easier to create that separation because you can set up, if you set up your theme properly, you can have essentially 90% of your theme set up in a way where it&#8217;s accent one for colour, accent two for colour base, and contrast. So if you label your things, your keys properly, all you have to do is change the values. Don&#8217;t change the key names. And just create labels that are meaningful. You can create another theme super easy from that initial theme by just changing those labels and those values, and leave the keys alone. Sure, you&#8217;ll have probably more colours on certain other themes, but your foundation will help you get there faster.</p>



<p>[00:14:19] <strong>Nathan Wrigley:</strong> I know that many years ago when Full Site Editing, as it was called back then dropped, and so block themes became a thing. I know that there was a hope that it would, over a fairly short period of time, that it would replace what we&#8217;re now calling Classic Themes. There was this period of time where, you know, both were still massively in development. And I think the hope was that over time, Classic Themes would become more obsolete, and then block-based themes would become the default.</p>



<p>It feels from where I&#8217;m standing now, so we&#8217;re recording this in December, 2025, it feels as if that kind of hasn&#8217;t really happened. That promise is still, we&#8217;re still somewhere in limbo. There&#8217;s a few people out there in the WordPress space who are promoting Full Site Editing and all of the things that that can do, but I also feel there&#8217;s a lot of people who are not willing to make that leap.</p>



<p>And I guess part of the problem maybe is that it&#8217;s easy for somebody like you because you&#8217;re in it day in, day out. You know where every menu is. You know where to put the mouse to achieve the exact thing you want at the exact moment that you want. But I feel that for a novice user, maybe somebody who&#8217;s got the job of, I don&#8217;t know, finishing off a website or somebody who&#8217;s got the job of just tweaking a website once it&#8217;s been handed over, I think it&#8217;s really hard, and a lot of the interface is kind of counterintuitive.</p>



<p>And when you stand over the shoulder, as I have done, of people who&#8217;ve never used WordPress before, and you watch them, you see them flailing around trying to figure out how it works, and you see the constant butting up against a UX problem. I don&#8217;t know when that moment&#8217;s going to be, where everything is all tied off and perfect, but it doesn&#8217;t seem like in the year 2025, the few weeks that we&#8217;ve got left, or anytime soon in 2026, as if the Classic Themes are going to go away.</p>



<p>And I don&#8217;t know if that concerns you at all, because obviously you&#8217;ve really invested in all these blocks and theming and all of that kind of stuff. Does it bother you that this is still a problem that we haven&#8217;t solved?</p>



<p>[00:16:18] <strong>Johanne Courtright:</strong> I think what&#8217;s out there right now, the third party, what they&#8217;re doing, I mean, they&#8217;re solving some issues, but they&#8217;re adding a whole new platform on another existing platform, and that&#8217;s why I don&#8217;t choose those solutions. I prefer embracing the Core vision and try to expand what&#8217;s already there.</p>



<p>One of my struggles I have is that, let&#8217;s just pick Elementor. You have a lot of great options. I mean, for somebody who knows what they&#8217;re doing, it does a lot, but it also comes with a lot of extra bloat of divs and CSS that&#8217;s not quite built how I would&#8217;ve done it. You have to fight the styling. And WordPress does it so different now. With Gutenberg, it&#8217;s the opposite. It does very little, and it allows you to override all the classes. The way it&#8217;s built, it&#8217;s allowing you to override easily without having to use the important on the styling to override it.</p>



<p>And I think that&#8217;s a major change of how you think, and how you approach theming in general. This is the way. This is the way how it should be done. And once I stopped fighting how the new way was, and understanding where they were heading with that, something clicked and it just like, yes, this is what I want, this is what I want. And I made that call that I&#8217;m not going back.</p>



<p>No normal users want to touch Divi or Elementor. Somebody who doesn&#8217;t have the knowledge of basic CSS even, they don&#8217;t want to touch that. It&#8217;s overwhelming. They don&#8217;t know how to touch it. And in fact, they&#8217;re scared. And when you present them with Gutenberg, you give them an hour training over Zoom session, they are in love with it. They make edits themselves. They&#8217;re just happy. They rarely come back with more questions. They just know how to use it.</p>



<p>[00:18:12] <strong>Nathan Wrigley:</strong> I think we&#8217;re fast approaching a period in WordPress when a lot of the admin UI is about to change. So there&#8217;s a lot of foundational work being put in at the moment to really modify it. So maybe some of that dissonance that users might face in the near future will go away. And maybe those kind of block-based themes, and Gutenberg use in general will spike. There certainly seems to be a lot of work being done in that regard anyway.</p>



<p>Let&#8217;s just move on to some of the bits and pieces that you have been doing though. Because obviously there must be, well, dissatisfaction is the wrong word, but there&#8217;s obviously bits of the block editor where you feel that work could have been done differently.</p>



<p>And so I&#8217;m going to point people in the direction of your work. So if you go to groundworx.dev, and worx is spelt with an X at the end. So it&#8217;s the word ground, and then WOR and then the letter X, dot dev. If you go there, you&#8217;ll be able to find the product menu. And if you hover over the product menu, you&#8217;ll be able to see a bunch of things called Groundworx core and things like that, Groundworx navigation.</p>



<p>And I want to dwell on Groundworx core. So this is your endeavor to improve the blocks that WordPress offers, and offer some new ones and modifications to existing ones. Tell us what the philosophy behind this is then.</p>



<p>[00:19:29] <strong>Johanne Courtright:</strong> So some of the more fun blocks where they have like animation and all that are custom blocks. But they&#8217;re flexible in the way they&#8217;re easy to set up, intuitive. But I think for me, offering the capability to someone who wants those type of things that are not offered, it&#8217;s not necessarily a frustration for those because it&#8217;s just in addition to, it&#8217;s nice to have, it&#8217;s not a must have, essentially. They&#8217;re really nice, already pre-made blocks with the inner blocks and content that you can change.</p>



<p>One of the ones that are, I think, lacking, I know we have the accordion block that came in recently. Mine is different, where I can have an accordion, but I can also have a tab. A tab that can turn into an accordion based on a specific break point. So it won&#8217;t go from accordion, to tab, to accordion, back to tab at several different break points, but it will have one point where you&#8217;ll tell it to break.</p>



<p>So you can have a tab that can turn into accordion, which is nice to have because, I mean, tabs are not very friendly, but you still want them. You still want them. They&#8217;re useful visually at larger desktops, but you don&#8217;t necessarily want to deal with tabs at a mobile, unless they&#8217;re very small text and very few. So you need something to shift that. And you want to keep consistency. With accordions that you already have, so it looks good altogether. So that&#8217;s what I created. I have an accordion, and a tab, but the tab can fall into an accordion as well. And when they do fall into an accordion, they all look consistent and the same.</p>



<p>[00:21:13] <strong>Nathan Wrigley:</strong> So currently if you, I&#8217;ll put the link in the show notes by the way. So if you go to wptavern.com and you search for the episode with Johanne in, then you&#8217;ll find all of the show notes. It&#8217;s probably easier than me reading out URLs and what have you.</p>



<p>Your kind of block suite falls into two main categories, as far as I&#8217;m concerned anyway. So you&#8217;ve got your purpose built 11 kind of custom blocks where you are doing something that Core didn&#8217;t do. Although we might discuss how Core might tackle some of those things in the near future.</p>



<p>But then also, the bit that I find really interesting is the whole section where you&#8217;ve got extension to Core blocks. So as an example, I&#8217;ll give you some examples of things which, dear listener, if you don&#8217;t use Gutenberg, you may be surprised to know that the block editor currently does not do these things.</p>



<p>So for example, you have the capacity to reverse the order of a stack, which is really nice. So you might want to just, I don&#8217;t know, put an image above something on a desktop. And then on mobile, you might just want to flip that, or you might just want to flip it because you are doing, I don&#8217;t know, copy and pasting rows, but you want the image left, image right, image left, image right, that kind of thing.</p>



<p>You&#8217;ve also added in break points for certain widths. So for example, a tablet break point might be in there. You&#8217;ve got a full height sticky for the group block, which is nice and interesting as well. Three breakpoints for WordPress headings and paragraphs. That&#8217;s nice. So you could, I don&#8217;t know, change the font size or something like that depending on what you&#8217;re looking at.</p>



<p>Column counts. So you&#8217;ve got the ability to have different breakpoints in the Core list block as well.</p>



<p>You&#8217;ve got a whole thing about performance optimisation for the video block, and then you&#8217;ve got a responsive setting for any break point that you may set. I probably butchered all of that, but you get the idea. You&#8217;ve got a ton of stuff that you&#8217;ve built on top of Core WordPress blocks.</p>



<p>Why do you, because I mean, all of that I guess is given away to everybody, but there&#8217;s got to be an expectation, I suppose, that some of this stuff will ship in Core. Does that bit worry you? Does it worry you that you put in all this hard work and then somebody maybe in the Core project thinks, oh, that&#8217;s a good idea, let&#8217;s add that to the roadmap and what have you.</p>



<p>[00:23:16] <strong>Johanne Courtright:</strong> I mean, it&#8217;s always a worry when you release something for WordPress because everything is GPL, but it&#8217;s just part of the ecosystem. I mean, I reverse engineered their blocks to learn what I know now.</p>



<p>[00:23:27] <strong>Nathan Wrigley:</strong> Yeah, that&#8217;s a good point. Yeah.</p>



<p>[00:23:28] <strong>Johanne Courtright:</strong> And if they think it&#8217;s great idea then, you know, as long as they give me credit, I guess it&#8217;s fine.</p>



<p>But I say, not everyone will need break points. I mean, this is really more like, I&#8217;d say agency type things that usually you want those things, those features. They&#8217;re nice to have, but break points are not necessarily, I have to have it kind of thing if you are just a normal user. It&#8217;s more, if you want fine tuning for, like if you&#8217;re a designer and you really want those fine tunings, then they&#8217;re there.</p>



<p>[00:24:03] <strong>Nathan Wrigley:</strong> Does it kind of surprise you though that we are now, oh goodness knows how many years we&#8217;re into the Gutenberg project, but it&#8217;s many, many years. It&#8217;s more than you can count on one hand. Does it surprise you that this stuff is still missing? That somebody like you needs to build this functionality and, well, needs is maybe the wrong word, but desires to build this functionality. Does it surprise you that this kind of thing wasn&#8217;t in it when it shipped, that a layout system with all the break points taken care of and all of that completely customisable, does it still shock you that that isn&#8217;t there?</p>



<p>[00:24:34] <strong>Johanne Courtright:</strong> I have not done a whole lot of research, but based on what I&#8217;ve read so far is there was no intention to support it. So that&#8217;s why I decided to do it because I was like, I&#8217;m not going to wait for them to do it because they&#8217;re not going to do it.</p>



<p>[00:24:50] <strong>Nathan Wrigley:</strong> Yeah. So it was never something that was intended that was missing. It was just, it was never, literally never intended. So somebody needed to ship it. It&#8217;s kind of like that WordPress 80 20 rule. That&#8217;s the other curious thing about WordPress usage. Somebody like you and somebody like me who is constantly in there and fiddling the entire time, you kind of have this expectation that a lot of this stuff, oh, everybody would need this because I need it.</p>



<p>But the reality is, I guess most people are just logging in, changing a piece of text, maybe uploading an image, writing a blog post, clicking publish, and they&#8217;re done. And they&#8217;re relying on their agencies who&#8217;ve got the CSS, JavaScript, all of that React expertise that can build all of the different bits and pieces for them. So maybe it&#8217;s just me obsessing about these things because I&#8217;m in there all the time and I can see how they&#8217;re missing.</p>



<p>[00:25:36] <strong>Johanne Courtright:</strong> I think the way I build themes these days is like extremely light. It&#8217;s like, there&#8217;s a theme.json, there&#8217;s very little CSS and very, very little JavaScript. Everything is moved towards plugins. It&#8217;s really meant for colours, font types, branding type things. I have very little things in my themes these days because I believe that somebody who has a website and tomorrow they want a different theme, even for Christmas, and they decide, oh, I want a Christmas theme, should be able to do it easily by just swapping the theme.</p>



<p>[00:26:13] <strong>Nathan Wrigley:</strong> Clicking a button and it should all work, yeah.</p>



<p>[00:26:14] <strong>Johanne Courtright:</strong> Click a button, and all of a sudden it&#8217;s the new font, it&#8217;s the new palette colour, and it just works with minimal effort to just change anything or tweak anything. That&#8217;s how I see it. You shouldn&#8217;t have things that are baked in your theme where if you change your theme, now all of a sudden it&#8217;s not available for that theme. Don&#8217;t lock your clients into essentially a theme with features, and then they&#8217;re stuck with your theme.</p>



<p>[00:26:45] <strong>Nathan Wrigley:</strong> Okay, so that&#8217;s an interesting way of kind of spinning my question around in a sense. That whole thing that we have with clients where we have scope creep, you offer something, they agree to it, and then there&#8217;s this whole thing after you&#8217;ve built what they wanted, where they say, oh, but can we have, and then can we have, and what about this? We&#8217;ve got this idea as well. But that&#8217;s not the intention. The project was what we said it was going to be.</p>



<p>And so in a sense, the WordPress project is a little bit like that. You know, it&#8217;s not trying to be every feature for every human being who ever thought a thing could be achieved. It&#8217;s more, here&#8217;s the foundational stuff, and if you really want those things, well, either build it yourself or go and find somebody who has built that for you.</p>



<p>That kind of makes a lot of sense, doesn&#8217;t it? You know, if you&#8217;ve got this foundational platform, and I know the 80 20 rule, like I said, applies within WordPress. If 80% of the people need it, then it comes onto the scope of Core, and if it doesn&#8217;t reach that then it really doesn&#8217;t belong in Core. That&#8217;s kind of interesting because that reframes the whole thing and makes what you are saying true.</p>



<p>Most of the things that you&#8217;ve got, that you&#8217;ve built on top of Core, and again, I&#8217;ll direct people to the URL on the WP Tavern website. They probably aren&#8217;t for 80% of the people, they probably are for the 20%, the people like you, the developers, the designers who are building websites. The inexperienced people, the 80%, maybe they don&#8217;t need this stuff. That&#8217;s an interesting reframing of it.</p>



<p>[00:28:07] <strong>Johanne Courtright:</strong> Yeah, most people will probably be satisfied with just the basic theme that comes with WordPress. It&#8217;s got enough patterns at this point to have a good starting foundation. We need to get away from overbuilding our blocks in such a way where they&#8217;re rigid, this is the only thing it can do.</p>



<p>So when I build my blocks, I build in such a way the HTML can be moved around with grid system CSS, where I can move things because I built it in such a way that it&#8217;s very flexible. So all you have to do after that is just you create like some styling to accommodate that other different behavior that you want.</p>



<p>[00:28:51] <strong>Nathan Wrigley:</strong> So we&#8217;ve spoken just then about the bits and pieces that, you&#8217;ve extended WordPress Core and we described all of those. But there&#8217;s obviously bits that you felt were entirely missing that you thought might be useful to have. As I said a moment ago, some of these maybe are things that, I don&#8217;t know, maybe you&#8217;ll drop in the near future, or perhaps you&#8217;ll tweak in different ways because you did say that your accordion block behaves differently. But I know that the accordion block is coming to Core and what have you.</p>



<p>But you&#8217;ve got things like an Accordion Block, you&#8217;ve got an Accordion Panel Block, a Tabs Block, Tabs Panel Block, Media Section Block, Media Content Split Block, that&#8217;s interesting. Card block, Card Reveal Block and many others. This is, I guess, is this you sort of dogfooding projects that you&#8217;ve had in the past where a client has wanted a particular thing and you&#8217;ve thought, oh yeah, I&#8217;ve now built that, let&#8217;s see if we can sort of make it more generic and add it into your suite of blocks?</p>



<p>[00:29:43] <strong>Johanne Courtright:</strong> Those are pretty much blocks that keeps happening and being reused over and over and over. And they kind of become your basic foundation, if that makes sense. And they usually solve 90%, 95% of what you need for a site is essentially what&#8217;s part of the Core, is how I solved it. Another one that I solved that is very similar to what WordPress does was the Core Navigation.</p>



<p>[00:30:09] <strong>Nathan Wrigley:</strong> Oh, you&#8217;ve got a whole other thing there, haven&#8217;t you? Yeah, that&#8217;s interesting.</p>



<p>[00:30:12] <strong>Johanne Courtright:</strong> Yeah, this one is completely free, so I mean, my navigation falls very similarly what WordPress does, where I have a custom post type, I have blocks in it, and essentially it will use those menus that I can reuse in different parts of navigations. And the major difference is that WordPress is only this big modal and then you have very little customisation. It can go left or right, I think center.</p>



<p>[00:30:43] <strong>Nathan Wrigley:</strong> That&#8217;s more or less it really, isn&#8217;t it?</p>



<p>[00:30:45] <strong>Johanne Courtright:</strong> Yes. And it is annoying because if you choose left or right, well, it also affects your desktop versus modal, I didn&#8217;t like that. But I did like the idea of having the blocks sitting into a custom post type. So mine in that way does that too. But I didn&#8217;t want to interfere with what WordPress had done, so I created my own custom post type for it. But I&#8217;m still following the same principle where I have my blocks sitting in that custom post types be shared so I can reuse them.</p>



<p>[00:31:18] <strong>Nathan Wrigley:</strong> So you can use Core navigation blocks containing the pages and the posts and things like that. How do you build them up?</p>



<p>[00:31:25] <strong>Johanne Courtright:</strong> Well, I essentially copied over the link and the sub menu and I brought over some of their features, because I did like how they were, but I changed the HTML in it and what it&#8217;s capable of doing. Had a couple different things. That allowed me the flexibility to create accordions, and all sorts of different things without having to worry about having, you know how some sites will have a mobile menu, but they&#8217;ll have the same menu for the desktop, but it&#8217;s like a clone, but you don&#8217;t see it. I didn&#8217;t want that. Everything had to be done from the same HTML structure, and all it had to do is just essentially fall back gracefully into that other mode. And what was important also for me was that it was all Interactivity API.</p>



<p>[00:32:20] <strong>Nathan Wrigley:</strong> Oh, interesting. Okay, you&#8217;ve been leveraging that.</p>



<p>[00:32:23] <strong>Johanne Courtright:</strong> Yeah. So they&#8217;re all leveraging that. I was inspired also by Gutenberg Times website to do the vertical menu.</p>



<p>[00:32:31] <strong>Nathan Wrigley:</strong> Yes. Yeah, they&#8217;ve got the, I don&#8217;t know which theme they&#8217;re using, but that I think was a default theme. Was it 2020?</p>



<p>[00:32:37] <strong>Johanne Courtright:</strong> I was like, this is different. I want one like that. So I did support it too.</p>



<p>[00:32:41] <strong>Nathan Wrigley:</strong> Yeah, I see that. So on your navigation block, one of the options is to have this kind of full height column, which you can invoke and the menu, I guess slides out, but it then collapses back into that full size column. Have you had much feedback on that? Because it, I always worry that that&#8217;s going to consume quite a bit of the real estate when it&#8217;s not being invoked. Whereas, you know, a little hamburger icon, which is sitting at the top of the screen is obviously not consuming anything once you&#8217;ve scrolled past the navigation menu. Does it stay there all the time? If you&#8217;re not using the menu at that moment, does it live there all the time or, how does it work?</p>



<p>[00:33:14] <strong>Johanne Courtright:</strong> The bar stays there all the time. It&#8217;s up to you to add links that are useful in terms of what you&#8217;re doing. But, yes, it does stay there. It takes a little bit of the space, but it&#8217;s fine. You can choose also at what break point it will be sitting at the top instead.</p>



<p>[00:33:34] <strong>Nathan Wrigley:</strong> Oh, I see. Got it. Right. There is an option to remove it. Yeah, yeah, yeah. Okay.</p>



<p>[00:33:38] <strong>Johanne Courtright:</strong> Yeah. So you&#8217;re not, let&#8217;s just say you wanted to stop doing that at laptop or something, or tablet, then you just choose the option and it will just break to the other one at the top instead.</p>



<p>[00:33:49] <strong>Nathan Wrigley:</strong> Okay. And you&#8217;ve built a suite of blocks, so six at the moment that work in concert together to build that. So you&#8217;ve got the Navigation Block, which I&#8217;m guessing is kind of the wrapper for that, I&#8217;m not sure. But then you&#8217;ve got the Branding Block, which I presume holds logos and things like that. The Menu Block, which is the responsive bit where you can display stack menu items and things like that. Sub Menus, which I guess allows you to create those accordions where there&#8217;s a parent item, but things hidden underneath. A Link Block where you can just add a single thing, which I guess isn&#8217;t inside any other navigation anywhere. And then a spacer block, just something to create a bit of breathing room to separate one thing from another. And those six things, you just build in your custom post type, and once you&#8217;ve built them there, you can then invoke it and construct it entirely in the block editor.</p>



<p>You see this kind of stuff is really cool and really clever. Just the idea that you can build that in a, in this GUI, the block editor. Build it, style it, do all of the bits and pieces that you need to make it look nice inside the settings panel. It&#8217;s so great. The promise of Gutenberg delivered, really. This is the kind of stuff that it was always supposed to do, but people only seem to be getting to it now.</p>



<p>[00:34:57] <strong>Johanne Courtright:</strong> You know, you did ask me a few times if there was a feature I wish was in WordPress, and I do have one right now. Theme.json, you can specify specific colours for your buttons and your texts, your background, but I wish there was a way for us to set up other variables or some other things to specify more colours. So for example, my navigation, I have a lot more colours than two. I wish there was a way for me to set those up instead of using CSS and then the variable name and then manually injecting those.</p>



<p>[00:35:34] <strong>Nathan Wrigley:</strong> Right. Overriding things. Yeah.</p>



<p>[00:35:36] <strong>Johanne Courtright:</strong> Allow me to have custom keys or something where I can just say, oh, put your colours here, and then it will just generate whatever it needs to do. So if there was a way for me to have a block and specify, say, this is going to be the selector, this is the selector and this is the key. And then in the theme.json, all the person has to do is set up the key and the colour and it just applies it. That would be a nice feature.</p>



<p>[00:36:04] <strong>Nathan Wrigley:</strong> Yeah, it&#8217;s curious, you know, if for example, I was to go to, I don&#8217;t know, Squarespace or something like that and build my website with their technology, I guess there&#8217;s an expectation that what you get is what you get. This is it. You know, you pay your $20 a month or whatever it may be, I have no idea, and the features that you have are what you have. Maybe you can put in a support request somewhere and ask for another feature, but basically it&#8217;s very unlikely, I imagine, to happen.</p>



<p>Whereas just about everybody on the developer side of things, fiddling with WordPress, is constantly coming up with new ideas and different ways it can be adapted. And so there&#8217;s always this sense of, oh, I could build this thing into it, or I could do, and so it kind of breeds, not dissatisfaction, that&#8217;s the wrong word, but a curiosity for what it could do.</p>



<p>So you&#8217;ve just given a perfect example there. You&#8217;ve got this use case, which I don&#8217;t think I would probably make much use of. I think I&#8217;m probably happy with the two colours, but clearly in your scenarios that&#8217;s a way that you would like to adapt it.</p>



<p>And that&#8217;s why the platform is so cool. Maybe at some point somebody will listen to that request and will implement that for you in Core. If not, you maybe have to suffer the CSS load that you&#8217;ve got in the meantime. But that is really what separates it. You know, we&#8217;ve got this idea that, if you contribute, and you put your ideas in and you show up and you, you know, you offer your time, then that kind of stuff can be changed.</p>



<p>[00:37:28] <strong>Johanne Courtright:</strong> I have to say, I know that it creates a lot of friction at the moment and how they&#8217;re guarding and guiding very specifically. And they&#8217;re clear in their vision and they want to follow that vision, and it creates some frustration for some people who want things done differently. But I appreciate that they&#8217;re doing that because it was a long term project. The frustration probably comes from, I wish it was there, what it is today, many years ago, when it came out. But I do appreciate that there&#8217;s somebody with a vision who stick to their vision because I think it&#8217;s the right way.</p>



<p>[00:38:10] <strong>Nathan Wrigley:</strong> Yeah, and interestingly, everybody else&#8217;s vision can also be lived. So, you know, there&#8217;s a variety of different page builders, and I know that&#8217;s not your thing, but it is the thing of many millions of people. They love that, and that&#8217;s their preferred way of doing it. You can&#8217;t do that on these other proprietary platforms. There isn&#8217;t a different entire UX and UI that you can inject into it, but we have that, you know? And if you want to use a page builder, or you want to use whatever it is that you want to use, that&#8217;s the way it is.</p>



<p>I suppose the only thing we&#8217;ve got to be mindful of is the flame was that sometimes occur. You know, people saying, well, my tool is the best tool. Anybody else that&#8217;s using anything else is missing out or what have you, or maybe stronger language than that. And just recognise that, well, the reason that you can do that is because there&#8217;s this foundational stuff, the WordPress Core.</p>



<p>[00:39:00] <strong>Johanne Courtright:</strong> They&#8217;re allowing it.</p>



<p>[00:39:01] <strong>Nathan Wrigley:</strong> Yeah, and it&#8217;s allowing you to have that, and you don&#8217;t have to use Gutenberg. But it does feel, it really does feel as if in the latter part of 2025, it does feel as if there&#8217;s a little bit more excitement around the Block Editor and the different bits and pieces. I don&#8217;t know if you&#8217;ve picked up on that, but there seems to be more stories. There seems to be more people shipping products that latch onto the block editor. Yours obviously is an example of that.</p>



<p>[00:39:24] <strong>Johanne Courtright:</strong> The biggest hurdle is to learn it&#8217;s a different mindset, different language, it&#8217;s different in so many ways. There&#8217;s just too much to learn to jump from old way to new way. And it&#8217;s very overwhelming for a lot of people. It&#8217;s very, very overwhelming.</p>



<p>[00:39:45] <strong>Nathan Wrigley:</strong> Genuinely don&#8217;t know how we bridge that gap, to be honest, because I think you&#8217;re right. If you&#8217;ve been familiar with using WordPress in its classic form, then it is, it&#8217;s seismic. But more or less, every developer that I know has at least some curiosity in Gutenberg and things like that, so probably.</p>



<p>[00:40:00] <strong>Johanne Courtright:</strong> Once people fully decide to embrace it and take the time to reverse engineer and understand it, they&#8217;re like, oh, wow. All the cool stuff I can do. Yes. You know? And they change their mind completely. It&#8217;s a bit challenging because I mean, even like, let&#8217;s just say Tailwind, which is the CSS framework. I mean, it&#8217;s great. Tailwind is amazing, but when you start trying to use it with WordPress, that&#8217;s another one that fights WordPress. I stopped using it. I&#8217;m just going with SCSS and I build my own stuff. Now I have very little CSS into my blocks and it&#8217;s just, there&#8217;s no real point to have CSS framework in WordPress. You don&#8217;t need that.</p>



<p>[00:40:44] <strong>Nathan Wrigley:</strong> I&#8217;m going to pivot the subject a little bit, and it&#8217;s because of a tweet that I saw yesterday, I believe it was. A friend of mine tweeted that he&#8217;s yet to see a block solution. So I don&#8217;t think that those were the words that he used, but he&#8217;s yet to see an out and out successful business built on top of blocks. So the example might be that, for example, on WordPress Core, you&#8217;ve got all of these really successful products. So you&#8217;ve got things like Gravity Forms and things like that, that have made real, they&#8217;ve got a real stable business going on. And he was questioning, have we seen that with blocks yet?</p>



<p>So you are trying to make that happen. You are trying to sell a commercial product. I know that there&#8217;s, free versions and things like that, but you&#8217;re trying to sell a commercial product. How is that? What is the landscape for that at the moment? Because I&#8217;m guessing it&#8217;s not like you are printing money at the moment. I don&#8217;t know how difficult that is and whether or not it&#8217;s been the fountain of cash that maybe you&#8217;d hoped it would be.</p>



<p>[00:41:44] <strong>Johanne Courtright:</strong> I don&#8217;t expect it to be a fountain of cash. I love what I do. I do it for myself first, and if other people happen to enjoy it, then But if they don&#8217;t, that&#8217;s fine, I&#8217;m using it.</p>



<p>[00:41:59] <strong>Nathan Wrigley:</strong> That&#8217;s very sanguine approach. I think his thought when he made that tweet is that maybe we&#8217;re on the cusp of something. Because it feels like there&#8217;s a certain speed that the flywheel needs to achieve before people become really interested in it. I&#8217;m not sure that that has yet happened. But give it some more time, give it some more interesting products, some more attention, some more marketing and what have you. And definitely a lot of the stuff shipping in 6.9, which is actually coming out today. And then 7 next year, and all of the AI bits and pieces that are going to be put in as well. You never know. Maybe with a fair wind, we&#8217;ll be printing money for you.</p>



<p>[00:42:38] <strong>Johanne Courtright:</strong> I do have a message for Matt if he listens. He needs to work on his plugin and themes website. It&#8217;s not usable at the moment. It doesn&#8217;t leave room for new development, new plugins to be seen. It needs to be feeling more like a community.</p>



<p>I come from a background where I did a lot of desktop customisation. We had featured skins and themes and wallpapers and there was, people were excited. There was somebody reviewing. Think about it about how Apple does their Apple store, where they had like featured apps. Somebody went and tested a few of those plugins and featured them. They pick them. We need more, something like that.</p>



<p>We also need to have a better search. Search is awful. It&#8217;s all stuffed keywords. And if you&#8217;ve been around for a while, if you&#8217;re new, there&#8217;s no way for you to rank for anything. There needs to be true categories and easier ways to find what you&#8217;re looking for.</p>



<p>[00:43:37] <strong>Nathan Wrigley:</strong> Do you know, that&#8217;s a whole interesting other conversation, isn&#8217;t it? Maybe we&#8217;ll have that one time. But I get what you mean. When the iPhone came out, don&#8217;t know if you sort of remember or go back that far, but when the iPhone came out, it was this curious but beautiful object that had a lovely screen and could play songs and things. But the moment the app store came along for the iPhone, that&#8217;s I think when it became really interesting.</p>



<p>And it does feel with the advent of blocks, like there&#8217;s an opportunity similar to that in that WordPress is no longer just these plugins and themes. We&#8217;ve got this whole other thing now, these blocks, these mini applications if you like, which really in many ways have full capabilities like plugins would do. And being able to surface those and find a block or a.</p>



<p>[00:44:26] <strong>Johanne Courtright:</strong> You should be able to set, are you supporting Gutenberg? Is it using jQuery? Is it using those basic little things like check, check, check? And if some people are looking for those things, they should be able to find you.</p>



<p>Right now it&#8217;s useless. It&#8217;s very useless, even for me looking for a plugin. Most of the plugins I found these days are because I use Google or AI, or there&#8217;s other means, but it&#8217;s very hard to find. I don&#8217;t even rank in the first 40 some pages for my navigation, so it&#8217;s ridiculous. Look for navigation, you won&#8217;t find me.</p>



<p>[00:45:04] <strong>Nathan Wrigley:</strong> Okay, so maybe that&#8217;s work to be done in 2026. But hopefully somebody has heard your plea there and you never know. If they have and they want to reach out to you, well, obviously we know that you&#8217;ve got the Groundworx with an X, .dev website. Is there another place where you hang out online that people could find you if they wanted to have a chat?</p>



<p>[00:45:23] <strong>Johanne Courtright:</strong> I&#8217;ve been hanging out a lot on X these days. I get a lot more response there. It seems to be WordPress community hangs out there a lot, so I think that&#8217;s going to be my platform of choice for a while.</p>



<p>[00:45:36] <strong>Nathan Wrigley:</strong> Okay. In which case, into the show notes, along with the links to all of the bits and pieces that we mentioned, I will bury the link to Johanne&#8217;s X profile as well, so you can go and connect there.</p>



<p>Thank you so much for chatting to me today. It&#8217;s really interesting getting your insight into all of the bits and pieces that you&#8217;ve done extending Gutenberg, but also all of the bits and pieces that you&#8217;ve done with new stuff as well. Go check it out. It&#8217;s Groundworx.dev. Johanne, thank you so much for chatting to me today.</p>



<p>[00:46:01] <strong>Johanne Courtright:</strong> Thank you for inviting me. Thank you so much. It was great.</p>
</div></details>



<p>On the podcast today we have <a href="https://x.com/groundworxdev">Johanne Courtright</a>.</p>



<p>Johanne started working with WordPress back in 2011, moving over from a background in marketing agencies, Dreamweaver, and static HTML sites. Over the years, she’s become a skilled developer, focusing on extending WordPress through custom queries, forms, integrations with APIs, and increasingly, harnessing the power of the block editor and React.</p>



<p>Johanne talks about her journey from the classic world of agency WordPress development to embracing Gutenberg, and the challenges and wins along the way. She shares her experience in building custom blocks and enhancing existing ones to better serve agencies, things like improved breakpoints, color palettes, responsive designs, and navigation, all of which aren’t offered in Core yet. These features come together in her growing open-source project, Groundworx.</p>



<p>We talk about the shifting landscape from classic themes to block-based themes, and why, even in 2025, a lot of agencies and users are still hesitant to make the leap fully. Johanne explains where the block editor falls short for her use, and how Groundworx aims to plug these perceived gaps with a foundation of flexible, performant, agency-focused blocks and templates.</p>



<p>You’ll hear about her approach to building modular themes with theme.json, the realities of client work and scope creep, and how the 80/20 rule shapes what belongs in Core and what’s best handled by plugins.</p>



<p>We also get into the challenge of discovery in the WordPress plugin ecosystem, her wishlist for Block Editor improvements, and her take on the future of block-based businesses in WordPress.</p>



<p>Whether you’re a developer eager to modernise your workflow, or just curious about extending Gutenberg for real-world use, this episode is for you.</p>



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



<p><a href="https://groundworx.dev/products/groundworx-core/">Groundworx Core</a></p>



<p><a href="https://groundworx.dev/products/groundworx-navigation/">Groundworx Navigation</a></p>



<p><a href="https://gutenbergtimes.com">Gutenberg Times</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, 10 Dec 2025 15: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:15:"Matt: Dries OSS";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=150795";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:32:"https://ma.tt/2025/12/dries-oss/";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:734:"<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>A more accurate framing would be that Fizzy is <a href="https://en.wikipedia.org/wiki/Source-available_software">source available</a>. You can read it, run it, and modify it. But DHH&#8217;s company is keeping the SaaS rights because they want to be able to build a sustainable business. That is defensible and generous, but it is <em>not</em> open source.</p>
</blockquote>



<p>Dries Buytaert follows up <a href="https://ma.tt/2025/12/dhh-open-source/">on my response to DHH</a> with <a href="https://dri.es/source-available-is-not-open-source-and-that-is-okay">&#8216;Source available&#8217; is not open source (and that&#8217;s okay)</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, 10 Dec 2025 03:13: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: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: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:81:"Open Channels FM: Growth, Hackathons, and Gratitude Lessons from an Eventful 2025";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:33:"https://openchannels.fm/?p=113334";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/growth-hackathons-and-gratitude-lessons-from-an-eventful-2025/";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:219:"Zach Stepek and Carl Alexander recap their 2025 experiences, highlighting personal growth, industry events, business developments, and health journeys. They emphasize gratitude and reflect on goals for a promising 2026.";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, 09 Dec 2025 14:36: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: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: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:31:"Matt: DHH &amp;amp; Open Source";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=150789";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:38:"https://ma.tt/2025/12/dhh-open-source/";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:4992:"<p>I might have a new prayer: God, give me confidence of DHH <a href="https://x.com/dhh/status/1996627792008827342">claiming his proprietary license is Open Source</a>.</p>



<figure class="wp-block-image size-large"><img alt="" class="wp-image-150790" height="179" src="https://i0.wp.com/ma.tt/files/2025/12/dhh-tweet-1024x303.png?resize=604%2C179&#038;quality=80&#038;ssl=1" width="604" /></figure>



<p>37signals/Basecamp has a great new product called <a href="https://www.fizzy.do/">Fizzy</a>, whose brilliance and innovative qualities are being distracted from by its co-creator David Heinmeier Hansson’s insistence on calling it open source. &#8220;One more thing&#8230;  Fizzy is open source and 100% free to run yourself.&#8221;</p>



<p>Thanks to Freedom of Speech, DHH is free to describe his proprietary software as Open Source, a form of <a href="https://ma.tt/2025/10/greenwashing/">greenwashing</a>, and even though he wants to “Well akshually” <a href="https://x.com/codejake/status/1996629945150591448">denigrate those saying why this is BS</a>, we as free citizens are free to explain why, despite how fast he talks and confident he sounds, he’s not always right.</p>



<p>Myself and other “Actually Open Source” leaders (including DHH) who release software under licenses that meet <a href="https://opensource.org/osd">a common definition of Open Source</a> benefit from decades of prior art and an incredible foundation that lays out the philosophy and definition of what defines open source.</p>



<p>For the layperson, though, it might be helpful to break things down in an analogy of authoritarian vs democratic regimes, or a core question of who holds the power.</p>



<p>Proprietary licenses may grant things that feel like freedoms; for example, Fizzy’s O’Saasy license lets you download the source code, run it yourself, modify it, and <a href="https://github.com/basecamp/fizzy">use a public bug tracker, and you can see the software&#8217;s source control history</a>. That’s cool! Also, in the past several years, there have been Middle Eastern countries that have just now allowed women to drive cars. That’s great! However, as a free person choosing to use this software, or choosing to live in a country, you have to ask yourself: Am I still free?</p>



<p>No, you’re not. You are allowed to do some things that are in and of themselves good, but ultimately, it’s not built on a foundation of <a href="https://ma.tt/2014/01/four-freedoms/">an inalienable right </a>or constitution; it’s at the whim of the leader. <a href="https://www.fizzy.do/license">O’Saasy license has this restriction</a>:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>No licensee or downstream recipient may use the Software (including any modified or derivative versions) to directly compete with the original Licensor by offering it to third parties as a hosted, managed, or Software-as-a-Service (SaaS) product or cloud service where the primary value of the service is the functionality of the Software itself.</p>
</blockquote>



<p>Oh wow, I can’t compete with the leader. In how they choose to operate their business today, or however they might choose to in the future. My freedoms are at their whim. This violates rule 5 of the OSI definition of Open Source: “The license must not discriminate against any person or group of persons.”</p>



<p>I’d like to choose software and live in a society that doesn’t discriminate.</p>



<p>It’s not uncommon for people trying to take away your freedom to want to use the same words as those in truly free societies. North Korea calls itself the Democratic People&#8217;s Republic of Korea. Why? <a href="https://www.google.com/search?q=why+does+north+korea+call+itself+democratic">Per Google&#8217;s AI</a>:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><strong>Socialist Definition of Democracy</strong> During the Cold War, the Soviet Union and its allies used &#8220;democracy&#8221; to mean &#8220;people&#8217;s power&#8221; through a single ruling party, representing the working class, as opposed to the multi-party &#8220;bourgeois&#8221; democracy of the West. North Korea adopted this lexicon, as did other communist states like the German Democratic Republic (East Germany).</p>
</blockquote>



<p>Yeah, really democratic. In that sense, you can say O&#8217;Saasy is an “open” “source” license. Perhaps a bubble of people will agree with you. But the rest of the world will use common sense and see that as a <strong>fraud</strong>. And most disappointingly for <a href="https://37signals.com/">37signals</a>, a company that prides itself on high integrity, it&#8217;s <strong>false advertising</strong>.</p>



<p>(For what it&#8217;s worth, <a href="https://x.com/photomatt/status/1996353545717924209">I tried to resolve this quietly with Jason Fried a few days ago</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:"Tue, 09 Dec 2025 05:30: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: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: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:27:"Matt: Happy Birthday Kinsey";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=150776";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:32:"https://ma.tt/2025/12/kinsey-70/";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:3384:"<p>Yesterday I had the great honor and privilege of attending a colleague’s 70<sup>th</sup> birthday party. You may not have heard his name before, but <a href="https://kinsey.nyc/">Kinsey Wilson</a> has been at the center of shaping journalism with a movie-worthy career that started at the bottom as a crime reporter in Chicago, and has taken him to the highest echelons at NPR, the New York Times, and, most recently, we’ve been lucky to have him at Automattic.</p>



<p>Kinsey brings a journalistic curiosity and passion for finding truth, paired with a deep optimism and creativity for seeing around the corner for how technology can transform how we consume and produce media.</p>



<p>While <a href="https://en.wikipedia.org/wiki/Kinsey_Wilson">his Wikipedia page</a> or <a href="https://kinsey.nyc/about/">biography</a> provides appetizers to some of what he&#8217;s done, Kinsey has led such a rich and beautiful life that any attempt to summarize it ends up being criminally reductive. The best you can hope for is to give a taste of his person through vignettes.</p>



<p>A beautiful snippet from the montage of accolades at his birthday was how Kinsey was someone you’d follow into battle. I’ve learned so much from seeing the empathy, candor, and integrity he brings to every team he leads, which engenders an incredible loyalty I&#8217;ve rarely seen in my career. When he left NPR, 62 colleagues made <a href="https://web.archive.org/web/20141107124059/http://www.infinitekinsey.com/playlist/">an “Infinite Kinsey” website of accolades</a>. </p>



<p>That sort of thing is rare, and it’s been an honor and a privilege to work alongside him to democratize publishing.</p>



<p>One of those colleagues, <a href="https://elisehu.com/">Elise Hu</a>, introduced us while he was at the New York Times and while my intention when I first met him was to get more WordPress at the Times, my imagination was sparked by thinking of how he could bring his experience to help shape WordPress and Automattic, hence my pivot into recruiting him.</p>



<p>Kinsey&#8217;s impact on journalism (and podcasting!) at NPR and New York Times is easy to understand, but less well-known is how he came into Automattic and got deep into understanding WordPress and seeing it as a platform that could enable the newsrooms and journalists to accomplish their mission in a more efficient way with the project he leads, <a href="https://newspack.com/">Newspack</a>. </p>



<p>He’s a fierce steward of the <a href="https://en.wikipedia.org/wiki/Fourth_Estate">Fourth Estate</a>. </p>



<p>Newspack and its team’s close relationship to customers invents solutions on top of WordPress that delight its users and percolate and influence everything we do at <a href="https://automattic.com/">Automattic</a>. They&#8217;re one of the teams that sets the bar for others in the company.</p>



<p>To Kinsey, I’ll leave you with a quote from one of my other inspirations, Charlie Munger, who at the <a href="https://www.wsj.com/finance/investing/charlie-munger-life-final-years-berkshire-7c20c18e">tender age of 99 shared a wish with a visitor</a>, <em>“Oh, to be 86 again.”</em></p>



<p>I’ll try not to be too tech-bro optimist and say that 70 is the new 40, but I look forward to seeing the ripples that you have on the future of publishing for many years to come. </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, 07 Dec 2025 21:37:45 +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: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:18:"Matt: Self-driving";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=150768";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:35:"https://ma.tt/2025/12/self-driving/";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:1455:"<p>There has been some lovely writing about self-driving this week, first in the New York Times where <a href="https://www.nytimes.com/2025/12/02/opinion/self-driving-cars.html">Jonathan Slotkin makes the medical case for autonomous vehicles</a>. But I was really taken by <a href="https://www.economist.com/finance-and-economics/2025/11/27/self-driving-cars-will-transform-urban-economies">The Economist&#8217;s look at how self-driving cars will transform urban economies</a>. It&#8217;s behind a paywall. I enjoyed how they thought about the second-order effects of self-driving.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>America is home to 1m taxi and bus drivers, as well as over 3m truck drivers—adding up to 3% of the working population. Other potential losers are less obvious. Without car accidents there will, for instance, be less demand for personal-injury lawyers. If people stop buying cars, dealers and used-car salesmen will go. </p>
</blockquote>



<p><span style="margin: 0px; padding: 0px;">It&#8217;s fascinating to think a few chess moves down the line, for example, fewer personal-injury lawyers funding politicians might lead to some form of <a href="https://en.wikipedia.org/wiki/Tort_reform" target="_blank">Tort Reform</a>, an area of society that, like gun control, has centrist changes most Americans would agree with, but has been captured by special intere</span>sts.</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, 06 Dec 2025 23:54:14 +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:15:"Matt: AI Native";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=150762";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:32:"https://ma.tt/2025/12/ai-native/";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:126:"<p>James LePage has a great write-up, <a href="https://j.cv/sotw-2025/">SOTW 2025:The Year WordPress Became AI-Native</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:"Sat, 06 Dec 2025 05:47: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: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: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:111:"Gutenberg Times: State of the Word,  WordPress 6.9 “Gene”, Playground Year-Review —  Weekend Edition #352";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=43310";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:107:"https://gutenbergtimes.com/state-of-the-word-wordpress-6-9-gene-playground-year-review-weekend-edition-352/";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:28795:"<p>Hi there, </p>



<p>How did the upgrade to WordPress 6.9 go for you and those around you? Did anything break? Or are you waiting for 6.9.1 to come out? </p>



<p>Once in a while I get a question on how I keep up with the fast progress and the vast range of updates in Gutenberg and WordPress Core. Here is one source of information I am grateful for: Contributors working on the Gutenberg project started posting their so-called <a href="https://github.com/WordPress/gutenberg/issues?q=is%3Aissue%20state%3Aopen%20label%3A%22%5BType%5D%20Iteration%22">&#8220;Iteration for WordPress 7.0&#8221;</a> issues on GitHub. I bookmarked this list and once in a while I will check up on the progress, especially when I get lost in the weeds of single PRs and need to align again on big picture goals. It&#8217;s not a comprehensive list, though. </p>



<p>From the conversations at State of the Word 2025, I learned that the community is embracing the educational initiatives of Campus Connect and WordPress Credits. Seeing more generations stream into the ecosystem warms this perpetual community organizer&#8217;s heart.  Equally exciting is the foundational work the AI Team has accomplished to ready the ecosystem for the era of Artificialle Interlligence (AI) when LLMs and helper agents elevate research, publishing and amplification for people. </p>



<p>What did stand out for you after watching the State of the Word video? Email me or leave a comment. </p>



<p>Below is another walk-through of the buzz around block editor, plugins and Playground. Enjoy, and have a wonderful weekend. </p>



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







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



<p><a href="https://wordpress.org/news/2025/12/gene/"><strong>WordPress 6.9 &#8220;Gene&#8221;</strong></a> was released during State of the Word 2025, with most of the release leads present at the in-person event. You can <a href="https://youtu.be/U_DF4-23C8Q?si=3Y2KdtWyKasFJD7p&amp;t=2495">revisit the moment on YouTube</a>  41:35  minutes into the recording, with the demonstration of the major features by Matias Ventura. </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">
<figure class="wp-block-image size-large"><img alt="" class="wp-image-43463" height="341" src="https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/12/Release-Edition-Featured-Image-6.9-scaled-1.webp?resize=652%2C341&#038;ssl=1" width="652" /></figure>
</div></div>



<p><strong>Nicholas Garofalo</strong> wrote <a href="https://wordpress.org/news/2025/12/sotw-2025/"><strong>State of the Word 2025: Innovation Shaped by Community</strong></a>. Matt Mullenweg and Mary Hubbard, our Executive Director, delivered WordPress&#8217;s yearly update, which included an exciting live launch of WordPress 6.9. The keynote dug into how we&#8217;re mixing in AI with features like the Abilities API and MCP adapter, highlighted the awesome growth of our global community across 81 WordCamps, and showed off cool tools like Telex that help you create AI-powered blocks. Some major highlights were new collaboration features, upgraded developer APIs, and more ways to connect learners around the globe to opportunities on the open web.</p>



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



<p><strong>Rae Morey,</strong> The Repository, reports on the annual keynote in detail in her post <a href="https://www.therepository.email/state-of-the-word-2025-ai-education-and-a-community-holding-steady-through-a-rollercoaster-year"><strong>State of the Word 2025: AI, Education, and a Community Holding Steady Through a “Rollercoaster” Year</strong></a>. </p>



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



<p>You can watch the entire <strong><a href="https://youtu.be/U_DF4-23C8Q?si=3Y2KdtWyKasFJD7p&amp;t=2495">State of the Word</a></strong> event on YouTube. </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><strong>James Le Page</strong> elaborated in <a href="https://j.cv/sotw-2025/"><strong>SOTW 2025:The Year WordPress Became AI-Native</strong></a> how WordPress delivered four foundational AI components in version 6.9, six months after forming its first dedicated AI team. The Abilities API creates unified registries for AI agents, while the WP AI Client provides provider-agnostic LLM interfaces. The MCP Adapter exposes capabilities externally, and the AI Experiments Plugin demonstrates practical implementations. Looking ahead, version 7.0 will introduce client-side abilities and a Workflows API for chaining actions, positioning WordPress to remain central as AI reshapes content consumption and creation across the open web.</p>



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



<p><img alt="🔥" class="wp-smiley" src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f525.png" style="height: 1em;" /> Save the Date! <strong>January 13, 7pm UTC</strong> Join  James LePage and Jamie Marsland for a hallway hangout on all things WordPress AI. If you are interested, <a href="https://x.com/pootlepress/status/1996927536865906896">comment on the tweet</a> or ping Jamie Marsland. </p>



<figure class="wp-block-image size-full"><a href="https://x.com/pootlepress/status/1996927536865906896"><img alt="" class="wp-image-43458" height="365" src="https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/12/Jamie-James-WordPress-AI.jpeg?resize=652%2C365&#038;ssl=1" width="652" /></a></figure>



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



<p>In <strong><a href="https://www.youtube.com/watch?v=ysRLeRGOZko&amp;t=1s">WordPress 6.9 Is Out! The Main Features You Need to Know</a></strong>, Karol Kroll gives you a walk-through of the new version on his YouTube channel. </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><strong>Maddy Osma</strong>n reported on <a href="https://wordpress.com/blog/2025/12/02/wordpress-6-9-for-site-owners/"><strong>What’s New for Bloggers, Creators, and Site Owners</strong></a> in WordPress 6.9. and highlights collaboration tools like block-level notes and hide-show toggles, new creative blocks including Accordion and Term Query for enriched storytelling, plus performance improvements loading styles on demand. </p>



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



<p>In his post <a href="https://make.wordpress.org/core/2025/12/01/ability-to-hide-blocks/"><strong>Ability to Hide Blocks in WordPress 6.9</strong></a>, <strong>Aki Hamano</strong>, sponsored triage co-release lead, shared more detail about this new WordPress features and how to disable it. </p>



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



<p><strong>Rhys Wynne</strong> discussed the release of <a href="https://dwinrhys.com/2025/12/03/wordpress-6-9-released-what-new-features-are-there/"><strong>WordPress 6.9</strong></a>, noting it contains more visible features compared to version 6.8. He highlights three key improvements: the Notes,; the Accordion block, and the Command Palette. </p>



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



<p>On the Hostinger Blog, <strong>Bud Kraus</strong> explained the <strong><a href="https://www.hostinger.com/blog/wordpress-6-9">many features of WordPress 6.9</a></strong>, highlighting Notes, Accordion and Terms Query blocks and the Command Palette. Kraus emphasizes developer enhancements like the Abilities API, improved Block Bindings, and removal of legacy Internet Explorer code. He notes this release marks the official start of Phase Three collaboration features while balancing practical user improvements.</p>



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



<p><strong>Carlo Daniele</strong> reported on the latest WordPress release for Kinsta. In <a href="https://kinsta.com/blog/wordpress-6-9/"><strong>New features, new blocks, new APIs: here is what’s new in WordPress 6.9</strong></a>, he discusses key features like the Command Palette, Notes, and new blocks. He also covers updates for developers, including the streaming block parser, custom Social Link icons, the Abilities API, Block Bindings, and improvements to the Interactivity API and DataViews.</p>



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



<p>Earlier this week, I worked on the release of Gutenberg 22.2. You can read my release post on the Make Blog: <a href="https://make.wordpress.org/core/2025/12/03/whats-new-in-gutenberg-22-2-dec3/"><strong>What’s new in Gutenberg 22.2 (03 December)?</strong></a>. The highlights are: </p>



<ul class="wp-block-list">
<li><a href="https://make.wordpress.org/core/2025/12/03/whats-new-in-gutenberg-22-2-dec3/#cover-block-video-embeds">Cover block video embeds</a></li>



<li><a href="https://make.wordpress.org/core/2025/12/03/whats-new-in-gutenberg-22-2-dec3/#breadcrumbs-block-enhancements">Breadcrumbs block enhancements</a></li>



<li><a href="https://make.wordpress.org/core/2025/12/03/whats-new-in-gutenberg-22-2-dec3/#styling-options-for-the-math-block">Styling options for the Math block.</a></li>



<li><a href="https://make.wordpress.org/core/2025/12/03/whats-new-in-gutenberg-22-2-dec3/#other-notable-highlights">Other Notable Highlights</a>, like Button block pseudo-state styling and DataViews upgrades.</li>
</ul>



<figure class="wp-block-image size-large"><a href="https://make.wordpress.org/core/2025/12/03/whats-new-in-gutenberg-22-2-dec3/"><img alt="Use video from YouTube for your cover background. " class="wp-image-43446" height="416" src="https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/12/gb-22-2-embed-1.png?resize=652%2C416&#038;ssl=1" width="652" /></a></figure>





<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/17.0.2/72x72/1f399.png" style="height: 1em;" /> The latest episode is <a href="https://gutenbergtimes.com/podcast/gutenberg-changelog-125-wordpress-6-9-gutenberg-22-1-and-gutenberg-22-2/">Gutenberg Changelog #125 – WordPress 6.9, Gutenberg 22.1 and Gutenberg 22.2</a> with <strong>JC Palmes</strong>, WebDev Studios</p>



<figure class="wp-block-image size-full is-style-no-vertical-margin"><img alt="Gutenberg Changelog 125 with JC Palmes and host Birgit Pauli-Haack" class="wp-image-43283" height="186" src="https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/11/Screenshot-2025-11-28-at-18.19.29.png?resize=652%2C186&#038;ssl=1" width="652" /></figure>


<div class="wp-block-newsletterglue-showhide ng-block" width="100%">
<figure class="wp-block-embed is-type-rich is-provider-pocket-casts wp-block-embed-pocket-casts"><div class="wp-block-embed__wrapper">

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



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



<p><strong>Bernhard Kau</strong>, a PHP developer from Berlin and community organizer, started an <a href="https://kau-boys.com/category/advent-calendar">Advent Calendar</a> to showcase recommended plugins. The Dec. 3 edition featured <a href="https://kau-boys.com/4252/advent-calendar/block-editor-reverse-columns-on-mobile-a-small-block-options-plugin"><strong>Block Editor: Reverse Columns on Mobile – a small block options plugin</strong></a>. He likes it for its ability to solve mobile layout issues with just 250 lines of code, managing columns, group blocks, and media-text arrangements. Instead of needing to add custom CSS classes manually, the plugin uses simple checkboxes to order image and text correctly on mobile and supports RTL languages and various flex layouts. While some believe fewer plugins are better, Kau prefers targeted solutions that do exactly what he would code himself, making features easy for content editors on no-code sites without overcomplicating the functionality. If you need a guide through the forest of plugins in the WordPress ecosystem you should follow Bernhard Kau&#8217;s blog. </p>



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



<p><strong>Jake Spurlock</strong> <a href="https://jakespurlock.com/2025/12/placeholders-ad-wireframing/"><strong>released Placeholders, a WordPress plugin</strong></a> that simplifies wireframing ad layouts by offering fourteen Gutenberg blocks for common IAB advertising sizes. Each block shows clean wireframe-style placeholders with accurate dimensions, customizable colors, and alignment options, all without needing an actual ad setup. This free plugin empowers designers and developers to create mock placements for design phases, client presentations, and layout testing. Future updates may add custom sizes, layout templates, and ad management features. The <a href="https://wordpress.org/plugins/placeholders/">plugin is available</a> on the WordPress repository.</p>



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



<p><strong>Joop Laan</strong> has created a new plugin called <strong><a href="https://wordpress.org/plugins/inline-context/?preview=1">Inline Context</a></strong>. It adds expandable tooltip popovers to your content for easy definitions, references, and clarifications without interrupting reading. You can highlight text, provide rich-text explanations, and categorize notes with custom icons and colors. This plugin is great for editorial sites, documentation, and research platforms. It&#8217;s fully keyboard-accessible and ready for translation. Laan also offers a <a href="https://wordpress.org/plugins/inline-context/?preview=1">live preview of the plugin in Playground</a> to see it in action.</p>


<div class="ng-block-c038e9b23020f66c wp-block-newsletterglue-container ng-block" style="color: #666666;" width="100%"><div><div><div class="ng-block-vs ng-block-vs-1" colspan="3" height="0" style="height: 0px;"></div></div><div><div class="ng-block-hs ng-block-hs-1" height="0" style="width: 0px;"></div><div align="none" class="ng-block-td" style="font-size: 16px; font-family: Helvetica; line-height: 1.6; font-weight: normal; padding-top: 20px; padding-bottom: 20px; padding-left: 0px; padding-right: 0px; text-align: none; color: #666666; background-color: #fdfcea; border-radius: 12px;"><div class="ng-block-9ad9d706416bd71a wp-block-newsletterglue-text ng-block" style="color: #666666;" width="100%"><div><div><div align="none" class="ng-block-td" style="font-size: 16px; font-family: Helvetica; line-height: 1.6; font-weight: normal; padding-top: 8px; padding-bottom: 10px; padding-left: 20px; padding-right: 20px; text-align: none; color: #666666;"><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. </p></div></div></div></div>

<div class="ng-block-c4871804b9c6265b wp-block-newsletterglue-text ng-block" style="color: #666666;" width="100%"><div><div><div align="none" class="ng-block-td" style="font-size: 16px; font-family: Helvetica; line-height: 1.6; font-weight: normal; padding-top: 8px; padding-bottom: 10px; padding-left: 20px; padding-right: 20px; text-align: none; color: #666666;"><p>The previous years are also available: <br /><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></div></div></div></div></div><div class="ng-block-hs ng-block-hs-2" height="0" style="width: 0px;"></div></div><div><div class="ng-block-vs ng-block-vs-2" colspan="3" height="0" style="height: 0px;"></div></div></div></div>


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



<p>Last month, <strong>JuanMa Garrido</strong> and <strong>Jonathan Bossenger</strong> invited user to the <a href="https://wordpress.tv/2025/12/02/developer-hours-wordpress-6-9-block-bindings-interactivity-api/"><strong>Developer Hours: WordPress 6.9 Block Bindings &amp; Interactivity API</strong></a>. The recording is now available on WordPress TV. </p>



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



<p><strong>Ronald Huereca</strong> discusses the <a href="https://dlxplugins.com/tutorials/how-to-manage-the-admin-wide-command-palette-in-wordpress-6-9/">Admin-Wide Command Palette</a> which now operates in the entire admin area with CMD/CTRL-K. He shows how to disable the palette selectively using the wp-core-commands script handle, enable it on the frontend, and create custom commands using React hooks and registerPlugin. Huereca includes code snippets for different contexts—block editor only, admin excluding editor, or both—and suggests using separate script endpoints for new commands in existing block plugins to prevent iframe issues.</p>



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



<p><strong>Brian Coords</strong> shared a tutorial on <a href="https://www.briancoords.com/building-a-woo-product-category-image-block-with-wordpress-6-9/"><strong>creating a Woo Product Category Image Block with WordPress 6.9</strong></a>, using the Block Bindings API and a new Terms Query Loop to show product category images without custom blocks. The method registers bindings using PHP on the server to get term meta thumbnails and uses JavaScript for the editor preview through WooCommerce&#8217;s data package. A block variation allows for easy insertion. Coords mentions this solves issues where taxonomy term images aren&#8217;t standard in WordPress, but he notes the increasing clutter in the block inserter due to more specialized variations.</p>



<figure class="wp-block-image size-full"><a href="https://www.briancoords.com/building-a-woo-product-category-image-block-with-wordpress-6-9/"><img alt="" class="wp-image-43444" height="344" src="https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/12/Screenshot-2025-12-06-at-10.04.14.png?resize=652%2C344&#038;ssl=1" width="652" /></a></figure>



<p><strong>Felix Arntz</strong> <a href="https://www.linkedin.com/posts/felixarntz_many-people-have-asked-me-over-the-past-few-activity-7400592023696867328-xeDW?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAAAAkKaoBHI9qqM4OcmXfJb1QeGFMlLI6W4o">address on LinkedIn</a> frequently asked question, on how he built the Gutenberg-like UI in his <a href="https://wordpress.org/plugins/ai-services/">AI Services</a> plugin for WordPress. In a new npm package called<a href="https://www.npmjs.com/package/wp-interface"> <strong>wp-interface</strong></a> he provided an abstracted solution anyone can use to get started integrating it into their plugins. </p>



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



<p>On his livestream, <strong>Jonathan Bossenger</strong> tested WordPress 6.9 and showed <strong><a href="https://www.youtube.com/watch?v=TKG11gdQEoo">how to use its Block Bindings updates in a custom plugin</a></strong>. He explored custom post types and meta fields, worked with block bindings, and updated custom fields. Watch him solve debugging issues, add a year field, and improve a custom plugin.</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" />



<p>In his blog post <a href="https://alex.kirk.at/2025/11/29/wordpress-development-without-a-computer/"><strong>WordPress Development Without a Computer</strong></a>, <strong>Alex Kirk</strong>, long time WordPress contributor, outlines how he envisions AI-assisted fixes on the fly on a WordPress site. &#8220;With AI coding assistants that run in the browser—like Claude Code, OpenAI Codex, GitHub Copilot Workspace, or similar tools—combined with WordPress Playground for testing, you can now do WordPress plugin development without a computer.&#8221; Kirk provides a step-by-step instructions on how to make it possible today.  </p>



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



<p>In his livestream, <strong>JuanMa Garrido</strong> discussed the <strong><a href="https://www.youtube.com/watch?v=hlbT0fnIe8E">Interactivity Router</a></strong> package, highlighting its ability to load content without full page reloads. He demonstrated client-side navigation in query loop blocks and interactive lightbox behavior. The session included enabling client-side navigation, performance comparisons, and practical API documentation examples.</p>



<figure class="wp-block-image size-full"><a href="https://www.youtube.com/watch?v=hlbT0fnIe8E"><img alt="" class="wp-image-43455" height="335" src="https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/12/JuanMa-Garrido-interactivity-router.jpeg?resize=600%2C335&#038;ssl=1" width="600" /></a></figure>



<h3 class="wp-block-heading" id="what-s-new-in-playground">What&#8217;s new in Playground</h3>



<p>In this <a href="https://make.wordpress.org/playground/2025/12/03/wordpress-playground-2025-year-in-review/">2025 Year in Review</a>, Playground architect <strong>Adam Zieliński</strong> lists transformative achievements including supporting ninety-nine percent of WordPress plugins, running PHPMyAdmin and Laravel alongside substantial performance gains through OpCache and concurrent workers. New PHP extensions like XDebug enable modern debugging workflows while state-of-the-art MySQL emulation powers comprehensive database management. Developer tools now include file browsers, Blueprint editors, and one-click Gutenberg branch previews. </p>



<p>The community contributed translations across six languages, earned forty-eight contributor badges, and demonstrated Playground at WordCamps globally, establishing it as essential infrastructure for testing, teaching, and building WordPress.</p>



<figure class="wp-block-image size-large"><a href="https://playground.wordpress.com"><img alt="Playground default screen. " class="wp-image-43442" height="350" src="https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/12/Screenshot-2025-12-06-at-09.49.53.png?resize=652%2C350&#038;ssl=1" width="652" /></a></figure>


<div class="ng-block-56dc482137188be3 wp-block-newsletterglue-container ng-block" style="color: #666666;" width="100%"><div><div><div class="ng-block-vs ng-block-vs-1" colspan="3" height="0" style="height: 0px;"></div></div><div><div class="ng-block-hs ng-block-hs-1" height="0" style="width: 0px;"></div><div align="none" class="ng-block-td" style="font-size: 16px; font-family: Helvetica; line-height: 1.6; font-weight: normal; padding-top: 20px; padding-bottom: 20px; padding-left: 0px; padding-right: 0px; text-align: none; color: #666666; background-color: #f8f8f8; border-radius: 8px;"><div class="ng-block-72c144ed8dda8f54 wp-block-newsletterglue-text ng-block" style="color: #666666;" width="100%"><div><div><div align="none" class="ng-block-td" style="font-size: 16px; font-family: Helvetica; line-height: 1.6; font-weight: normal; padding-top: 8px; padding-bottom: 10px; padding-left: 20px; padding-right: 20px; text-align: none; color: #666666;"><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></div></div></div></div>

<div class="ng-block-d0b21ed4e4c20fec wp-block-newsletterglue-image ng-block size-full is-resized" width="100%"><div><div><div align="center" class="ng-block-td" style="padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px;"><a href="https://playground.wordpress.net/?blueprint-url=https://gutenbergtimes.com/wp-content/uploads/2020/11/playnightly.json"><img alt="" class="wp-image-42874 ng-image" height="45" src="https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2024/02/Screenshot-2025-11-15-at-12.06.44.png?resize=196%2C45&#038;ssl=1" style="border-style: none; border-color: transparent;" width="196" /></a></div></div></div></div>

<div class="ng-block-a827fab5c020df00 wp-block-newsletterglue-text ng-block" style="color: #666666;" width="100%"><div><div><div align="none" class="ng-block-td" style="font-size: 16px; font-family: Helvetica; line-height: 1.6; font-weight: normal; padding-top: 8px; padding-bottom: 10px; padding-left: 20px; padding-right: 20px; text-align: none; color: #666666;"><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></div></div></div></div></div><div class="ng-block-hs ng-block-hs-2" height="0" style="width: 0px;"></div></div><div><div class="ng-block-vs ng-block-vs-2" colspan="3" height="0" style="height: 0px;"></div></div></div></div>


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



<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>


<div class="ng-block-7338f0be01382f59 wp-block-newsletterglue-separator ng-block" style="color: #666666;" width="100%"><div><div><div align="center" class="ng-block-td" style="padding-top: 20px; padding-bottom: 20px; padding-left: 20px; padding-right: 20px; color: #666666;"><hr style="background-color: transparent; color: transparent; margin: 0; border: 0; border-top: 1px solid #666666; width: 560px; height: 0;" /></div></div></div></div>

<div class="wp-block-newsletterglue-showhide ng-block" width="100%"><div class="ng-block-08acf16224ac2869 wp-block-newsletterglue-text ng-block" style="color: #666666;" width="100%"><div><div><div align="none" class="ng-block-td" style="font-size: 14px; font-family: Helvetica; line-height: 0.2; font-weight: normal; padding-top: 8px; padding-bottom: 10px; padding-left: 20px; padding-right: 20px; text-align: none; color: #666666;"><p><strong>Featured Image: </strong></p></div></div></div></div></div>




<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" />";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, 06 Dec 2025 03:38: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: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:14:"Matt: Unifi 5G";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=150758";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:31:"https://ma.tt/2025/12/unifi-5g/";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:1187:"<p>One of my favorite hobbies is home networking and wifi, and once you go down that rabbit hole one of the best companies you can follow is <a href="https://ui.com/">Unifi</a>. They&#8217;re such a cool company in so many ways, from having a <a href="https://ir.ui.com/company/board-of-directors">4-person board of directors</a>, as a public stock. You can clearly tell they delight in bringing great design to hardware, in a Apple-like attention to detail. </p>



<p>They ship such cool products regularly, across an entire ecosystem that spans cameras to access control, it&#8217;s hard to describe everything they can cover, and they&#8217;ll even have random stuff that integrates into their system like EV charging or digital signage. I get as excited when they ship a new generation of hardware as I do for an iPhone launch.</p>



<p>But what&#8217;s exciting is that they just launched <a href="https://blog.ui.com/article/introducing-unifi-5g">5G bridging, with some fun devices that connect everything</a>. I imagine someday I&#8217;ll have a Unifi puck hooked up to Starlink, providing amazing routing and connectivity anywhere in the world, powered by some PoE battery.</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:"Fri, 05 Dec 2025 05:34:14 +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: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:74:"WordPress.org blog: State of the Word 2025: Innovation Shaped by Community";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=19447";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:45:"https://wordpress.org/news/2025/12/sotw-2025/";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:28824:"<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>State of the Word 2025 brought the WordPress community together for an afternoon that felt both reflective and forward-moving, blending stories of global growth with technical milestones and glimpses of the future. This year also marked the twentieth State of the Word since the first address in 2006, a milestone noted in the WordPress history book <a href="https://wordpress.org/book/2015/11/wordcamp-2006/"><em>Milestones: The Story of WordPress</em></a> as the beginning of a tradition that has helped the project tell its own story.</p>



<p>From the outset, the keynote carried a sense of momentum shaped by thousands of contributors, educators, students, and creators whose steady participation continues to define the open web. It was a reminder that WordPress is more than software. It is a community writing its future together.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>What we have is more than code. It’s momentum, it’s culture, and it’s a system that lets people learn by doing and lead by showing up.  — <a href="https://profiles.wordpress.org/4thhubbard/">Mary Hubbard</a>, WordPress Executive Director</p>
</blockquote>



<p>Mary opened the evening by reflecting on her first full year as Executive Director, a year spent listening deeply and seeing firsthand how people across regions learn, contribute, and lead. Her remarks grounded the keynote in the lived reality of a community that grows because people invest in one another, teach openly, and build trust through contribution.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>I’ve met people using WordPress to unlock new careers. I’ve met contributors who started a single translation or forum post and are now leading major pieces of the project. In LatAm, Europe, and the States, I’ve seen students get access to WordPress tools and start building faster than we could have ever imagined. I’ve watched communities build in public, resolve disagreements in the open, and collaborate across languages and time zones.</p>
</blockquote>



<p>That reflection offered a clear reminder of what makes WordPress resilient through change: a culture of showing up, learning by doing, and supporting others along the way. The project moves forward because people choose to participate in ways both large and small, strengthening the foundation that has carried WordPress for more than two decades.</p>



<p>With that foundation in place, the keynote moved through a series of stories and demonstrations that highlighted where WordPress stands today and where it is headed next — from a historic live release of WordPress 6.9 to expanding global education pathways, emerging AI capabilities, and deeper collaboration across the entire ecosystem.</p>



<h2 class="wp-block-heading">WordPress by the Numbers</h2>



<p>Project Cofounder <a href="https://profiles.wordpress.org/matt/">Matt Mullenweg</a> began with a wide-angle view of the project’s growth. WordPress powers over 43% of the web, with 60.5% of the CMS market. Shopify, its nearest competitor, holds 6.8%. Among the top 1,000 websites, WordPress’s share climbed to 49.4%, up 2.3% from the previous year.</p>



<figure class="wp-block-image size-large"><img alt="Globe graphic noting 43% of websites and 60.5% CMS market share" class="wp-image-19500" height="576" src="https://i0.wp.com/wordpress.org/news/files/2025/12/State-of-the-Word-2025-43.jpg?resize=1024%2C576&#038;ssl=1" width="1024" /></figure>



<p>Multilingual usage continued its strong rise. Over 56% of WordPress sites now run in languages other than English. Japan stood out, with WordPress powering 58.5% of all Japanese websites and 83% of the CMS market. Japanese became the second most-used language on WordPress at 5.82%. Spanish followed, then German, French, and Brazilian Portuguese.</p>



<p>The plugin ecosystem saw explosive growth. The directory surpassed 60,000 plugins, and plugin downloads were on pace to reach 2.1 billion by year-end. Over 1,500 themes have been released this year as well.</p>



<p>Contributors also hit new highs. The 6.8 release included 921 contributors, the largest group yet. WordPress 6.8 saw 79.5 million downloads, up 13%, and WordPress 6.9 included contributions from 230 first-time contributors and more than 340 enhancements and fixes.</p>



<h2 class="wp-block-heading">A Release Moment to Remember</h2>



<p>This year’s keynote delivered something WordPress had never attempted before: a live on-stage release of <a href="https://wordpress.org/download/releases/6-9/">WordPress 6.9</a>.</p>



<figure class="wp-block-image size-large"><img alt="WordPress 6.9 Gene album cover art" class="wp-image-19511" height="576" src="https://i0.wp.com/wordpress.org/news/files/2025/12/State-of-the-Word-2025-gene.jpg?resize=1024%2C576&#038;ssl=1" width="1024" /></figure>



<p>Mary set the moment up earlier in the program, calling WordPress 6.9 “fast, polished, and built for collaboration.” She explained that it reflected a year of intentional iteration, improved workflows, and deeper cross-team participation. </p>



<p>Matt took the stage with some of the release leads, the release button in hand. The room counted down, and then WordPress 6.9 shipped live, instantly updating millions of sites around the world. It was both a celebration and a testament to the reliability and trust the WordPress community has built into its release processes. Shipping a major version of WordPress in real time, on stage, without drama, is something the early contributors could hardly have imagined.</p>



<figure class="wp-block-image size-large"><img alt="Photo of WordPress release leads pressing the button to release 6.9" class="wp-image-19457" height="576" src="https://i0.wp.com/wordpress.org/news/files/2025/12/release-leads.jpg?resize=1024%2C576&#038;ssl=1" width="1024" /></figure>



<p>That reflection connected back to WordPress’s origin story. Matt talked about discovering the <a href="https://en.wikipedia.org/wiki/WordPress#History">B2</a> forums, asking questions, and eventually reaching the point where he could answer someone else’s. That transition from learner to contributor remains at the heart of the project today. Two decades later, WordPress has grown from those early interactions into a platform that can ship a major release in front of the world, powered by thousands of contributors building together.</p>



<h2 class="wp-block-heading">WordPress and the Future of AI</h2>



<p>As the keynote shifted toward the future, Matt acknowledged what has become an essential truth of the moment: it would be impossible to talk about the next chapter of WordPress without talking about AI. He reminded the audience that in 2022, long before ChatGPT entered global conversation, he encouraged the community to “learn AI deeply.” The speed of change since then, he said, has exceeded every expectation, and WordPress has been preparing for it in ways both visible and behind the scenes.</p>



<figure class="wp-block-image size-large"><img alt="Timeline of AI: 2022 ChatGPT launches, 2023 GPT-4 and Claude launches, 2024 Multimodel and video generation, 2025 AI everywhere" class="wp-image-19510" height="576" src="https://i0.wp.com/wordpress.org/news/files/2025/12/State-of-the-Word-2025-AI.jpg?resize=1024%2C576&#038;ssl=1" width="1024" /></figure>



<p>Matt introduced one of the most important architectural developments of the year: the Abilities API and the MCP adapter. The Abilities API defines what WordPress can do in a structured way that AI systems can interpret, while the MCP adapter exposes those abilities through a shared protocol. This means AI agents — whether built by individuals, companies, or larger platforms — can understand and interact with WordPress safely and predictably. Instead of relying on one-off integrations or brittle interfaces, WordPress now participates in a broader ecosystem of tools that can query its capabilities and perform tasks using a standard, governed approach.</p>



<p>Matt then highlighted how developers are already using AI in their everyday work through tools like Cursor, Claude Code, and next-generation CLIs. These tools can explore entire codebases, generate documentation, produce tests, refactor large components, and even coordinate sequences of WP-CLI commands. For many developers, they expand what a single person can accomplish in an afternoon. They don’t eliminate the need for human judgment — they amplify it.</p>



<p>With that foundation laid, Matt turned the audience’s attention to <a href="https://telex.automattic.ai/">Telex</a>, the experimental environment designed to turn natural-language prompts into Gutenberg Blocks. Telex has already moved beyond experimentation and into real use. Matt showed examples from community creator Nick Hamze, who uses Telex to power micro-business tools that represent practical, revenue-generating workflows that previously required custom engineering.</p>



<figure class="wp-block-video"><video controls="controls" height="2160" src="https://wordpress.org/news/files/2025/12/Telex-demo-776.mp4" width="3840"></video></figure>



<p>Matt then widened the lens to show what companies across the ecosystem are building with AI. Hostinger’s Kodee can generate a complete WordPress site from a single description. Elementor AI demonstrated similarly rapid creation inside its own editor, producing full sections and layouts in seconds. WordPress.com showcased how its AI tools help users draft, rewrite, and refine content while keeping language aligned with the site’s voice. Yoast demonstrated how AI can support SEO workflows by generating structured suggestions and improving readability. Together, these examples illustrated that AI is not arriving in one place — it is arriving everywhere.</p>



<p>Experimental browsers can navigate WP Admin autonomously, performing tasks such as clicking buttons, opening menus, changing settings, and performing multi-step tasks without requiring any custom plugins or APIs. This raised a key question that Matt encouraged the community to consider: Which AI capabilities should live inside WordPress itself, and which should remain external, operating through the browser or operating system?</p>



<p>Matt closed the section by discussing WordPress-specific AI benchmarks and evaluation suites. These shared tests will measure how well AI systems understand and execute WordPress tasks, from enabling plugins to navigating WP Admin to modifying content and settings. The goal is to create a foundation where future AI tools behave predictably and responsibly across the entire ecosystem, giving creators confidence that intelligent tools understand the platform deeply.</p>



<h2 class="wp-block-heading">A Global Community Growing Together</h2>



<p>Mary then returned to the stage to celebrate the ecosystem that supports WordPress&#8217;s growth. Across continents, diverse groups of people have hosted WordPress events, training new contributors and welcoming newcomers into the project. WordCamp growth in 2025 reflected that: more than 81 WordCamps across 39 countries, powered by over 5,000 volunteers and attended by nearly 100,000 people, with sixteen more events still underway.</p>



<figure class="wp-block-image size-large"><img alt="" class="wp-image-19503" height="576" src="https://i0.wp.com/wordpress.org/news/files/2025/12/State-of-the-Word-2025-wordcamps.jpg?resize=1024%2C576&#038;ssl=1" width="1024" /></figure>



<p>Education played a major role in this community expansion. Learn.WordPress.org served over 1.5 million learners this year, with clearer pathways into more structured programs like <a href="https://wordpress.org/education/campus-connect/">Campus Connect</a> and <a href="https://wordpress.org/education/credits/">WordPress Credits</a>. This bridging was deliberate. Many learners arrive through tutorials or workshops but need clearer guidance on how to deepen their skills. By reshaping navigation and improving wayfinding across WordPress.org, the project began closing that gap.</p>



<p>She spotlighted <a href="https://make.wordpress.org/community/2025/09/29/wordpress-and-higher-education-an-alliance-that-transforms/">Costa Rica’s Universidad Fidélitas</a>, where WordPress moved beyond extracurricular interest into formal academic integration. Long before signing an agreement with the WordPress Foundation, their students were hosting WordCamp San José, forming student clubs, and treating WordPress as a crucial part of digital literacy and professional development.</p>



<figure class="wp-block-image size-large"><img alt="" class="wp-image-19505" height="576" src="https://i0.wp.com/wordpress.org/news/files/2025/12/State-of-the-Word-2025-photo.jpg?resize=1024%2C576&#038;ssl=1" width="1024" /><figcaption class="wp-element-caption">Students of the WordPress Fidélitas Club</figcaption></figure>



<p>Wapuu appeared across events as a familiar companion and a cultural thread running through contributor tools and community projects. Its presence was a reminder that creativity and playfulness are as essential to open source as documentation or code.</p>



<figure class="wp-block-image size-large"><img alt="Various Wapuu artwork examples" class="wp-image-19506" height="576" src="https://i0.wp.com/wordpress.org/news/files/2025/12/State-of-the-Word-2025-wapuu.jpg?resize=1024%2C576&#038;ssl=1" width="1024" /></figure>



<p>Matt highlighted the story of <a href="https://events.wordpress.org/managua/2025/wordpress-youth-day/">Youth Day in Managua, Nicaragua</a>. Seventy-five young people spent a full day building their first WordPress sites. Sessions were taught by teenagers, for teenagers. They learned to pick themes, customize layouts, create contact forms, and publish content. Contribution often starts with a simple moment of confidence, and those early sparks can shape entire careers.</p>



<figure class="wp-block-video"><video controls="controls" height="2160" src="https://wordpress.org/news/files/2025/12/wapu-513.mp4" width="3840"></video></figure>



<p>Together, these moments illustrated a project expanding not just in numbers, but in depth, diversity, and global reach. WordPress is growing because communities are finding their own ways to embrace it.</p>



<h2 class="wp-block-heading">What’s New in WordPress 6.9</h2>



<p>Joining virtually, WordPress Lead Architect, <a href="https://profiles.wordpress.org/matveb/">Matías Ventura</a>, shifted the keynote from vision to practice. Matías offered a detailed walkthrough of what makes WordPress 6.9 one of the most refined, collaborative, and forward-looking releases the project has shipped in years. He returned to the four familiar lenses of creation — writing, designing, building, and developing — and showed how each evolved in this release cycle.</p>



<p>He began with notes in the Block Editor, one of the most anticipated features. Notes allow collaborators to comment directly on individual blocks in a post or page. When a note is selected, the surrounding content subtly fades, helping contributors stay focused on context. Because notes are built on WordPress’s native comment system, they integrate seamlessly with existing communication workflows, including email notifications. Matías highlighted that notes development exemplified collaboration at its best, with contributors from various companies working together to bring the feature to life.</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, he turned to refinements across the writing and design experience. Editor interactions feel smoother and more consistent. Patterns behave more predictably. Spacing and typography controls are clearer, more organized, and more intuitive. Together these capabilioties make the experience of writing and designing inside WordPress calmer, more reliable, and more empowering.</p>



<p>Block bindings now provide a more intuitive, visual way to connect blocks to dynamic data sources. Users can switch or remove bindings with a single click, and developers can register additional sources to support custom workflows. This work lays the foundation for a future where dynamic data flows more naturally through blocks, enabling site creators to build richer interfaces without writing code.</p>



<p>On the developer front, Matías focused on three foundational upgrades that represent major steps forward in how WordPress will evolve over the coming years.</p>



<ul class="wp-block-list">
<li>The first was the <strong>Abilities API</strong>, a unified registry that describes what WordPress can do — across PHP, REST endpoints, the command palette, and future AI-driven interactions.</li>



<li>The <strong>HTML API</strong> introduces new ways of working with and modifying HTML server-side. The API ensures safer, more reliable handling, lowering the barrier for theme and block developers who work with dynamic or structured markup.</li>



<li>The <strong>Interactivity API</strong> delivers smoother, faster interactions without requiring heavy JavaScript frameworks. Improved routing, better state management, and clearer conventions help developers create rich, modern interfaces without leaving the WordPress philosophy of simplicity and flexibility.</li>
</ul>



<p>After Matías wrapped his presentation, Matt stepped back in to highlight several developments that build on the foundations of 6.9 and strengthen the overall WordPress ecosystem. He pointed first to the <a href="https://wordpress.org/plugins/plugin-check/">Plugin Check Plugin</a>, a tool designed to help developers align with current WordPress standards and catch common issues early, making plugins more reliable for users and easier to maintain over time. Matt then spoke about ongoing progress in <a href="https://wordpress.org/data-liberation/">Data Liberation</a>, noting improvements to the <a href="https://wordpress.org/plugins/wordpress-importer/">WordPress importer</a> that make it easier for people to bring their content into WordPress without disruption or loss, an important step toward ensuring the open web remains portable and resilient. He also highlighted advances across the <a href="https://playground.wordpress.net/">Playground</a> ecosystem, including <a href="https://developer.wordpress.com/studio/">WordPress Studio</a>, the Playground CLI, and an expanding set of Blueprints. These allow developers and learners to spin up complete WordPress environments in seconds, test ideas, and experiment without servers or configuration. Matt closed this portion by emphasizing work on safer updates, which help WordPress avoid partial installs and ensure that updates complete smoothly even in less predictable hosting conditions, reinforcing WordPress’s commitment to stability as the platform continues to grow.</p>



<p>Matt emphasized that WordPress 6.9 is not defined by any single headline feature, but by a broad spectrum of refinements across the entire experience. It is a release that deepens reliability, expands capability, and sets the stage for future innovation.</p>



<h2 class="wp-block-heading">Insights from the AI Panel</h2>



<p>The keynote transitioned into a live AI panel moderated by Mary Hubbard. The panel brought together four perspectives from across the ecosystem: <a href="https://profiles.wordpress.org/isotropic/">James LePage</a> (Automattic), <a href="https://profiles.wordpress.org/flixos90/">Felix Arntz</a> (Google), and <a href="https://profiles.wordpress.org/jeffpaul/">Jeff Paul</a> (Fueled, FKA 10up), and Matt Mullenweg. Their conversation touched on the philosophy, practice, and future of AI inside WordPress — not as a distant trend, but as an active part of the project’s evolution.</p>



<p>A central theme was AI’s ability to amplify human creativity. James LePage put it plainly:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>It’s not that we’re going to just add sparkle buttons everywhere. We’re going to do some crazy stuff here — things we’re going to build into the way you interact with creating content, with expressing yourself digitally. We want to give you more power, more control, and make you more effective at creating.</p>
</blockquote>



<p>Jeff Paul echoed this sentiment, emphasizing that AI should make developers more productive by handling repetitive work and freeing them to focus on higher-level decisions. Felix Arntz expanded the idea further, describing how Google sees AI as a way to make the web more accessible and intuitive, especially for new creators who may not have formal technical training.</p>



<figure class="wp-block-image size-large"><img alt="" class="wp-image-19462" height="572" src="https://i0.wp.com/wordpress.org/news/files/2025/12/panel.jpg?resize=1024%2C572&#038;ssl=1" width="1024" /><figcaption class="wp-element-caption">From left to right: Mary Hubbard, Matt Mullenweg, Jeff Paul, Felix Arntz, James LePage</figcaption></figure>



<p>Looking ahead, the panelists predicted deeper contextual integrations, AI-assisted debugging and scaffolding for developers, and workflows where agents can take on sequences of tasks while remaining directed by human decisions. They also highlighted the importance of standards, shared protocols, and privacy-focused design as essential components of WordPress’s long-term approach.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>The next 20 years looks like WordPress remaining what it is today, which is the center of the open web.</p>
</blockquote>



<p>The panel closed on a forward-looking but steady note. AI is accelerating, but WordPress is designing its foundations with flexibility and values that endure. The tools may change, but the commitment to openness, agency, and creative freedom remains the compass.</p>



<h2 class="wp-block-heading">Questions That Push Us Forward</h2>



<p>Matt introduced the Q&amp;A as one of his favorite parts of State of the Word because it reveals what people are imagining, struggling with, or eager to build.</p>



<figure class="wp-block-image size-large"><img alt="Q&amp;A" class="wp-image-19512" height="576" src="https://i0.wp.com/wordpress.org/news/files/2025/12/State-of-the-Word-2025-QandA.jpg?resize=1024%2C576&#038;ssl=1" width="1024" /></figure>



<p>The first question addressed the growing interconnectedness of today’s web. What happens, a participant asked, when a major provider like Cloudflare goes down? As tools and agents rely more heavily on external services, failures can cascade. Matt acknowledged that outages are increasingly visible, but also argued that each one strengthens the system.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>&#8220;Every failure, every edge case, everything that you never imagined is just another opportunity to find that new edge case,” he said. Resilience is not avoidance of failure, but the ability to grow stronger after it.</p>
</blockquote>



<p>Another question focused on the longevity of web content. With platforms shutting down or links breaking over time, how can creators ensure their work endures? Matt pointed to the Internet Archive as one of the great stabilizers of the open web. He highlighted a <a href="https://wordpress.org/plugins/internet-archive-wayback-machine-link-fixer/">new plugin</a> that automatically scans posts and replaces dead links with archived versions, helping preserve the historical fabric of the web even as individual services come and go.</p>



<p>The next question turned to real-time collaboration inside WordPress. A participant asked how co-editing fits into the future of WordPress and how these tools might help creators work more confidently. Matt talked about how collaboration tools can support people who are just starting their creative journeys — whether they are entrepreneurs, students, or first-time site builders. He described real-time editing as part of a broader vision of WordPress “just doing the work for you” in high-pressure or early-stage creative moments.</p>



<p>The final question considered long-term decision-making. Matt noted that predicting what will change is difficult, but identifying what will remain the same is much easier. For WordPress, he said, the invariant is clear: people will always want agency, openness, and the ability to publish on their own terms. These values guide decisions not only in the present, but across decades of future evolution.</p>



<h2 class="wp-block-heading">TBPN Podcast Appearance</h2>



<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>After the Q&amp;A, the keynote shifted gears with a live crossover segment featuring TBPN (the Technology Business Programming Network), a tech-focused podcast. The segment introduced a lively, unscripted energy into the room.</p>



<p>The hosts kicked things off by asking Matt what the “word of the year” should be. He chose “freedom”, connecting it directly to the core philosophy of open source. He described open source licenses as a kind of “bill of rights for software,” giving users inalienable rights that no company can revoke. In a world increasingly shaped by software platforms and digital ecosystems, these freedoms form the heart of what keeps the web open and accessible.</p>



<p>Conversation then moved to <a href="https://www.beeper.com/">Beeper</a>, the multi-network messaging client. Asked whether Beeper aims to “tear down walled gardens,” Matt rejected that framing. Instead, he offered a more collaborative metaphor: bringing gardens together. Most people have friends and colleagues scattered across WhatsApp, Instagram, LinkedIn, Messenger, and SMS. Beeper doesn’t replace those apps — it brings messages together into a unified interface..</p>



<p>The conversation eventually returned to publishing. Matt referenced the same principle he noted earlier: the importance of identifying what won’t change. For WordPress, he said, that means doubling down on freedom, agency, and the ability to publish without gatekeepers. Even as AI evolves, even as platforms shift, even as new tools emerge, these are the values that will guide the project forward.</p>



<h2 class="wp-block-heading">Building the Web We Believe In</h2>



<p>As the keynote drew to a close, Matt returned to a message that had threaded through every section of the evening. The future of WordPress is not arriving from outside forces — it is being crafted, questioned, tested, and expanded by the people who show up. Contributors, students, educators, community organizers, designers, developers, business owners, and first-time site builders all play a role in shaping the platform.</p>



<p>He spoke about the opportunities ahead: new tools that expand what creators can build, collaborative features that make teamwork feel natural, and AI systems that enhance creativity rather than diminish it. Across continents, generations, and skill levels, people are discovering WordPress as a path to learning, empowerment, and expression.</p>



<p>The values that brought the project this far remain the ones that will carry it forward: freedom, participation, learning, and community. These aren’t abstract principles. They are lived every day in the decisions contributors make, the ideas they pursue, and the care they bring to the work.</p>



<h3 class="wp-block-heading">Future Events</h3>



<p>If you’re feeling inspired to revisit past moments from the project’s annual address, the <a href="https://www.youtube.com/playlist?list=PL1pJFUVKQ7ES1piZxljCvMTJCYpVBnwYU">State of the Word YouTube playlist</a> offers a look back at years of community milestones and product progress. The excitement continues into 2026, with major WordPress events already on the horizon: <a href="https://asia.wordcamp.org/2026/">WordCamp Asia</a> in Mumbai, India,<a href="https://europe.wordcamp.org/2026/">WordCamp Europe</a> in Kraków, Poland, and <a href="https://us.wordcamp.org/2026/">WordCamp US</a> in Phoenix. We hope to see you there as the community continues building what comes next.</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, 03 Dec 2025 18:26:05 +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:17:"Nicholas Garofalo";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:88:"WPTavern: #196 – Topher DeRosia on How Public Contributions Shape Careers in WordPress";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=201513";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:102:"https://wptavern.com/podcast/196-topher-derosia-on-how-public-contributions-shape-careers-in-wordpress";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:51892:"<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 public contributions can shape careers in WordPress.</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 Topher DeRosia. Topher is a web developer with over 30 years of experience, and he&#8217;s been deeply involved in the WordPress community for the past 15 years. He&#8217;s attended nearly 80 WordCamps around the world, contributed to projects like HeroPress, and has made it his mission to highlight the power and value of open source and remote work, especially in the WordPress ecosystem.</p>



<p>In this episode, Topher joins me to talk about the value of working in public, and how sharing your work openly can create unexpected and lasting opportunities. Whether that&#8217;s boosting your career, finding a sense of purpose, or building connections across the globe.</p>



<p>We start with Topher&#8217;s personal journey, discovering the WordPress community and the profound impact it has had on his life and family. The conversation explores what makes open source communities, like WordPress, so unique, and while working transparently can lead to moments of serendipity and even job offers from people who have seen your contributions many years before.</p>



<p>Topher shares stories about giving back, the motivation that comes from helping others, and the long-term satisfaction that comes from being generous with your time and expertise.</p>



<p>We also discussed the tension between the philanthropic and commercial aspects of WordPress, and how individuals and companies navigate that balance.</p>



<p>Towards the end, Topher reflects on building a body of work over time, trusting in the slow and organic process instead of seeking instant influencer success. He explains why he still chooses to create and share resources for free, motivated by the hope of helping the next person just starting out.</p>



<p>If you&#8217;ve ever wondered about the power of sharing your work, finding meaning in open communities, or how to make a difference over the long term, 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 Topher DeRosia.</p>



<p>I am joined on the podcast by Topher DeRosia. Hello.</p>



<p>[00:03:19] <strong>Topher DeRosia:</strong> Hello there.</p>



<p>[00:03:20] <strong>Nathan Wrigley:</strong> It&#8217;s very nice to chat to Topher. We&#8217;ve done this before. We&#8217;ve had many chats online, but I just want to pay a special thanks to Topher for reasons I won&#8217;t bore the audience with, Topher has sort of joined me at extremely late notice, like minutes of notice.</p>



<p>We had a bit of back and forth yesterday about topics that we may cover, and the one that&#8217;s going to be covered today is the one that we decided. But he wasn&#8217;t expecting this, and so he&#8217;s arrived and I&#8217;m extremely grateful. So firstly, my deepest thanks for carving out a bit of your day unexpectedly.</p>



<p>[00:03:50] <strong>Topher DeRosia:</strong> You&#8217;re very welcome. This is always fun, and fit my day perfectly.</p>



<p>[00:03:53] <strong>Nathan Wrigley:</strong> Yeah, okay. Thank you. So what we decided to talk about was, and I&#8217;ll encapsulate it in a sentence that Topher wrote to me, and then we&#8217;ll just sort of get into it and see where we go. Topher said, he&#8217;d like to talk about the value of doing things in public, and how this can come back to you later as a way of potentially, I don&#8217;t know, boosting your career or just offering some guiding light to the community and what have you.</p>



<p>So first of all, in order to give us some idea, I&#8217;m sure that there are people who know you, having listened to the things that you&#8217;ve done or consumed the HeroPress website or what have you. Will you just give us a little potted bio of yourself related to, I guess the WordPress community, makes most sense in this context?</p>



<p>[00:04:30] <strong>Topher DeRosia:</strong> Sure. I have been a web developer for 30 years, which is old, but I got into WordPress about 15 years ago and I did not know there was a community for several years. And Brian Richards said to me, hey, we should do a WordCamp. And I said, what&#8217;s a WordCamp? And then of course, my life changed forever after.</p>



<p>Oh, you know what? We started with a meetup, but like 2 weeks later he said we should do a WordCamp. And he said, we should do it this summer. And we were talking, like we were talking in June. So we went from never hearing of it before, to having a WordCamp suddenly. And I&#8217;ve been in, all in on the community ever since. I&#8217;ve been to nearly 80 WordCamps, all over the world. I&#8217;ve been making stuff, building stuff, meeting people ever since.</p>



<p>[00:05:12] <strong>Nathan Wrigley:</strong> Wow.</p>



<p>[00:05:13] <strong>Topher DeRosia:</strong> It&#8217;s pretty great.</p>



<p>[00:05:13] <strong>Nathan Wrigley:</strong> Yeah, 80. Gosh, that&#8217;s profound. I mean, I don&#8217;t consider myself to have a high attendee account, but 80, that really is remarkable.</p>



<p>So I think it&#8217;s fair to say that the profundity of the effect of discovering that community is pretty important in your life. You know, it&#8217;s had a material impact in every way.</p>



<p>[00:05:31] <strong>Topher DeRosia:</strong> Hugely. My wife got into the community. My children, both my kids have spoken at WordCamp US. My wife has spoken. My kids have friends in other countries that I don&#8217;t know because of the WordPress community. Every parent has that fear of, what if something happened to us? What would happen to the kids? And we have family that would take care of them, you know? It&#8217;s nice to know we also have that backup where there are people all over the world who would say, hey, we got room, come on.</p>



<p>[00:05:55] <strong>Nathan Wrigley:</strong> Yeah, that&#8217;s pretty amazing. I joined the WordPress community, so I&#8217;d been involved in lots of open source projects, things like Magento and Drupal and things like that. And I know that Drupal has, there&#8217;s definitely stuff in the Drupal space that you can attend. But I never did.</p>



<p>And to be honest with you, I didn&#8217;t know that that stuff existed until after the fact. And then in about 2014, something like that, I discovered WordPress. And just like you, I had no conception that it was more than some downloadable bit of software. Honestly didn&#8217;t even know that it was done by volunteers. I just had probably some assumption that there was an organization or a company behind it that in some way monetised it and made it free and what have you.</p>



<p>And then just got this intuition, I guess, with social networks, the way that they were at that time, you could find groups and discover that there were all these ancillary groups of people doing things with WordPress, you know, groups focusing around page builders and groups focusing around plugins.</p>



<p>And then for me to discover that there were actual events that you could attend was, just like you, really remarkable. And I attended the first one and I kind of thought, oh, we&#8217;ll just see how this goes. I&#8217;m a bit of an awkward character in person, so I sort of stood around at the back. But it didn&#8217;t take me long to sort of be welcomed in. And just like you, completely changed my life. And ever since then, a sizable proportion of my free time has been devoted to curious WordPress things. It&#8217;s amazing.</p>



<p>I can&#8217;t quite work out what it is about a project like WordPress that inculcates that, fosters that, makes that possible. Because I imagine if you attended, I don&#8217;t know, a Cisco networking conference or something like that, it&#8217;s not going to have the same feel. So I don&#8217;t know if you want to speak to that for a little bit, why you think the community works.</p>



<p>[00:07:36] <strong>Topher DeRosia:</strong> Yeah. I have two thoughts about it. One is that I think it&#8217;s absolutely because of the people. And it may be chance that the right people found WordPress and got together at the same time. But to that point, that it&#8217;s the people, I recently went to two non WordPress conferences in one week.</p>



<p>I went to one for higher education in technology. The people who attended were from universities and colleges, and they were looking for ways to manage web stuff on their entire campus. So do you offer a blog to all 24,000 students, you know? That kind of thing. It was my first time there, but I saw a number of people who were greeting each other and not having seen each other since last year, and the year before, and the year before. And it was very much like a WordCamp. And people talked about how this group is so wonderful and they wait all year long to come back here. And I thought, oh, okay, so this is WordCamp.</p>



<p>And then while I was there, I met somebody who worked at Umbraco, which is an open source .net based CMS. And they&#8217;ve been around for 20, more than 20 years, but it&#8217;s a very small community, like 0.01% of the market share. And I told her, you know, who I am, what I do, and she&#8217;s like, oh, we would love to have you come to our conference this weekend in Chicago. Can I pay you to come? I was like, oh wow, sure.</p>



<p>So I went and it was about a hundred people and it was WordCamp. Everybody there loved the software, loved the community, everybody was friends. It was the same. And expanding just a little more, HeroPress says it&#8217;s about people leveraging WordPress to make their lives better. But in actuality, what it is, is open source and remote work combined. It allows people in Malaysia to pick up software and compete on a relatively equal basis with somebody in New York. And in our world, that&#8217;s WordPress. But it&#8217;s exactly the same with every open source remote work option, Drupal, Umbraco, anything.</p>



<p>[00:09:45] <strong>Nathan Wrigley:</strong> Maybe open source then is, forgive me, the secret sauce. Maybe that&#8217;s the component, the bit that binds those communities together in a way that perhaps, I don&#8217;t know, something where a proprietary thing or something was locked down, or profit was the whole point, maybe that is the bit. The fact that there&#8217;s a bunch of people gathering together in a kind of philanthropic way. You know, there&#8217;s no expectation that my attendance will definitely lead to finance, let&#8217;s put it that way.</p>



<p>Like I said, I don&#8217;t really have much experience outside the WordPress world, and so my assumption was that there was something a little bit unique. But from what you&#8217;ve said, this same exact thing is happening probably a thousand times over throughout the globe, but your expectation there is that the open source component is the bit, the bit that unlocks it.</p>



<p>[00:10:32] <strong>Topher DeRosia:</strong> Yeah, I agree. WordPress has the advantage of a very large user base, which is good and bad. There are certainly more wonderful people in it than if there were fewer. But at that scale, you are just as likely to have really terrible people. I know people that have left the WordPress community because they&#8217;ve been treated horrendously, abused, and it breaks my heart. And I want to say, oh, WordPress is different, you won&#8217;t find that here, but you will. It&#8217;s too big a community to not have that.</p>



<p>[00:11:01] <strong>Nathan Wrigley:</strong> I wonder what it is then about that sort of spirit of giving back that creates some kind of, I don&#8217;t know, hive mind, for want of a better word. You know, there&#8217;s just this ethic that you&#8217;re all combined on this slightly higher purpose. So in the case of WordPress, and you mentioned Drupal and you mentioned the other CMS with the small market share, the principle there is that you&#8217;re working on something, and I guess publishing is the point. You are enabling people who may or may not have a voice to get on the internet and do something, publish something, write something, put images, videos or what have you.</p>



<p>There is some kind of higher calling there. It&#8217;s very hard to sort of grasp that, and to really understand it. But do you know what I mean? You&#8217;re doing something which, at the end of your days, you can look back and say, there was something there. There was something meaningful, there was something significant and important. And that feeling, that thing, whatever that thing is, is important, and enough to propel people to give up hours and weeks of their lives to do this.</p>



<p>[00:12:04] <strong>Topher DeRosia:</strong> I think most people enjoy making other people, I don&#8217;t know, so many things, more successful, happier, more stable. And there are open source projects that will shrivel up and die because no one ever says thank you. People work on a project for years and years and they think, you know what? Nobody cares. I&#8217;m going to go play Frisbee.</p>



<p>But I think the WordPress community is large enough, and we have these events that everybody goes to, that you run into people who have been impacted by the work you do.</p>



<p>There&#8217;s a, boy, can&#8217;t remember his first name. Heisel. He&#8217;s Dutch but lived in England and now he lives in Malta or something. Anyway, I met him for the first time at WordCamp London and he walked up to me and said, hey, I need to shake your hand. I said, okay. He said, a few years ago I lost my job and I didn&#8217;t know what I was going to do and I needed to support my family, and I got on OS Training and learned WordPress from your videos, and now I support my family with WordPress. I about broke down in tears right there.</p>



<p>And that kind of thing happens to lots and lots of people. People who say, you know what? This plugin you wrote, it changed my life. I make a living with this now. I support my family.</p>



<p>[00:13:19] <strong>Nathan Wrigley:</strong> Do you know what&#8217;s kind of interesting there is that, I guess you did none of it with the expectation of that person wandering up. You know, it&#8217;s not like, Topher, you sat down and thought, the more thanks I get, the more I&#8217;m going to do. There isn&#8217;t that kind of expectation. But it certainly helps, doesn&#8217;t it? When somebody does come up and express those thoughts to you. I bet you that carried you through the next days, weeks, or months. You know, the capacity to drag that out of your brain.</p>



<p>[00:13:42] <strong>Topher DeRosia:</strong> It still is. That was years ago.</p>



<p>[00:13:43] <strong>Nathan Wrigley:</strong> Yeah, yeah. Isn&#8217;t that interesting?</p>



<p>[00:13:45] <strong>Topher DeRosia:</strong> I do think though that you don&#8217;t do it for the thanks, but it&#8217;s a lot easier to do if you think it matters. When people say thank you, it feels good, but it lets you know that what I&#8217;m doing matters. It&#8217;s making a difference. It&#8217;s making somebody&#8217;s life better. It&#8217;s making the world better. That&#8217;s a huge motivator.</p>



<p>[00:14:04] <strong>Nathan Wrigley:</strong> That&#8217;s the big thing. So this is a curious question, right? And it&#8217;s not really related to WordPress. Did you have those same intuitions at an early age? Was there some part of you can remember even as, I don&#8217;t know, let&#8217;s say a 15-year-old or 17-year-old or something like that. Where you had already made the leap that life is better when you are being helpful? Or did you learn that later?</p>



<p>Because I kind of have the intuition that quite a few people in our community probably figured that out at some point fairly early on. And it enables them, I&#8217;m obviously not suggesting that people who didn&#8217;t make that intuition early on can&#8217;t join the community or what have you. But I&#8217;m surrounded by people who seem to have this almost bottomless capacity to give. And I&#8217;m always struck by how did that begin for them? Where did that start for them? So because I&#8217;ve got you on the line, I&#8217;m asking you directly.</p>



<p>[00:14:58] <strong>Topher DeRosia:</strong> When I was in college, I just randomly became interested in motivations. What makes people do things? What makes somebody mean all the time? What makes somebody happy all the time? What makes somebody be kind?</p>



<p>And I thought through the process of how gratitude is an influencer. If you say to somebody, thank you for what you&#8217;re doing, it makes them feel good. It makes them want to do it more. If they&#8217;re, you know, working at a food pantry and you say, hey, thank you for what you&#8217;re doing, it&#8217;s changing lives, just feeding children. It makes them want to do that more. If that person at a food pantry were faced every day with angry people who abused them verbally and stuff like that, they&#8217;d be a lot less inclined to do that.</p>



<p>[00:15:37] <strong>Nathan Wrigley:</strong> Yeah. I listened to a podcast not that long ago, and I actually can&#8217;t remember which one it was because I listened to several in this line. But essentially it was trying to peel back the latest studies in what causes some people to be happy. And I am not going to explain this and have the expectation that everything I say is true, nor that this is the limit of that. But a fairly reliable indicator of happiness, whatever that means, but on a fairly profound level, happiness can be boiled down to these two things, apparently.</p>



<p>One of them is that you are giving of your time. So it may be that you are, as you say, working in a soup kitchen. Or that you are doing something in the community. Or you are just putting into your children or what have you. There is a real connection apparently between the capacity to give something from which you expect nothing in return. Humans apparently find great, deep satisfaction from that.</p>



<p>And the other one is friendship. If you have people that you regard as friends, on a deep level. So obviously acquaintances, we can all have many, many thousands of those, especially online nowadays. But it&#8217;s that core little group of really impactful, meaningful people who in the time of crisis, you know are going to have your back.</p>



<p>Those two things apparently are a real predictor of one&#8217;s happiness. And both of them seem to stray into our community, you know? Although it&#8217;s an online thing, you&#8217;re still giving your time, and you know that in a fairly ephemeral way that you maybe can never grasp, people will be benefiting from that. And also you make friends. So there you go, it&#8217;s the root to happiness.</p>



<p>[00:17:19] <strong>Topher DeRosia:</strong> It is.</p>



<p>[00:17:20] <strong>Nathan Wrigley:</strong> So all of that, having said all of that, you have this wealth of experience in the community. You&#8217;ve done so many projects in the community. And as I said at the top of the show, the thing that you wanted to talk about was, not just the mere fact of doing things in the community, but about the fact that you are doing things in the community in a sort of public way, and how that can sort of impact in the future. So just tell us a little bit about why you wanted to get into that, or maybe some anecdotal evidence of how that&#8217;s helped you.</p>



<p>[00:17:50] <strong>Topher DeRosia:</strong> Very little of it in my life has been deliberate. I&#8217;ve done some things and then later thought, oh, wow, I didn&#8217;t realise that this would be the consequence. I made videos for OS Training for a lot of years, they&#8217;re behind a paywall, they paid me by the video. I wasn&#8217;t thinking, oh, I&#8217;m going to go teach the world. It was a client, I made videos.</p>



<p>And years later, Brin Wilson from WinningWP got a hold of me on Post Status and said, hey, I want to start a YouTube channel. Would you make videos for me? I said, sure, but why me? He said, well, I&#8217;ve seen your work. You&#8217;ve done this, you have given evidence to the world that you know what you&#8217;re doing. And that was a good contract. And I got it because I had previously done something else.</p>



<p>With HeroPress, I didn&#8217;t set out to become a relatively known person. I was just doing it. But I remember the first time I talked to a stranger from India and introduced myself and they said, oh, of course we know you. I said, what do you mean of course? You live 5,000 miles away from me. How on earth would you know me? And, boy, it is just stuff like that.</p>



<p>I have some plugins on wordpress.org. I think cumulatively they have 12 installs. They&#8217;re not big plugins, but they&#8217;re there. And people look and say, oh, Topher knows how to make plugins.</p>



<p>I contribute to the photos project. And people who aren&#8217;t necessarily contributors don&#8217;t necessarily understand the different kinds of contribution. They just see my name on the contributor list like, oh, Topher builds WordPress because I take a lot of photos or something. But just the fact that I&#8217;m out there doing that makes a difference.</p>



<p>I&#8217;ve been blogging for years. I did blogs in the GoDaddy Garage back in the day, I wrote on OS Training, I wrote all over the place. And recently I thought, boy, I wish I had had all that on my own site.</p>



<p>And then it occurred to me that WordPress does a lot of RSS, and so does YouTube. And so I built a site called topher.how. Found everything I&#8217;ve ever done and just used WP All Import and pulled it all into one place. So now at topher.how you can see stuff I&#8217;ve done decades ago, and it&#8217;s nice. It&#8217;s a place to say, look, here&#8217;s stuff I did. But I have gotten, no, you know, I&#8217;m not going to say I&#8217;ve gotten jobs, I&#8217;ve gotten consideration, interviews, interest because people who know who I am, because I did something once long ago.</p>



<p>[00:20:11] <strong>Nathan Wrigley:</strong> Yeah, I guess the interview phase, to get yourself over the line, you&#8217;ve still got to sort of show your metal, haven&#8217;t you? But that whole thing of just being represented by your past, it&#8217;s really curious. We live in a world which is so dominated by, I don&#8217;t know, the financial motivation for this, that, and the other.</p>



<p>It is curious when nowadays you can have a legacy which is not the CV, it&#8217;s not the line items on the CV. It can be much more ephemeral stuff. Things that you did, videos that you made, blogs that you contributed to.</p>



<p>The people out there making the decisions about who&#8217;s going to get those jobs, well, you have proved that that kind of history of being online definitely works, and in unexpected ways. It&#8217;s not like there&#8217;s always a through line between, okay, I&#8217;m going to make these YouTube videos so that in a few years time I&#8217;ll have this credible body of evidence that will make it so that anybody can employ me. It&#8217;s much more ephemeral than that. It&#8217;s more, I&#8217;m doing this video because I think itll be helpful, and then serendipitously that then leads to something in the future.</p>



<p>[00:21:14] <strong>Topher DeRosia:</strong> Yeah, very much so. Before we started recording, you mentioned my background here. It&#8217;s a piece of fabric on a photo stand. And I bought it just the other day because, you know, I&#8217;ve been making videos for years, I&#8217;ve never appeared on camera. Always been a screencast. And I recently got a client that said, well, we want you on camera. And so I got this thing.</p>



<p>But the interesting part is that the client is a company in Bangladesh. And I know them quite well, they know me quite well because of stuff we&#8217;ve done together in the past in the WordPress community. And when they needed videos, they came to me, because they know me and they know that&#8217;s what I do. That wouldn&#8217;t happen if I hadn&#8217;t been out doing stuff years ago. What are the chances I would know somebody, me in Michigan, I would know somebody in Bangladesh?</p>



<p>[00:22:01] <strong>Nathan Wrigley:</strong> Right. Right, I mean, the world of 50 years ago, it&#8217;s tending to zero basically, you know, unless you&#8217;d been on plane or somebody had been on a plane in the opposite direction and you&#8217;d met where you are. The opportunities afforded are amazing, and it&#8217;s that kind of long tail that you&#8217;ve got as well. That I suppose is going to be hard for somebody that&#8217;s younger to listen to because, you know, they kind of see this mountain that they&#8217;ve got to climb and this great body of work that they&#8217;ve got to build up over decades. I guess that&#8217;s, it&#8217;s not all about that either, it&#8217;s about sort of just chipping away at it and doing things piecemeal.</p>



<p>[00:22:31] <strong>Topher DeRosia:</strong> I have a funny story about that. Early in my WordPress career, I got to know Pippen Williamson. You may remember him.</p>



<p>[00:22:39] <strong>Nathan Wrigley:</strong> Yeah. I do.</p>



<p>[00:22:39] <strong>Topher DeRosia:</strong> And he was very well known in the WordPress community. I got to know a few people who were very well known. I was like, man, that&#8217;s cool, everybody knows these people. Wonder if people will ever know me? We were talking about it, he and I, and he quickly urged me, do not seek to be known because that will only lead to tears. If you&#8217;re doing it for the wrong reason, then it will just turn out badly.</p>



<p>And so I thought, well, you know, maybe in 10 years. Well, here we are. And I didn&#8217;t set out to be known. I&#8217;ve never bought a banner ad saying, look at Topher. I just went to WordCamp and spoke. I wrote blog posts, I made videos. I shook a lot of hands. I listened to a lot of stories.</p>



<p>[00:23:18] <strong>Nathan Wrigley:</strong> It&#8217;s about sort of spreading the network organically really, isn&#8217;t it? Which I suppose in a sense leads to, okay, rather than the word fame, I&#8217;m going to use the word notoriety because I think they&#8217;ve got two very different endpoints. But the idea of seeking fame is tied up with, you know, you just want random people to know you because they know you, and that&#8217;s the kind of end game, you know? Oh, you are famous because you&#8217;re famous, that sort of flavor to it.</p>



<p>Whereas notoriety for me has much more, there&#8217;s a body, a corpus of work behind you that leads to that understanding that, okay, that&#8217;s Topher. I know Topher because he did this, this, this, and this. It&#8217;s not famous because they&#8217;re famous. It&#8217;s more, there&#8217;s the guy who made those videos that I watched. Or there&#8217;s the guy that wrote that blog that I read all the time. That kind of thing. And so it&#8217;s not fame for fame sake, it&#8217;s accidental fame more, if you know what I mean?</p>



<p>[00:24:10] <strong>Topher DeRosia:</strong> Yeah. I heard the term not too long ago that I like called community known.</p>



<p>[00:24:14] <strong>Nathan Wrigley:</strong> Okay. That&#8217;s nice.</p>



<p>[00:24:15] <strong>Topher DeRosia:</strong> Within a community, you you could say famous, very well known. Outside that community, people do not care and have no idea who you are.</p>



<p>[00:24:22] <strong>Nathan Wrigley:</strong> That&#8217;s right. Yeah, it&#8217;s curious, inside of our community, there&#8217;s this one person whose name kind of precedes all others, and it would be Matt Mullenweg. But I&#8217;m willing to bet that if Matt was walking down the street, more or less anywhere, that his life is just the same as yours and mine. Nobody&#8217;s going to know who he is unless randomly they happen to be a WordPresser. But he&#8217;s fairly thin on the ground. You know, it&#8217;s not like he&#8217;s Scarlett Johansson or George Clooney or something like that, where that fame is probably quite an oppressive thing in their life. You know, the capacity to just walk down the street.</p>



<p>So yeah, anyway, the point being that you&#8217;ve done stuff over time without the intention of it being this fame for being famous. It&#8217;s more about being community known, as you said. But that has had amazing consequences.</p>



<p>And that kind of leads me to this next thing. I wonder, this question comes up all the time, but I do wonder if it&#8217;s more material now than it ever has been. I wonder if the community can always cope with the commercial pressure that is being born by the community?</p>



<p>So for example, you know, you up to events and there&#8217;s a lot of people trying to sell you things. And maybe WordCamps from 15 years ago would&#8217;ve felt very much more a room full of like-minded individuals. Whereas now if you go to WordCamps, maybe there&#8217;s more of a feeling of, okay, that bit over there is more commercial, that bit over there is less commercial. But there&#8217;s always that kind of commercial angle.</p>



<p>I don&#8217;t really know where I&#8217;m going with that, but the commercial side of things, I don&#8217;t know if you&#8217;ve got a feeling on, or a intuition on that?</p>



<p>[00:25:54] <strong>Topher DeRosia:</strong> Sort of. Something I&#8217;ve noticed over the years is that it&#8217;s entirely possible to write a plugin, start selling it, have it be successful, build a business, hire people, maybe get a relatively large business, maybe hundreds of employees. And it feels good, it looks good, it&#8217;s great, it&#8217;s wonderful until it starts going, or getting hard. And then people who never thought this would happen start having to make difficult decisions that hurt people.</p>



<p>If things aren&#8217;t going well, we need to let some people go. Maybe we need to let a lot of people go. Maybe we need to reorganise, whatever. And people look at this golden company, the pinnacle of WordPress, open source, love, family, peace, blah, blah, blah, and they&#8217;re letting people go. And you think, what? They&#8217;re just another business. They were just in it for the money. And they&#8217;re not, but it can feel that way when you&#8217;ve been let go.</p>



<p>And at some point it has to be about the money. If you&#8217;re building a plugin because you love it and you&#8217;re selling it because people need it, that&#8217;s cool. If you&#8217;re running a business and people are depending on you for their livelihoods, you have to make the decisions. You have to do some hard things sometimes. And it&#8217;s never going to be comfortable. And at some point it&#8217;s going to look like you&#8217;re just another company. I&#8217;ve never been in this position, but I think it can be incredibly difficult to maintain a culture that we associate with the stereotype of WordPress community, in a full on company.</p>



<p>[00:27:27] <strong>Nathan Wrigley:</strong> Yeah, I do know exactly what you mean. I think we, let&#8217;s say for example, let&#8217;s go back to Cisco. I used that example a minute ago. Let&#8217;s say that I work for Cisco. It&#8217;s pretty obvious what the goal there is. The goal is to ship loads of units of networking hardware all over the world, and then next year ship more than we ship this year and innovate more and.</p>



<p>[00:27:45] <strong>Topher DeRosia:</strong> And you have investors that are going to hold your feet to the fire.</p>



<p>[00:27:47] <strong>Nathan Wrigley:</strong> Right. Okay, so make money, make the investors happy, make the shareholders happy, and so on. That is so straightforward a bargain. But we in our community have this extra layer underpinning it of this philanthropic bit, which forms the basis of it. It&#8217;s literally the bedrock of it.</p>



<p>And so that whole thing is propping everything else up on top of it, which I genuinely don&#8217;t know how the shifting sands of that all work. We&#8217;ve managed to get through 22 years plus, of that building up slowly over time, there being arguments here, there and everywhere. Minor arguments, some bigger arguments. We&#8217;ve somehow worked it through.</p>



<p>But I don&#8217;t suppose that will ever get perfectly resolved. It&#8217;s going to be just part of the understanding that if you&#8217;re in open source, there&#8217;s a commercial bit. And if you can&#8217;t cope with that, well, that&#8217;s something you&#8217;re going to have to think about and look at. But also there&#8217;s going to be this whole philanthropic side, and that has to carry on and has to be funded, and figured out, and made important and advertised and all of that. I don&#8217;t have the brain to figure all that out, but it&#8217;s part of the jigsaw puzzle.</p>



<p>[00:28:52] <strong>Topher DeRosia:</strong> Yeah. It&#8217;s truly something I&#8217;ve never had to deal with, and I hope I don&#8217;t, the scales of money. I had a job once when I was very young. We&#8217;re at home, we were newly married and money was tight, and we were talking about where to get $20 for groceries and things like that.</p>



<p>And at work I was allocating hardware for new employees and, oh, let&#8217;s pick up two or three extra computers at $4,000 each because we might need them. That scale of money is, it&#8217;s something I&#8217;ve tried to be aware of.</p>



<p>I look at a WordPress plugin company that has employees and I think, oh man, you have so much more money than I do, so much more. And maybe they do, but they also have so many more bills than I do. Just because they have several employees, and they&#8217;re doing well and things look great on Black Friday, doesn&#8217;t mean that they&#8217;re super wealthy or anything.</p>



<p>[00:29:42] <strong>Nathan Wrigley:</strong> Yeah. I genuinely struggle with this component. I don&#8217;t think I&#8217;ll ever resolve it. I&#8217;m just aware that it exists. I&#8217;m aware that there&#8217;s people who are very polemic about it. There are people on the far this side, and there&#8217;s people on the opposite side who maybe are kind of struggling to shout across the gap. But then there&#8217;s people sitting in the middle who are somehow managing to figure it all out, or at least be sanguine about it, and not worrying too much about it. Time will tell. In the year 2026, I&#8217;m sure that it won&#8217;t get figured out, but it will probably carry on.</p>



<p>I&#8217;ve got every hope that WordPress is exciting enough to carry on and that people will continue to use it. So I don&#8217;t worry too much about that. It&#8217;s just more whether or not the two sides of the argument, in an increasingly polemic world, whether the commercial side of WordPress and the non-commercial side of WordPress can figure out some way to walk upon the same path.</p>



<p>[00:30:28] <strong>Topher DeRosia:</strong> There&#8217;s an element to WordPress that I think will carry on, even if it looks like WordPress is starting to fail. And that&#8217;s going to be the earliest people, the smallest contributors. Things have been really shaken up in WordPress in the last year or two, and I have friends who&#8217;ve left the community. And business is getting bigger and WordPress itself is changing. Gutenberg is a big thing now and AI is moving in and all that. So much is changing.</p>



<p>And I have people say, why do you stay? Why do you keep doing WordPress? Specifically, why do I keep doing HeroPress? And I think my experience tells me that there will always be a 17-year-old picking up a computer at the library for the first time and discovering WordPress and starting a new life. And I want to be there for that person.</p>



<p>[00:31:18] <strong>Nathan Wrigley:</strong> Yeah. So it&#8217;s going back to the 17-year-old you as well. You know, that bit that we had earlier where you figured out you had this intuition that there were some things in life which mattered more.</p>



<p>One of the things that I think is really, like it&#8217;s so difficult to square this argument though, the whole thing where you see incredible wealth being generated by WordPress and you see incredible endeavors being put into WordPress by people who are really struggling to make ends meet. And I simply don&#8217;t have the capacity to figure out the solution to that. I cannot square that circle. But that is such a bit of cognitive dissonance that so much wealth is generated, on the one hand, and yet so much of the foundational work is created by people who may be struggling to put food on the table and what have you. And that is really challenging.</p>



<p>[00:32:12] <strong>Topher DeRosia:</strong> Yeah, it is challenging. I don&#8217;t think it&#8217;ll ever be solved. I think it&#8217;s a universal problem of humanity. But similar to other areas, I think WordPress does better than other communities. There have been a bunch of discussions in the past about inclusivity, diversity in the WordPress community. And even people who point out the problems and say, look, we messed up here, this is bad, we need to change it, will say WordPress is probably the best of the IT world. There are problems. It&#8217;s bad. There are things we need to change, but we&#8217;re way ahead.</p>



<p>[00:32:47] <strong>Nathan Wrigley:</strong> Okay, so that&#8217;s a really, sorry to interrupt. I got really caught up in what you just said then. I wasn&#8217;t expecting that to hit me quite as hard as it did. That was really interesting. That sort of sanguine approach to it. It&#8217;s never going to be perfect. We&#8217;re probably going to have division and factional fighting, I&#8217;m going to do air quotes around the word fighting, but you know what I mean, like infighting and what have you. But we do all right. Given how it could be, it&#8217;s okay. These things are just a part of the evolution of it. It&#8217;s a journey, not a destination. Yeah, that was interesting.</p>



<p>[00:33:18] <strong>Topher DeRosia:</strong> We do have to take care though to not rest on our laurels, as it were. To say, oh, you know what? It&#8217;s okay, we&#8217;re better than everybody else, and so we don&#8217;t need to work on it. As soon as we do that, then we will not be better than everybody else.</p>



<p>[00:33:30] <strong>Nathan Wrigley:</strong> And it&#8217;s curious because I think the people that I end up talking to when I attend things like WordCamps have that intuition. I think some, on some innate level, they get the bit that you just said. They know that it&#8217;s not perfect. And they know that work needs to be done. And they&#8217;re there for that thing. They want to fight the good fight, and make it so that this platform is available to the 17-year-old that you just described, so that they can pick this stuff up and publish their own stuff online, and have their own voice, and create their own identity and all of that. And it&#8217;s, yeah, really interesting.</p>



<p>I think I have one more question. So we were talking about the impact of you doing stuff in the open. You obviously did all of that stuff in the open. You did everything, you put everything online, you got HeroPress and all of that kind of stuff. Would you still advocate that in the year 2025, 2026? Do you still think that&#8217;s probably the best way forward?</p>



<p>The reason I&#8217;m asking that is because we see so much out there in the world, beguiling stuff. TikTok, YouTube, all these people getting YouTube famous, making giant amounts of money and all of that kind stuff. They&#8217;re doing it kind of purposefully in order to gain wealth. So it&#8217;s less that philanthropic side.</p>



<p>If you could replay your life, would you do that? Is there any part of you which thinks you&#8217;d go down that route of being the kind of influencer, or are you happy that your life would replay in, if you were the youngster that you were many, many years ago and you were now that youngster, would you still do it the same way, do you think?</p>



<p>[00:35:00] <strong>Topher DeRosia:</strong> I think I would. A couple years ago I did a video tip of the week on HeroPress. It was a video on YouTube. And people would say to me, you know what? It&#8217;s good that you offer this free stuff. You should put something behind a paywall and make money off it. And I think, oh, you know, that&#8217;d be cool. I could make money and pay the bills. But then I think, anything I put behind a paywall is not going to be able to help a 17-year-old who&#8217;s making a dollar a week. And that&#8217;s where my heart is. And I struggle.</p>



<p>I&#8217;m doing a project right now that I would love to tell you about. Over the years, I&#8217;ve done support a lot. And I, early on, made a rule, if I get asked a question more than three times, I&#8217;m making documentation. And so I can just say, oh, here, go check this out. And over the years I&#8217;ve had many clients come back to me three months after I built a site and say, you know, you taught me how to use the WordPress admin and I don&#8217;t remember, can you show me again?</p>



<p>So, I don&#8217;t know, a year ago I thought, I&#8217;m going to make a course for beginners, and it&#8217;s going to have videos that are one minute long about how to make a link, how to put in a picture, how to edit your form. Stuff that we all take for granted every day. But somebody who just got a website three months ago and used it once, they don&#8217;t remember.</p>



<p>So I started down that road. I got MemberPress, I set up a site, and I made a list of videos to make. I was going to sell it to my clients as part of, you know, you bought a website, for an extra X dollars, here&#8217;s all this documentation you can have. A WordPresser at that educational conference said to me, I want to sponsor you to make those videos. You pick the topic, but do it on our hosting platform, just so that our name is there.</p>



<p>And she gave me some money to do it. And she said, I want you to put them on your own YouTube channel. I didn&#8217;t have one. All these years, I didn&#8217;t have my own YouTube channel for my own videos. I want you to put them on your own YouTube channel, and once you get 2000 subscribers, I will pay you for every video you make. Just to put them on my own YouTube channel. I get to pick the topics. It&#8217;s just to get their name out. And I thought, wow, okay.</p>



<p>So I pivoted, rather than make a course behind a paywall, I am doing this thing, but they&#8217;re all going on YouTube. And I started three weeks ago, and I&#8217;m putting up a video Monday, Wednesday, Friday, and I have 57 subscribers.</p>



<p>[00:37:19] <strong>Nathan Wrigley:</strong> There&#8217;s a little road to go. That&#8217;s so nice.</p>



<p>[00:37:23] <strong>Topher DeRosia:</strong> But this goes back to doing stuff in public so that it&#8217;s more significant later. Maybe in a year or two or five, I&#8217;ll have thousands of subscribers. And life experience has shown me that I need to not assume that I&#8217;m going to have thousands of subscribers within a month. That&#8217;s not how this works. You do stuff now, you build your foundation and you grow it. And eventually it gets big.</p>



<p>HeroPress happened that way. You know, I did a few essays, and I did a few more and I did a few more. And then one day I thought, oh, I have 200 essays, and now I have 300. I never set a goal of how many or anything like that. I just did one at a time, and then suddenly there&#8217;s this big site full of stuff.</p>



<p>And so that&#8217;s my current project is to make these videos, helping people figure out how to use WordPress. It&#8217;s not going to be just the beginners, it&#8217;s going to be, well, have a heart for beginners in any area, so I&#8217;m going to do some beginning programming stuff. I&#8217;ve built some cool stuff like WP Podcasts, aggregates podcasts. It wasn&#8217;t hard. It&#8217;s WP All Import, pulling them into the posts type. It&#8217;s not that big a deal. But I can make a 10 minute video on how I did that, and some developer&#8217;s going to go, wow, I never realised you can do this kind of stuff. So I&#8217;m pretty excited about it.</p>



<p>[00:38:40] <strong>Nathan Wrigley:</strong> Yeah, your life seems to represent that kind of long term approach, and I can completely empathise with that. Obviously my thing is podcasting, and I have the same sort of story that I just began it and kept doing it and kept doing it, and people obviously, you know, found that there was something there for them, or they didn&#8217;t.</p>



<p>But there was something that kept that propelled. And now I look back and there&#8217;s a few episodes that I can look back to and, it&#8217;s pretty amazing what that brought in its train. Most of it completely unexpected, most of it never intended, and now podcasting in the WordPress space is kind of what I do.</p>



<p>And it just goes to show, if you do things with the right intention, and you do things for the long game, there is a way to make it work. You know, obviously you&#8217;ve got to keep the wolf from the door, and if you live in a part of the world where it&#8217;s incredibly important that you earn lots of money in order to just meet the bare essentials, then you&#8217;ve obviously got to take care of that at the beginning. But then after that, there&#8217;s these opportunities on top of that to sort of grow who you are, grow the community that we&#8217;re in. And maybe in the long term, over 2, 3, 5, 10, in your case, probably approaching 20 years in the WordPress space, it has an impact. It&#8217;s slowly but surely. Slow and steady wins the game, as they say.</p>



<p>[00:39:57] <strong>Topher DeRosia:</strong> It does, yep.</p>



<p>[00:39:58] <strong>Nathan Wrigley:</strong> In which case, I will say thank you for that conversation. It was very unexpected and really, really powerful in some regard there. You really made me think on a couple of occasions as we were chatting there, and I really appreciate that.</p>



<p>So, Topher, where can we find you if somebody wants to see some of the stuff? You&#8217;ve already mentioned one. It&#8217;s probably topher.how. I don&#8217;t know if that&#8217;s the one you want to drop again.</p>



<p>[00:40:17] <strong>Topher DeRosia:</strong> Yeah, let&#8217;s say topher.how. But if you search Google for Topher1Kenobi, you&#8217;ll find me pretty much everywhere.</p>



<p>[00:40:24] <strong>Nathan Wrigley:</strong> Love that.</p>



<p>[00:40:25] <strong>Topher DeRosia:</strong> I&#8217;ve never found anyone else use that name.</p>



<p>[00:40:26] <strong>Nathan Wrigley:</strong> And it&#8217;s the number one, like the numeral one.</p>



<p>[00:40:29] <strong>Topher DeRosia:</strong> Yeah.</p>



<p>[00:40:30] <strong>Nathan Wrigley:</strong> Not the wan.</p>



<p>[00:40:31] <strong>Topher DeRosia:</strong> My personal blog is at topher1kenobi.com. There&#8217;s HeroPress. I did an episode the other day with Christos Paloukas, and he said, hey, send me your links.</p>



<p>[00:40:40] <strong>Nathan Wrigley:</strong> An essay.</p>



<p>[00:40:40] <strong>Topher DeRosia:</strong> I sent him 15 links.</p>



<p>[00:40:44] <strong>Nathan Wrigley:</strong> Do that to me as well. Whatever you do send me, then I will put them into the show notes. wptavern.com, search for the episode with Topher. It&#8217;s T-O-P-H-E-R. If you just look for that, you&#8217;ll probably find it. And thank you so much for chatting to me today. It was very pleasurable. Thank you.</p>



<p>[00:40:59] <strong>Topher DeRosia:</strong> Yeah, I had a really good time too. Thanks.</p>
</div></details>



<p>On the podcast today we have <a href="https://topher.how">Topher DeRosia</a>.</p>



<p>Topher is a web developer with over 30 years of experience, and he’s been deeply involved in the WordPress community for the past 15 years. He’s attended nearly 80 WordCamps around the world, contributed to projects like HeroPress, and has made it his mission to highlight the power and value of open source and remote work, especially in the WordPress ecosystem.</p>



<p>In this episode, Topher joins me to talk about the value of working in public, and how sharing your work openly can create unexpected and lasting opportunities, whether that’s boosting your career, finding a sense of purpose, or building connections across the globe.</p>



<p>We start with Topher’s personal journey, discovering the WordPress community and the profound impact it had on his life and family. The conversation explores what makes open source communities, like WordPress, so unique, and why working transparently can lead to moments of serendipity, and even job offers from people who have seen your contributions many years before.</p>



<p>Topher shares stories about giving back, the motivation that comes from helping others, and the long-term satisfaction that comes from being generous with your time and expertise.</p>



<p>We also discuss the tension between the philanthropic and commercial aspects of WordPress, and how individuals and companies navigate that balance.</p>



<p>Towards the end, Topher reflects on building a body of work over time, trusting in the slow and organic process instead of seeking instant ‘influencer’ success. He explains why he still chooses to create and share resources for free, motivated by the hope of helping the next person just starting out.</p>



<p>If you’ve ever wondered about the power of sharing your work, finding meaning in open communities, or how to make a difference over the long term, this episode is for you.</p>



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



<p><a href="https://topher.how">Topher.How</a></p>



<p><a href="https://mediaforge.pro">Media Forge Productions</a></p>



<p><a href="https://heropress.com">HeroPress</a></p>



<p><a href="https://heropress.com">Hallway Chats</a></p>



<p><a href="https://heropress.com">WP Photos Info</a></p>



<p><a href="https://wp-wallpaper.com">WP Wallpaper</a></p>



<p><a href="https://topher1kenobe.com">topher1kenobe.com</a></p>



<p><a href="https://www.youtube.com/@topher1kenobe">YouTube</a></p>



<p><a href="https://www.linkedin.com/in/topher1kenobe/">LinkedIn</a></p>



<p><a href="https://fosstodon.org/@topher1kenobe">Mastodon</a></p>



<p><a href="https://bsky.app/profile/topher1kenobe.bsky.social">Bluesky</a></p>



<p><a href="https://www.facebook.com/topher1kenobe">Facebook</a></p>



<p><a href="https://www.last.fm/user/topher1kenobe">Last.fm</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, 03 Dec 2025 15: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: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:118:"Open Channels FM: Empowering WordPress Accessibility with Community, Practical Tools, Education, and Real-World Impact";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:33:"https://openchannels.fm/?p=112396";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:122:"https://openchannels.fm/empowering-wordpress-accessibility-with-community-practical-tools-education-and-real-world-impact/";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:364:"In this episode, host Anne Bovelett sits down with Troy Chaplin, a well-known figure in the WordPress community and an advocate for web accessibility. Together, they dive into the importance of accessibility in web development, sharing personal stories about what sparked their passion for the topic and how it has influenced their careers. You’ll hear [&#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, 03 Dec 2025 10:12:39 +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: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:23:"Matt: State of the Word";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=150742";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:42:"https://ma.tt/2025/12/state-of-the-word-3/";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:461:"<p>Though the stream didn&#8217;t work as we hoped, the recording of this year&#8217;s <a href="https://wordpress.org/state-of-the-word/">State of the Word</a>, which in many ways was our best one yet, <a href="https://www.youtube.com/watch?v=U_DF4-23C8Q">is up now</a>.</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>";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, 03 Dec 2025 07:54:56 +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:44:"WordPress.org blog: WordPress 6.9 “Gene”";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=19398";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://wordpress.org/news/2025/12/gene/";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:76602:"<figure class="wp-block-image size-large"><img alt="WordPress 6.9 Release Edition Featured Image" class="wp-image-19404" height="535" src="https://i0.wp.com/wordpress.org/news/files/2025/12/Release-Edition-Featured-Image-6.9.png?resize=1024%2C535&#038;ssl=1" width="1024" /></figure>



<p>Each WordPress release celebrates an artist who has made an indelible mark on the world of music. WordPress 6.9, code-named “Gene,” honors the American Jazz pianist Gene Harris. </p>



<p>A piano veteran, self taught at the age of six, Harris infused mainstream jazz with elements of soul, blues, and gospel, creating a warm, signature sound that is both elegant and iconic. Harris’ bluesy jazz lived at the intersection of worlds, weaving a rich landscape of texture and mood, with a thread of soulfulness that ignited listeners.</p>



<h2 class="wp-block-heading">Welcome to WordPress 6.9</h2>



<p>WordPress 6.9 brings major upgrades to how teams collaborate and create. The new Notes feature introduces block-level commenting when writing posts and pages that streamlines reviews, while the expanded Command Palette makes it faster for power users to navigate and operate across the entire dashboard. The new Abilities API provides a standardized, machine-readable permissions system that opens the door for next generation AI-powered and automated workflows. This release also delivers notable performance improvements for faster page loads and adds several practical new blocks alongside a more visual drag and drop to help creators build richer, more dynamic content.</p>



<p><a href="https://wordpress.org/wordpress-6.9.zip">Download WordPress 6.9 &#8220;Gene&#8221;</a></p>



<h2 class="wp-block-heading">Introducing Notes: Seamless, Block-Level Collaboration</h2>



<p><strong>Collaborate Smarter</strong> : Leave Feedback Right Where You&#8217;re Working</p>



<p>With notes attached directly to blocks in the post editor, your team can stay aligned, track changes, and turn feedback into action all in one place. Whether you&#8217;re working on copy or refining design in your posts or pages, collaboration happens seamlessly on the canvas itself.</p>



<figure class="wp-block-image size-full"><img alt="View of people interacting with notes in a post." class="wp-image-19428" height="840" src="https://i0.wp.com/wordpress.org/news/files/2025/12/post-notes.png?resize=1360%2C840&#038;ssl=1" width="1360" /></figure>



<h2 class="wp-block-heading">Command Palette Throughout the Dashboard</h2>



<p><strong>Your tools are always at hand.</strong></p>



<p>Access the Command Palette from any part of the dashboard, whether you&#8217;re writing your latest post, deep in design in the Site Editor, or browsing your plugins. Everything you need, just a few keystrokes away.</p>



<figure class="wp-block-image size-full"><img alt="Command palette showing the ability to navigate across different parts of the site, including templates, Settings, and all posts." class="wp-image-19430" height="840" src="https://i0.wp.com/wordpress.org/news/files/2025/12/post-command-palette.png?resize=1360%2C840&#038;ssl=1" width="1360" /></figure>



<h2 class="wp-block-heading">Fit text to container</h2>



<p><strong>Content that adapts.</strong></p>



<p>There&#8217;s a new typography option for text-based blocks that&#8217;s been added to the Paragraph and Heading blocks. This new option automatically adjusts font size to fill its container perfectly, making it ideal for banners, callouts, and standout moments in your design.</p>



<figure class="wp-block-image size-full"><img alt="&quot;Novem&quot; text selected and stretching across the interface." class="wp-image-19431" height="840" src="https://i0.wp.com/wordpress.org/news/files/2025/12/post-fit-text.png?resize=1360%2C840&#038;ssl=1" width="1360" /></figure>



<h2 class="wp-block-heading">The Abilities API</h2>



<p><strong>Unlocking the next generation of site interactions.</strong></p>



<p>WordPress 6.9 lays the groundwork for the future of automation with the unified Abilities API. By creating a standardized registry for site functionality, developers can now register, validate, and execute actions consistently across any context—from PHP and REST endpoints to AI agents—paving the way for smarter, more connected WordPress experiences.</p>



<figure class="wp-block-image size-large"><img alt="Abstract view of circles around a plugin icon with sparkles, indicating AI functionality." class="wp-image-19432" height="632" src="https://i0.wp.com/wordpress.org/news/files/2025/12/abilities-api.png?resize=1024%2C632&#038;ssl=1" width="1024" /></figure>



<h2 class="wp-block-heading">Accessibility Improvements</h2>



<p>More than 30 accessibility fixes sharpen the core WordPress experience. These updates improve screen reader announcements, hide unnecessary CSS-generated content from assistive tech, fix cursor placement issues, and make sure typing focus stays put even when users click an autocomplete suggestion.</p>



<h2 class="wp-block-heading">Performance enhancements</h2>



<p>WordPress 6.9 delivers significant frontend performance enhancements, optimizing the site loading experience for visitors. 6.9 boasts an improved LCP (Largest Contentful Paint) through on-demand block styles for classic themes, minifying block theme styles, and increasing the limit for inline styles &#8211; removing blockages to page rendering and clearing the rendering path by deprioritizing non-critical scripts. This release comes with many more performance boosts, including optimized database queries, refined caching, improved spawning of WP Cron, and a new template enhancement output buffer that opens the door for more future optimizations.</p>



<h3 class="wp-block-heading">And much more</h3>



<p>For a comprehensive overview of all the new features and enhancements in WordPress 6.9, please visit the feature-showcase website.</p>



<p><a href="https://wordpress.org/download/releases/6-9">Check out What&#8217;s New</a></p>



<h2 class="wp-block-heading">Learn more about WordPress 6.9</h2>



<p><a href="https://learn.wordpress.org/">Learn WordPress</a> is a free resource for new and experienced WordPress users. Learn is stocked with how-to videos on using various features in WordPress, <a href="https://learn.wordpress.org/social-learning/">interactive workshops</a> for exploring topics in-depth, and lesson plans for diving deep into specific areas of WordPress.</p>



<p>Read the <a href="https://wordpress.org/documentation/wordpress-version/version-6.9">WordPress 6.9 Release Notes</a> for information on installation, enhancements, fixed issues, release contributors, learning resources, and the list of file changes.</p>



<p>Explore the <a href="https://make.wordpress.org/core/wordpress-6-9-field-guide/">WordPress 6.9 Field Guide</a>. Learn about the changes in this release with detailed developer notes to help you build with WordPress.</p>



<h2 class="wp-block-heading">The 6.9 release squad</h2>



<p>Every release comes to you from a dedicated team of enthusiastic contributors who help keep things on track and moving smoothly. The team that has led 6.9 is a cross-functional group of contributors who are always ready to champion ideas, remove blockers, and resolve issues.</p>



<ul class="wp-block-list">
<li>Release Lead: <a href="https://profiles.wordpress.org/matt/">Matt Mullenweg</a></li>



<li>Release Coordination: <a href="https://profiles.wordpress.org/akshayar/">Akshaya Rane</a>, <a href="https://profiles.wordpress.org/amykamala/">Amy Kamala</a></li>



<li>Tech Leads: <a href="https://profiles.wordpress.org/davidbaumwald/">David Baumwald</a>, <a href="https://profiles.wordpress.org/ellatrix/">Ella van Durpe</a>, <a href="https://profiles.wordpress.org/priethor/">Héctor Prieto</a></li>



<li>Design Lead: <a href="https://profiles.wordpress.org/fcoveram/">Francisco Vera</a></li>



<li>Triage Leads: <a href="https://profiles.wordpress.org/wildworks/">Aki Hamano</a>, <a href="https://profiles.wordpress.org/welcher/">Ryan Welcher</a></li>



<li>Test Leads: <a href="https://profiles.wordpress.org/psykro/">Jonathan Bossenger</a>, <a href="https://profiles.wordpress.org/krupajnanda/">Krupa Nanda</a></li>
</ul>



<h2 class="wp-block-heading">Thank you, contributors</h2>



<p>The mission of WordPress is to <a href="https://wordpress.org/about/">democratize publishing</a> and embody the <a href="https://opensource.org/osd-annotated">freedoms that come with open source</a>. A global and diverse community of people collaborating to strengthen the software supports this effort.</p>



<p>WordPress 6.9 reflects the tireless efforts and passion of more than 900+ contributors in countries all over the world. This release also welcomed over 279 first-time contributors!</p>



<p>Their collaboration delivered more than 340 enhancements and fixes, ensuring a stable release for all &#8211; a testament to the power and capability of the WordPress open source community.</p>



<p class="has-small-font-size"><a href="https://profiles.wordpress.org/o-o/">2046</a> · <a href="https://profiles.wordpress.org/aakashverma1/">Aakash Verma</a> · <a href="https://profiles.wordpress.org/jorbin/">Aaron Jorbin</a> · <a href="https://profiles.wordpress.org/aaronrobertshaw/">Aaron Robertshaw</a> · <a href="https://profiles.wordpress.org/aarti1318/">Aarti Chauhan</a> · <a href="https://profiles.wordpress.org/thehercules/">Aashish Sharma</a> · <a href="https://profiles.wordpress.org/aatospaja/">aatospaja</a> · <a href="https://profiles.wordpress.org/abduremon/">Abdur Rahman Emon</a> · <a href="https://profiles.wordpress.org/hurayraiit/">Abu Hurayra</a> · <a href="https://profiles.wordpress.org/kawauso/">Adam Harley (Kawauso)</a> · <a href="https://profiles.wordpress.org/adamsilverstein/">Adam Silverstein</a> · <a href="https://profiles.wordpress.org/zieladam/">Adam Zieliński</a> · <a href="https://profiles.wordpress.org/adityab98/">Aditya Bansode</a> · <a href="https://profiles.wordpress.org/b1ink0/">Aditya Dhade</a> · <a href="https://profiles.wordpress.org/adityashah2411/">aditya shah</a> · <a href="https://profiles.wordpress.org/iamadisingh/">Aditya Singh</a> · <a href="https://profiles.wordpress.org/aduth/">aduth</a> · <a href="https://profiles.wordpress.org/agulbra/">agulbra</a> · <a href="https://profiles.wordpress.org/elazzabi/">Ahmed</a> · <a href="https://profiles.wordpress.org/ajaxstardust/">ajaxStardust</a> · <a href="https://profiles.wordpress.org/ajitbohra/">Ajit Bohra</a> · <a href="https://profiles.wordpress.org/akanshusingh/">Akanshu Singh</a> · <a href="https://profiles.wordpress.org/akeda/">Akeda Bagus</a> · <a href="https://profiles.wordpress.org/wildworks/">Aki Hamano</a> · <a href="https://profiles.wordpress.org/atachibana/">Akira Tachibana</a> · <a href="https://profiles.wordpress.org/wpfy/">Akramul Hasan</a> · <a href="https://profiles.wordpress.org/akshat2802/">Akshat Kakkad</a> · <a href="https://profiles.wordpress.org/akshaydhere/">Akshay Dhere</a> · <a href="https://profiles.wordpress.org/akshayar/">Akshaya Rane</a> · <a href="https://profiles.wordpress.org/aljullu/">Albert Juh&#233; Lluveras</a> · <a href="https://profiles.wordpress.org/alejandrogonzalvo/">alejandrogonzalvo</a> · <a href="https://profiles.wordpress.org/alexcu21/">Alex Cuadra</a> · <a href="https://profiles.wordpress.org/ajlende/">Alex Lende</a> · <a href="https://profiles.wordpress.org/alexclassroom/">Alex Lion (阿力獅)</a> · <a href="https://profiles.wordpress.org/alexstine/">Alex Stine</a> · <a href="https://profiles.wordpress.org/alexandrebuffet/">Alexandre Buffet</a> · <a href="https://profiles.wordpress.org/alexus450/">Alexei Samarschi</a> · <a href="https://profiles.wordpress.org/alexius08/">Alexis Pandaan</a> · <a href="https://profiles.wordpress.org/alordiel/">alordiel</a> · <a href="https://profiles.wordpress.org/mrfoxtalbot/">Alvaro G&#243;mez</a> · <a href="https://profiles.wordpress.org/alh0319/">Amber Hinds</a> · <a href="https://profiles.wordpress.org/amin7/">Amin</a> · <a href="https://profiles.wordpress.org/theaminuldev/">Aminul Islam</a> · <a href="https://profiles.wordpress.org/aialvi/">Aminul Islam Alvi</a> · <a href="https://profiles.wordpress.org/amitbhosale/">Amit Bhosale</a> · <a href="https://profiles.wordpress.org/amykamala/">Amy Kamala</a> · <a href="https://profiles.wordpress.org/anatolbroder/">Anatol Broder</a> · <a href="https://profiles.wordpress.org/anlino/">Anders Nor&#233;n</a> · <a href="https://profiles.wordpress.org/afercia/">Andrea Fercia</a> · <a href="https://profiles.wordpress.org/awetz583/">Andrea Roenning</a> · <a href="https://profiles.wordpress.org/andraganescu/">Andrei Draganescu</a> · <a href="https://profiles.wordpress.org/andrewhoyer/">Andrew Hoyer</a> · <a href="https://profiles.wordpress.org/nacin/">Andrew Nacin</a> · <a href="https://profiles.wordpress.org/azaozz/">Andrew Ozz</a> · <a href="https://profiles.wordpress.org/andrewserong/">Andrew Serong</a> · <a href="https://profiles.wordpress.org/oandregal/">André Maneiro</a> · <a href="https://profiles.wordpress.org/afragen/">Andy Fragen</a> · <a href="https://profiles.wordpress.org/mymothersdaughter/">Anita C</a> · <a href="https://profiles.wordpress.org/ankit-k-gupta/">Ankit K Gupta</a> · <a href="https://profiles.wordpress.org/ankitkumarshah/">Ankit Kumar Shah</a> · <a href="https://profiles.wordpress.org/ankitmaru/">Ankit Panchal</a> · <a href="https://profiles.wordpress.org/annezazu/">Anne McCarthy</a> · <a href="https://profiles.wordpress.org/annebovelett/">Anne-Mieke Bovelett</a> · <a href="https://profiles.wordpress.org/antonvlasenko/">Anton Vlasenko</a> · <a href="https://profiles.wordpress.org/antoniosejas/">Antonio Sejas</a> · <a href="https://profiles.wordpress.org/anujrathore24/">Anuj Singh</a> · <a href="https://profiles.wordpress.org/anveshika/">Anveshika Srivastava</a> · <a href="https://profiles.wordpress.org/apmeyer/">apmeyer</a> · <a href="https://profiles.wordpress.org/aristath/">Ari Stathopoulos</a> · <a href="https://profiles.wordpress.org/fliespl/">Arkadiusz Rzadkowolski</a> · <a href="https://profiles.wordpress.org/armandovias/">Armando</a> · <a href="https://profiles.wordpress.org/artemiosans/">Artemio Morales</a> · <a href="https://profiles.wordpress.org/arthur791004/">Arthur Chu</a> · <a href="https://profiles.wordpress.org/artpi/">Artur Piszek</a> · <a href="https://profiles.wordpress.org/artz91/">ArtZ91</a> · <a href="https://profiles.wordpress.org/asafm7/">asafm7</a> · <a href="https://profiles.wordpress.org/asdofindia/">asdofindia</a> · <a href="https://profiles.wordpress.org/ashfame/">Ashish Kumar (Ashfame)</a> · <a href="https://profiles.wordpress.org/akashdev/">Ashraful Haque Akash</a> · <a href="https://profiles.wordpress.org/askapache/">askapache</a> · <a href="https://profiles.wordpress.org/aslamdoctor/">Aslam Doctor</a> · <a href="https://profiles.wordpress.org/aurooba/">Aurooba Ahmed</a> · <a href="https://profiles.wordpress.org/aut0poietic/">aut0poietic</a> · <a href="https://profiles.wordpress.org/aksl95/">Axel DUCORON</a> · <a href="https://profiles.wordpress.org/ayeshrajans/">Ayesh Karunaratne</a> · <a href="https://profiles.wordpress.org/azharderaiya/">Azhar Deraiya</a> · <a href="https://profiles.wordpress.org/beryldlg/">B&#233;ryl de La Grandi&#232;re</a> · <a href="https://profiles.wordpress.org/bartnv/">bartnv</a> · <a href="https://profiles.wordpress.org/bchecketts/">bchecketts</a> · <a href="https://profiles.wordpress.org/beee/">Beee</a> · <a href="https://profiles.wordpress.org/scruffian/">Ben Dwyer</a> · <a href="https://profiles.wordpress.org/benazeer/">Benazeer</a> · <a href="https://profiles.wordpress.org/rainbowgeek/">Benjamin Denis</a> · <a href="https://profiles.wordpress.org/benjamin_zekavica/">Benjamin Zekavica</a> · <a href="https://profiles.wordpress.org/bvl/">Benny</a> · <a href="https://profiles.wordpress.org/benoitchantre/">Benoit Chantre</a> · <a href="https://profiles.wordpress.org/kau-boy/">Bernhard Kau</a> · <a href="https://profiles.wordpress.org/bernhard reiter/">Bernhard Reiter</a> · <a href="https://profiles.wordpress.org/bernhard-reiter/">bernhard-reiter</a> · <a href="https://profiles.wordpress.org/bgermann/">bgermann</a> · <a href="https://profiles.wordpress.org/bhattaganesh/">bhattaganesh</a> · <a href="https://profiles.wordpress.org/bhaveshdesai/">Bhavesh Desai</a> · <a href="https://profiles.wordpress.org/bidbmak/">BiDbMAK</a> · <a href="https://profiles.wordpress.org/mbigul/">Bigul Malayi</a> · <a href="https://profiles.wordpress.org/birgire/">Birgir Erlendsson (birgire)</a> · <a href="https://profiles.wordpress.org/bph/">Birgit Pauli-Haack</a> · <a href="https://profiles.wordpress.org/rainynewt/">Bishal Shrestha</a> · <a href="https://profiles.wordpress.org/bobbyleenoblestudios/">bobbyleenoblestudios</a> · <a href="https://profiles.wordpress.org/bogdanungureanu/">BogdanUngureanu</a> · <a href="https://profiles.wordpress.org/gitlost/">bonger</a> · <a href="https://profiles.wordpress.org/bor0/">Boro Sitnikovski</a> · <a href="https://profiles.wordpress.org/burlesonbrad/">Brad Griffin</a> · <a href="https://profiles.wordpress.org/bradley2083/">brad hogan</a> · <a href="https://profiles.wordpress.org/bjorsch/">Brad Jorsch</a> · <a href="https://profiles.wordpress.org/bradshawtm/">bradshawtm</a> · <a href="https://profiles.wordpress.org/bhubbard/">Brandon Hubbard</a> · <a href="https://profiles.wordpress.org/kraftbj/">Brandon Kraft</a> · <a href="https://profiles.wordpress.org/heybran/">Brandon Zhang</a> · <a href="https://profiles.wordpress.org/bgoewert/">Brennan Goewert</a> · <a href="https://profiles.wordpress.org/brhodes/">brhodes</a> · <a href="https://profiles.wordpress.org/ironprogrammer/">Brian Alexander</a> · <a href="https://profiles.wordpress.org/bacoords/">Brian Coords</a> · <a href="https://profiles.wordpress.org/bgardner/">Brian Gardner</a> · <a href="https://profiles.wordpress.org/masteradhoc/">Brian Haas</a> · <a href="https://profiles.wordpress.org/brumack/">brumack</a> · <a href="https://profiles.wordpress.org/bschneidewind/">Bryan Schneidewind</a> · <a href="https://profiles.wordpress.org/bshuchter/">bshuchter</a> · <a href="https://profiles.wordpress.org/burnuser/">burnuser</a> · <a href="https://profiles.wordpress.org/byteninjaa0/">byteninjaa0</a> · <a href="https://profiles.wordpress.org/cedche99/">C&#233;dric Chevillard</a> · <a href="https://profiles.wordpress.org/callumbw95/">Callum Bridgford-Whittick</a> · <a href="https://profiles.wordpress.org/snicco/">Calvin Alkan</a> · <a href="https://profiles.wordpress.org/karl94/">Carlo Cannas</a> · <a href="https://profiles.wordpress.org/cbravobernal/">Carlos Bravo</a> · <a href="https://profiles.wordpress.org/carlosgprim/">Carlos G. P.</a> · <a href="https://profiles.wordpress.org/carlsteffen/">CarlSteffen</a> · <a href="https://profiles.wordpress.org/poena/">Carolina Nymark</a> · <a href="https://profiles.wordpress.org/corazondejaguar/">Carolina Romo</a> · <a href="https://profiles.wordpress.org/ciobanucatalin/">Catalin Ciobanu</a> · <a href="https://profiles.wordpress.org/catgofire/">catgofire</a> · <a href="https://profiles.wordpress.org/cbirdsong/">cbirdsong</a> · <a href="https://profiles.wordpress.org/ccharel/">ccharel</a> · <a href="https://profiles.wordpress.org/cbutlerjr/">Chad Butler</a> · <a href="https://profiles.wordpress.org/shireling/">Chad Chadbourne</a> · <a href="https://profiles.wordpress.org/cherrygot/">Chakrapani Gautam</a> · <a href="https://profiles.wordpress.org/chihsuan/">Chi-Hsuan Huang</a> · <a href="https://profiles.wordpress.org/chillifish/">Chillifish</a> · <a href="https://profiles.wordpress.org/chloed/">ChloeD</a> · <a href="https://profiles.wordpress.org/chouby/">Chouby</a> · <a href="https://profiles.wordpress.org/czarate/">Chris Zarate</a> · <a href="https://profiles.wordpress.org/chriscct7/">chriscct7</a> · <a href="https://profiles.wordpress.org/chrisdotdotdot/">chrisdotdotdot</a> · <a href="https://profiles.wordpress.org/chrismattix/">chrismattix</a> · <a href="https://profiles.wordpress.org/christinecooper/">christinecooper</a> · <a href="https://profiles.wordpress.org/apermo/">Christoph Daum</a> · <a href="https://profiles.wordpress.org/nyiriland/">Christy Nyiri</a> · <a href="https://profiles.wordpress.org/cikrimcin/">cikrimcin</a> · <a href="https://profiles.wordpress.org/butterflymedia/">Ciprian Popescu</a> · <a href="https://profiles.wordpress.org/chrisvendiadvertisingcom/">cjhaas</a> · <a href="https://profiles.wordpress.org/ckoerner/">ckoerner</a> · <a href="https://profiles.wordpress.org/claimableperch/">claimableperch</a> · <a href="https://profiles.wordpress.org/codeamp/">Code Amp</a> · <a href="https://profiles.wordpress.org/codebuddy/">codebuddy</a> · <a href="https://profiles.wordpress.org/coleatkinson1/">coleatkinson1</a> · <a href="https://profiles.wordpress.org/costdev/">Colin Stewart</a> · <a href="https://profiles.wordpress.org/colind/">ColinD</a> · <a href="https://profiles.wordpress.org/ogrecooper/">Cooper Dalrymple</a> · <a href="https://profiles.wordpress.org/coralietixeront/">Coralie Tixeront</a> · <a href="https://profiles.wordpress.org/salzano/">Corey Salzano</a> · <a href="https://profiles.wordpress.org/coreyw/">Corey Worrell</a> · <a href="https://profiles.wordpress.org/cornwell/">Cornwell</a> · <a href="https://profiles.wordpress.org/cr0ybot/">Cory Hughart</a> · <a href="https://profiles.wordpress.org/courane01/">Courtney Robertson</a> · <a href="https://profiles.wordpress.org/cucocreative/">cucocreative</a> · <a href="https://profiles.wordpress.org/cwhitmore/">Cullen Whitmore</a> · <a href="https://profiles.wordpress.org/cyrille37/">Cyrille37</a> · <a href="https://profiles.wordpress.org/daanvandenbergh/">Daan van den Bergh</a> · <a href="https://profiles.wordpress.org/acketon/">Dakota Chichester</a> · <a href="https://profiles.wordpress.org/damchtlv/">damchtlv</a> · <a href="https://profiles.wordpress.org/damir-webthemer/">Damir</a> · <a href="https://profiles.wordpress.org/colorful-tones/">Damon Cook</a> · <a href="https://profiles.wordpress.org/dancameron/">Dan Cameron</a> · <a href="https://profiles.wordpress.org/danielpw/">Dan Waldschmidt</a> · <a href="https://profiles.wordpress.org/danielbachhuber/">Daniel Bachhuber</a> · <a href="https://profiles.wordpress.org/danieliser/">Daniel Iser</a> · <a href="https://profiles.wordpress.org/talldanwp/">Daniel Richards</a> · <a href="https://profiles.wordpress.org/mte90/">Daniele Scasciafratte</a> · <a href="https://profiles.wordpress.org/daniellacatus/">daniellacatus</a> · <a href="https://profiles.wordpress.org/danielmorell/">danielmorell</a> · <a href="https://profiles.wordpress.org/dscqbus/">Danny Schmarsel</a> · <a href="https://profiles.wordpress.org/dannyreaktiv/">dannyreaktiv</a> · <a href="https://profiles.wordpress.org/nerrad/">Darren Ethier (nerrad)</a> · <a href="https://profiles.wordpress.org/darshitrajyaguru97/">Darshit Rajyaguru</a> · <a href="https://profiles.wordpress.org/dryanpress/">Dave Ryan</a> · <a href="https://profiles.wordpress.org/daveguitaruno/">daveguitaruno</a> · <a href="https://profiles.wordpress.org/davilera/">David Aguilera</a> · <a href="https://profiles.wordpress.org/darerodz/">David Arenas</a> · <a href="https://profiles.wordpress.org/dartiss/">David Artiss</a> · <a href="https://profiles.wordpress.org/davidbaumwald/">David Baumwald</a> · <a href="https://profiles.wordpress.org/dpcalhoun/">David Calhoun</a> · <a href="https://profiles.wordpress.org/dlh/">David Herrera</a> · <a href="https://profiles.wordpress.org/justlevine/">David Levine</a> · <a href="https://profiles.wordpress.org/davidperez/">David Perez</a> · <a href="https://profiles.wordpress.org/djivad/">David Riviera</a> · <a href="https://profiles.wordpress.org/get_dave/">David Smith</a> · <a href="https://profiles.wordpress.org/davidb/">DavidB</a> · <a href="https://profiles.wordpress.org/dawidadach/">dawidadach</a> · <a href="https://profiles.wordpress.org/dsas/">Dean Sas</a> · <a href="https://profiles.wordpress.org/dkarfa/">Debabrata Karfa</a> · <a href="https://profiles.wordpress.org/debarghyabanerjee/">DEBARGHYA BANERJEE</a> · <a href="https://profiles.wordpress.org/denis-de-bernardy/">Denis de Bernardy</a> · <a href="https://profiles.wordpress.org/dingo_d/">Denis Žoljom</a> · <a href="https://profiles.wordpress.org/realloc/">Dennis Ploetner</a> · <a href="https://profiles.wordpress.org/dmsnell/">Dennis Snell</a> · <a href="https://profiles.wordpress.org/dennysdionigi/">Dennys Dionigi</a> · <a href="https://profiles.wordpress.org/densinakum/">Densi Nakum</a> · <a href="https://profiles.wordpress.org/derekherman/">derekherman</a> · <a href="https://profiles.wordpress.org/devasheeshkaul/">Devasheesh Kaul</a> · <a href="https://profiles.wordpress.org/dhananjaykuber/">Dhananjay Kuber</a> · <a href="https://profiles.wordpress.org/dhrumilk/">Dhrumil Kumbhani</a> · <a href="https://profiles.wordpress.org/dhruval04/">Dhruval Shah</a> · <a href="https://profiles.wordpress.org/dhruvang21/">Dhruvang21</a> · <a href="https://profiles.wordpress.org/dhruvik18/">Dhruvik Malaviya</a> · <a href="https://profiles.wordpress.org/diebombe/">diebombe</a> · <a href="https://profiles.wordpress.org/dilipbheda/">Dilip Bheda</a> · <a href="https://profiles.wordpress.org/dilip2615/">Dilip Modhavadiya</a> · <a href="https://profiles.wordpress.org/dd32/">Dion Hulse</a> · <a href="https://profiles.wordpress.org/divinenephron/">divinenephron</a> · <a href="https://profiles.wordpress.org/djcowan/">dj.cowan</a> · <a href="https://profiles.wordpress.org/ocean90/">Dominik Schilling</a> · <a href="https://profiles.wordpress.org/dominiquepijnenburg/">dominiquepijnenburg</a> · <a href="https://profiles.wordpress.org/donalirl/">donalirl</a> · <a href="https://profiles.wordpress.org/doughamlin/">doughamlin</a> · <a href="https://profiles.wordpress.org/dougmelvin/">DougMelvin</a> · <a href="https://profiles.wordpress.org/drawcard/">drawcard</a> · <a href="https://profiles.wordpress.org/dretzlaff/">dretzlaff</a> · <a href="https://profiles.wordpress.org/drewapicture/">Drew Jaynes</a> · <a href="https://profiles.wordpress.org/drivingralle/">Drivingralle</a> · <a href="https://profiles.wordpress.org/dsawyers/">dsawyers</a> · <a href="https://profiles.wordpress.org/dustintechsmith/">dustintechsmith</a> · <a href="https://profiles.wordpress.org/eclev91/">eclev91</a> · <a href="https://profiles.wordpress.org/eduwass/">eduwass</a> · <a href="https://profiles.wordpress.org/ehti/">Ehti</a> · <a href="https://profiles.wordpress.org/elialum/">elialum</a> · <a href="https://profiles.wordpress.org/eliezerspp/">Eliezer Pe&#241;a</a> · <a href="https://profiles.wordpress.org/ellatrix/">Ella van Durpe</a> · <a href="https://profiles.wordpress.org/elvismdev/">Elvis Morales</a> · <a href="https://profiles.wordpress.org/emaildano/">emaildano</a> · <a href="https://profiles.wordpress.org/codex-m/">Emerson Maningo</a> · <a href="https://profiles.wordpress.org/emlebrun/">Emilie LEBRUN</a> · <a href="https://profiles.wordpress.org/emranahmed/">Emran Ahmed</a> · <a href="https://profiles.wordpress.org/enaanfarhan/">Enaan Farhan</a> · <a href="https://profiles.wordpress.org/lopo/">Enrico Battocchi</a> · <a href="https://profiles.wordpress.org/nrqsnchz/">Enrique S&#225;nchez</a> · <a href="https://profiles.wordpress.org/epeicher/">epeicher</a> · <a href="https://profiles.wordpress.org/ekazda/">Eric</a> · <a href="https://profiles.wordpress.org/ericlewis/">Eric Andrew Lewis</a> · <a href="https://profiles.wordpress.org/ethitter/">Erick Hitter</a> · <a href="https://profiles.wordpress.org/kebbet/">Erik</a> · <a href="https://profiles.wordpress.org/ejoling/">Erik Joling</a> · <a href="https://profiles.wordpress.org/im3dabasia1/">Eshaan Dabasiya</a> · <a href="https://profiles.wordpress.org/ethanscorey/">ethanscorey</a> · <a href="https://profiles.wordpress.org/circlecube/">Evan Mullins</a> · <a href="https://profiles.wordpress.org/etobiesen/">Even Tobiesen</a> · <a href="https://profiles.wordpress.org/fabiankaegy/">Fabian Kägy</a> · <a href="https://profiles.wordpress.org/gaambo/">Fabian Todt</a> · <a href="https://profiles.wordpress.org/faisalahammad/">Faisal Ahammad</a> · <a href="https://profiles.wordpress.org/faisal03/">Faisal Alvi</a> · <a href="https://profiles.wordpress.org/fakhriaz/">fakhriaz</a> · <a href="https://profiles.wordpress.org/falgunihdesai/">Falguni Desai</a> · <a href="https://profiles.wordpress.org/flixos90/">Felix Arntz</a> · <a href="https://profiles.wordpress.org/ffffelix/">Felix Renicks</a> · <a href="https://profiles.wordpress.org/fellyph/">Fellyph Cintra</a> · <a href="https://profiles.wordpress.org/mista-flo/">Florian TIAR</a> · <a href="https://profiles.wordpress.org/fcoveram/">Francisco Vera</a> · <a href="https://profiles.wordpress.org/frogdesk/">FrogDesk Strategy</a> · <a href="https://profiles.wordpress.org/takahashi_fumiki/">Fumiki Takahashi</a> · <a href="https://profiles.wordpress.org/gaeldenysiak/">Gael Denysiak</a> · <a href="https://profiles.wordpress.org/gajendrasingh/">Gajendra Singh</a> · <a href="https://profiles.wordpress.org/ecgan/">Gan Eng Chin</a> · <a href="https://profiles.wordpress.org/garrett-eclipse/">Garrett Hyder</a> · <a href="https://profiles.wordpress.org/garyj/">Gary Jones</a> · <a href="https://profiles.wordpress.org/pento/">Gary Pendergast</a> · <a href="https://profiles.wordpress.org/guddu1315/">Gaurang Dabhi</a> · <a href="https://profiles.wordpress.org/gautam23/">Gautam Mehta</a> · <a href="https://profiles.wordpress.org/soulseekah/">Gennady Kovshenin</a> · <a href="https://profiles.wordpress.org/mamaduka/">George Mamadashvili</a> · <a href="https://profiles.wordpress.org/georgestephanis/">George Stephanis</a> · <a href="https://profiles.wordpress.org/stoyanovgs/">Georgi Stoyanov</a> · <a href="https://profiles.wordpress.org/gernberg/">gernberg</a> · <a href="https://profiles.wordpress.org/giuliorubelli/">giuliorubelli</a> · <a href="https://profiles.wordpress.org/glendaviesnz/">Glen Davies</a> · <a href="https://profiles.wordpress.org/ingeniumed/">Gopal Krishnan</a> · <a href="https://profiles.wordpress.org/grantmkin/">Grant M. Kinney</a> · <a href="https://profiles.wordpress.org/gziolo/">Greg Ziółkowski</a> · <a href="https://profiles.wordpress.org/guido07111975/">Guido</a> · <a href="https://profiles.wordpress.org/wido/">Guido Scialfa</a> · <a href="https://profiles.wordpress.org/guillaumeturpin/">Guillaume TURPIN</a> · <a href="https://profiles.wordpress.org/gulamdastgir04/">Gulamdastgir Momin</a> · <a href="https://profiles.wordpress.org/adrock42/">H. Adam Lenz</a> · <a href="https://profiles.wordpress.org/kabir93/">H. Kabir</a> · <a href="https://profiles.wordpress.org/hanimbarek/">hanimbarek</a> · <a href="https://profiles.wordpress.org/hanneslsm/">hanneslsm</a> · <a href="https://profiles.wordpress.org/hage/">Hans-Gerd Gerhards</a> · <a href="https://profiles.wordpress.org/hardik2221/">Hardik Raval</a> · <a href="https://profiles.wordpress.org/hareesh-pillai/">Hareesh S</a> · <a href="https://profiles.wordpress.org/harshgajipara/">Harsh Gajipara</a> · <a href="https://profiles.wordpress.org/harshalkadu/">Harshal Kadu</a> · <a href="https://profiles.wordpress.org/harshbhonsle08/">harshbhonsle08</a> · <a href="https://profiles.wordpress.org/harshdeepgill/">harshdeepgill</a> · <a href="https://profiles.wordpress.org/haruncpi/">Harun</a> · <a href="https://profiles.wordpress.org/helen/">Helen Hou-Sandi</a> · <a href="https://profiles.wordpress.org/helgatheviking/">HelgaTheViking</a> · <a href="https://profiles.wordpress.org/hideishi/">Hidenori ISHIKAWA</a> · <a href="https://profiles.wordpress.org/hilayt24/">Hilay Trivedi</a> · <a href="https://profiles.wordpress.org/panchalhimani711/">Himani Panchal</a> · <a href="https://profiles.wordpress.org/abcd95/">Himanshu Pathak</a> · <a href="https://profiles.wordpress.org/hiroshisato/">Hiroshi Sato</a> · <a href="https://profiles.wordpress.org/hbhalodia/">Hit Bhalodia</a> · <a href="https://profiles.wordpress.org/hitendra-chopda/">Hitendra Chopda</a> · <a href="https://profiles.wordpress.org/hiteshtalpada/">Hitesh Talpada</a> · <a href="https://profiles.wordpress.org/hozefasmile/">Hozefa Saleh</a> · <a href="https://profiles.wordpress.org/hrohh/">Hrohh</a> · <a href="https://profiles.wordpress.org/hugod/">hugod</a> · <a href="https://profiles.wordpress.org/hugosolar/">hugosolar</a> · <a href="https://profiles.wordpress.org/humanify/">humanify</a> · <a href="https://profiles.wordpress.org/huubl/">huubl</a> · <a href="https://profiles.wordpress.org/huzaifaalmesbah/">Huzaifa Al Mesbah</a> · <a href="https://profiles.wordpress.org/priethor/">Héctor Prieto</a> · <a href="https://profiles.wordpress.org/iandunn/">Ian Dunn</a> · <a href="https://profiles.wordpress.org/ignatiusjeroe/">ignatiusjeroe</a> · <a href="https://profiles.wordpress.org/igorradovanov/">Igor Radovanov</a> · <a href="https://profiles.wordpress.org/ikriv/">ikriv</a> · <a href="https://profiles.wordpress.org/imokweb/">imokweb</a> · <a href="https://profiles.wordpress.org/imranhasanraaz/">Imran</a> · <a href="https://profiles.wordpress.org/indirabiswas27/">Indira Biswas</a> · <a href="https://profiles.wordpress.org/ipstenu/">Ipstenu (Mika Epstein)</a> · <a href="https://profiles.wordpress.org/iqbal1hossain/">Iqbal Hossain</a> · <a href="https://profiles.wordpress.org/isabel_brison/">Isabel Brison</a> · <a href="https://profiles.wordpress.org/ishikaatxecurify/">Ishika Bansal</a> · <a href="https://profiles.wordpress.org/ivanottinger/">Ivan Ottinger</a> · <a href="https://profiles.wordpress.org/jabe/">Jabe</a> · <a href="https://profiles.wordpress.org/jacobcassidy/">Jacob Cassidy</a> · <a href="https://profiles.wordpress.org/jagirbahesh/">Jagir Bahesh</a> · <a href="https://profiles.wordpress.org/jaiminp/">Jaimin Prajapati</a> · <a href="https://profiles.wordpress.org/jakariaistauk/">Jakaria Istauk</a> · <a href="https://profiles.wordpress.org/whyisjake/">Jake Spurlock</a> · <a href="https://profiles.wordpress.org/jakeparis/">jakeparis</a> · <a href="https://profiles.wordpress.org/jameskoster/">James Koster</a> · <a href="https://profiles.wordpress.org/isotropic/">James LePage</a> · <a href="https://profiles.wordpress.org/jhmonroe/">James Monroe</a> · <a href="https://profiles.wordpress.org/q0rban/">James Sansbury</a> · <a href="https://profiles.wordpress.org/jamestitus299/">James Titus</a> · <a href="https://profiles.wordpress.org/codente/">Jamie</a> · <a href="https://profiles.wordpress.org/jamieburchell/">Jamie Burchell</a> · <a href="https://profiles.wordpress.org/jamesmarsland/">Jamie Marsland</a> · <a href="https://profiles.wordpress.org/janthiel/">janthiel</a> · <a href="https://profiles.wordpress.org/jsnajdr/">Jarda Snajdr</a> · <a href="https://profiles.wordpress.org/jarekmorawski/">jarekmorawski</a> · <a href="https://profiles.wordpress.org/jasalt/">Jarkko Saltiola</a> · <a href="https://profiles.wordpress.org/jason_the_adams/">Jason Adams</a> · <a href="https://profiles.wordpress.org/madtownlems/">Jason LeMahieu (MadtownLems)</a> · <a href="https://profiles.wordpress.org/jasonsa19/">Jason Sauerwald</a> · <a href="https://profiles.wordpress.org/javiercasares/">Javier Casares</a> · <a href="https://profiles.wordpress.org/jonmcpartland/">Jay McPartland</a> · <a href="https://profiles.wordpress.org/shovan_jaya/">Jayaram</a> · <a href="https://profiles.wordpress.org/jdahir0789/">Jaydip</a> · <a href="https://profiles.wordpress.org/audrasjb/">Jean-Baptiste Audras</a> · <a href="https://profiles.wordpress.org/krokodok/">Jeff Chi</a> · <a href="https://profiles.wordpress.org/jeffmatson/">Jeff Matson</a> · <a href="https://profiles.wordpress.org/jffng/">Jeff Ong</a> · <a href="https://profiles.wordpress.org/jeffpaul/">Jeff Paul</a> · <a href="https://profiles.wordpress.org/cheffheid/">Jeffrey de Wit</a> · <a href="https://profiles.wordpress.org/jeffr0/">Jeffro</a> · <a href="https://profiles.wordpress.org/jeflopodev/">jeflopo</a> · <a href="https://profiles.wordpress.org/jdy68/">Jenny Dupuy</a> · <a href="https://profiles.wordpress.org/jeremiahbratton/">Jeremiah Bratton</a> · <a href="https://profiles.wordpress.org/jeremyfelt/">Jeremy Felt</a> · <a href="https://profiles.wordpress.org/jkmassel/">Jeremy Massel</a> · <a href="https://profiles.wordpress.org/slimndap/">Jeroen Schmit</a> · <a href="https://profiles.wordpress.org/jeryj/">jeryj</a> · <a href="https://profiles.wordpress.org/jesin/">Jesin A</a> · <a href="https://profiles.wordpress.org/jessedyck/">jessedyck</a> · <a href="https://profiles.wordpress.org/luminuu/">Jessica Lyschik</a> · <a href="https://profiles.wordpress.org/jigar-bhanushali/">Jigar Bhanushali</a> · <a href="https://profiles.wordpress.org/jigar9998/">Jigar Panchal</a> · <a href="https://profiles.wordpress.org/jikamens/">jikamens</a> · <a href="https://profiles.wordpress.org/jnweaver/">jnweaver</a> · <a href="https://profiles.wordpress.org/jojo256/">Joan Namunina</a> · <a href="https://profiles.wordpress.org/jobata/">JoAnne Obata</a> · <a href="https://profiles.wordpress.org/jochent/">JochenT</a> · <a href="https://profiles.wordpress.org/jodamo5/">jodamo5</a> · <a href="https://profiles.wordpress.org/joedolson/">Joe Dolson</a> · <a href="https://profiles.wordpress.org/joehoyle/">Joe Hoyle</a> · <a href="https://profiles.wordpress.org/joemcgill/">Joe McGill</a> · <a href="https://profiles.wordpress.org/joen/">Joen Asmussen</a> · <a href="https://profiles.wordpress.org/timse201/">Johannes J&#252;lg</a> · <a href="https://profiles.wordpress.org/johnbillion/">John Blackbourn</a> · <a href="https://profiles.wordpress.org/brandbrilliance/">John Brand</a> · <a href="https://profiles.wordpress.org/johnny5/">John Godley</a> · <a href="https://profiles.wordpress.org/johnjamesjacoby/">John James Jacoby</a> · <a href="https://profiles.wordpress.org/mindctrl/">John Parris</a> · <a href="https://profiles.wordpress.org/johnregan3/">John Regan</a> · <a href="https://profiles.wordpress.org/johnvieth/">JohnVieth</a> · <a href="https://profiles.wordpress.org/jonsurrell/">Jon Surrell</a> · <a href="https://profiles.wordpress.org/psykro/">Jonathan Bossenger</a> · <a href="https://profiles.wordpress.org/jrchamp/">Jonathan Champ</a> · <a href="https://profiles.wordpress.org/desrosj/">Jonathan Desrosiers</a> · <a href="https://profiles.wordpress.org/n2erjo00/">Joni Erkkil&#228;</a> · <a href="https://profiles.wordpress.org/spacedmonkey/">Jonny Harris</a> · <a href="https://profiles.wordpress.org/jonoaldersonwp/">Jono Alderson</a> · <a href="https://profiles.wordpress.org/jordesign/">jordesign</a> · <a href="https://profiles.wordpress.org/jorgefilipecosta/">Jorge Costa</a> · <a href="https://profiles.wordpress.org/josvelasco/">Jos Velasco</a> · <a href="https://profiles.wordpress.org/josephscott/">Joseph Scott</a> · <a href="https://profiles.wordpress.org/jhabdas/">Josh Habdas</a> · <a href="https://profiles.wordpress.org/verygoode/">Joshua Goode</a> · <a href="https://profiles.wordpress.org/jrmd/">jrmd</a> · <a href="https://profiles.wordpress.org/juanfra/">Juan Aldasoro</a> · <a href="https://profiles.wordpress.org/juampick/">Juan Cook</a> · <a href="https://profiles.wordpress.org/juanmaguitar/">JuanMa Garrido</a> · <a href="https://profiles.wordpress.org/juliengardair/">juliengardair</a> · <a href="https://profiles.wordpress.org/jrf/">Juliette Reinders Folmer</a> · <a href="https://profiles.wordpress.org/justinahinon/">Justin Ahinon</a> · <a href="https://profiles.wordpress.org/greenshady/">Justin Tadlock</a> · <a href="https://profiles.wordpress.org/itsroy69/">Jyotirmoy Roy</a> · <a href="https://profiles.wordpress.org/kadamwhite/">K. Adam White</a> · <a href="https://profiles.wordpress.org/kevin940726/">Kai Hao</a> · <a href="https://profiles.wordpress.org/trepmal/">Kailey (trepmal)</a> · <a href="https://profiles.wordpress.org/kaitohm/">Kaito Hanamori</a> · <a href="https://profiles.wordpress.org/kakomap/">Kakoma</a> · <a href="https://profiles.wordpress.org/kalpeshh/">Kalpesh</a> · <a href="https://profiles.wordpress.org/karinchristen/">Karin Christen</a> · <a href="https://profiles.wordpress.org/karolmanijak/">Karol Manijak</a> · <a href="https://profiles.wordpress.org/karthickmurugan/">Karthick Murugan</a> · <a href="https://profiles.wordpress.org/karthikeya01/">Karthikeya Bethu</a> · <a href="https://profiles.wordpress.org/kasparsd/">Kaspars</a> · <a href="https://profiles.wordpress.org/codebykat/">Kat Hagan</a> · <a href="https://profiles.wordpress.org/katinthehatsite/">Kateryna K. a11n</a> · <a href="https://profiles.wordpress.org/zoonini/">Kathryn Presner</a> · <a href="https://profiles.wordpress.org/katrinadtl/">Katrina Massey</a> · <a href="https://profiles.wordpress.org/kausaralm/">Kausar Alam</a> · <a href="https://profiles.wordpress.org/khushdoms/">Kaushik Domadiya</a> · <a href="https://profiles.wordpress.org/onlykawshar/">Kawshar Ahmed</a> · <a href="https://profiles.wordpress.org/kaygee79/">kaygee79</a> · <a href="https://profiles.wordpress.org/mt8biz/">Kazuto Takeshita</a> · <a href="https://profiles.wordpress.org/ryelle/">Kelly Choyce-Dwan</a> · <a href="https://profiles.wordpress.org/kellychoffman/">Kelly Hoffman</a> · <a href="https://profiles.wordpress.org/tinypixel/">Kelly Mears</a> · <a href="https://profiles.wordpress.org/kgagne/">Ken Gagne</a> · <a href="https://profiles.wordpress.org/kerfred/">Kerfred</a> · <a href="https://profiles.wordpress.org/gwwar/">Kerry Liu</a> · <a href="https://profiles.wordpress.org/kesselb/">kesselb</a> · <a href="https://profiles.wordpress.org/kevinlearynet/">Kevin Leary</a> · <a href="https://profiles.wordpress.org/khoipro/">Khoi Pro</a> · <a href="https://profiles.wordpress.org/khushipatel15/">Khushi Patel</a> · <a href="https://profiles.wordpress.org/killerbishop/">killerbishop</a> · <a href="https://profiles.wordpress.org/iamkingsleyf/">Kingsley Felix</a> · <a href="https://profiles.wordpress.org/kirasong/">Kira Schroder</a> · <a href="https://profiles.wordpress.org/kishanjasani/">Kishan Jasani</a> · <a href="https://profiles.wordpress.org/kitchin/">kitchin</a> · <a href="https://profiles.wordpress.org/kjellr/">Kjell Reigstad</a> · <a href="https://profiles.wordpress.org/kkmuffme/">kkmuffme</a> · <a href="https://profiles.wordpress.org/kleor/">Kleor</a> · <a href="https://profiles.wordpress.org/knutsp/">Knut Sparhell</a> · <a href="https://profiles.wordpress.org/obenland/">Konstantin Obenland</a> · <a href="https://profiles.wordpress.org/xkon/">Konstantinos Xenos</a> · <a href="https://profiles.wordpress.org/kpapazov/">kpapazov</a> · <a href="https://profiles.wordpress.org/kprocyszyn/">kprocyszyn</a> · <a href="https://profiles.wordpress.org/krishaamer/">krishaamer</a> · <a href="https://profiles.wordpress.org/krunal265/">Krunal Bhimajiyani</a> · <a href="https://profiles.wordpress.org/krupajnanda/">Krupa Nanda</a> · <a href="https://profiles.wordpress.org/kshaner/">kshaner</a> · <a href="https://profiles.wordpress.org/kub1x/">kub1x</a> · <a href="https://profiles.wordpress.org/kubiq/">kubiq</a> · <a href="https://profiles.wordpress.org/kunalpuri123/">kunalpuri123</a> · <a href="https://profiles.wordpress.org/kushsharma/">Kush Sharma</a> · <a href="https://profiles.wordpress.org/kush123/">Kushagra Goyal</a> · <a href="https://profiles.wordpress.org/lgadzhev/">Lachezar Gadzhev</a> · <a href="https://profiles.wordpress.org/lakrisgubben/">lakrisgubben</a> · <a href="https://profiles.wordpress.org/lakshyajeet/">Lakshyajeet Singh Goyal</a> · <a href="https://profiles.wordpress.org/lalitkumawat/">Lalit Kumawat</a> · <a href="https://profiles.wordpress.org/lancewillett/">Lance Willett</a> · <a href="https://profiles.wordpress.org/newyorkerlaura/">Laura Byrne</a> · <a href="https://profiles.wordpress.org/laurisaarni/">Lauri Saarni</a> · <a href="https://profiles.wordpress.org/ldanielgiuliani/">ldanielgiuliani</a> · <a href="https://profiles.wordpress.org/leewillis77/">Lee Willis</a> · <a href="https://profiles.wordpress.org/leedxw/">leedxw</a> · <a href="https://profiles.wordpress.org/leemon/">leemon</a> · <a href="https://profiles.wordpress.org/0mirka00/">Lena Morita</a> · <a href="https://profiles.wordpress.org/leonidasmilossis/">Leonidas Milosis</a> · <a href="https://profiles.wordpress.org/levinbaria/">Levin Baria</a> · <a href="https://profiles.wordpress.org/lgseo/">lgseo</a> · <a href="https://profiles.wordpress.org/lilgames/">LilGames</a> · <a href="https://profiles.wordpress.org/liviopv/">liviopv</a> · <a href="https://profiles.wordpress.org/logiclink/">logiclink</a> · <a href="https://profiles.wordpress.org/logicrays/">LogicRays Technologies</a> · <a href="https://profiles.wordpress.org/lordandy1984/">lordandy1984</a> · <a href="https://profiles.wordpress.org/lovor/">Lovro Hrust</a> · <a href="https://profiles.wordpress.org/lucasms/">Lucas Martins</a> · <a href="https://profiles.wordpress.org/gigitux/">Luigi Teschio</a> · <a href="https://profiles.wordpress.org/luisherranz/">luisherranz</a> · <a href="https://profiles.wordpress.org/lukasfritzedev/">LukasFritzeDev</a> · <a href="https://profiles.wordpress.org/wpfed/">Lukasz</a> · <a href="https://profiles.wordpress.org/lukecavanagh/">Luke Cavanagh</a> · <a href="https://profiles.wordpress.org/maccyd/">maccyd</a> · <a href="https://profiles.wordpress.org/madhavishah01/">Madhavi Shah</a> · <a href="https://profiles.wordpress.org/madhudollu/">Madhu Dollu</a> · <a href="https://profiles.wordpress.org/onemaggie/">Maggie Cabrera</a> · <a href="https://profiles.wordpress.org/maikuolan/">Maikuolan</a> · <a href="https://profiles.wordpress.org/manfcarlo/">manfcarlo</a> · <a href="https://profiles.wordpress.org/manhatthien98/">manhatthien98</a> · <a href="https://profiles.wordpress.org/sirlouen/">Manuel Camargo</a> · <a href="https://profiles.wordpress.org/manzoorwanijk/">Manzoor Wani</a> · <a href="https://profiles.wordpress.org/maorb/">maorb</a> · <a href="https://profiles.wordpress.org/mdxfr/">Marc</a> · <a href="https://profiles.wordpress.org/marc4/">Marc Armengou</a> · <a href="https://profiles.wordpress.org/pagelab/">Marcio Duarte</a> · <a href="https://profiles.wordpress.org/mciampini/">Marco Ciampini</a> · <a href="https://profiles.wordpress.org/leadclown/">Marcus</a> · <a href="https://profiles.wordpress.org/mkaz/">Marcus Kazmierczak</a> · <a href="https://profiles.wordpress.org/marian1/">marian1</a> · <a href="https://profiles.wordpress.org/plari/">Marie</a> · <a href="https://profiles.wordpress.org/tyxla/">Marin Atanasov</a> · <a href="https://profiles.wordpress.org/santosguillamot/">Mario Santos</a> · <a href="https://profiles.wordpress.org/mariohamann/">mariohamann</a> · <a href="https://profiles.wordpress.org/marius84/">mariushosting</a> · <a href="https://profiles.wordpress.org/bozzmedia/">Marty</a> · <a href="https://profiles.wordpress.org/martythornley/">MartyThornley</a> · <a href="https://profiles.wordpress.org/marybaum/">Mary Baum</a> · <a href="https://profiles.wordpress.org/4thhubbard/">Mary Hubbard</a> · <a href="https://profiles.wordpress.org/mat-lipe/">Mat Lipe</a> · <a href="https://profiles.wordpress.org/mathiscode/">mathiscode</a> · <a href="https://profiles.wordpress.org/mmaattiiaass/">Matias Benedetto</a> · <a href="https://profiles.wordpress.org/matveb/">Matias Ventura</a> · <a href="https://profiles.wordpress.org/matt/">Matt Mullenweg</a> · <a href="https://profiles.wordpress.org/mattyrob/">Matt Robinson</a> · <a href="https://profiles.wordpress.org/mattwest/">Matt West</a> · <a href="https://profiles.wordpress.org/matteoenna/">Matteo Enna</a> · <a href="https://profiles.wordpress.org/pfefferle/">Matthias Pfefferle</a> · <a href="https://profiles.wordpress.org/mattryanwalker/">mattryanwalker</a> · <a href="https://profiles.wordpress.org/maxschmeling/">Max Schmeling</a> · <a href="https://profiles.wordpress.org/maxpertici/">Maxime Pertici</a> · <a href="https://profiles.wordpress.org/mayanktripathi32/">Mayank Tripathi</a> · <a href="https://profiles.wordpress.org/mayur8991/">Mayur Prajapati</a> · <a href="https://profiles.wordpress.org/faithcoder/">Md Abdullah Al Arif</a> · <a href="https://profiles.wordpress.org/mabfahad/">Md Abdullah Al Fahad</a> · <a href="https://profiles.wordpress.org/hmbashar/">Md Abul Bashar</a> · <a href="https://profiles.wordpress.org/ismail0071/">MD ISMAIL</a> · <a href="https://profiles.wordpress.org/kawsar007/">MD Kawsar Chowdhury</a> · <a href="https://profiles.wordpress.org/masummollaalhaz/">Md Masum Molla Alhaz</a> · <a href="https://profiles.wordpress.org/obiplabon/">Md Obidullah (obiPlabon)</a> · <a href="https://profiles.wordpress.org/wprashed/">Md Rashed Hossain</a> · <a href="https://profiles.wordpress.org/sabbir20/">Md Sabbir Hossain</a> · <a href="https://profiles.wordpress.org/najmulsaju/">Md. Najmul Islam</a> · <a href="https://profiles.wordpress.org/mehedi_csit/">Md.Mehedi Hasan</a> · <a href="https://profiles.wordpress.org/mdmoreau/">mdmoreau</a> · <a href="https://profiles.wordpress.org/mdviralsampat/">mdviralsampat</a> · <a href="https://profiles.wordpress.org/immeet94/">Meet Makadia</a> · <a href="https://profiles.wordpress.org/megane9988/">megane9988</a> · <a href="https://profiles.wordpress.org/meher/">Meher Bala</a> · <a href="https://profiles.wordpress.org/melchoyce/">Mel Choyce-Dwan</a> · <a href="https://profiles.wordpress.org/mfgmicha/">Micha Krapp</a> · <a href="https://profiles.wordpress.org/mburridge/">Michael Burridge</a> · <a href="https://profiles.wordpress.org/michaelkeck/">Michael Keck</a> · <a href="https://profiles.wordpress.org/mnelson4/">Michael Nelson</a> · <a href="https://profiles.wordpress.org/xmic/">Michael Sumner</a> · <a href="https://profiles.wordpress.org/michaelreetz/">michaelreetz</a> · <a href="https://profiles.wordpress.org/czapla/">Michal Czaplinski</a> · <a href="https://profiles.wordpress.org/marktimemedia/">Michelle Schulp Hunt</a> · <a href="https://profiles.wordpress.org/mcsf/">Miguel Fonseca</a> · <a href="https://profiles.wordpress.org/migueluy/">Miguel Lezama</a> · <a href="https://profiles.wordpress.org/simison/">Mikael Korpela</a> · <a href="https://profiles.wordpress.org/mobius5150/">Mike</a> · <a href="https://profiles.wordpress.org/mikefitzman/">Mike Fitzpatrick</a> · <a href="https://profiles.wordpress.org/mikehansenme/">Mike Hansen</a> · <a href="https://profiles.wordpress.org/mikejolley/">Mike Jolley</a> · <a href="https://profiles.wordpress.org/mmcalister/">Mike McAlister</a> · <a href="https://profiles.wordpress.org/ritterml/">Mike Ritter</a> · <a href="https://profiles.wordpress.org/mikinc860/">Mikin Chauhan</a> · <a href="https://profiles.wordpress.org/firestar300/">Milan Ricoul</a> · <a href="https://profiles.wordpress.org/multidots1896/">Minal Diwan</a> · <a href="https://profiles.wordpress.org/369work/">Miroku</a> · <a href="https://profiles.wordpress.org/missveronicatv/">missveronica</a> · <a href="https://profiles.wordpress.org/presstoke/">Mitchell Austin</a> · <a href="https://profiles.wordpress.org/mkeck/">mkeck</a> · <a href="https://profiles.wordpress.org/mlaetitia1986/">mlaetitia1986</a> · <a href="https://profiles.wordpress.org/mleray/">mleray</a> · <a href="https://profiles.wordpress.org/mleraygp/">mleraygp</a> · <a href="https://profiles.wordpress.org/mobarak/">Mobarak Ali</a> · <a href="https://profiles.wordpress.org/opurockey/">Mohammad Rockeybul Alam</a> · <a href="https://profiles.wordpress.org/mohkatz/">Mohammed Kateregga</a> · <a href="https://profiles.wordpress.org/mosescursor/">Moses Cursor Ssebunya</a> · <a href="https://profiles.wordpress.org/mrwweb/">mrwweb</a> · <a href="https://profiles.wordpress.org/mtg169/">mtg169</a> · <a href="https://profiles.wordpress.org/mujuonly/">mujuonly</a> · <a href="https://profiles.wordpress.org/mukesh27/">Mukesh Panchal</a> · <a href="https://profiles.wordpress.org/mukulsingh27/">Mukul Singh</a> · <a href="https://profiles.wordpress.org/faguni22/">Mumtahina Faguni</a> · <a href="https://profiles.wordpress.org/sedmikrasky/">N&#250;ria Nadal i Rovira</a> · <a href="https://profiles.wordpress.org/vyasnaman/">Naman Vyas</a> · <a href="https://profiles.wordpress.org/nanisamireddy/">NANI SAMIREDDY</a> · <a href="https://profiles.wordpress.org/narenin/">Narendra Sishodiya</a> · <a href="https://profiles.wordpress.org/nareshbheda/">Naresh Bheda</a> · <a href="https://profiles.wordpress.org/muddassirnasim/">Nasim Miah</a> · <a href="https://profiles.wordpress.org/n8finch/">Nate Finch</a> · <a href="https://profiles.wordpress.org/naveendwivedi/">Naveen Dwivedi</a> · <a href="https://profiles.wordpress.org/navi161/">Navneet Kaur</a> · <a href="https://profiles.wordpress.org/bugnumber9/">Nazar Hotsa</a> · <a href="https://profiles.wordpress.org/nazmul111/">Nazmul Hosen</a> · <a href="https://profiles.wordpress.org/greatislander/">Ned Zimmerman</a> · <a href="https://profiles.wordpress.org/nexbridge/">nexbridge</a> · <a href="https://profiles.wordpress.org/nextendweb/">Nextendweb</a> · <a href="https://profiles.wordpress.org/neychok/">Neycho Kalaydzhiev</a> · <a href="https://profiles.wordpress.org/nickchomey/">Nick</a> · <a href="https://profiles.wordpress.org/nickstarkloff/">Nick</a> · <a href="https://profiles.wordpress.org/ndiego/">Nick Diego</a> · <a href="https://profiles.wordpress.org/celloexpressions/">Nick Halsey</a> · <a href="https://profiles.wordpress.org/nickbrazilian/">nickbrazilian</a> · <a href="https://profiles.wordpress.org/nickjbedford/">nickjbedford</a> · <a href="https://profiles.wordpress.org/nickpagz/">nickpagz</a> · <a href="https://profiles.wordpress.org/nickwilmot/">nickwilmot</a> · <a href="https://profiles.wordpress.org/nico23/">Nico</a> · <a href="https://profiles.wordpress.org/nidhidhandhukiya/">nidhidhandhukiya</a> · <a href="https://profiles.wordpress.org/nielslange/">Niels Lange</a> · <a href="https://profiles.wordpress.org/nigelnelles/">nigelnelles</a> · <a href="https://profiles.wordpress.org/ntsekouras/">Nik Tsekouras</a> · <a href="https://profiles.wordpress.org/smushytaco/">Nikan Radan</a> · <a href="https://profiles.wordpress.org/nikunj8866/">Nikunj Hatkar</a> · <a href="https://profiles.wordpress.org/nimeshatxecurify/">Nimesh</a> · <a href="https://profiles.wordpress.org/ninomiho/">Nino Mihovilic</a> · <a href="https://profiles.wordpress.org/ninos-ego/">Ninos</a> · <a href="https://profiles.wordpress.org/noahtallen/">Noah Allen</a> · <a href="https://profiles.wordpress.org/othernoel/">Noel Santos</a> · <a href="https://profiles.wordpress.org/noruzzaman/">Noruzzaman</a> · <a href="https://profiles.wordpress.org/nosilver4u/">nosilver4u</a> · <a href="https://profiles.wordpress.org/oceantober/">oceantober</a> · <a href="https://profiles.wordpress.org/oferlaor/">oferlaor</a> · <a href="https://profiles.wordpress.org/okat/">okat</a> · <a href="https://profiles.wordpress.org/yasunocco/">Okawa Yasuno</a> · <a href="https://profiles.wordpress.org/oglekler/">Olga Gleckler</a> · <a href="https://profiles.wordpress.org/domainsupport/">Oliver Campion</a> · <a href="https://profiles.wordpress.org/alshakero/">Omar Alshaker</a> · <a href="https://profiles.wordpress.org/gabertronic/">Ophelia Rose</a> · <a href="https://profiles.wordpress.org/optimizingmatters/">Optimizing Matters</a> · <a href="https://profiles.wordpress.org/owi/">owi</a> · <a href="https://profiles.wordpress.org/paaljoachim/">Paal Joachim Romdahl</a> · <a href="https://profiles.wordpress.org/pablohoneyhoney/">Pablo Honey</a> · <a href="https://profiles.wordpress.org/palak678/">Palak Patel</a> · <a href="https://profiles.wordpress.org/paragoninitiativeenterprises/">Paragon Initiative Enterprises</a> · <a href="https://profiles.wordpress.org/parinpanjari/">Parin Panjari</a> · <a href="https://profiles.wordpress.org/parthvataliya/">Parth vataliya</a> · <a href="https://profiles.wordpress.org/techpartho/">Partho Hore</a> · <a href="https://profiles.wordpress.org/swissspidy/">Pascal Birchler</a> · <a href="https://profiles.wordpress.org/pateljaymin/">Patel Jaymin</a> · <a href="https://profiles.wordpress.org/patricia70/">Patricia BT</a> · <a href="https://profiles.wordpress.org/lumiblog/">Patrick Lumumba</a> · <a href="https://profiles.wordpress.org/patpiwo/">Patrick Piwowarczyk</a> · <a href="https://profiles.wordpress.org/pryley/">Paul</a> · <a href="https://profiles.wordpress.org/pbearne/">Paul Bearne</a> · <a href="https://profiles.wordpress.org/pbiron/">Paul Biron</a> · <a href="https://profiles.wordpress.org/paulbonneau/">Paul Bonneau</a> · <a href="https://profiles.wordpress.org/paulkevan/">Paul Kevan</a> · <a href="https://profiles.wordpress.org/paulopmt1/">Paulo Trentin</a> · <a href="https://profiles.wordpress.org/paulstanos/">paulstanos</a> · <a href="https://profiles.wordpress.org/pcarvalho/">pcarvalho</a> · <a href="https://profiles.wordpress.org/pedrofigueroa1989/">Pedro Figueroa</a> · <a href="https://profiles.wordpress.org/peroks/">Per Egil Roksvaag</a> · <a href="https://profiles.wordpress.org/peteringersoll/">Peter Ingersoll</a> · <a href="https://profiles.wordpress.org/westi/">Peter Westwood</a> · <a href="https://profiles.wordpress.org/peterwilsoncc/">Peter Wilson</a> · <a href="https://profiles.wordpress.org/petitphp/">petitphp</a> · <a href="https://profiles.wordpress.org/philipjohn/">Philip John</a> · <a href="https://profiles.wordpress.org/philsola/">Philip Sola</a> · <a href="https://profiles.wordpress.org/tyrannous/">Philipp Bammes</a> · <a href="https://profiles.wordpress.org/phillsav/">Phill</a> · <a href="https://profiles.wordpress.org/piskvorky/">piskvorky</a> · <a href="https://profiles.wordpress.org/poojabhimani/">Pooja Bhimani</a> · <a href="https://profiles.wordpress.org/poojapadamad/">poojapadamad</a> · <a href="https://profiles.wordpress.org/porg/">porg</a> · <a href="https://profiles.wordpress.org/prab18hat/">prab18hat</a> · <a href="https://profiles.wordpress.org/praful2111/">Praful Patel</a> · <a href="https://profiles.wordpress.org/pranjalpratapsingh/">Pranjal Pratap Singh</a> · <a href="https://profiles.wordpress.org/prasadkarmalkar/">Prasad Karmalkar</a> · <a href="https://profiles.wordpress.org/prasadgupte/">prasadgupte</a> · <a href="https://profiles.wordpress.org/pmbaldha/">Prashant Baldha</a> · <a href="https://profiles.wordpress.org/pratiklondhe/">Pratik Londhe</a> · <a href="https://profiles.wordpress.org/presskopp/">Presskopp</a> · <a href="https://profiles.wordpress.org/prettyboymp/">prettyboymp</a> · <a href="https://profiles.wordpress.org/puggan/">puggan</a> · <a href="https://profiles.wordpress.org/quentinr64600/">quentinr64600</a> · <a href="https://profiles.wordpress.org/rachelbaker/">Rachel Baker</a> · <a href="https://profiles.wordpress.org/rafiq91/">Rafiqul Islam</a> · <a href="https://profiles.wordpress.org/ralucastn/">Raluca</a> · <a href="https://profiles.wordpress.org/superpoincare/">Ramanan</a> · <a href="https://profiles.wordpress.org/ramiy/">Rami Yushuvaev</a> · <a href="https://profiles.wordpress.org/rahmohn/">Ramon Ahnert</a> · <a href="https://profiles.wordpress.org/rcorrales/">Ramon Corrales</a> · <a href="https://profiles.wordpress.org/ramonopoly/">Ramon James</a> · <a href="https://profiles.wordpress.org/ravichudasama01/">Ravi Chudasama</a> · <a href="https://profiles.wordpress.org/ravigadhiyawp/">Ravi Gadhiya</a> · <a href="https://profiles.wordpress.org/rcrdortiz/">rcrdortiz</a> · <a href="https://profiles.wordpress.org/rehanali/">Rehan Ali</a> · <a href="https://profiles.wordpress.org/rejaulalomkhan/">Rejaul Alom Khan</a> · <a href="https://profiles.wordpress.org/tabrisrp/">Remy Perona</a> · <a href="https://profiles.wordpress.org/espellcaste/">Renato Alves</a> · <a href="https://profiles.wordpress.org/renishsurani/">renishsurani</a> · <a href="https://profiles.wordpress.org/retrofox/">retrofox</a> · <a href="https://profiles.wordpress.org/rezwanshiblu1952/">Rezwan Shiblu</a> · <a href="https://profiles.wordpress.org/youknowriad/">Riad Benguella</a> · <a href="https://profiles.wordpress.org/riadev/">riadev</a> · <a href="https://profiles.wordpress.org/richtabor/">Rich Tabor</a> · <a href="https://profiles.wordpress.org/rockfire/">Richard Korthuis</a> · <a href="https://profiles.wordpress.org/riddhidave/">Riddhi Dave</a> · <a href="https://profiles.wordpress.org/rinatkhaziev/">Rinat</a> · <a href="https://profiles.wordpress.org/rinkalpagdar/">Rinkal Pagdar</a> · <a href="https://profiles.wordpress.org/rishabhwp/">Rishabh Gupta</a> · <a href="https://profiles.wordpress.org/rishavdutta/">Rishav Dutta</a> · <a href="https://profiles.wordpress.org/rishit30g/">Rishit Gupta</a> · <a href="https://profiles.wordpress.org/ristojovanovic/">Risto Jovanovic</a> · <a href="https://profiles.wordpress.org/devrito/">Ritoban</a> · <a href="https://profiles.wordpress.org/noisysocks/">Robert Anderson</a> · <a href="https://profiles.wordpress.org/miqrogroove/">Robert Chapin</a> · <a href="https://profiles.wordpress.org/robertghetau/">Robert Ghetau</a> · <a href="https://profiles.wordpress.org/sanchothefat/">Robert O'Rourke</a> · <a href="https://profiles.wordpress.org/robmcclel/">Robmcclel</a> · <a href="https://profiles.wordpress.org/rodrigosprimo/">Rodrigo Primo</a> · <a href="https://profiles.wordpress.org/roelof/">roelof</a> · <a href="https://profiles.wordpress.org/rollybueno/">Rolly Bueno</a> · <a href="https://profiles.wordpress.org/ronak44/">Ronak prajapati</a> · <a href="https://profiles.wordpress.org/room34/">room34</a> · <a href="https://profiles.wordpress.org/costasovo/">Rostislav Woln&#253;</a> · <a href="https://profiles.wordpress.org/rotemg/">Rotem Gelbart</a> · <a href="https://profiles.wordpress.org/rayhatron/">Rufaro Madamombe</a> · <a href="https://profiles.wordpress.org/rutvikbhambhi2004/">Rutvik Bhambhi</a> · <a href="https://profiles.wordpress.org/rmccue/">Ryan McCue</a> · <a href="https://profiles.wordpress.org/welcher/">Ryan Welcher</a> · <a href="https://profiles.wordpress.org/skierpage/">S Page</a> · <a href="https://profiles.wordpress.org/soean/">S&#246;ren W&#252;nsch</a> · <a href="https://profiles.wordpress.org/sabbir1991/">Sabbir Ahmed</a> · <a href="https://profiles.wordpress.org/devsabbirahmed/">Sabbir Sam</a> · <a href="https://profiles.wordpress.org/sachinrajcp123/">SACHINRAJ CP</a> · <a href="https://profiles.wordpress.org/sahiljadhav1617/">Sahil Jadhav</a> · <a href="https://profiles.wordpress.org/sainathpoojary/">Sainath Poojary</a> · <a href="https://profiles.wordpress.org/sajjad67/">Sajjad Hossain Sagor</a> · <a href="https://profiles.wordpress.org/sakibmoon/">sakibmoon</a> · <a href="https://profiles.wordpress.org/samueljseay/">Sam</a> · <a href="https://profiles.wordpress.org/sam_a/">sam_a</a> · <a href="https://profiles.wordpress.org/samirmalpande/">Samir Malpande</a> · <a href="https://profiles.wordpress.org/viralsampat/">Sampat Viral</a> · <a href="https://profiles.wordpress.org/sjapaget/">Samuel Paget</a> · <a href="https://profiles.wordpress.org/otto42/">Samuel Wood (Otto)</a> · <a href="https://profiles.wordpress.org/sandeepdahiya/">Sandeep Dahiya</a> · <a href="https://profiles.wordpress.org/sandipsinh007/">Sandip Sinh</a> · <a href="https://profiles.wordpress.org/ourvalley/">Sandy McFadden</a> · <a href="https://profiles.wordpress.org/mikachan/">Sarah Norris</a> · <a href="https://profiles.wordpress.org/tinkerbelly/">sarah semark</a> · <a href="https://profiles.wordpress.org/sarthaknagoshe2002/">Sarthak Nagoshe</a> · <a href="https://profiles.wordpress.org/satishprajapati/">Satish Prajapati</a> · <a href="https://profiles.wordpress.org/saurabhdhariwal/">saurabh.dhariwal</a> · <a href="https://profiles.wordpress.org/saxonafletcher/">Saxon Fletcher</a> · <a href="https://profiles.wordpress.org/scholdstrom/">scholdstrom</a> · <a href="https://profiles.wordpress.org/swb1192/">Scott Buscemi</a> · <a href="https://profiles.wordpress.org/sc0ttkclark/">Scott Kingsley Clark</a> · <a href="https://profiles.wordpress.org/wonderboymusic/">Scott Taylor</a> · <a href="https://profiles.wordpress.org/scribu/">scribu</a> · <a href="https://profiles.wordpress.org/sebastianpisula/">Sebastian Pisula</a> · <a href="https://profiles.wordpress.org/seifradwane/">Seif Radwane</a> · <a href="https://profiles.wordpress.org/sergeybiryukov/">Sergey Biryukov</a> · <a href="https://profiles.wordpress.org/smrubenstein/">Seth Rubenstein</a> · <a href="https://profiles.wordpress.org/shsajalchowdhury/">SH Sajal Chowdhury</a> · <a href="https://profiles.wordpress.org/shadialaghbari/">Shadi G شادي جـ</a> · <a href="https://profiles.wordpress.org/shailu25/">Shail Mehta</a> · <a href="https://profiles.wordpress.org/sh4lin/">Shalin Shah</a> · <a href="https://profiles.wordpress.org/shanemuir/">Shane Muirhead</a> · <a href="https://profiles.wordpress.org/iamshashank/">Shashank Jain</a> · <a href="https://profiles.wordpress.org/shekh0109/">Shashank Shekhar</a> · <a href="https://profiles.wordpress.org/sajib1223/">Shazzad Hossain Khan</a> · <a href="https://profiles.wordpress.org/designsimply/">Sheri Grey</a> · <a href="https://profiles.wordpress.org/shiponkarmakar/">Shipon Karmakar</a> · <a href="https://profiles.wordpress.org/shreya0shrivastava/">Shreya Shrivastava</a> · <a href="https://profiles.wordpress.org/iamshubhamsp/">Shubham Patil</a> · <a href="https://profiles.wordpress.org/shyamgadde/">Shyamsundar Gadde</a> · <a href="https://profiles.wordpress.org/sidharthpandita/">sidharthpandita</a> · <a href="https://profiles.wordpress.org/siliconforks/">siliconforks</a> · <a href="https://profiles.wordpress.org/shilpaashokan94/">Silpa TA</a> · <a href="https://profiles.wordpress.org/simonefontana/">simonefontana</a> · <a href="https://profiles.wordpress.org/slaffik/">Slava Abakumov</a> · <a href="https://profiles.wordpress.org/smerriman/">smerriman</a> · <a href="https://profiles.wordpress.org/snehapatil02/">Sneha Patil</a> · <a href="https://profiles.wordpress.org/maia12345/">Sophie Dimitrov</a> · <a href="https://profiles.wordpress.org/sourabhjain/">Sourabh Jain</a> · <a href="https://profiles.wordpress.org/sourav08/">Sourav Pahwa</a> · <a href="https://profiles.wordpress.org/soyebsalar01/">Soyeb Salar</a> · <a href="https://profiles.wordpress.org/spenserhale/">Spenser Hale</a> · <a href="https://profiles.wordpress.org/spstrap/">spstrap</a> · <a href="https://profiles.wordpress.org/srikat/">Sridhar Katakam</a> · <a href="https://profiles.wordpress.org/stankea/">stankea</a> · <a href="https://profiles.wordpress.org/metodiew/">Stanko Metodiev</a> · <a href="https://profiles.wordpress.org/staurand/">staurand</a> · <a href="https://profiles.wordpress.org/hubersen/">Stefan Pasch</a> · <a href="https://profiles.wordpress.org/stefanvelthuys/">Stefan Velthuys</a> · <a href="https://profiles.wordpress.org/sabernhardt/">Stephen Bernhardt</a> · <a href="https://profiles.wordpress.org/stephenharris/">Stephen Harris</a> · <a href="https://profiles.wordpress.org/dufresnesteven/">Steve Dufresne</a> · <a href="https://profiles.wordpress.org/strarsis/">strarsis</a> · <a href="https://profiles.wordpress.org/subrataemfluence/">Subrata Sarkar</a> · <a href="https://profiles.wordpress.org/sudipatel007/">Sudip Dadhaniya</a> · <a href="https://profiles.wordpress.org/sujansarkar/">Sujan Sarkar</a> · <a href="https://profiles.wordpress.org/sukhendu2002/">Sukhendu Sekhar Guria</a> · <a href="https://profiles.wordpress.org/sumitbagthariya16/">Sumit Bagthariya</a> · <a href="https://profiles.wordpress.org/sunil25393/">SunilPrajapati</a> · <a href="https://profiles.wordpress.org/sunnykasera/">sunnykasera</a> · <a href="https://profiles.wordpress.org/sunyatasattva/">sunyatasattva (a11n)</a> · <a href="https://profiles.wordpress.org/supernovia/">supernovia</a> · <a href="https://profiles.wordpress.org/suzukube/">SuzuKube</a> · <a href="https://profiles.wordpress.org/svedish/">svedish</a> · <a href="https://profiles.wordpress.org/lordspace/">Svetoslav Marinov</a> · <a href="https://profiles.wordpress.org/cybr/">Sybre Waaijer</a> · <a href="https://profiles.wordpress.org/syhussaini/">syhussaini</a> · <a href="https://profiles.wordpress.org/schwipps/">T4ng</a> · <a href="https://profiles.wordpress.org/tacoverdo/">Taco Verdonschot</a> · <a href="https://profiles.wordpress.org/iamtakashi/">Takashi Irie</a> · <a href="https://profiles.wordpress.org/takuword/">Takuro</a> · <a href="https://profiles.wordpress.org/karmatosed/">Tammie Lister</a> · <a href="https://profiles.wordpress.org/tatof/">tatof</a> · <a href="https://profiles.wordpress.org/tecnogaming/">tecnogaming</a> · <a href="https://profiles.wordpress.org/mecaota/">Tetsuro Higuchi</a> · <a href="https://profiles.wordpress.org/tharsheblows/">tharsheblows</a> · <a href="https://profiles.wordpress.org/thelmachido/">thelmachido a11n</a> · <a href="https://profiles.wordpress.org/tsquez/">ThemeAWESOME</a> · <a href="https://profiles.wordpress.org/themiked/">theMikeD</a> · <a href="https://profiles.wordpress.org/kraftner/">Thomas Kr&#228;ftner</a> · <a href="https://profiles.wordpress.org/tfrommen/">Thorsten Frommen</a> · <a href="https://profiles.wordpress.org/tillkruess/">Till Kr&#252;ss</a> · <a href="https://profiles.wordpress.org/timhavinga/">Tim Havinga</a> · <a href="https://profiles.wordpress.org/dontfeedthecode/">Tim Sheehan</a> · <a href="https://profiles.wordpress.org/timotijhof/">Timo Tijhof</a> · <a href="https://profiles.wordpress.org/spaceshipone/">Timoth&#233;e Brosille</a> · <a href="https://profiles.wordpress.org/timotheemoulin/">Timoth&#233;e Moulin</a> · <a href="https://profiles.wordpress.org/timothyblynjacobs/">Timothy Jacobs</a> · <a href="https://profiles.wordpress.org/tjarrett/">TJarrett</a> · <a href="https://profiles.wordpress.org/tobiasbg/">Tobias B&#228;thge</a> · <a href="https://profiles.wordpress.org/tz-media/">Tobias Zimpel</a> · <a href="https://profiles.wordpress.org/tobifjellner/">tobifjellner (Tor-Bjorn &#8220;Tobi&#8221; Fjellner)</a> · <a href="https://profiles.wordpress.org/tomdevisser/">Tom de Visser</a> · <a href="https://profiles.wordpress.org/tjnowell/">Tom J Nowell</a> · <a href="https://profiles.wordpress.org/shimotomoki/">Tomoki Shimomura</a> · <a href="https://profiles.wordpress.org/skithund/">Toni Viemer&#246;</a> · <a href="https://profiles.wordpress.org/hellofromtonya/">Tonya Mork</a> · <a href="https://profiles.wordpress.org/toro_unit/">Toro_Unit (Hiroshi Urabe)</a> · <a href="https://profiles.wordpress.org/zodiac1978/">Torsten Landsiedel</a> · <a href="https://profiles.wordpress.org/wpsmith/">Travis Smith</a> · <a href="https://profiles.wordpress.org/traxus/">traxus</a> · <a href="https://profiles.wordpress.org/sllimrovert/">Trevor Mills</a> · <a href="https://profiles.wordpress.org/tristanleboss/">tristanleboss</a> · <a href="https://profiles.wordpress.org/areziaal/">Troy Chaplin</a> · <a href="https://profiles.wordpress.org/truptikanzariya/">Trupti Kanzariya</a> · <a href="https://profiles.wordpress.org/tsteel/">tsteel</a> · <a href="https://profiles.wordpress.org/dinhtungdu/">Tung Du</a> · <a href="https://profiles.wordpress.org/tusharbharti/">Tushar Bharti</a> · <a href="https://profiles.wordpress.org/tusharaddweb/">Tushar Patel</a> · <a href="https://profiles.wordpress.org/tussendoor/">Tussendoor B.V.</a> · <a href="https://profiles.wordpress.org/ugyensupport/">Ugyen Dorji</a> · <a href="https://profiles.wordpress.org/umeshnevase/">Umesh Nevase</a> · <a href="https://profiles.wordpress.org/umeshsinghin/">Umesh Singh</a> · <a href="https://profiles.wordpress.org/unsalkorkmaz/">Unsal Korkmaz</a> · <a href="https://profiles.wordpress.org/upadalavipul/">upadalavipul</a> · <a href="https://profiles.wordpress.org/utsavladani/">Utsav Ladani</a> · <a href="https://profiles.wordpress.org/utsav72640/">Utsav tilava</a> · <a href="https://profiles.wordpress.org/valentingrenier/">Valentin Grenier</a> · <a href="https://profiles.wordpress.org/tsimshatsui/">Vape tsimshatsui</a> · <a href="https://profiles.wordpress.org/vbbp/">vbbp</a> · <a href="https://profiles.wordpress.org/sheldorofazeroth/">Vedansh Mishra</a> · <a href="https://profiles.wordpress.org/vevas/">Vegard S.</a> · <a href="https://profiles.wordpress.org/vgnavada/">vgnavada</a> · <a href="https://profiles.wordpress.org/vcanales/">Vicente Canales</a> · <a href="https://profiles.wordpress.org/vidugupta/">vidugupta</a> · <a href="https://profiles.wordpress.org/vijendrajat/">Vijendra Jat</a> · <a href="https://profiles.wordpress.org/szepeviktor/">Viktor Sz&#233;pe</a> · <a href="https://profiles.wordpress.org/vineet2003/">Vinit</a> · <a href="https://profiles.wordpress.org/ghorivipul97/">Vipul Ghori</a> · <a href="https://profiles.wordpress.org/vipulgupta003/">Vipul Gupta</a> · <a href="https://profiles.wordpress.org/vipulpatil/">Vipul Patil</a> · <a href="https://profiles.wordpress.org/vishitshah/">Vishit Shah</a> · <a href="https://profiles.wordpress.org/vladimiraus/">vladimiraus</a> · <a href="https://profiles.wordpress.org/vortfu/">vortfu</a> · <a href="https://profiles.wordpress.org/vrishabhsk/">Vrishabh Jasani</a> · <a href="https://profiles.wordpress.org/walterebert/">Walter Ebert</a> · <a href="https://profiles.wordpress.org/webmandesign/">WebMan Design &#124; Oliver Juhas</a> · <a href="https://profiles.wordpress.org/websupporter/">websupporter</a> · <a href="https://profiles.wordpress.org/webwrotter/">webwrotter</a> · <a href="https://profiles.wordpress.org/westonruter/">Weston Ruter</a> · <a href="https://profiles.wordpress.org/whaze/">whaze</a> · <a href="https://profiles.wordpress.org/widhy980/">widhy980</a> · <a href="https://profiles.wordpress.org/skorasaurus/">Will Skora</a> · <a href="https://profiles.wordpress.org/wplmillet/">wplmillet</a> · <a href="https://profiles.wordpress.org/xate/">xate</a> · <a href="https://profiles.wordpress.org/xavilc/">xavilc</a> · <a href="https://profiles.wordpress.org/xerpa43/">xerpa43</a> · <a href="https://profiles.wordpress.org/xipasduarte/">xipasduarte</a> · <a href="https://profiles.wordpress.org/yagniksangani/">Yagnik Sangani</a> · <a href="https://profiles.wordpress.org/yashyadav247/">Yash</a> · <a href="https://profiles.wordpress.org/getsyash/">Yash B</a> · <a href="https://profiles.wordpress.org/yashjawale/">Yash Jawale</a> · <a href="https://profiles.wordpress.org/yogeshbhutkar/">Yogesh Bhutkar</a> · <a href="https://profiles.wordpress.org/yogieanamcara/">YogieAnamCara</a> · <a href="https://profiles.wordpress.org/fierevere/">Yui</a> · <a href="https://profiles.wordpress.org/zebulan/">Zebulan Stanphill</a> · <a href="https://profiles.wordpress.org/zeelthakkar/">Zeel Thakkar</a> · <a href="https://profiles.wordpress.org/zunaid321/">Zunaid Amin</a> · <a href="https://profiles.wordpress.org/lstraczynski/">Łukasz Strączyński</a> · <a href="https://profiles.wordpress.org/haozi/">耗子</a></p>



<p>More than <a href="https://translate.wordpress.org/stats/">71 locales have fully translated</a> WordPress 6.9 into their language. Community translators are working hard to ensure more translations are on their way. Thank you to everyone who helps make WordPress available in 200+ languages.</p>



<p>Last but not least, thanks to the volunteers who contribute to the <a href="https://wordpress.org/support/forums/">support forums</a> by answering questions from WordPress users worldwide.</p>



<h2 class="wp-block-heading"><strong>Get involved</strong></h2>



<p>Participation in WordPress goes far beyond coding. And learning more and getting involved is easy.  Discover the teams that come together to <a href="https://make.wordpress.org/">Make WordPress</a> and use <a href="https://make.wordpress.org/contribute/">this interactive tool</a> to help you decide which is right for you.</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, 02 Dec 2025 20:12:21 +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:"Matt Mullenweg";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:14:"Matt: SoTW Eve";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=150730";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:31:"https://ma.tt/2025/12/sotw-eve/";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:1939:"<figure class="wp-block-image size-large"><img alt="" class="wp-image-150732" height="196" src="https://i0.wp.com/ma.tt/files/2025/12/sotw_2025_banner-landing_finalone-scaled-1-1024x333.png?resize=604%2C196&#038;quality=80&#038;ssl=1" width="604" /></figure>



<p>The <a href="https://wordpress.org/state-of-the-word/">State of the Word</a> is tomorrow, and it&#8217;s so fun to see SF abuzz with WordPress open source energy. We&#8217;re doing a lot of firsts tomorrow, including the first release timed to the State of the Word, and we&#8217;ll have a good chunk of the release team there to push the button and bring WordPress 6.9 to the world. </p>



<p>We&#8217;ll also be crossing streams with another community: in the last ten minutes, we&#8217;ll join <a href="https://www.tbpn.com/">TBPN</a>, the new must-watch daily tech show.</p>



<p>The art and activations are looking so good; it&#8217;s fun to see how everything evolves. <a href="https://automattic.design/2025/03/05/designing-state-of-the-word-tokyo-heritage-meets-innovation/">Tokyo was so beautiful last year</a>; I wasn&#8217;t sure how we&#8217;d top it, but the creativity of everyone coming together has sparked something new this year that I think is quite cool. We&#8217;re trying to honor our mission of democratizing publishing, making things that are powerful and capable, but also retain the flicker of art.</p>



<p>We&#8217;re also opening up <a href="https://tinkertendo.com/">TinkerTendo</a> to the community. I was just there with a few dozen of the crew, and the vibes are so fun. If you&#8217;re in SF, <a href="https://www.meetup.com/wordpress-sf/events/312184138/">definitely swing by</a> and connect with the folks building the most open internet we can all enjoy.</p>



<p><a href="https://wordpress.org/state-of-the-word/">Check out the livestream tomorrow</a>, it&#8217;ll be a nice capstone to all we&#8217;ve built together this year.</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, 02 Dec 2025 05:24:13 +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: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:73:"Open Channels FM: The Modern Quest for the Perfect Tab Management Browser";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:33:"https://openchannels.fm/?p=112370";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:80:"https://openchannels.fm/the-modern-quest-for-the-perfect-tab-management-browser/";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:141:"Tab wars: Wrigley’s drowning in 45 tabs while BobWP casually guards two; they chat about browsers and the beauty of hitting “clear all”";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, 02 Dec 2025 02:15: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: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:78:"Jake Spurlock: Introducing Placeholders: A WordPress Plugin for Ad Wireframing";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:33:"https://jakespurlock.com/?p=52207";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:61:"https://jakespurlock.com/2025/12/placeholders-ad-wireframing/";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:6886:"<p>I&#8217;m excited to announce the release of <strong>Placeholders</strong>, a new WordPress plugin that makes wireframing and prototyping ad layouts easier than ever. The plugin is now available on <a href="https://wordpress.org/plugins/placeholders/">WordPress.org</a> and ready for production use.</p>



<h2 class="wp-block-heading" id="the-problem">The Problem</h2>



<p>If you&#8217;ve ever worked on a WordPress site that displays advertising, you know the challenge: during the design and development phase, you need placeholder blocks that accurately represent where ads will appear. You want them to match real ad dimensions, but you don&#8217;t want to set up actual ad serving just to see if your layout works.</p>



<p>I found myself repeatedly creating custom HTML blocks or CSS to mock up ad placements while working on various projects. Each time, I&#8217;d have to look up IAB standard ad sizes, write the markup, and style the placeholders. It was tedious and repetitive work that felt like it should be solved once and reused everywhere.</p>



<h2 class="wp-block-heading" id="the-solution">The Solution</h2>



<p><strong>Placeholders</strong> solves this by providing 14 Gutenberg blocks for the most common advertising sizes. Each block is pre-configured with the correct dimensions and provides a clean, wireframe-style placeholder that clearly indicates the ad size and space it will occupy.</p>



<h3 class="wp-block-heading" id="supported-ad-sizes">Supported Ad Sizes</h3>



<p>The plugin includes blocks for all the standard IAB ad sizes:</p>



<ul class="wp-block-list">
<li><strong>Leaderboard</strong> (728×90px)</li>



<li><strong>Medium Rectangle</strong> (300×250px)</li>



<li><strong>Wide Skyscraper</strong> (160×600px)</li>



<li><strong>Mobile Banner</strong> (320×50px)</li>



<li><strong>Billboard</strong> (970×250px)</li>



<li><strong>Large Rectangle</strong> (336×280px)</li>



<li><strong>Half Page</strong> (300×600px)</li>



<li><strong>Small Square</strong> (200×200px)</li>



<li><strong>Square</strong> (250×250px)</li>



<li><strong>Small Rectangle</strong> (180×150px)</li>



<li><strong>Vertical Rectangle</strong> (240×400px)</li>



<li><strong>Large Leaderboard</strong> (970×90px)</li>



<li><strong>Portrait</strong> (300×1050px)</li>



<li><strong>Netboard</strong> (580×400px)</li>
</ul>



<h2 class="wp-block-heading" id="key-features">Key Features</h2>



<h3 class="wp-block-heading" id="simple-to-use">Simple to Use</h3>



<p>Just search for any ad size in the block inserter (e.g., &#8220;leaderboard&#8221; or &#8220;medium rectangle&#8221;), insert the block, and you&#8217;re done. No configuration required.</p>



<h3 class="wp-block-heading" id="customizable">Customizable</h3>



<p>Each placeholder supports:</p>



<ul class="wp-block-list">
<li><strong>Background color</strong> customization</li>



<li><strong>Text color</strong> customization</li>



<li><strong>Alignment options</strong> (wide and full alignment)</li>



<li><strong>Responsive design</strong> that works on all screen sizes</li>
</ul>



<h3 class="wp-block-heading" id="clean-design">Clean Design</h3>



<p>The placeholders feature a minimalist design that clearly shows:</p>



<ul class="wp-block-list">
<li>The ad size name</li>



<li>Exact pixel dimensions</li>



<li>A subtle border to indicate the space</li>
</ul>



<p>This makes it easy to visualize your layout without the placeholders dominating the design.</p>



<h2 class="wp-block-heading" id="use-cases">Use Cases</h2>



<p><strong>Placeholders</strong> is perfect for:</p>



<ol class="wp-block-list">
<li><strong>Wireframing</strong>: Quickly mock up ad placements during the design phase</li>



<li><strong>Development</strong>: Reserve space for ads while building the site</li>



<li><strong>Client Presentations</strong>: Show clients where ads will appear without setting up ad serving</li>



<li><strong>Testing Layouts</strong>: Experiment with different ad placements and sizes</li>



<li><strong>Documentation</strong>: Create visual guides showing ad placement options</li>
</ol>



<h2 class="wp-block-heading" id="technical-details">Technical Details</h2>



<p>The plugin is built with modern WordPress development practices:</p>



<ul class="wp-block-list">
<li><strong>100% Gutenberg native</strong> &#8211; Works seamlessly with the block editor</li>



<li><strong>No dependencies</strong> &#8211; Pure PHP, CSS, and JavaScript</li>



<li><strong>Lightweight</strong> &#8211; Minimal performance impact</li>



<li><strong>Well-tested</strong> &#8211; Includes comprehensive unit tests</li>



<li><strong>GPL licensed</strong> &#8211; Free and open source</li>
</ul>



<p>All blocks are grouped in a dedicated &#8220;Placeholders&#8221; category in the block inserter, making them easy to find and use.</p>



<h2 class="wp-block-heading" id="installation">Installation</h2>



<p>You can install Placeholders in three ways:</p>



<p><strong>From WordPress.org</strong> (Recommended)</p>



<ol class="wp-block-list">
<li>Go to Plugins → Add New in your WordPress admin</li>



<li>Search for &#8220;Placeholders&#8221;</li>



<li>Click Install Now, then Activate</li>
</ol>



<p><strong>From the Plugin Directory</strong> Download directly from <a href="https://wordpress.org/plugins/placeholders/">wordpress.org/plugins/placeholders</a></p>



<p><strong>From GitHub</strong> Clone or download from <a href="https://github.com/whyisjake/placeholders">github.com/whyisjake/placeholders</a></p>



<h2 class="wp-block-heading" id="whats-next">What&#8217;s Next</h2>



<p>This is the 1.0 release, and I&#8217;ve kept the scope focused on solving one problem well. However, I have ideas for future enhancements:</p>



<ul class="wp-block-list">
<li>Custom ad size support</li>



<li>Templates for common ad layout patterns</li>



<li>Integration with popular ad management plugins</li>



<li>Dark mode styling options</li>
</ul>



<p>If you have feature requests or find bugs, please <a href="https://github.com/whyisjake/placeholders/issues">open an issue on GitHub</a>.</p>



<h2 class="wp-block-heading" id="try-it-out">Try It Out</h2>



<p>The plugin is available now on WordPress.org. If you work with ad layouts in WordPress, give it a try and let me know what you think!</p>



<ul class="wp-block-list">
<li><strong>Download</strong>: <a href="https://wordpress.org/plugins/placeholders/">wordpress.org/plugins/placeholders</a></li>



<li><strong>GitHub</strong>: <a href="https://github.com/whyisjake/placeholders">github.com/whyisjake/placeholders</a></li>
</ul>



<p>Happy wireframing!</p>



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



<p><em>Placeholders is free and open source software, released under the GPL v2 license.</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:"Mon, 01 Dec 2025 17: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:13:"Jake Spurlock";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:51:"Open Channels FM: Tech Doesn’t Die, It Transforms";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:33:"https://openchannels.fm/?p=113128";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:54:"https://openchannels.fm/tech-doesnt-die-it-transforms/";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:"Think about it, most ideas behind any tech never really went away, they have transformed.";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, 01 Dec 2025 13:48:58 +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:74:"Jonathan Desrosiers: Seven Years a Committer: My WordPress Commit-iversary";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:38:"https://jonathandesrosiers.com/?p=8542";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:92:"https://jonathandesrosiers.com/2025/11/seven-years-a-committer-my-wordpress-commit-iversary/";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:8020:"<p class="">Today officially marks 7 years since my <a href="https://core.trac.wordpress.org/changeset/43957">first changeset was committed</a> to the <a href="https://wordpress.org">WordPress</a> open source project.</p>



<p class="">Within WordPress, a <em>committer</em> is a contributor who has the ability to modify the main WordPress source repository. Since 2004, roughly 117 people have been given commit access, and 111 have made at least one commit.</p>



<p class="">In previous years, I linked to posts from other contributors about what it means to be a great participant in open source. Over the past year, though, I have spent a lot of time thinking about what being a great contributor means to me and how decisions are made at scale in open source projects.</p>



<p class="">This year, instead of pointing to others, I am proud to <a href="https://maintaine.rs/desrosj">share an essay of my own</a>. It is a piece I drafted for the <a href="https://maintaine.rs/">Maintaine.rs book</a>, inspired by <a href="https://jonathandesrosiers.com/2025/06/how-a-core-committer-thinks-making-decisions-for-millions/">my talk at WordCamp Europe</a>, where I explored how Core Committers think and how decisions take shape within the WordPress project.</p>



<p class="">I also started drafting a few other posts on related topics, so stay tuned for those in the coming weeks. I hope to use the quieter days of December to get those over the finish line.</p>



<h2 class="wp-block-heading" id="h-lucky-number-seven">Lucky Number Seven</h2>



<p class="">Each year I try to give this anniversary post a theme. Since seven is considered a lucky number by many people (especially those <a href="https://en.wikipedia.org/wiki/Craps">on the pass line</a>), this year&#8217;s theme is luck.</p>



<p class="">I am writing this while on a plane to San Francisco for the <a href="https://wordpress.org/state-of-the-word/">2025 State of the Word</a>. This year took me to two countries I had never visited before. I spoke at several conferences and events, and I had the chance to mentor many contributors in different ways.</p>



<p class="">I feel incredibly lucky not only to have a job that allows me to help maintain open source software that powers more than 43% percent of the web, but also to have the trust of the community that maintains it right along side me.</p>



<h2 class="wp-block-heading" id="h-commits-by-the-numbers-2024-2025">Commits by the numbers (2024-2025)</h2>



<p class="">Here are some commit stats from November 30, 2024 through November 29, 2025:</p>



<ul class="wp-block-list">
<li class="">365 total commits (up ~42% from the <a href="https://jonathandesrosiers.com/2024/11/six-years-a-committer-my-wordpress-commit-iversary/">previous year</a>)</li>



<li class="">123 commits to <code>trunk</code> (down ~5%)</li>



<li class="">21 version bumps (up 320%)</li>



<li class="">5 reverts (down ~44%)</li>



<li class="">4 &#8220;unprops&#8221; (no change)</li>



<li class="">22 tags created (up 2,100%)</li>



<li class="">162 total props given out in my commits (down 42%)</li>



<li class="">66 unique contributors given props in my commits (down ~59%)</li>



<li class="">Of those 66 contributors, 8 were receiving props for the first time (down ~70%)</li>
</ul>



<p class="">Roughly grouped, here are my commits organized by <a href="https://make.wordpress.org/core/components/">component</a> (* designates a component that I help maintain):</p>



<ul class="wp-block-list">
<li class="">Administration: 1</li>



<li class="">Build/Test Tools: 175*</li>



<li class="">Bundled Themes: 7*</li>



<li class="">Coding Standards: 3 (focus, not a component)</li>



<li class="">Date/Time: 1</li>



<li class="">Database: 1</li>



<li class="">Docs: 1 (focus, not a component)</li>



<li class="">Editor: 3</li>



<li class="">Emoji: 2</li>



<li class="">External Libraries: 4*</li>



<li class="">General: 4*</li>



<li class="">HTML API: 2</li>



<li class="">Import: 1</li>



<li class="">Media: 2*</li>



<li class="">Press This: 1 (retired component</li>



<li class="">Security: 83</li>



<li class="">Site Health: 1</li>



<li class="">Tests: 5 (focus, not a component)</li>



<li class="">Toolbar: 1</li>



<li class="">Upgrade/Install: 1*</li>
</ul>



<h2 class="wp-block-heading" id="h-add-it-up-all-seven-years">Add it up: All Seven Years</h2>



<p class="">Here are stats for all seven years of being a WordPress Core Committer (November 30, 2018 through today):</p>



<ul class="wp-block-list">
<li class="">2,552 total commits</li>



<li class="">1,201 commits to <code>trunk</code></li>



<li class="">265 version bumps</li>



<li class="">174 version tags created</li>



<li class="">4 branches created</li>



<li class="">58 reverts</li>



<li class="">24 &#8220;unprops&#8221;</li>



<li class=""><a href="https://open.spotify.com/playlist/5vbJ3gncpLoc9AN0ct5iME?si=33aebb1f695b4536">11 commits with hidden song lyrics</a></li>



<li class="">4,846 total props given out in my commits</li>



<li class="">747 unique contributors given props in my commits</li>
</ul>



<p class="">I have also now entered into the top 5 list of contributors with the most commits to the code base across all branches:</p>



<ol class="wp-block-list">
<li class=""><a href="https://ryanboren.link/">Ryan Boren</a> (9,081)</li>



<li class=""><a href="https://profiles.wordpress.org/sergeybiryukov/">Sergey Biryukov</a> (8,342)</li>



<li class=""><a href="https://nacin.com/">Andrew Nacin</a> (5,418)</li>



<li class=""><a href="https://ozz.blog/">Andrew Ozz</a> (3,366)</li>



<li class="">Me (2,552)</li>
</ol>



<h2 class="wp-block-heading" id="h-a-few-other-observations">A Few Other Observations</h2>



<p class="">I realized while writing this year&#8217;s anniversary post that my first commit falls on <a href="https://en.wikipedia.org/wiki/Blue_Beanie_Day">Blue Beanie Day</a>. I may have to get a WordPress logo blue beanie for next year.</p>



<p class="">And hat tip to <a href="https://simonwillison.net/">Simon Willison</a> for <a href="https://x.com/simonw/status/1995168534251610335">pointing out</a> that ChatGPT was launched on November 30th, 2022.</p>



<h2 class="wp-block-heading" id="h-as-always-thank-you">As Always: Thank YOU! <img alt="🫵" class="wp-smiley" src="https://s.w.org/images/core/emoji/17.0.2/72x72/1faf5.png" style="height: 1em;" /></h2>



<p class="">Being a WordPress committer would not be nearly as meaningful without the countless contributions from people across the community who choose to support and maintain this free software in so many different ways. So thank you to every single one of you. <img alt="❤" class="wp-smiley" src="https://s.w.org/images/core/emoji/17.0.2/72x72/2764.png" style="height: 1em;" /></p>



<h2 class="wp-block-heading" id="h-previous-commit-iversaries">Previous Commit-iversaries</h2>



<ul class="wp-block-list">
<li class=""><a href="https://jonathandesrosiers.com/2020/11/two-years-my-wordpress-commit-iversary/">Two</a></li>



<li class=""><a href="https://jonathandesrosiers.com/2023/11/five-years-my-wordpress-commit-iversary/">Three/Four/Five</a></li>



<li class=""><a href="https://jonathandesrosiers.com/2024/11/six-years-a-committer-my-wordpress-commit-iversary/">Six</a></li>
</ul>



<p class="has-text-align-right"><em>Featured image credit: <a href="https://creativecommons.org/publicdomain/zero/1.0/">CC0</a> licensed <a href="https://wordpress.org/photos/photo/24165e5435/">photo</a> by <a href="https://wordpress.org/photos/author/chanecullens/">CCC</a> from the <a href="https://wordpress.org/photos/">WordPress Photo Directory</a>.</em></p>



<p class=""></p>
<p>The post <a href="https://jonathandesrosiers.com/2025/11/seven-years-a-committer-my-wordpress-commit-iversary/">Seven Years a Committer: My WordPress Commit-iversary</a> appeared first on <a href="https://jonathandesrosiers.com">Jonathan Desrosiers</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, 01 Dec 2025 04:51: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:19:"Jonathan Desrosiers";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:25:"Matt: Thanksgiving Sunday";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=150717";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:42:"https://ma.tt/2025/11/thanksgiving-sunday/";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:876:"<p>It&#8217;s an interesting cultural moment right now: I think Bryan tweeted, many people are watching people catching balls, while others are <a href="https://www.youtube.com/watch?v=64_ve0ToFrI">watching Bryan Johnson tripping balls</a>. Bryan Johnson, of <a href="https://blueprint.bryanjohnson.com/">Blueprint fame</a>, is livestreaming taking a heroic dose of mushrooms. It&#8217;s been an interesting journey with the journalist Ashlee Vance, Naval Ravikant, David Friedberg, Marc Benioff, Genevieve Jurvetson, and now a DJ set by Grimes. I was hoping he&#8217;d be talking/interacting more with the guests, but it&#8217;s been more of a live commentary. Glad all the work Bryan is doing, as Genevieve said, to broaden the Overton window on this, really re-opening a lot of research originially started by the government and pharmacutical companies 50-60 years ago.</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, 30 Nov 2025 22:32:03 +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: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:94:"Gutenberg Times: Gutenberg Changelog #125 – WordPress 6.9, Gutenberg 22.1 and Gutenberg 22.2";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=43300";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:107:"https://gutenbergtimes.com/podcast/gutenberg-changelog-125-wordpress-6-9-gutenberg-22-1-and-gutenberg-22-2/";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:58545:"<p>The newest episode of the <strong>Gutenberg Changelog podcast, #125</strong>, features hosts Birgit Pauli-Haack and JC Palmes discussing a major trio of releases: <strong>WordPress 6.9, Gutenberg 22.1, and Gutenberg 22.2</strong>.</p>



<p>JC highlights several exciting features in WordPress 6.9, focusing on significant developer and editor experience improvements, including the <strong>full iframe editor</strong>, <strong>routing</strong>, <strong>DataViews</strong>, the <strong>Interactivity API</strong>, <strong>pattern logic and content-only mode</strong>, and the <strong>Abilities system</strong>. A personal favorite is the new <strong>Accordion Block</strong>.</p>



<p>The discussion then moves to the latest Gutenberg releases. </p>



<p><strong>Gutenberg 22.1</strong> introduces the <strong>new <code>core/tabs</code> block</strong> and brings enhancements like <strong>JS/CSS editing for the HTML Block</strong>, updates to the Twitter/X embed icon, and various improvements to DataViews and Breadcrumbs.</p>



<p><strong>Gutenberg 22.2</strong> focuses on performance, block editor polish, accessibility, and developer experience. Key updates include expanded functionality for the <strong>Breadcrumbs</strong> block, support for <strong>background video embeds in the Cover block</strong>, and new controls for <strong>text justification</strong> and <strong>width</strong> in the Block Editor. It also refines the block-locking functionality with changes to pattern management, such as replacing the &#8216;Ungroup&#8217; option with &#8216;Add edit section&#8217; for specific blocks.</p>



<p>Tune in to get the full rundown on how these releases will shape the future of site building in WordPress.</p>



<p><a href="https://gutenbergtimes.com/podcast/gutenberg-changelog-69-gutenberg-releases-wordpress-6-0-1-the-create-block-theme/#shownotes">Show Notes</a> / <a href="https://gutenbergtimes.com/podcast/gutenberg-changelog-69-gutenberg-releases-wordpress-6-0-1-the-create-block-theme/#transcript">Transcript</a></p>



<p></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>



<h2 class="wp-block-heading">JC Palmes, WebDev Studios</h2>



<ul class="wp-block-social-links is-layout-flex wp-block-social-links-is-layout-flex"><li class="wp-social-link wp-social-link-x  wp-block-social-link"><a class="wp-block-social-link-anchor" href="https://twitter.com/jpalmes"><svg height="24" version="1.1" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M13.982 10.622 20.54 3h-1.554l-5.693 6.618L8.745 3H3.5l6.876 10.007L3.5 21h1.554l6.012-6.989L15.868 21h5.245l-7.131-10.378Zm-2.128 2.474-.697-.997-5.543-7.93H8l4.474 6.4.697.996 5.815 8.318h-2.387l-4.745-6.787Z"></svg><span class="wp-block-social-link-label screen-reader-text">X</span></a></li>

<li class="wp-social-link wp-social-link-github  wp-block-social-link"><a class="wp-block-social-link-anchor" href="https://github.com/khleomix/"><svg height="24" version="1.1" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M12,2C6.477,2,2,6.477,2,12c0,4.419,2.865,8.166,6.839,9.489c0.5,0.09,0.682-0.218,0.682-0.484 c0-0.236-0.009-0.866-0.014-1.699c-2.782,0.602-3.369-1.34-3.369-1.34c-0.455-1.157-1.11-1.465-1.11-1.465 c-0.909-0.62,0.069-0.608,0.069-0.608c1.004,0.071,1.532,1.03,1.532,1.03c0.891,1.529,2.341,1.089,2.91,0.833 c0.091-0.647,0.349-1.086,0.635-1.337c-2.22-0.251-4.555-1.111-4.555-4.943c0-1.091,0.39-1.984,1.03-2.682 C6.546,8.54,6.202,7.524,6.746,6.148c0,0,0.84-0.269,2.75,1.025C10.295,6.95,11.15,6.84,12,6.836 c0.85,0.004,1.705,0.114,2.504,0.336c1.909-1.294,2.748-1.025,2.748-1.025c0.546,1.376,0.202,2.394,0.1,2.646 c0.64,0.699,1.026,1.591,1.026,2.682c0,3.841-2.337,4.687-4.565,4.935c0.359,0.307,0.679,0.917,0.679,1.852 c0,1.335-0.012,2.415-0.012,2.741c0,0.269,0.18,0.579,0.688,0.481C19.138,20.161,22,16.416,22,12C22,6.477,17.523,2,12,2z"></path></svg><span class="wp-block-social-link-label screen-reader-text">GitHub</span></a></li>

<li class="wp-social-link wp-social-link-wordpress  wp-block-social-link"><a class="wp-block-social-link-anchor" href="https://profiles.wordpress.org/khleomix/"><svg height="24" version="1.1" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M12.158,12.786L9.46,20.625c0.806,0.237,1.657,0.366,2.54,0.366c1.047,0,2.051-0.181,2.986-0.51 c-0.024-0.038-0.046-0.079-0.065-0.124L12.158,12.786z M3.009,12c0,3.559,2.068,6.634,5.067,8.092L3.788,8.341 C3.289,9.459,3.009,10.696,3.009,12z M18.069,11.546c0-1.112-0.399-1.881-0.741-2.48c-0.456-0.741-0.883-1.368-0.883-2.109 c0-0.826,0.627-1.596,1.51-1.596c0.04,0,0.078,0.005,0.116,0.007C16.472,3.904,14.34,3.009,12,3.009 c-3.141,0-5.904,1.612-7.512,4.052c0.211,0.007,0.41,0.011,0.579,0.011c0.94,0,2.396-0.114,2.396-0.114 C7.947,6.93,8.004,7.642,7.52,7.699c0,0-0.487,0.057-1.029,0.085l3.274,9.739l1.968-5.901l-1.401-3.838 C9.848,7.756,9.389,7.699,9.389,7.699C8.904,7.67,8.961,6.93,9.446,6.958c0,0,1.484,0.114,2.368,0.114 c0.94,0,2.397-0.114,2.397-0.114c0.485-0.028,0.542,0.684,0.057,0.741c0,0-0.488,0.057-1.029,0.085l3.249,9.665l0.897-2.996 C17.841,13.284,18.069,12.316,18.069,11.546z M19.889,7.686c0.039,0.286,0.06,0.593,0.06,0.924c0,0.912-0.171,1.938-0.684,3.22 l-2.746,7.94c2.673-1.558,4.47-4.454,4.47-7.771C20.991,10.436,20.591,8.967,19.889,7.686z M12,22C6.486,22,2,17.514,2,12 C2,6.486,6.486,2,12,2c5.514,0,10,4.486,10,10C22,17.514,17.514,22,12,22z"></path></svg><span class="wp-block-social-link-label screen-reader-text">WordPress</span></a></li>

<li class="wp-social-link wp-social-link-instagram  wp-block-social-link"><a class="wp-block-social-link-anchor" href="https://www.instagram.com/khleomix/"><svg height="24" version="1.1" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M12,4.622c2.403,0,2.688,0.009,3.637,0.052c0.877,0.04,1.354,0.187,1.671,0.31c0.42,0.163,0.72,0.358,1.035,0.673 c0.315,0.315,0.51,0.615,0.673,1.035c0.123,0.317,0.27,0.794,0.31,1.671c0.043,0.949,0.052,1.234,0.052,3.637 s-0.009,2.688-0.052,3.637c-0.04,0.877-0.187,1.354-0.31,1.671c-0.163,0.42-0.358,0.72-0.673,1.035 c-0.315,0.315-0.615,0.51-1.035,0.673c-0.317,0.123-0.794,0.27-1.671,0.31c-0.949,0.043-1.233,0.052-3.637,0.052 s-2.688-0.009-3.637-0.052c-0.877-0.04-1.354-0.187-1.671-0.31c-0.42-0.163-0.72-0.358-1.035-0.673 c-0.315-0.315-0.51-0.615-0.673-1.035c-0.123-0.317-0.27-0.794-0.31-1.671C4.631,14.688,4.622,14.403,4.622,12 s0.009-2.688,0.052-3.637c0.04-0.877,0.187-1.354,0.31-1.671c0.163-0.42,0.358-0.72,0.673-1.035 c0.315-0.315,0.615-0.51,1.035-0.673c0.317-0.123,0.794-0.27,1.671-0.31C9.312,4.631,9.597,4.622,12,4.622 M12,3 C9.556,3,9.249,3.01,8.289,3.054C7.331,3.098,6.677,3.25,6.105,3.472C5.513,3.702,5.011,4.01,4.511,4.511 c-0.5,0.5-0.808,1.002-1.038,1.594C3.25,6.677,3.098,7.331,3.054,8.289C3.01,9.249,3,9.556,3,12c0,2.444,0.01,2.751,0.054,3.711 c0.044,0.958,0.196,1.612,0.418,2.185c0.23,0.592,0.538,1.094,1.038,1.594c0.5,0.5,1.002,0.808,1.594,1.038 c0.572,0.222,1.227,0.375,2.185,0.418C9.249,20.99,9.556,21,12,21s2.751-0.01,3.711-0.054c0.958-0.044,1.612-0.196,2.185-0.418 c0.592-0.23,1.094-0.538,1.594-1.038c0.5-0.5,0.808-1.002,1.038-1.594c0.222-0.572,0.375-1.227,0.418-2.185 C20.99,14.751,21,14.444,21,12s-0.01-2.751-0.054-3.711c-0.044-0.958-0.196-1.612-0.418-2.185c-0.23-0.592-0.538-1.094-1.038-1.594 c-0.5-0.5-1.002-0.808-1.594-1.038c-0.572-0.222-1.227-0.375-2.185-0.418C14.751,3.01,14.444,3,12,3L12,3z M12,7.378 c-2.552,0-4.622,2.069-4.622,4.622S9.448,16.622,12,16.622s4.622-2.069,4.622-4.622S14.552,7.378,12,7.378z M12,15 c-1.657,0-3-1.343-3-3s1.343-3,3-3s3,1.343,3,3S13.657,15,12,15z M16.804,6.116c-0.596,0-1.08,0.484-1.08,1.08 s0.484,1.08,1.08,1.08c0.596,0,1.08-0.484,1.08-1.08S17.401,6.116,16.804,6.116z"></path></svg><span class="wp-block-social-link-label screen-reader-text">Instagram</span></a></li>

<li class="wp-social-link wp-social-link-facebook  wp-block-social-link"><a class="wp-block-social-link-anchor" href="https://www.facebook.com/jcpalmes/"><svg height="24" version="1.1" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M12 2C6.5 2 2 6.5 2 12c0 5 3.7 9.1 8.4 9.9v-7H7.9V12h2.5V9.8c0-2.5 1.5-3.9 3.8-3.9 1.1 0 2.2.2 2.2.2v2.5h-1.3c-1.2 0-1.6.8-1.6 1.6V12h2.8l-.4 2.9h-2.3v7C18.3 21.1 22 17 22 12c0-5.5-4.5-10-10-10z"></path></svg><span class="wp-block-social-link-label screen-reader-text">Facebook</span></a></li>

<li class="wp-social-link wp-social-link-linkedin  wp-block-social-link"><a class="wp-block-social-link-anchor" href="https://www.linkedin.com/in/jcmaepalmes/"><svg height="24" version="1.1" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M19.7,3H4.3C3.582,3,3,3.582,3,4.3v15.4C3,20.418,3.582,21,4.3,21h15.4c0.718,0,1.3-0.582,1.3-1.3V4.3 C21,3.582,20.418,3,19.7,3z M8.339,18.338H5.667v-8.59h2.672V18.338z M7.004,8.574c-0.857,0-1.549-0.694-1.549-1.548 c0-0.855,0.691-1.548,1.549-1.548c0.854,0,1.547,0.694,1.547,1.548C8.551,7.881,7.858,8.574,7.004,8.574z M18.339,18.338h-2.669 v-4.177c0-0.996-0.017-2.278-1.387-2.278c-1.389,0-1.601,1.086-1.601,2.206v4.249h-2.667v-8.59h2.559v1.174h0.037 c0.356-0.675,1.227-1.387,2.526-1.387c2.703,0,3.203,1.779,3.203,4.092V18.338z"></path></svg><span class="wp-block-social-link-label screen-reader-text">LinkedIn</span></a></li></ul>



<ul class="wp-block-list">
<li><a href="https://khleomix.com/">Website</a></li>



<li><a href="https://webdevstudios.com/2025/11/25/a-developers-guide-the-future-of-the-wordpress-gutenberg-block-editor/">A Developer’s Guide: The Future of the WordPress Gutenberg Block Editor</a></li>



<li><a href="https://github.com/WebDevStudios/wds-bt">WDS-BT on GitHub</a></li>



<li>Previous Appearances
<ul class="wp-block-list">
<li><a href="https://gutenbergtimes.com/podcast/gutenberg-changelog-108-block-themes-for-agencies/">Gutenberg Changelog #108 – Gutenberg 19.3, WordPress 6.7 – Block Themes for Agencies, WordCamp Asia</a></li>



<li><a href="https://gutenbergtimes.com/podcast/gutenberg-changelog-116-wordpress-6-8-field-guide/">Gutenberg Changelog 116 – WordPress 6.8, Source of Truth, Field Guide, Gutenberg 20.5 and 20.6</a></li>
</ul>
</li>
</ul>



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



<p><a href="https://www.youtube.com/playlist?list=PL9ax-dojLw7yUsr3hDIRWHoaGkjyBUWyW"><strong>Gutenberg Changelog podcast</strong></a> now also available on YouTube</p>



<h2 class="wp-block-heading">WordPress 6.9</h2>



<p><a href="https://wordpress.org/state-of-the-word/">State of the Word</a> Dec 2, 2025, at 20:00 UTC</p>



<p><a href="https://wordpress.org/news/2025/11/wordpress-6-9-release-candidate-3/">Release Candidate 3</a></p>



<p><a href="https://gutenbergtimes.com/wordpress-6-9-source-of-truth/">Source of Truth is out.</a></p>



<p><a href="https://make.wordpress.org/core/2025/11/25/wordpress-6-9-field-guide/">Field Guide </a></p>



<p><a href="https://make.wordpress.org/core/2025/11/27/wordpress-importer-can-now-migrate-urls-in-your-content/">WordPress Importer can now migrate URLs in your content</a></p>



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



<ul class="wp-block-list">
<li><a href="https://make.wordpress.org/core/2025/11/20/whats-new-in-gutenberg-22-1-18-november-2025/">What&#8217;s new in Gutenberg 22.1? (18 November, 2025)</a></li>



<li><a href="https://github.com/WordPress/gutenberg/releases/tag/v22.2.0-rc.1">Gutenberg 22.2 RC 1</a></li>
</ul>



<p></p>



<p></p>



<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> Welcome to our 125th episode of the Gutenberg Changelog Podcast. In today&#8217;s episode we will talk about WordPress 6.9, Gutenberg 22.1 and Gutenberg 22.2 releases or versions. I&#8217;m your host Birgit Pauli-Haack, Curator at the Gutenberg Times and a full-time core contributor for the WordPress open source project sponsored by Automattic. It&#8217;s a special delight to have JC Palmes with me on the show today. JC is the principal Technical Manager at WebDev Studios. Welcome back to the show, JC. How are you today?</p>



<p><em>JC Palmes: </em>I&#8217;m doing good, Birgit. I am very busy but still alive. So that&#8217;s a win.</p>



<p><em>Birgit Pauli-Haack: </em>I can imagine.</p>



<p><em>JC Palmes: </em>Yeah. Happy to be here and talk with President Gutenberg again.</p>



<p><em>Birgit Pauli-Haack: </em>Super. Yeah. Great to see you have your perspective on all the things. I just want to point out that on WebDev Studios they have just posted a developer&#8217;s guide to the future of WordPress with Gutenberg block editor, and in a in a short summary it&#8217;s why they switched or why WebDev Studios is so involved in React applications and in block themes and in the block development because it has a lot of advantages, and so there is the code shift to reactive components. I think one of the advantages that I see is that actually WordPress is giving so many components that as a plugin developer or agency developer you don&#8217;t have to make those decisions on the UI anymore. You can just follow along with the ideas. Is that accurate when I say that?</p>



<p><em>JC Palmes: </em>Yeah. So that article I really like that a lot. It reflects what we see on most of our enterprise scale projects where blocks function like React components and they function like react components now. And theme JSON is basically the design system contract. So performance improves massively when you just when you move away from the old page builder stack for multisites and you know, big editorial teams, this kind of structure is really the only way things stay sane long term. So yeah, that piece captured that direction really well and it&#8217;s just the performance alone is just massive.</p>



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



<p>J<em>C Palmes: </em>Massive performance improvements.</p>



<p><em>Birgit Pauli-Haack: </em>Yeah. I think we talked about it the last time you were on the show when you already created the starter theme that&#8217;s based on block theme for the organization. So that&#8217;s what you start out with. And I will share the link to.</p>



<p><em>JC Palmes:</em> The GitHub repo wsbt. Yeah.</p>



<p><em>Birgit Pauli-Haack:</em> Yes in the show notes and I think that also encapsulated all the good ideas around it. Have you developed a little bit more on that? What other features kind of went in.</p>



<p><em>JC Palmes:</em> Not recently but it&#8217;s in my list of to do’s. It&#8217;s just I&#8217;ve been very busy with projects and stuff, so I will need to. Because there are some fixes that moved into Core but we had to do very custom fixes and some of those are already in Core. So we will have to remove those and make sure that it&#8217;s aligned with the new version of WordPress and of course fully tested.</p>



<p><em>Birgit Pauli-Haack:</em> Yeah, I can see that there are always a few things that are not working in WordPress or you have to build a workaround. You know it&#8217;s coming but you need something now. You need to build a workaround and then when it comes into Core that they say, oh, okay, that custom code goes away and in comes Core. But it still needs to be backwards compatible also for your clients. So. But I think that&#8217;s a pretty good trade off to actually then have WordPress keep updating the part of the code. Yeah.</p>



<p><em>JC Palmes:</em> And the way that WordPress is kind of moving towards a future proof version, it&#8217;s easier to add in fixes now and take it out when Core takes over. I haven&#8217;t had any sites break currently. That&#8217;s using our base theme.</p>



<p><em>Birgit Pauli-Haack:</em> That&#8217;s awesome.</p>



<p><em>JC Palmes:</em> Even with the core updates.</p>



<p><em>Birgit Pauli-Haack:</em> Yeah. It&#8217;s all pretty much isolated and you don&#8217;t have to worry so much about things. Yeah. Awesome. So, yeah, we will share the article about the developer&#8217;s guide on the future of WordPress and Gutenberg block Editor in the show notes. We will also share the starter theme that WebDev Studios has, and I don&#8217;t think we talked about it here on the show or maybe with somebody else. That&#8217;s the theme switcher plugin that came out from WebDev Studio, which is a way to have different themes, multiple themes.</p>



<p><em>JC Palmes:</em> Yep. In one site. It&#8217;s a really robust plugin and I think a lot of enterprise level companies are going to like it just because they can test, you know, if they&#8217;re not ready for Gutenberg blocks and they&#8217;re still on the old WordPress computing system, if they want to try this out, then they can have a full site theme and together with their old theme and change it out one page at a time.</p>



<p><em>Birgit Pauli-Haack:</em> Yeah, yeah, that&#8217;s what I understood. That you can have a gradual migration over to the new system to a block theme and see how your content performs and how your content creators actually work with it before you make the switch for the whole site. I think that&#8217;s pretty smart to do, especially when you have thousands and thousands of posts and more than two editors kind of.</p>



<p><em>JC Palmes:</em> Yeah.</p>



<p><em>Birgit Pauli-Haack:</em> It&#8217;s really helpful to have a gradual shift because we all don&#8217;t like change, sudden changes. You know, we like to be in the. Okay. I need to get accustomed to things.</p>



<p><em>JC Palmes:</em> This thing, that theme switcher is kind of, it&#8217;s allowing these people to test the waters first before diving right in.</p>



<p><em>Birgit Pauli-Haack:</em> Yeah. And you can make the blue block theme that is kind of added to the. The other theme kind of look almost identical like the other one. So you have the shell and then can see how the. The rest of it works. Yeah, it&#8217;s pretty nifty. Yeah. So that I will share also with our listeners on the show notes. And I&#8217;m glad you&#8217;re all doing such a great job in advocating for the block editor and share all your wins with the community. </p>



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



<p>All right, so I have a few announcements, dear listeners. </p>



<p>So the Gutenberg Changelog is now also available as a podcast on YouTube. Last week I uploaded all episodes. Well, I didn&#8217;t upload one at a time. So YouTube has this feature where you can point it to an RSS feed and then it gradually kind of uploads them itself on its own. And because Google abandoned their podcast space maybe two years ago and only now I have migrated it, but it was fairly easy to do and the only change I had to make was to allow the RSS feed to actually have all the episodes in there so YouTube could grab them. But I also needed to do that anyway because I also switched over from the seriously simple podcast player on our episodes to the Pocket Cast player. So Pocket Cast also needs all our episodes so we can have the slug or the short link for the embed code in there so that you will see also on the website. </p>



<p>And I also wanted to say hi and welcome to all the new subscribers. We had a lot more listeners in the last month and I would really. Yeah, it&#8217;s awesome. I&#8217;m so happy that after a period of two years stagnating, kind of always have the same amount of listens and downloads, and now all of a sudden it&#8217;s really great to connect with you, dear listeners. And if you want, leave a comment or review on your favorite podcast app, we will read it aloud here and I also want to connect with you and learn about your ideas or what topics you would like us to cover more. So you can also send this all to the email address. The official email address for the podcast is <a href="http://changelogatgutenbergtimes.com">changelogatgutenbergtimes.com</a> so now enough about me. Let&#8217;s talk about my book. No, I don&#8217;t, I don&#8217;t do a book.</p>



<p><em>JC Palmes:</em> I would read your book.</p>



<p>Birgit Pauli-Haack: Oh, thank you. Yeah, I, I sometimes. Well, I almost did a book. Yeah. For WordPress 6.9. But we will talk about that. </p>



<h3 class="wp-block-heading">WordPress 6.9 Release</h3>



<p>So WordPress 6.9 is coming. We are a few days away, like five days or something away from the WordPress 6.9 release. It&#8217;s out as release candidate three. We are recording this on November 28th and the release is scheduled for December 2nd. So today is Friday. For Tuesday, that&#8217;s also the date when State of the World will happen out of San Francisco live streamed and probably with a few demos from WordPress 6.9. Also with the Outlook for 2026, but for our listeners, the field guide is out. It came a little later than for other releases, but on the Gutenberg Times I also published the WordPress 6.9 source of truth, which has a whole lot of details about what changed on the block editor for end users and also for theme developers, what they can style and all that. So if you want to read it, it&#8217;s 22 to 33 minutes to read through it and it has 5,000 words, over 5,000 words. So that&#8217;s half that. It&#8217;s not a book, but it&#8217;s a book. It&#8217;s almost a book.</p>



<p><em>JC Palmes:</em> It&#8217;s a lot of words.</p>



<p><em>Birgit Pauli-Haack:</em> That&#8217;s a lot of words. But also screenshots and videos so you can really learn a little bit more about what&#8217;s in the editor. And I also have a ton of links about the developer-related updates. So JC, what are your favorite or exciting updates coming to WordPress 6.9?</p>



<p><em>JC Palmes:</em> Well, my first, my top one would probably be the terms query improvement. I thought that was still on Gutenberg 22.2. It&#8217;s now on 6.9. I mean it&#8217;s a big deal for me because I&#8217;ve built custom versions of this so many times because you know, the current query block, they&#8217;re not strong enough for what we need. So with that coming into Core, that&#8217;s kind of big.</p>



<p><em>Birgit Pauli-Haack:</em> The term query block, it almost works like the query block, but not with posts, but with description tags. Yeah, with the terms and also so you can have the title, you can have the count and you can also. The term description was already available as a block, but now you can also put it in a dynamic page where you can list all the good categories and things that you need. Yeah, and it&#8217;s good for filtering I would think, for the huge sites and it also sites.</p>



<p><em>JC Palmes:</em> Yes.</p>



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



<p><em>JC Palmes:</em> But else the accordion block. I&#8217;ve built so many versions of the accordion block as well. So having that in core just means lesser custom blocks. And you know, it&#8217;s. It&#8217;s going to be consistent markup because it&#8217;s core and I&#8217;m pretty sure better accessibility and styling, so there&#8217;s no surprises.</p>



<p><em>Birgit Pauli-Haack:</em> Yeah. I think the accordion block really lives from how you&#8217;re going to style it. So the style variations are much easier to create than custom blocks. On the developer blog, Justin Tadlock actually did a tutorial on how to style the accordion block, and he also has a snippet on how to add the schema for FAQs to the accordion block. So I will share that in the links in the show notes. He explains how to do the theme JSON styling, also the style sheet, as well as what&#8217;s still missing, how you do it in CSS and also how you can do it in a plugin or in a pattern rather. And so it&#8217;s a really good tutorial for someone who kind of starts out and hasn&#8217;t done so many accordion blocks like you did. Yeah. What else are you going to be?</p>



<p><em>JC Palmes:</em> So another big one for me is I know it&#8217;s not yet in core, it&#8217;s in the plugin still, but the preparation is already in core. It&#8217;s the full iframe preparation for the integration in the post editor.</p>



<p><em>Birgit Pauli-Haack:</em> Why is that important for you?</p>



<p><em>JC Palmes:</em> Because it&#8217;s going to mean cleaner isolation, fewer CSS leaks, less theme and admin bleed. Bleed through with styles. Because we&#8217;ve been battling that. Yeah. So we&#8217;ve had quite a bit of issues with admin CSS sneaking into custom blocks and vice versa. So this direction makes me very happy.</p>



<p><em>Birgit Pauli-Haack:</em> Oh, good, good. I&#8217;m glad. The contributors will be happy to hear that, especially Aki and Ria and Ella, who kind of have been working on that for so long. And thank you. I let him know.</p>



<p><em>JC Palmes:</em> One other thing, I&#8217;m not sure. Did the tiny MCE thing make it into core or will make it into Core?</p>



<p><em>Birgit Pauli-Haack:</em> No, not yet.</p>



<p><em>JC Palmes:</em> Oh, not yet.</p>



<p><em>Birgit Pauli-Haack:</em> I think that it&#8217;s not automatically loaded. That part. Yeah, I think that&#8217;s slated for 7.0.</p>



<p><em>JC Palmes:</em> Okay, I&#8217;ll wait for 7.0. I&#8217;ll be very happy. Well, I&#8217;m happy now that there&#8217;s ongoing work because in one of my projects, again, I&#8217;ve been fighting with a lot. I&#8217;ve been fighting with tiny MC issues for months, especially when you have more than 10 classic blocks and ACF with tiny MC on top. Everything just starts lagging or breaking in very strange ways. So please make it happen.</p>



<p><em>Birgit Pauli-Haack:</em> So what else is there are any APIs that are coming to 6.9 that you are excited about?</p>



<p><em>JC Palmes:</em> API. Yeah. Abilities API. That one is interesting. Is that in moving Core? Yeah, it&#8217;s moving core. Yeah. I know. It&#8217;s still kind of experimental. Oh damn. Yeah, I&#8217;m sorry. Really excited.</p>



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



<p><em>JC Palmes:</em> Yeah. So what I like about this because it&#8217;s now in a kind of unified declarative model with permissions. So plugins are no longer as scatterbrained with capabilities, capability checks everywhere. So this is going to be a cleaner way to define what a user role can do. That&#8217;s more of what I need it for. It&#8217;s one feature that I&#8217;ll probably be playing with a lot more. Data views and routing. Those two.</p>



<p><em>Birgit Pauli-Haack: </em>Yeah, yeah. Data views are on NPM. So if you as a plugin developer or agency developer want to use it, they can be included into your REACT apps. And there&#8217;s not only the data views but also the data forms where you get validation with it and then you can do your modals. For data entry. It is a whole new design system for the admin and for admin pages. It will not be kind of a switch over right away. Yeah. So from. From the site editor to the whole thing like the command palette. It definitely needs a lot of testing and quite a few plugins. For instance, Jetpack uses it. Some screens at WooCommerce use it now and then. I also know that other plugins are actually working with it to use the data view&#8217;s components and design for their plugins.</p>



<p><em>JC Palmes:</em> Yeah. Because if this becomes a standard for building admin UIs, we can finally stop reinventing these tables every year and you.</p>



<p><em>Birgit Pauli-Haack:</em> Don&#8217;t have to maintain the bulk of the code. So it&#8217;s only the business logic pretty much. And to maintain for you. Anything else that you want to talk about?</p>



<p><em>JC Palmes:</em> Performance improvements are off the charts. On smarter script and style loading, they&#8217;re now going to load automatically in the footer. Right?</p>



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



<p><em>JC Palmes:</em> And then there&#8217;s the fetch FOID that I only learned about earlier today. It&#8217;s kind of interesting. And yeah, the reducement of the layout shift for videos. Oh, caching is now better cache support, especially for multi sites. The multi site cache is going to be. Can be cleared out for the whole site, not just for per site. Right. Yeah, I think that&#8217;s going to be huge. Yeah. We&#8217;ve Been having quite a bit of multi site projects lately, so that&#8217;s going to be. Yeah.</p>



<p>Birgit Pauli-Haack: So do you see any applications or adoption of the Notes feature, the content top level commenting?</p>



<p><em>JC Palmes:</em> Well, for content editors that would be a help, I guess. I haven&#8217;t really paid a lot of attention to that part. I paid more attention to the developer parts and more of the UI. Yeah, that. I&#8217;m not sure if I&#8217;ll use it, but probably. Well, I don&#8217;t really take notes, so.</p>



<p><em>Birgit Pauli-Haack:</em> All right, good, good. So I think that&#8217;s all we&#8217;re going to talk about WordPress 6.9. I talked with Ella about it and I also talked with Sarah about it and with Beth Soderberg. So the last four episodes we have talked about quite a bit about 6.9. So now that it&#8217;s here, it&#8217;s really kind of. We&#8217;re going to be shifting what&#8217;s coming to 7.0, but not in this episode except for what&#8217;s in Gutenberg plugins. </p>



<p>Before we head into what&#8217;s released, I wanted to point out to our listeners that the WordPress importer has received a major upgrade and that came out of the Playground team. The Playground has this blueprint steps called Import WXR, which actually uses the export of a site that is done exporting with the WordPress importer. But the problem was when you import it to Playground, all the links would break and so the team added a URL replacer to the importer plugin and it not only is a very smart replacer, it does not only replace the page links, but also the URLs or the links that are in navigation blocks that are in background image CSS. And so it&#8217;s, it&#8217;s actually really helping. You don&#8217;t need any other plugin to actually import an export from a website. Yeah. So you can put it into Playground and then have a fully functioning site without having trouble. And if the images are still on the original site, it kind of grabs them and puts them in as well like the normal importer does. But it also replaces the URLs to the image. So it&#8217;s really a major shift on the WordPress importer. I think I abandoned using the importer about four or five years ago for other plugins when I was moving sites. But this seems to be a much smaller way now because it also streams that. So it&#8217;s really fast on the importing part.</p>



<p><em>JC Palmes:</em> I&#8217;ll have to check that and test it out.</p>



<p><em>Birgit Pauli-Haack:</em> Yeah, it&#8217;s released now in 0.9.5, and I&#8217;ll share the link in the show Notes to the PR that implemented that URL report. There&#8217;s actually a better way. Adam Chylinski, the brilliant programmer of Playground, has actually a post on the Core blog where he kind of lays out how he did it. </p>



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



<p>All right, now we come to the Gutenberg 22.1 release. Do you want to lead us into what&#8217;s new and what we&#8217;re going to talk about? We start out with a new block. It&#8217;s the core tabs.</p>



<p><em>JC Palmes:</em> Oh, the core tabs. Yep.</p>



<p><em>Birgit Pauli-Haack:</em> Have you been waiting for that too?</p>



<p><em>JC Palmes:</em> Hey, yeah, yeah. We do have quite a bit of custom blocks as well that are tabs usually for education sites where they have multiple content that they need to add into tabs. We&#8217;ve used the navigation block before to kind of hack it up and use it as a tabs block and sometimes just very custom tabs block. But this is going to be way better because it&#8217;s now native and core. </p>



<p><em>Birgit Pauli-Haack:</em> All right, okay. Yeah, I have seen a lot of tabs on some websites, but I personally. But I also don&#8217;t build a whole lot of websites with a lot of content. So I was wondering both for the accordion or the tabs block, but I can see that it&#8217;s actually a good use case for vertical navigation where you can then just have use it on the left hand side and then you click on it and opens content on the right hand side and it makes it so much faster because it doesn&#8217;t need a reload. It&#8217;s already on the website.</p>



<p><em>JC Palmes:</em> Yeah.</p>



<p><em>Birgit Pauli-Haack:</em> So yeah, that&#8217;s pretty cool. So what else? </p>



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



<p>There are enhancements to the design system for the admin stuff and also the static and lazy routing for the data views. But that&#8217;s all very, very developer-oriented. Okay. So the block library, with this release there comes image prefetching for clicks to expand the images. So if you. If a user or a visitor actually hovers over your gallery or your images and so there is an indication, oh, maybe they want to click on it and so it kind of prefetches the image. So after the click the loading is almost instantaneous. It&#8217;s actually somebody called it cheating, but it&#8217;s not. It&#8217;s kind of anticipating what a visitor wants to do and be helpful. Yeah. The next one is Breadcrumbs. So Breadcrumbs is still in an experimental new block. The same with the tabs block. You have to enable the experiments in the Gutenberg plugin and it now can handle homepage and show the last item attribute and add 404 search and other archive pages to the breadcrumbs if they are in the context of that particular page where it&#8217;s loaded.</p>



<p><em>JC Palmes:</em> Yeah, well, I&#8217;ve built a lot of breadcrumbs as well, so this is going to be great once it&#8217;s. It lands in Core.</p>



<p><em>Birgit Pauli-Haack:</em> Yeah, I know. I have used Justin Tadlock&#8217;s breadcrumbs block quite a bit and he has also been part of the team who&#8217;s kind of looking at how that&#8217;s working and if it&#8217;s good ready for Core and all that. So yeah, I really like it. Especially if you&#8217;re large sites like any other, you need breadcrumbs to guide your visitors back to safety, so to speak. If they get too deep into the site they want to. How they get back to it. Yeah, the next block I&#8217;m really excited about. Well, the HTML custom block is already in Core, but what they did now was they added JavaScript and CSS editing to the block. So you can actually.</p>



<p><em>JC Palmes:</em> That is nice. Yeah.</p>



<p><em>Birgit Pauli-Haack:</em> Build your own little app in one block kind of thing. So, yeah, it&#8217;s pretty cool.</p>



<p><em>JC Palmes:</em> That&#8217;s going to get a lot of use for me just for playing around.</p>



<p><em>Birgit Pauli-Haack: </em>Yeah. Well, you can do some great prototypes with that and then get the code in the right places. But yeah, it&#8217;s really cool. For those who are looking for a Twitter embed, it will be replaced by the X embed icon in text. I think after three years it&#8217;s probably time. Yeah.</p>



<p><em>JC Palmes:</em> Once this hits Core, I&#8217;ll have to remove the function that we&#8217;ve added for that particular feature.</p>



<p><em>Birgit Pauli-Haack:</em> Yeah. Do you want to take the next one?</p>



<p><em>JC Palmes:</em> It&#8217;s collaboration of the notes that I don&#8217;t use, but. Right, right, definitely interesting. And I see it being used for collaboration for those use notes, but not for me.</p>



<p><em>Birgit Pauli-Haack:</em> With this release that comes. I need to put it this way. So normally you want to disable things also when there are new features, there are always some people who need it also to be disabled, but it&#8217;s also some. You don&#8217;t want the notes to show up in distraction free mode or in the code editor. So this release in the Gutenberg 22.1, for those two things, notes are disabled. There&#8217;s also keyboard shortcuts and support for tree navigation and form submission shortcuts and all that. But those are the two outstanding changes to the notes that won&#8217;t be in 6.9. Well, let me verify that. No, it was backported both of them were backported to the release candidate. So it&#8217;s in 6.9.</p>



<p><em>JC Palmes:</em> Maybe I&#8217;ll check it out.</p>



<p><em>Birgit Pauli-Haack:</em> Yeah, absolutely do. Yeah, you want to know what your customers are doing with it. And there&#8217;s also a def. Go ahead.</p>



<p><em>JC Palmes:</em> Oh, sorry. Go ahead. Yeah. I&#8217;m just going to say that it&#8217;s good that they also added in a. An ability to disable it.</p>



<p><em>Birgit Pauli-Haack:</em> Yeah. And there is a dev note by Adam Silverstein, who was one of the instrumental developers there. There were also contributors from Asia there. And so there was a whole team building on that. The team was from the company Multidots and they have been working on it for probably a year. And the developer note by Adam Silverstein is really very specific on how it was implemented. If there are new filters and hooks to figure out more about the dev notes, if you need additional features and how it all kind of came together, what&#8217;s the basis of it. And so it&#8217;s a really interesting note. If you are a developer and working with WordPress. The next thing is the text area control. I like that you now can add to the text area in. But that&#8217;s for the data forms, I think. Yeah, no, it&#8217;s in. Yeah, it&#8217;s in the components actually. So it can be in the editor as well. If you have a text area that you now can add a minimum height to it. So it can also grow from there. Yeah. Do you want to do the next bolded one?</p>



<p><em>JC Palmes: </em>Yeah. Okay. So the color picker also got a really nice upgrade. You can now paste an entire color value directly into it and it&#8217;s in any format. Right. So Hex, RGB, HSL. Can it do named colors? It can, right?</p>



<p><em>Birgit Pauli-Haack:</em> No, I don&#8217;t think so.</p>



<p><em>JC Palmes:</em> Oh, that would be awesome.</p>



<p><em>Birgit Pauli-Haack:</em> That would be awesome.</p>



<p><em>JC Palmes:</em> Yeah.</p>



<p><em>Birgit Pauli-Haack</em>: Well, we need to try it out. Yeah. To do. If you can do lime. Lime yellow.</p>



<p><em>JC Palmes:</em> Yeah, yeah, yeah. I think what&#8217;s great is that, you know, you don&#8217;t have to click into a specific input, just paste it. Enter inside the picker. Yeah, I had to sometimes because when you do colors, right. For websites and you have not added a specific color to the color picker for the theme, I have this browser extension where I just hover on the color and get the value and then the color picker would not. I do not like the value that I input into it. So having the ability to add the entire color value directly is going to save me a lot of time and doing that.</p>



<p><em>Birgit Pauli-Haack:</em> Yeah. And also it avoids typos. Yeah, but. Oh, yeah, yeah. I&#8217;ll look up colors all the time. Yeah. And then want to just hover the hex value and then post it in. But yeah, you have to. It&#8217;s good. </p>



<p>So the term name, the extensibility on the term name, I&#8217;m not sure it&#8217;s really extensibility, but it adds the level options for the heading levels and I think that was in 6.6 where that actually made around because the extensibility is that you can control the levels that a heading can have. So normally when you use a heading heading block it starts with H2 and you always need to use the drop down to change it to H3. Yeah. And with the level options you can actually control that through theme JSON. Or to only do term level being H3 all the time. Yes. Without having to change it every time you use the heading level.</p>



<p><em>JC Palmes:</em> A very nice improvement for content only patterns is normally when you&#8217;re editing a content only pattern, a lot of the design controls are hidden because you know, the structure is locked. So. And that&#8217;s the whole point. One of the annoying parts of it is trying to tweak colors.</p>



<p><em>Birgit Pauli-Haack:</em> So you can do it now.</p>



<p><em>JC Palmes:</em> So. Yep, you can do it now. That&#8217;s going to be a huge experience for. Well, for content writers.</p>



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



<p><em>JC Palmes:</em> Really.</p>



<p><em>Birgit Pauli-Haack:</em> And you don&#8217;t have to enable it. Yeah. With custom code either.</p>



<p><em>JC Palmes:</em> Anyone is able. Yeah, exactly.</p>



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



<p><em>Birgit Pauli-Haack:</em> So we come now to the bug fixes and there are a ton of bug fixes. Yeah. Don&#8217;t get me wrong, there are also a ton of them that were backported to WordPress 6.9. And for the accordion block, it adds CSS for the default styles. It also has some font style inheritance for button and inner text blocks. I think that that&#8217;s a little bit of a red flag. No, not red flag, but it was a little bit. The benefit from the accordion block in core was that it didn&#8217;t have any opinion on style. But the problem was that if you use the accordion block in a classic theme, then it wouldn&#8217;t have any styling unless you put it in a classic theme. So there was one idea was to just put some default styling in, but they were so restrictive that they can&#8217;t be overwritten by theme JSON values for another theme. So that kind of was a little bit of a problem. I&#8217;m not quite sure how they solved it or if they&#8217;ve solved it before the next version comes out, before the 6.9 comes out, but that&#8217;s kind of part of it. And the inner blocks of buttons or text blocks, they inherit the style of the above accordion block. So it&#8217;s kind of that.</p>



<p><em>JC Palmes:</em> Okay, so right now. Well, prior to this fix, it&#8217;s not inheriting the font style from the heading or the other way around.</p>



<p><em>Birgit Pauli-Haack:</em> Well, it was the font styles for the. The font style from button, accordion header, toggle. That&#8217;s the whole heading. It didn&#8217;t go to the next header, I think. Yeah. And it&#8217;s a typography appearance. Yeah, it&#8217;s fixed. Yeah. Okay.</p>



<p><em>JC Palmes:</em> Yeah. Embeds, there&#8217;s beds to go and shrink. That&#8217;s going to be helpful.</p>



<p><em>Birgit Pauli-Haack:</em> Yeah. So the embed blocks, they were pretty restrictive in their styling. And now when they&#8217;re inside a flex group block, they can grow and shrink with the size of the group block.</p>



<p><em>JC Palmes:</em> Together with the group block.</p>



<p><em>Birgit Pauli-Haack:</em> Yeah. That is really cool.</p>



<p><em>JC Palmes:</em> Because less CSS.</p>



<p><em>Birgit Pauli-Haack:</em> Yeah, less CSS and also increased responsiveness. Right. If the group graph gets smaller, then also the embed gets smaller and it doesn&#8217;t bleed into the template.</p>



<p><em>JC Palmes: </em>Yeah. Does it keep the aspect ratio? I hope it does.</p>



<p><em>Birgit Pauli-Haack:</em> Well, I think that&#8217;s something to be tested and kind of figured out. Yeah, I haven&#8217;t tried it yet.</p>



<p><em>JC Palmes:</em> Yeah, me too.</p>



<p>With one of the things that I kind of really hate about. Not hate. Hate is such a strong word. I don&#8217;t like about the embed block is you know when you have a video and then you shrink it and it&#8217;s not shrinking and it. If it does shrink, it loses the aspect ratio.</p>



<p><em>Birgit Pauli-Haack:</em> Yeah. So the next thing is more like CSS specificity for the text alignment classes. And also I think that corrects something that was done before that the text alignment and paragraph would go away. And now it kind of. Now it comes back and with a better robust CSS styling. And then for the heading block, the background padding was pretty strong out of the box. Yeah. And now they kind of are more specific to the block. So also more styling freedom for the theme developers. Right.</p>



<p><em>JC Palmes:</em> Yeah. Those quality of life improvements.</p>



<p><em>Birgit Pauli-Haack:</em> Absolutely. Yeah. And I think there was a question from Twenty Twenty-Two.1. Yeah. The routing part is still all for the data use is still all in experiments. So you need to enable those. If you want to play around with that, if you want to test it, it&#8217;s playing around seems so unserious. Yeah. But if you really want to test it, if you can use it already. So, yeah, that was it. </p>



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



<p>And we come to Gutenberg 22.2. We are talking through the changelog of the release candidate 22.2 will come out on December 3rd, so one day after 6.9, but it&#8217;s normally that the release candidate is pretty solid in what&#8217;s coming in into the final release, just for testing purposes that they actually do a release candidate one. So this one is big. It has 161 pull requests from 49 contributors, 4 of which are first timers. Congratulations to your first contribution. And the release focuses more on performance and block editor polish and has a series of accessibility developer experience improvements. But it&#8217;s intended to test ahead with that. </p>



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



<p>There were some enhancements again through the breadcrumbs block. It&#8217;s kind of really fantastic how that is going to grow and be feature rich when it will come to WordPress 7.0, but you definitely try it out. It now has an archive link if there&#8217;s enabled in post and can do attachment handling and post type archive links and support a pagination as well. So it&#8217;s kind of really cool. What else is in there?</p>



<p><em>JC Palmes:</em> The cover now supports background videos from embeds and yeah, that&#8217;s a major upgrade for the cover block because until now background videos only work if you uploaded a file directly to the media library. And now with this new update you can use embedded videos like YouTube, Vimeo and other or supported embed sources.</p>



<p><em>Birgit Pauli-Haack: </em>Yes. That&#8217;s huge. Pretty much, yeah.</p>



<p><em>JC Palmes:</em> Yeah, that&#8217;s huge. It used to be a custom block for us and having the ability to do this when it lands on core is going to be really huge.</p>



<p><em>Birgit Pauli-Haack:</em> Here goes the custom block again out.</p>



<p><em>JC Palmes:</em> Exactly.</p>



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



<p><em>JC Palmes:</em> And I&#8217;m absolutely happy to remove custom blocks and move into native core blocks when it&#8217;s there because it just did the improvement and the quality and the markup just consistent and it&#8217;s really nice when you know, things work together.</p>



<p><em>Birgit Pauli-Haack:</em> Yeah. And especially the custom block you don&#8217;t want to have. Not every shared hosting has. You can upload videos well or if they&#8217;re uploaded, they&#8217;re rather pedestrian I would say, because they need to be downloaded and so if you use an embedded one. So the YouTube or the Vimeos of the space are actually hosting your video and it. It doesn&#8217;t take all the bandwidth and all that. So it&#8217;s a really cool quality of life enhancement as well. For those who don&#8217;t have so much oomph on the hosting. Yeah, yeah.</p>



<p><em>JC Palmes:</em> I mean this should have existed years ago. Then again.</p>



<p><em>Birgit Pauli-Haack:</em> Well, there are a lot of things that should have been fixed a year or two ago. Yeah. There&#8217;s also a new enhancement for the math block so you could style of course the text of it, but not the full block around it. And that has now style options as well. So you can change the background and the dimension and the border and the red border radius. It&#8217;s all available now for the math outside the math block. It&#8217;s not coming to 6.9. That&#8217;s for the future release, but it&#8217;s test it out and see how it comes to pass. And the next one you would like, you&#8217;d like that.</p>



<p><em>JC Palmes:</em> Yeah, I like this. A lot less CSS and markup for me. So that button block got a big improvement. And theme builders, you know, theme builders like me, every one of us have been asking for forever because we can now style pseudo states like hover focus active focus invisible directly in theme JSON for the button block and its variations. Because before this, the only reliable way to style hover or focus styles states, I mean, was to either drop in custom CSS into theme JSON or in a custom CSS file. Yeah, style sheet. That kind of great idea of keeping design controls inside theme JSON as much as possible. I would want to keep design controls inside theme JSON. But with this improvement, we can now design these states that the same way that redefine normal button styles and variations. The outline button can now have hover states too.</p>



<p><em>Birgit Pauli-Haack:</em> Yeah, yeah, yeah. The next two items are about the data views. There are a lot more in the data views section of the changelog, but there are two things. One is because it points out that you now can insert certain information into the table. So the table column header allows you now to add columns left or right of your location that goes into that. The data view screens are much more customizable out of the box than any admin page in the current WordPress admin would do. But I really like that part where you can say where the columns go and all that. So you have a real more control over it as a user or as a site owner.</p>



<p><em>JC Palmes:</em> Yeah. I also like the new layout option, the activity layout, because that&#8217;s basically a timeline view. Right. It&#8217;s similar to the list layout but with styling and behavior tuned for things like say revisions logs, events, audits, anything chronological. Exactly. You get a vertical timeline track on the left, almost smaller media inline primary actions, and really a clearer focus on the event field that anchors each entry is disabled though. But I guess it&#8217;s kind of like a timeline view, so it really shouldn&#8217;t jump around. And that. That makes sense that the cool part, I think it&#8217;s that it&#8217;s not just visual. The layout has its own interaction rules. Only the title is clickable. The whole row ssn&#8217;t. And the keyboard navigation is handled differently because the UI behaves differently than a list or a table. It&#8217;s a timeline. Yeah, it&#8217;s, it&#8217;s. I think it&#8217;s one of those layouts where once you see it, you realize that WordPress has needed it for years, a long time.</p>



<p><em>Birgit Pauli-Haack:</em> Yeah, yeah, yeah. It&#8217;s definitely for historical data that you would want to have in some kind of a layout. Yeah. So cool. Thank you for pointing that out. We&#8217;re coming now to the pattern section and the PR says add edit section to the list view instead of ungroup. So there is. I think it&#8217;s still an experiment, I&#8217;m not quite sure. But the pattern padding management kind of changes a little bit. If you have a section that is. And we come to add what is a section block in the list view, those section blocks are now available to be edited and not that you have to unravel the pattern if you want to edit it. So that&#8217;s pretty cool. So what are section blocks? And I asked some developers who had been working on it about it and I asked and looked at the documentation and then the section is determined by the section block selector. Well, that is kind of if the. What is the is section block selector. Yeah. So it&#8217;s a pattern, a template part or a block that has a template lock on it that says content only. And so it moves around and can be edited, not edited, but styled in its whole. The content creator doesn&#8217;t have a whole lot of controls about it. It&#8217;s a special block that acts actually as a container with specific editing restrictions, primarily used in template and site editing context. So. So that was a new terminology for me to think about.</p>



<p><em>JC Palmes:</em> It&#8217;s new to me too, but with the way that you&#8217;ve explained sections, I&#8217;ve only really called it lock patterns.</p>



<p><em>Birgit Pauli-Haack:</em> Oh, okay. Yeah. Locked from. You can edit.</p>



<p><em>JC Palmes:</em> Yeah, you can edit the content, but not the. The way it looks. Yeah, the design. Yeah. The structure.</p>



<p><em>Birgit Pauli-Haack:</em> And there&#8217;s a whole lot of effort around that content only lock to kind of bleed into other places, be it in pattern, be it in the editor. How can you switch from one to the next? You need to point out that those are actually content only locked ones. So we will see a lot more about that in the coming months for this particular content only modals. You know, so I&#8217;m kind of. This is pretty much a preparation for that in terms of what particular PRs will come about that?</p>



<p><em>JC Palmes:</em> Yeah. I mean it&#8217;s, it&#8217;s more of a guardrail when you don&#8217;t want styled structured patterns to just explode because it gives the option to ungroup it and then clients come back and say that it&#8217;s not working. So this is good. It&#8217;s more predictable behavior for a section.</p>



<p><em>Birgit Pauli-Haack:</em> Yeah. Client section now cloning a section now that&#8217;s one thing. It also has a, certain pattern endpoint so you could do pattern wide changes to things. We saw it with 6.7 in the zoom view. When you were going through the Twenty Twenty-Five theme and go into Zoom view, you were able to add a pattern but then change the color of it because it would loop through the various color variations of your style variation. That totally. Yeah. I was totally amazed by that. To get new colors in there and you don&#8217;t have to worry about things. But that&#8217;s kind of the idea about it.</p>



<p><em>JC Palmes:</em> Yeah.</p>



<p><em>Birgit Pauli-Haack:</em> So. And then there were really, really small changes to the block editor. It now has a card icon.</p>



<p><em>JC Palmes:</em> Thank you.</p>



<p><em>Birgit Pauli-Haack:</em> It also supports the width and the dimensions. So you can control that for padding. Yeah. And also the text also has a justify attribute now or control. So those are really quality of life things. And they were. Yes, until you use them you don&#8217;t know you. You miss those things. But. Yeah, but that is how you use them.</p>



<p><em>JC Palmes:</em> By editing a few thousand pages.</p>



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



<p><em>JC Palmes:</em> Thank you.</p>



<p><em>Birgit Pauli-Haack:</em> And I think that was everything that came. Well, we want to talk about Twenty Twenty-Two.2. Is there anything else that you found?</p>



<p><em>JC Palmes: </em>I think we&#8217;ve talked about the ones that I really find interesting for the other functions, new stuff. They can read the build guide. But those that we&#8217;ve talked about are really the ones that jump out to me and I find really interesting or very helpful for my workflow.</p>



<p><em>Birgit Pauli-Haack:</em> Yeah, wonderful. Excellent. I&#8217;m glad that we got that. </p>



<p>So before we end the show, I want to point out that there&#8217;s a state of the world coming next week with the keynote. That&#8217;s the annual keynote of Matt Mullenweg and it coincides for the first time with a major release of WordPress, the 6.9 release. And it will be live-streamed from San Francisco. I think the tickets for the in-person meeting have already been sold out for a while. But you can follow along on the live stream on YouTube. It starts at 20 or 8pm UTC. So it might be for our AAPAC contributors and WordPress users, it&#8217;s a little late in the day. It&#8217;s also almost past my bedtime in Europe because San Francisco is nine hours away from me. Yeah. So there&#8217;s this time zones quagmire that we always have to deal with. But if you see it on Tuesday or on Wednesday, I don&#8217;t think it changes in between. And there&#8217;s nothing really urgent in there. So take the time and call it on the rerun.</p>



<p><em>JC Palmes:</em> Yeah, I&#8217;ll probably watch it live because I&#8217;m in that time zone.</p>



<p><em>Birgit Pauli-Haack:</em> Oh, you&#8217;re in that time zone. Yeah. Yeah. </p>



<p>As always, our show notes will be published on GutenbergTimes.com podcast this is episode 125 &#8211; 125, and if you have questions, suggestions or news or comments. Yeah. If you want us to include them, send them to <a href="http://changelogatgutenburgtimes.com">changelogatgutenburgtimes.com</a> that&#8217;s <a href="http://changelogatgutenburgtimes.com">changelogatgutenburgtimes.com</a>, and I say huge thank you to JC Palmes to come on the show and talk through those two releases with me and share what you are looking forward to for 6.9 and also share all the good work that is from WebDev studios that can help other agencies to also streamline their processes. </p>



<p>Thank you so much, JC, I hope you have a wonderful day or night and all the listeners. Thank you for listening. </p>



<p>Bye 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, 30 Nov 2025 09:19: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: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:24:"Matt: Werner Predictions";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=150712";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/11/werner-predictions/";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:985:"<p><a href="https://www.allthingsdistributed.com/">Werner Vogels</a>,  CTO at Amazon, <a href="https://www.allthingsdistributed.com/2025/11/tech-predictions-for-2026-and-beyond.html">boldly publishes his 2026 tech predictions</a>. While you&#8217;re on his blog, take a moment to enjoy his essay, <a href="https://www.allthingsdistributed.com/2025/10/better-with-age.html">Development gets better with Age</a>. Werner and I first crossed paths almost 20 years ago at tech conferences like GigaOm&#8217;s Structure, LeWeb, Future of Web Apps, O&#8217;Reilly Etech, and TheNextWeb. Though we don&#8217;t see each other often, I have enjoyed following his work and writing over the years, and it delights me that he&#8217;s still learning and sharing with the same vim and vigor I remember from when we first met. I think he might have been the first person to introduce me to the works of Richard Feynman <a href="https://www.bbc.co.uk/programmes/b00ts5mm">through a BBC program</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:"Sun, 30 Nov 2025 02:07: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: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: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:121:"Gutenberg Times: Livestreams on WordPress 6.9, WordPress Importer Improved, MCP Adapter and more — Weekend Edition #351";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=43206";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:125:"https://gutenbergtimes.com/livestreams-on-wordpress-6-9-wordpress-importer-improved-mcp-adapter-and-more-weekend-edition-351/";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:31163:"<p>Hi there, </p>



<p>In case you celebrated it, I hope you had a wonderful Thanksgiving holiday, lots of turkey, sweet potatoes, beans, stuffing, gravy and pumpkin pie. Or any kind of pie really <img alt="🦃" class="wp-smiley" src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f983.png" style="height: 1em;" /><img alt="🍁" class="wp-smiley" src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f341.png" style="height: 1em;" /><img alt="🥧" class="wp-smiley" src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f967.png" style="height: 1em;" />. And lots of love and laughter around your family and friends. </p>



<p>I just want to give a huge shoutout to all the WordPress contributors who teamed up to roll out this next big version of WordPress for the hundreds of millions of websites out there and all their users and visitors. Every update is a big deal and only happens because of teamwork, good vibes, honesty, and trust. Not everyone who contributes is a coder; some work on documentation, translate stuff into loads of languages, create tutorials, and so much more. WordPress 6.9 is dropping on Tuesday if everything goes smoothly!</p>



<p>Other contributors have already started on the next version, 7.0. We don&#8217;t know yet exactly when it will come out. In <a href="https://make.wordpress.org/core/2025/11/26/core-committers-check-in-november-2025/">their last check-in meeting</a> Core committers discussed a release date in March or April of 2026. They are also thinking of going back to three releases per year. </p>



<p>Have a splendid weekend ahead, and I am so grateful that you are here. Your presence makes me want to write every week. Be well.</p>



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



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



<p>My team mate, <strong>Jonathan Bossenger</strong> and I were on this week&#8217;s panel for <a href="https://wpbuilds.com/2025/11/25/this-week-in-wordpress-356/"><strong>This Week in WordPress #356 episode</strong></a>, together with <strong>Taco Verdonschot</strong> and <strong>Nathan Wrigley</strong>. It includes &#8220;Birgit Pauli-Haack gives a whirlwind tour of her epic <a href="https://gutenbergtimes.com/wordpress-6-9-source-of-truth/"><em>WordPress 6.9 Source of Truth</em></a> &#8220;. There was a lot more of course. </p>



<figure class="wp-block-image size-large"><a href="https://wpbuilds.com/2025/11/25/this-week-in-wordpress-356/"><img alt="" class="wp-image-43222" height="366" src="https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/11/Screenshot-2025-11-27-at-11.31.51.png?resize=652%2C366&#038;ssl=1" width="652" /></a></figure>





<h2 class="wp-block-heading" id="0-word-press-release-information">Videos and posts about WordPress 6.9 release</h2>



<p><a href="https://wordpress.org/news/2025/11/wordpress-6-9-release-candidate-3/"><strong>WordPress 6.9 Release Candidate 3</strong></a> is now available! The <a href="https://make.wordpress.org/core/2025/11/25/wordpress-6-9-field-guide/"><strong>WordPress 6.9 Field Guide</strong></a> has arrived, too.</p>



<p><strong>Rae Morey</strong>, The Repository has the skinny for you in <a href="https://www.therepository.email/wordpress-6-9-rc3-arrives-as-field-guide-drops-and-final-release-nears"><strong>WordPress 6.9 RC3 Arrives as Field Guide Drops and Final Release Nears.</strong></a></p>



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



<p><strong>Hector Prieto</strong> published the Dev Note <a href="https://make.wordpress.org/core/2025/11/25/miscellaneous-editor-changes-in-wordpress-6-9/"><strong>Miscellaneous Editor Changes in WordPress 6.9</strong></a>, highlighting various refinements to the block editor. The release improves keyboard navigation, selection, and focus handling, adds small UI polish, and refines patterns and templates behavior. It also updates APIs and deprecations to keep block development consistent, enhances accessibility and stability, and smooths authoring flows, ensuring theme and plugin authors can better integrate with the evolving editor experience.</p>



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



<p><strong>Nick Diego</strong> and <strong>Ryan Welcher</strong> livestreamed their <strong><a href="https://www.youtube.com/watch?v=gVaEg_m6uak">WordPress 6.9 Walkthrough</a>.</strong> They guided viewers through the key updates arriving in WordPress 6.9 ahead of its December 2 release. </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>In his livestream this week,<strong> Jonathan Bossenger</strong> <a href="https://www.youtube.com/watch?v=iuvs7hm0LRI"><strong>tested the Block Bindings coming to WordPress 6.9</strong></a>. He tested the new enhancements in the date and image blocks, as well as custom source registration. Throughout the stream, Bossenger troubleshot and documented his process, exploring how these updates can lay the foundation for future developments. You can join him as he navigates through the intricacies and potentials of these new WordPress features!</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>In his video <a href="https://www.youtube.com/watch?v=7QgXXYCjz-U"><strong>WordPress 6.9 New Features</strong></a>, <strong>Pascal Claro</strong> demonstrates all new features for the Block editor coming to a WordPress instance near you. </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><strong>Maruti Mohanty</strong> held a <em>Learn WordPress</em> workshop on <a href="https://wordpress.tv/2025/11/27/how-to-prepare-your-wordpress-site-for-wordpress-6-9/"><strong>How to Prepare Your WordPress Site for WordPress 6.9.</strong></a> The recording is now available on WordPressTV. You will learn how to use the Beta/RC releases to test your site for the upcoming releases. This will be a practical walkthrough to build your staging, test for compatibility, and plan a safe rollout.</p>



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



<p>In his post <a href="https://rtcamp.com/blog/wordpress-6-9-release-features/"><strong>The Foundation for AI-Powered, Composable, and Editor-Friendly Websites</strong></a>, <strong>David Levine</strong> covers the WordPress 6.9 release and its focus on incremental yet impactful improvements to the site editor and performance. The post highlights refined pattern management, better style controls, and workflow enhancements for building and editing layouts. </p>



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



<p>The <a href="https://make.wordpress.org/core/2025/11/10/abilities-api-in-wordpress-6-9/">Abilities API</a> will launch with WordPress 6.9. TrewKnowledge has published <a href="https://trewknowledge.com/2025/09/29/wordpress-abilities-api-a-plain-english-guide-for-builders-publishers-and-product-teams/"><strong>a simple guide for builders, publishers, and product teams.</strong></a> It explains how “abilities” bring together capabilities and permissions in the editor and admin, allowing for better control over tasks. With examples and clear advice, the article helps agencies and product teams create safer workflows, customize roles, and improve user experiences.</p>



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



<p><strong>Rae Morey</strong>, The Repository, reports on how <a href="https://www.therepository.email/wordpress-6-9-to-introduce-notes-bringing-asynchronous-collaboration-to-the-post-editor"><strong>WordPress 6.9 to Introduce Notes, Bringing Asynchronous Collaboration to the Post Editor. </strong></a>Notes let users comment on specific parts of content, reply in threads, and mention teammates without being online together. The feature builds on Blocks and Phase 3 collaboration goals, aiming to replace scattered feedback via email or chat with contextual, in-editor discussions that improve editorial workflows and multi-author content reviews.</p>



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



<p>Codeable Expert <strong>James Roberts</strong> also covered the release for his co-workers in <a href="https://www.codeable.io/blog/wordpress-6-9-what-to-expect/" rel="noreferrer noopener" target="_blank"><strong>WordPress 6.9: What To Expect</strong></a>, outlining key updates to the Site Editor, patterns, and design tools that make building full sites more intuitive. The article also explains what agencies and clients should do to prepare, test, and safely adopt the new features.</p>



<h2 class="wp-block-heading" id="gutenberg-and-other-wordpress-updates">Gutenberg and other WordPress updates</h2>



<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/17.0.2/72x72/1f399.png" style="height: 1em;" /> The latest episode is <a href="https://gutenbergtimes.com/podcast/gutenberg-changelog-125-wordpress-6-9-gutenberg-22-1-and-gutenberg-22-2/">Gutenberg Changelog #125 – WordPress 6.9, Gutenberg 22.1 and Gutenberg 22.2</a> with <strong>JC Palmes</strong>, WebDev Studios</p>



<figure class="wp-block-image size-full is-style-no-vertical-margin"><img alt="Gutenberg Changelog 125 with JC Palmes and host Birgit Pauli-Haack" class="wp-image-43283" height="186" src="https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/11/Screenshot-2025-11-28-at-18.19.29.png?resize=652%2C186&#038;ssl=1" width="652" /></figure>


<div class="wp-block-newsletterglue-showhide ng-block" width="100%">
<figure class="wp-block-embed is-type-rich is-provider-pocket-casts wp-block-embed-pocket-casts"><div class="wp-block-embed__wrapper">

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



<p>In his video, <a href="https://www.youtube.com/"></a><a href="https://www.youtube.com/"></a><a href="https://www.youtube.com/watch?v=fpg-Hkr5HeM"><strong>WordPress 6.9 and More: Key Updates for Developers</strong></a>, <strong>Ryan Welcher</strong> gives you <em>TL:DR </em>of the latest <a href="https://developer.wordpress.org/news/2025/11/whats-new-for-developers-november-2025/">What’s new for developers? (November 2025)</a> post from the WordPress Developer Blog.</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><strong><a href="https://github.com/WordPress/gutenberg/releases/tag/v22.2.0-rc.1">Gutenberg 22.2 RC 1</a></strong> is now available for testing. It comprised 161 Pull Requests by 49 contributors, four of whom are first-timers. The release focuses on performance, block editor polish, and a series of accessibility and developer experience improvements. It is intended for testing ahead of the stable 22.2.0 release on December 3 and is not recommended for production sites.</p>



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



<p>In the next <strong>Gutenberg Changelog episode</strong>, I had a chat with <strong>JC Palmes</strong>, the principal technical manager at WebDevStudios, about how their team has totally jumped on the Blocks and block themes bandwagon. It&#8217;s been a game changer for their workflow and super helpful for their clients&#8217; editorial teams, too. We also shared favorites features of the upcoming  WordPress 6.9 release and the latest Gutenberg updates, 22.1 and 22.2. So, keep an eye out for the episode arriving in your favorite podcast app this weekend!</p>



<figure class="wp-block-image size-large"><img alt="Gutenberg Changelog 125 with JC Palmes and host Birgit Pauli-Haack" class="wp-image-43283" height="186" src="https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/11/Screenshot-2025-11-28-at-18.19.29.png?resize=652%2C186&#038;ssl=1" width="652" /></figure>



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



<p>Have you been avoiding the WordPress Importer when moving sites? It received a major enhancement from <strong>Adam Zieliński</strong> and other contributors. Zieliński published the announcement on the Core Make Blog: <a href="https://make.wordpress.org/core/2025/11/27/wordpress-importer-can-now-migrate-urls-in-your-content/"><strong>WordPress Importer can now migrate URLs in your content</strong></a>. This enhancement made it feasible to us the WordPress importer for the Playground blueprint step <code>importWxr</code> and it is now also compatible with content built in block themes, as URL in navigation blocks and image references in background-image css are also converted to the new site. </p>



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



<p>If you need to add <strong>FAQ schema</strong> to your Accordion Block, Andrew Viney, developer from Bristol, UK, has you covered with his <a href="https://github.com/itsViney/accordion-faq-schema-toggle"><strong>accordion-faq-schema-toggle</strong></a> plugin.</p>



<p>If you are a developer yourself, you can use Justin Tadlock&#8217;s <a href="https://developer.wordpress.org/news/snippets/schema-org-microdata-for-accordion-block-faqs/"><strong>Snippet: Schema.org microdata for Accordion block FAQs</strong></a></p>



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



<p><strong><a href="https://x.com/lovemarshall">Mohammad Shoeb</a></strong> announced that <strong><a href="https://wpmozo.com/wpmozo-blocks-plugin-version-1-6-five-new-blocks/">the free WPMozo Blocks Plugin for WordPress just got five new Blocks</a>.</strong> The update introduces Hero Heading, Logo Showcase, Notice, Highlight Text, and Flipbox blocks, focused on speed, flexibility, and visual appeal. These blocks support layout and style customization, icons, gradients, hover effects, and responsive controls, enabling users to build standout sections, alerts, logo grids, and interactive content without performance loss or complex configuration.</p>



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



<p><strong>Wes Theron</strong> published another nice tutorial for content creators on YouTube: <a href="https://www.youtube.com/watch?v=Fqb5bfulUA4"><strong>How to add social icons to your WordPress site</strong></a>. He shows &#8220;you exactly how to add and customize social icons on your WordPress.com site, making it easy for visitors to connect with you across all your social platforms.&#8221; </p>



<h2 class="wp-block-heading" id="2-word-press-6-0-1-and-6-1-scheduled">Designing Block Themes </h2>



<p><strong>Bud Kraus</strong> wrote a tutorial on <a href="https://kinsta.com/blog/fluid-typography/"><strong>Scaling typeface gracefully with fluid typography</strong></a> that explains how to make font sizes adjust smoothly to different screen sizes using CSS functions like clamp(). He elaborates on how to use continuous scaling instead of fixed breakpoints, which helps improve readability and minimizes size jumps. The article provides examples for headings and body text, covers design tips, and shows how to implement fluid typography in WordPress themes.</p>



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



<p><strong><a href="https://x.com/iamkarolk">Karol Król</a></strong> <a href="https://www.linkedin.com/posts/karolkrol_how-to-export-your-block-theme-changes-to-activity-7399369337243045888-aAnU?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAAAAkKaoBHI9qqM4OcmXfJb1QeGFMlLI6W4o">mentioned</a> he was inspired by <a href="https://wordpress.tv/2025/09/30/streamlined-block-theme-development-using-wordpress-playground-and-github-for-no-code-version-contr/">my talk </a>at WordCamp Gdynia to explore the Create Block theme plugin some more. He created this tutorial on how to <strong><a href="https://www.youtube.com/watch?v=cKgn4y4nMEs">easily transfer Block Theme changes to another WordPress site</a></strong></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><strong>Elliot Richmond</strong> created a <a href="https://elliottrichmond.co.uk/block-theme-cheat-sheet-for-wordpress/"><strong>Block Theme Cheat Sheet for WordPress</strong></a> that collects key block theme concepts, file structure, and template examples in one place. It outlines essential <code>theme.json</code> settings, common templates and template parts, and useful block patterns for building modern block themes. The resource is designed as a quick reference for developers who want a practical, copy‑and‑paste style guide while learning or refining their block theme workflow.</p>


<div class="ng-block-39484a9c29fc3a28 wp-block-newsletterglue-container ng-block" style="color: #666666;" width="100%"><div><div><div class="ng-block-vs ng-block-vs-1" colspan="3" height="0" style="height: 0px;"></div></div><div><div class="ng-block-hs ng-block-hs-1" height="0" style="width: 0px;"></div><div align="none" class="ng-block-td" style="font-size: 16px; font-family: Helvetica; line-height: 1.6; font-weight: normal; padding-top: 20px; padding-bottom: 20px; padding-left: 0px; padding-right: 0px; text-align: none; color: #666666; background-color: #fdfcea; border-radius: 12px;"><div class="ng-block-d915c1cf153af848 wp-block-newsletterglue-text ng-block" style="color: #666666;" width="100%"><div><div><div align="none" class="ng-block-td" style="font-size: 16px; font-family: Helvetica; line-height: 1.6; font-weight: normal; padding-top: 8px; padding-bottom: 10px; padding-left: 20px; padding-right: 20px; text-align: none; color: #666666;"><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. </p></div></div></div></div>

<div class="ng-block-54295e6739edd93a wp-block-newsletterglue-text ng-block" style="color: #666666;" width="100%"><div><div><div align="none" class="ng-block-td" style="font-size: 16px; font-family: Helvetica; line-height: 1.6; font-weight: normal; padding-top: 8px; padding-bottom: 10px; padding-left: 20px; padding-right: 20px; text-align: none; color: #666666;"><p>The previous years are also available: <br /><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></div></div></div></div></div><div class="ng-block-hs ng-block-hs-2" height="0" style="width: 0px;"></div></div><div><div class="ng-block-vs ng-block-vs-2" colspan="3" height="0" style="height: 0px;"></div></div></div></div>


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



<p><strong>Bryce Culp</strong> of WebDev Studios created <a href="https://webdevstudios.com/2025/11/25/a-developers-guide-the-future-of-the-wordpress-gutenberg-block-editor/"><strong>A Developer’s Guide: The Future of the WordPress Gutenberg Block Editor</strong></a>. He explains modern block patterns, theme architecture, and tooling, emphasizing best practices for performance, reusability, and accessibility. The guide helps developers transition from classic approaches to a Gutenberg-first mindset, leveraging React-based blocks, block.json configuration, and evolving WordPress APIs to build scalable, future-ready experiences.</p>



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



<p><strong>Jos Velasco</strong>, DreamHost, found a way to <a href="https://josvelasco.com/simplifying-wordpress-plugin-development-with-telex/"><strong>simplify WordPress Plugin development with Telex</strong></a> and shared his workflow in this post. He has some tips and consideration on how to best work with the AI Block builder. </p>



<h2 class="wp-block-heading" id="what-s-new-with-playground">What&#8217;s new with Playground</h2>



<p>Fellyph Cintra announced that <a href="https://make.wordpress.org/playground/2025/11/24/debugging-with-xdebug-is-now-available-in-wordpress-playground/"><strong>Debugging with Xdebug is now available in WordPress Playground</strong></a> letting WordPress developers better understand what’s happening when something breaks. Now you can pause WordPress, look at what’s going on, and move through each step of the process in a browser. It works with simple tools or code editors, needs little setup, and is great for learning, testing ideas, and fixing problems more easily.</p>



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



<p>Cintra also published <a href="https://make.wordpress.org/playground/2025/11/13/playground-cli-adds-imagemagick-soap-and-avif-support/"><strong>Playground CLI, adds ImageMagick, SOAP, and AVIF support</strong></a>. These additions make it easier to work with images, talk to other online services, and test modern image formats in temporary WordPress sites. Together, they help developers and site builders try more real-world features without complex setup on their own computers.</p>



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



<p>The latest article by <strong>Fellyph Cintra</strong> reveals that Playground allows developers to create temporary sites with specific <a href="https://make.wordpress.org/playground/2025/11/26/preview-gutenberg-development-branches-in-your-browser/"><strong>Gutenberg branches in their browser</strong></a>. You can use special Playground URLs or blueprints to access nightly or feature branches, test new editor features safely, share consistent environments, and give feedback earlier in the Gutenberg development process.</p>


<div class="ng-block-45d68327794ed42f wp-block-newsletterglue-container ng-block" style="color: #666666;" width="100%"><div><div><div class="ng-block-vs ng-block-vs-1" colspan="3" height="0" style="height: 0px;"></div></div><div><div class="ng-block-hs ng-block-hs-1" height="0" style="width: 0px;"></div><div align="none" class="ng-block-td" style="font-size: 16px; font-family: Helvetica; line-height: 1.6; font-weight: normal; padding-top: 20px; padding-bottom: 20px; padding-left: 0px; padding-right: 0px; text-align: none; color: #666666; background-color: #f8f8f8; border-radius: 8px;"><div class="ng-block-eab3561f98805a66 wp-block-newsletterglue-text ng-block" style="color: #666666;" width="100%"><div><div><div align="none" class="ng-block-td" style="font-size: 16px; font-family: Helvetica; line-height: 1.6; font-weight: normal; padding-top: 8px; padding-bottom: 10px; padding-left: 20px; padding-right: 20px; text-align: none; color: #666666;"><p><strong><a href="https://gutenbergtimes.com/need-a-zip-from-master/">Need a plugin .zip from Gutenberg&#8217;s trunk branch?</a></strong><br />Gutenberg Times provides daily build for testing and review.</p></div></div></div></div>

<div class="ng-block-ee6078db9cfd768e wp-block-newsletterglue-image ng-block size-full is-resized" width="100%"><div><div><div align="center" class="ng-block-td" style="padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px;"><a href="https://playground.wordpress.net/?blueprint-url=https://gutenbergtimes.com/wp-content/uploads/2020/11/playnightly.json"><img alt="" class="wp-image-42874 ng-image" height="45" src="https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2024/02/Screenshot-2025-11-15-at-12.06.44.png?resize=196%2C45&#038;ssl=1" style="border-style: none; border-color: transparent;" width="196" /></a></div></div></div></div>

<div class="ng-block-5db0d023b7e3c241 wp-block-newsletterglue-text ng-block" style="color: #666666;" width="100%"><div><div><div align="none" class="ng-block-td" style="font-size: 16px; font-family: Helvetica; line-height: 1.6; font-weight: normal; padding-top: 8px; padding-bottom: 10px; padding-left: 20px; padding-right: 20px; text-align: none; color: #666666;"><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></div></div></div></div></div><div class="ng-block-hs ng-block-hs-2" height="0" style="width: 0px;"></div></div><div><div class="ng-block-vs ng-block-vs-2" colspan="3" height="0" style="height: 0px;"></div></div></div></div>


<h2 class="wp-block-heading" id="ai-in-wordpress">AI in WordPress</h2>



<p><strong>Jeff Paul</strong> announced <a href="https://make.wordpress.org/ai/2025/11/27/announcing-the-ai-experiments-plugin-v0-1-0/"><strong>AI Experiments Plugin v0.1.0</strong></a> . Team rep in the AI Team, <strong>James Le Page</strong> <a href="https://x.com/jameswlepage/status/1993860331609677893">wrote</a> on X (former Twitter) &#8220;This is a pretty big release. It&#8217;s the first time all building blocks are used together and represents a really great reference for developers that surfaces in features that you can use right now.&#8221;</p>



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



<p><a href="https://x.com/galatanovidiu"><strong>Ovidiu Galatan</strong></a> posted the <a href="https://make.wordpress.org/ai/2025/11/24/release-announcement-mcp-adapter-v0-3-0/"><strong>Release announcement: MCP Adapter v0.3.0</strong></a>! This update brings official WordPress support for the Model Context Protocol. Version 0.3.0 is all about making things smoother with transport, better observability, and handling errors. They’ve unified the HTTP transport, put together a standard way to deal with <code>WP_Error</code> for MCP error responses, and revamped the observability handlers. Plus, they’ve standardized hook names, rolled out some detailed migration docs, and squashed some bugs, making sure everything works nicely with Abilities API v0.4.0 as part of WordPress’s awesome <a href="https://make.wordpress.org/ai/2025/07/17/ai-building-blocks/">AI Building Blocks</a> collection!</p>



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



<p>On his blog, <strong>James Le Page</strong> shared a two-part series about the Abilities API. The posts explain how WordPress &#8220;abilities&#8221; have changed from old permission systems to a clearer way of defining what users and tools can do. They describe abilities as easy-to-understand labels for capabilities used in core, plugins, and the editor. With examples of AI features, the series shows how abilities help developers provide safe actions, manage access, and create smoother user experiences.</p>



<ul class="wp-block-list">
<li><a href="https://j.cv/the-promise-and-history-of-abilities/"><strong>The Promise and History Of Abilities (1/2)</strong></a></li>



<li><a href="https://j.cv/using-abilities-to-build-ai-in-wordpress/"><strong>Using Abilities To Build AI in WordPress (2/2)</strong></a><a href="https://x.com/jameswlepage"></a></li>
</ul>



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



<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>


<div class="ng-block-a30f026a4c4d6dcd wp-block-newsletterglue-separator ng-block" style="color: #666666;" width="100%"><div><div><div align="center" class="ng-block-td" style="padding-top: 20px; padding-bottom: 20px; padding-left: 20px; padding-right: 20px; color: #666666;"><hr style="background-color: transparent; color: transparent; margin: 0; border: 0; border-top: 1px solid #666666; width: 560px; height: 0;" /></div></div></div></div>

<div class="wp-block-newsletterglue-showhide ng-block" width="100%"><div class="ng-block-10ca317edba02b5b wp-block-newsletterglue-text ng-block" style="color: #666666;" width="100%"><div><div><div align="none" class="ng-block-td" style="font-size: 14px; font-family: Helvetica; line-height: 0.2; font-weight: normal; padding-top: 8px; padding-bottom: 10px; padding-left: 20px; padding-right: 20px; text-align: none; color: #666666;"><p><strong>Featured Image: </strong></p></div></div></div></div></div>




<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" />";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, 29 Nov 2025 03: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: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: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:24:"Matt: SF WordPress Party";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=150706";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/11/sf-wordpress-party/";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:973:"<p>We&#8217;ve secured an amazing secret venue for <a href="https://wordpress.org/state-of-the-word/">State of the Word</a> on Tuesday, but it has limited capacity in terms of people and has a lot of security hurdles to jump through to get in.</p>



<p>So to open things up to the community more, we&#8217;re going to activate my hacker/maker art warehouse, <a href="https://tinkertendo.com/">TinkerTendo</a>, in the Dogpatch neighbourhood for a simulcast watch party. There will be some cool art from the <a href="https://misalignmentmuseum.com/">Misalignment Museum</a> there, great wifi, lots of power plugs and floor seating, a big projection screen and speakers and I think will be a great spot for WordPress folks to hang and network and co-work while in San Francisco. I&#8217;ll swing by after the talk to meet everyone as well.</p>



<p>If you want access, <a href="https://www.meetup.com/wordpress-sf/events/312184138/">you can register via Meetup 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:"Sat, 29 Nov 2025 00:20:01 +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: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:18:"Matt: Thanksgiving";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=150701";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:35:"https://ma.tt/2025/11/thanksgiving/";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:1922:"<p>I want to wish everyone a happy Thanksgiving! To me, the holiday is a reminder to be grateful. A gratitude practice is one of the most surefire ways to improve your happiness, <a href="https://www.health.harvard.edu/healthbeat/giving-thanks-can-make-you-happier">as this study covered by Harvard Health explains</a>. </p>



<p>I was part of a <a href="https://www.artofaccomplishment.com/">leadership coaching cohort with other founders and CEOs</a>, and one of our exercises was to have a weekly 15-minute Zoom call where we&#8217;d each take turns saying something we were grateful for. (I think the original assignment was 7 minutes, but <a href="https://en.wikipedia.org/wiki/Parkinson%27s_law">Parkinson&#8217;s law</a> and Google Calendar&#8217;s 15-minute default expanded it.) Like most great coaching, it seems silly on the surface, but when you actually practice it with an open mind, something magical happens.</p>



<p>It really grew on me, and while most of the randomly assigned pods of people that had this assignment for a few weeks dispersed, ours has kept it going now for several years beyond the conclusion of the coaching program. The calls are also a great way to stay in touch with people I love, but we might easily fall into our own universes and not keep up with each other. Wherever we are in the world, whatever is happening, this standing meeting is on everyone&#8217;s calendar, and while it has ebbs and flows, the flame has been kept alive.</p>



<p>Consider starting your own pod: pick a time, <a href="https://support.zoom.com/hc/en/article?id=zm_kb&amp;sysparm_article=KB0064248">set a standing Zoom room</a>, and see what happens. We do early mornings before most meetings start. I don&#8217;t make it every week, but I do more than not, and the weeks when I do are definitely a bit brighter, both in my own gratitude practice and in the connection with the others in the pod.</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:"Fri, 28 Nov 2025 07:08:13 +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:23:"Matt: Austin Meshtastic";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=150697";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/11/austin-meshtastic/";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:252:"<p>We&#8217;re celebrating Thanksgiving this year with my sister <a href="https://charleen.mullenweg.com/">Charleen</a> in Austin, and it&#8217;s no surprise there&#8217;s a <a href="https://www.austinmesh.org/">great Meshtastic community 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, 27 Nov 2025 07:18:10 +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: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:112:"WPTavern: #195 –  Saumya Majumder on How Cloudflare Outages Impact the Web and WordPress Performance Solutions";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=200950";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:125:"https://wptavern.com/podcast/195-saumya-majumder-on-how-cloudflare-outages-impact-the-web-and-wordpress-performance-solutions";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:62017:"<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 CloudFlare outages impact the web, and WordPress performance solutions.</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 Saumya Majumder. Saumya is the lead software engineer at BigScoots with a deep specialization in high performance WordPress engineering and advanced CloudFlare powered architectures. Throughout his career Saumya has built large scale systems ranging from custom caching engines, to migration tools, worker based automations, and edge computing solutions. He&#8217;s played a pivotal role at BigScoots overseeing enterprise customers, and developing scalable developer friendly solutions that push the boundaries of hosting for WordPress.</p>



<p>We begin our conversation with a timely discussion about a major CloudFlare outage that recently rippled across the internet. Saumya explains what happened behind the scenes, the nature of these kind of global infrastructure hiccups, and why, even with the most robust systems in place, some downtime is simply inevitable. He offers valuable insights into how BigScoots is able to mitigate these issues for their customers, even automating rapid failovers to keep sites online during outages.</p>



<p>We then move on to explore some of the innovations that the team at BigScoots have been working on. They focus upon site speed and reliability. This includes CDN level page caching, and their close integration with CloudFlare Enterprise. Saumya breaks down how this caching differs from traditional server based caching, and how it ensures that users around the world get fast, local access to website content.</p>



<p>If you&#8217;re curious about how hosting companies manage such advanced caching strategies and how CloudFlare might fit into the hosting jigsaw, 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 Saumya Majumder.</p>



<p>I am joined on the podcast by Saumya. Hello, how are you doing?</p>



<p>[00:03:04] <strong>Saumya Majumder:</strong> Hey, I&#8217;m doing well. How are you doing?</p>



<p>[00:03:05] <strong>Nathan Wrigley:</strong> Yeah, very well, thank you. So this is going to be an interesting conversation. I got put in touch with Saumya via Tammy Lister, who has been communicating with Saumya over the last period of time. I don&#8217;t know exactly for how long. But the idea is that we&#8217;re going to talk about what they&#8217;re doing over at BigScoots and the interesting innovations that they&#8217;ve got.</p>



<p>By pure coincidence, the day before we recorded this, the Cloudflare, I&#8217;m going to call it fun, the fun that Cloudflare had with the entire internet happened. And so I think we&#8217;ll digress for a bit at the beginning of the podcast and talk a little bit about that as well, which was unexpected. But given that you are working heavily based upon Cloudflare, it&#8217;ll be interesting to talk that through.</p>



<p>Would you mind just spending a moment though, just introducing yourself. Just tell us who you are, what it is that you do at your current role, that kind of thing, and then we&#8217;ll get stuck into our conversation.</p>



<p>[00:03:55] <strong>Saumya Majumder:</strong> I&#8217;m Saumya. I work as a lead software engineer at BigScoots, specialising in high performance WordPress engineering and advanced Cloudflare powered architectures.</p>



<p>I also build large scale systems from custom cache engine to migration tools, worker based automations, edge computing and whatnot.</p>



<p>I also look after our enterprise customers, all of our internal WordPress projects and plugins and IPs. And I also build scalable, developer friendly solutions for our clients to ensure that they are getting the best service product out of it.</p>



<p>[00:04:29] <strong>Nathan Wrigley:</strong> Thank you very much indeed. Now, I&#8217;m just going to dwell on that for a little bit. A lot of that seems extremely technical, but also it kind of feels like that you went very much down a particular road very early on.</p>



<p>How is it that you ended up doing all of that interesting, but quite specific stuff? How is it that that happened? Is it something that you pursued out of college or something like that? How is it that you went down that path?</p>



<p>[00:04:51] <strong>Saumya Majumder:</strong> It&#8217;s an interesting question actually. So I remember, back in my second year of college, I started doing projects, like outside projects. So I started dabbling with PHP, like at the very early days of WordPress. So I get into the WordPress and I was like doing coding, changing things, pushing things to the core, tinkering with the WordPress. That was like way back in the days of the WordPress ecosystem.</p>



<p>From that, I was dabbling with PHP and other stuff. So that was like back in the days when I started, and then slowly I started seeing problems and how to solve the solution. So for example, a lot of the companies today, like CDN page based page caching, in today&#8217;s 2025 it&#8217;s like a very, pretty much common thing across the world. If you go to any premium hosting or any premium package, you kind of expect like CDN based page caching.</p>



<p>You know that that wasn&#8217;t the case, even like a few years back. It&#8217;s like this level page caching or RAM level page caching, like it&#8217;s all on the server. So me and one of my friends, whom we met online due to the WordPress coding things, we actually invented the CDN level page caching. So it wasn&#8217;t a thing before that. So there was a plugin that we created called Super Page Cache for Cloudflare that got later acquired by a different company called Optimal.</p>



<p>In that plugin we actually looked at like, okay, all the current solutions, like if you break down how the request is happening or how internet works, like you make a request from wherever in the world, that request then travels through across optical fiber cable, blah, blah, blah, to the ISP data center. Then from there it goes to the data center, well, then it reaches the server from there on. If you don&#8217;t have cache, then the server has to populate the entire thing, get the response, give it back to you, if you have the cache.</p>



<p>So we were saying that, you know, this is adding like a huge amount of latency, especially if you are, like the distance between the server and you is larger. Back then there was like MaxCDN, KeyCDN, and all of this provider who are like focusing on static files being served from the CDN.</p>



<p>So that was like already a thing, but we were like, okay fine. But like if static files coming from CDN, that&#8217;s great, but the main leap frog forward is if we can move the page. Like, literally serving the page HTML from the CDN itself. So if you are in Australia, the request doesn&#8217;t have to come to the US. Like, if it&#8217;s cached, it&#8217;s literally coming from your neighborhood.</p>



<p>So caching was one of the most complex problems that I kind of always loved solving because it was one of those unsolvable problems in the computer engineering world. So that&#8217;s how I like get into it, and then started. I broke a lot of things and fixed them and it&#8217;s like a journey. It&#8217;s hard to explain, but it&#8217;s like a journey of a lot of failure and a little of success, I guess.</p>



<p>[00:07:37] <strong>Nathan Wrigley:</strong> Yeah, I can imagine. Do you ever get the sense that you are approaching the destination or is this whole thing just, I&#8217;ll do this and then I know that in a week&#8217;s time, there&#8217;ll be something else that I can optimise. Is there ever a moment where you&#8217;ve thought to yourself, okay, that&#8217;s it, we cracked it for now? Or is it always just, no, there&#8217;s another thing?</p>



<p>[00:07:55] <strong>Saumya Majumder:</strong> It&#8217;s always a process, right? The technology is evolving. There&#8217;s way, way more to dig deeper. So one of the things we recently released was end DB protection caching. I&#8217;m going to talk about it in a moment and also login user caching. Both of these things were in my bucket list for years, and I have done like R and Ds, and R and Ds, and R and Ds to figure out exactly the way to do things. So again, you know, like it&#8217;s a process, right? And it takes time.</p>



<p>[00:08:20] <strong>Nathan Wrigley:</strong> Yeah, that&#8217;s lovely. Like you say, we&#8217;ll get into those bits and pieces. But as I said at the top of the show, by pure coincidence, we had this, let&#8217;s just call it a real collapse in a sense of what Cloudflare provides to the internet as a whole. And I think, depending on where you were and when you were awake in the world, I think for Europeans and maybe the part of the world where you are, it hit us right at the time when we&#8217;re all awake. I think maybe if you&#8217;re in North America, especially on the West Coast, you might have missed much of it.</p>



<p>But for most of the day here, everything on Cloudflare just declined to work. And it was really interesting how profound that was. And we&#8217;ve all heard this problem before. We&#8217;ve seen the little drawing of the great big tower built of Lego bricks, and there&#8217;s the one little brick at the bottom holding the whole thing up, and it&#8217;s called Cloudflare, or it&#8217;s called AWS or what have you.</p>



<p>Can you explain to us what the heck happened yesterday? Are you able to sort of get into, do you understand it at this point?</p>



<p>[00:09:15] <strong>Saumya Majumder:</strong> Yeah. So internet is a magical thing. It works by magic. If I get into explaining how it works, it&#8217;s going to be another thing. But the way it works is, and especially in case of Cloudflare, right? Like, a lot of people look at Cloudflare, that it is a CDN provider, like MaxCDN or Akamai or like any of these providers. But CDN is just one bit of Cloudflare. Cloudflare is like a, such a gigantic service that is like built on top of it.</p>



<p>So as a result, what happens is, when you have such a big system working together, there are lots of critical dependencies that happens. You have all these boxes, but all these boxes are depending on one of these config file, or one of these things that is coming from the layer below that, right?</p>



<p>And if anything happens in that one thing, the things at the top are working fine, but it cannot work because the one thing that is below it is gone.</p>



<p>I would also like to say there is no such thing in the world of internet that just works. Everything is supposed to break at some point in time. There&#8217;s no such thing. Be it Google, be it Azure, be it AWS, Cloudflare, anything it is. Even if you have your own data center and everything like that, like we have, there&#8217;s no way that, like a lot of things can happen even after you are prepared to mitigate all of those things, like you have follower, and a follower, of follower and all this backup system, still things can go wrong. Maybe that didn&#8217;t turn out, maybe that didn&#8217;t happen.</p>



<p>I saw a lot of memes yesterday on Twitter, like a lot of people was posting like, hey, I just joined as an internet Cloudflare. I pushed a code and that happened. And I understand that it&#8217;s funny, but when you look deeper into it, it is actually not funny. It is really like a code red scenario. And trust me, no one, no company wants to get into that code red scenario. Because you have to understand, all of these companies also dealing with a lot of enterprise customers to whom they have promised like 100% percent SLA or 99.99% SLA. And so when they don&#8217;t meet that, they have to pay a hefty amount of credit back to them.</p>



<p>So it&#8217;s not just the downtime and bad reputation and marketing and all that, it&#8217;s literal money being bled out of the company because of that. And it&#8217;s like all of those systems.</p>



<p>But at the same point in time, the way technology works, things can mess up. You can do multiple tiers of review of the code, you&#8217;re still going to miss a certain edge case scenario, which will only occur if this happened and that happened. And the probability of that happening is probably 0.00001%. But that 0.00001%, it&#8217;s not zero. It can happen.</p>



<p>In the world of engineering, we call certain things that are super low priority, like it&#8217;s never going to happen. I&#8217;m not saying that it cannot happen, it can happen, but the probability of that is so low that spending engineering hours on that at this moment, where we have much more critical things to do, it doesn&#8217;t come up, right?</p>



<p>But sometimes things happen. And as a senior engineer, it happens like this. And in case of Cloudflare, what happened is as this is like a such a big system, even if they identified the root cause, let&#8217;s say that takes some amount of time for the engineers to figure out, and they push that. And you have to understand, a lot of people are sending requests, requests are going down, and they figured out the root cause. They&#8217;re pushing the fix and then like a boatload of requests is coming to Cloudflare.</p>



<p>So it takes time for everything to stabilise, you know? So it is bad. It is bad, but anyone who is thinking like, oh, Cloudflare is bad, if I move from Cloudflare to, I don&#8217;t know, X, Y, or Z, or something like that, it won&#8217;t happen. I haven&#8217;t seen, like a Tweet yesterday where somebody said, send cold emails to people saying, Cloudflare is down. But we don&#8217;t use Cloudflare, we use our own VPS and dedicated server for that. And I was like laughing out loud. I&#8217;m like, I understand that, you know, your data center did not go down, but that does not mean that it can never go down.</p>



<p>[00:13:06] <strong>Nathan Wrigley:</strong> It&#8217;s kind of guaranteed. I think one of the interesting things that I saw was in the mitigation, the sort of summing up posts that Cloudflare created, there was this whole thing about this unexpected file which kind of doubled in size. It was supposed to be this size, but it doubled in size, and that got propagated. And then for a period of time, the ripple effect of that was that it looked like a DDoS attack. For a period of time it looked as if it may have been malicious actors.</p>



<p>And so the Cloudflare engineers, I think kind of went off, as it turned out, wrong headedly. They went off in the wrong direction, searching for the problem, which probably added a number of hours to the mitigation, and then kind of figured out what was going on. And then, like you said, the whole ripple effect is, it&#8217;s not like you turn off a computer, switch the computer back on, and Cloudflare is restored. There&#8217;s this whole propagation thing where you find the problem, mend the problem, the problem mitigates, and that is presumably going to take hours and hours and hours. And then you could just see the sort of downtime reports slowly repairing themselves over the internet.</p>



<p>[00:14:08] <strong>Saumya Majumder:</strong> And you have to understand that, as I said, Cloudflare, people think of Cloudflare as a, either a security company or a CDN company. But Cloudflare is way, way, way more than that, right? The CDN backbone that they have, it&#8217;s literally their backbone, the powerhouse on top of which Cloudflare builds their own thing.</p>



<p>So anytime they find a fix of which they call their control plan, you know, pushed the fix to their control plan, that has to get propagated across all of their end edges. And Cloudflare has the highest number of CDN PoPs, you know? So it has to get pushed across all of these places, rebooted and all of these crazy things has to happen in order for everything to go properly. And then all the burst of traffic that is coming on that it has to handle that. It is a crazy thing.</p>



<p>But one of the things that I liked about Cloudflare is that, it&#8217;s not that this is the first time Cloudflare had a global outage. They had global outage before as well. There are two things I really love about Cloudflare.</p>



<p>Number one is that they&#8217;re super transparent. So anytime things go wrong or situation like this happens, they always push like a detailed blog article explaining exactly what happened, what they did to fix it, and how they&#8217;re making sure that this does not happen again in the future. And it never happens in the future.</p>



<p>So if you look at the previous global outage that they had, I think back in June, it was caused because there&#8217;s a thing called Cloudflare KV, which had a dependency on GCP. So when GCP went down, so KV went down and as a result the system went down. And from there on, they&#8217;re now working on to remove that dependency, building things internally in house to make sure that doesn&#8217;t happen.</p>



<p>Previously, there was another, I think last year or something like that, another global outage where the entire main data center went down. There was like multiple failover but the generator didn&#8217;t start and then this didn&#8217;t start and that didn&#8217;t start. And that caused like a huge failover scenario, I think, if you remember that, right?</p>



<p>And from there on, they make sure that, okay, we now have to make sure that we have multiple, that scenario is never going to come back. So they always work towards to make sure everything that happening never happens the second time. And it really does that. But at the end of the day, in the world of technology, things can go wrong. It&#8217;s just how it is.</p>



<p>[00:16:11] <strong>Nathan Wrigley:</strong> What&#8217;s kind of curious though, from an end user&#8217;s perspective, and you are going to explain to us some of the complexities of the inner workings of BigScoots and how it combines with Cloudflare in a minute, and that&#8217;ll be really interesting. But from a non-technical user&#8217;s point of view, it just feels like the sky is falling in because so much of the internet has collapsed, so many things that they&#8217;re familiar with.</p>



<p>So just a couple of examples which many people would be familiar with. So for example, if you were a user of the social network X, that completely failed. There must be a dependency on Cloudflare at some point there. Also ChatGPT, which is now becoming almost, it&#8217;s just a thing which almost everybody at some point of the day is plugged into, that went away.</p>



<p>But then it just rippled out across so many other things. News organisations go down. The ability to log into a variety of things went down. So it may be that your platform itself worked, but you might have had the the Turnstile sort of capture system, which Cloudflare run, enabled, and nobody could log into the proprietary platform that you got because the Cloudflare portion, the Turnstile wasn&#8217;t working and so on.</p>



<p>So it just had this enormous effect. And the sort of chilling effect of that is that people then, erroneously I think, sort of view Cloudflare in some way as a bit of a, I don&#8217;t know, a giant that needs to be brought to heal in some way. You know, we can never let this happen again, there&#8217;s too much dependencies on these small group of massive organisations and what have you.</p>



<p>But by today, everybody&#8217;s forgotten that, you know, they kind of moved on with their lives and we&#8217;re back to what it was like on Monday. And so there&#8217;s no question in there, but I think there&#8217;s some insight that I&#8217;m sharing.</p>



<p>[00:17:41] <strong>Saumya Majumder:</strong> Oh yeah, absolutely. So there are a couple of very important things to understand here, right? So first of all, as you said, the people who talks about these kind of things on the social media, trust me, either they&#8217;re not engineers, senior engineers, or they don&#8217;t understand the problem.</p>



<p>And so these are the people who talks about this exact same thing where a few weeks back AWS went down, and then a couple of months back, GCP went down. And then they were like, well, Facebook went down, they literally just use this exact same word every single time something goes down. But things can go down. That&#8217;s like, you have to accept that and move on.</p>



<p>And that&#8217;s why when you get onto these enterprise deals with these big companies, they have this SLA agreement, like where they say, we grant to you, as I told you about earlier, right? So all of these companies, GCP, AWS, Cloudflare, if you are like a big enterprise customers of them, you have like an SLA agreement with them. Where they say, okay, we are going to guarantee that we&#8217;re going to give you 100% uptime, or 99.999999% uptime. And anytime they miss that mark, they have to pay back a huge sum of money as a credit to the customers saying, okay, we missed on our contract, so this is that credit back to you.</p>



<p>So you have to understand that anytime situation like this happen, it is not only a bad thing on the companies, on the marketing front of it, but it is also a bad thing on the financial side of things. Because you have to understand like all of these big companies, there are these smaller clients who are dealing with companies like, there are smaller clients and there are like giant clients, the enterprise customer who companies are really worried about. And for these giant clients, they have to pay huge amount of money back as credit because things didn&#8217;t come back within time. So it is not something that they are not worried about to fix immediately. They&#8217;re literally trying as hard as possible to fix that.</p>



<p>So that being said, now talk about the other points that you brought up, the turnstile, the WAF and the other things, right?</p>



<p>So as I said, Cloudflare is not just a security company. It&#8217;s like a huge thing. Cloudflare has a thing called Developer Platform where you can literally deploy your own APIs, your AI workload, your workflows, your entire React or entire application on Cloudflare, which is amazing. I use it. I love that platform.</p>



<p>And then that is one side of using Cloudflare, and then there&#8217;s another side of using Cloudflare like, for example, using BigScoots. You have let&#8217;s say a WordPress website that is hosted on BigScoots, but it is being proxied via Cloudflare to leverage their CDN, their security and all of those features.</p>



<p>So in a scenario like a WordPress site where you are not using Cloudflare as your host, so your Cloudflare is just there as a proxy, making sure that your origin IP is not there, your site is super protected and performance and CDN and whatnot. In that scenario, anytime this kind of problem happens, you can kind of, when this outage was there, the API was still working and we actually, for all of our customers, we leveraged our API to make sure that any request does not proxy via Cloudflare, but instead it just goes directly to our server just for the moment in time until Cloudflare is back in the game.</p>



<p>[00:20:42] <strong>Nathan Wrigley:</strong> Oh, so you could turn the proxy off via the API.</p>



<p>[00:20:45] <strong>Saumya Majumder:</strong> Via the API, yes.</p>



<p>[00:20:46] <strong>Nathan Wrigley:</strong> Right. So the fact that the rest of us couldn&#8217;t log in because Turnstile was down, we couldn&#8217;t authenticate into the Cloudflare network on the web. The API was still available, so you could turn the proxy off for a variety of your customers, and the domains and the websites that they had.</p>



<p>Oh, that&#8217;s really interesting. So they had a few minutes of downtime. Okay, that&#8217;s fascinating.</p>



<p>[00:21:04] <strong>Saumya Majumder:</strong> So what we did is when we saw this outage happening, anytime requests are coming in, it was a code red scenario on our end as well. All hands on deck. So anytime requests are coming in, like people are having problem, we immediately turned on the proxying API to make sure that this site is up and online.</p>



<p>So that way the request is not going via Cloudflare anymore, it&#8217;s coming directly to us for the moment, until CloudFare is back on track. And that helped us to mitigate the downtime as much as possible for the customer, even though Cloudflare was technically down.</p>



<p>But if you would have been hosting your Nuxt or React or Next.js kind of application on Cloudflare, where you are using Cloudflare workers and things like that as your host, in that scenario, you couldn&#8217;t push anything.</p>



<p>[00:21:49] <strong>Nathan Wrigley:</strong> Yeah, the API is not going to help you.</p>



<p>[00:21:51] <strong>Saumya Majumder:</strong> Yes, yeah. It was bad but it&#8217;s going to happen. It can happen.</p>



<p>[00:21:54] <strong>Nathan Wrigley:</strong> Yeah, I think that&#8217;s kind of the message, you know? Nothing that humans create is immutable. Everything has a moment of breaking. But, you know, if you were to cast your mind back until, well, just Monday when everything was, you know, just plain sailing, Cloudflare was working as normal, then everybody was entirely happy. We had this period of time, it was maybe something like 8 hours where everybody&#8217;s kind of throwing their arms in the air and, you know, moaning on whatever social networks are still working.</p>



<p>But now we&#8217;re onto Wednesday, that whole thing is long behind us. That ship sailed, whatever, move on. Confidence, I think basically what you&#8217;re saying is you can be confident in Cloudflare. They&#8217;re going to have hiccups because they&#8217;re like any other company, things will go wrong.</p>



<p>[00:22:33] <strong>Saumya Majumder:</strong> Everything can have hiccups. So it&#8217;s not just, so you have to understand this, right? Again, I&#8217;m saying that Cloudflare is not just a CDN provider, but if you look at Cloudflare and all the things that they do, the complexity of it is like mindbogglingly crazy, you know? Like it&#8217;s immense, immensely complex. It makes things super easy for you. Okay, you just toggle this on and it&#8217;s done. But if look at under the hood, and all the things and chains it has to go through, and that happens in a blink of milliseconds, it&#8217;s crazy complicated.</p>



<p>As I said, right, like I&#8217;m not saying that Cloudflare is bad. I think Cloudflare is amazing because two things, they have super transparency, so anytime anything happens, the blog article that you are like referencing here, they didn&#8217;t hide behind anything like, oh, it was not my problem, like not doing the blame game thing. No, no, no. Like, it was our problem. This is the problem.</p>



<p>For example, in that blog article, they could have completely, don&#8217;t talk about the DDoS thingy, right? They could have just said, oh, this was the configuration file problem. We fix this, it&#8217;s done. But no, they actually literally walk you through how exactly they process the problem, which is really great. And then they actually learns from their mistakes to make sure that particular mistake never happens again, while they are like growing rapidly and building things, pushing things like crazy, like always pushing new things, which is like amazing to me.</p>



<p>[00:23:50] <strong>Nathan Wrigley:</strong> I think the article even started, if it wasn&#8217;t the first set of words, it was definitely in the first couple of sentences. It was something like, we let you down. It was full ownership, I think. So bravo to them.</p>



<p>And you&#8217;re right, the complexity behind it, you know, like you said earlier, the internet, the fact that anything works on the internet is an utter miracle of engineering, of computer engineering.</p>



<p>You know, the fact that we&#8217;re on a platform that we are staring at each other. I can see your image, you can see my image, you can hear my audio, I can hear your audio. You are on the, a different side of the planet, but it&#8217;s happening like you&#8217;re stood next to me. And the millions of packets of information that have flown during the course of this conversation, it&#8217;s insane. And Cloudflare add a whole layer of other stuff on top of that, which makes it even more insane.</p>



<p>[00:24:33] <strong>Saumya Majumder:</strong> Yeah. And you have to ask the question, like, why all these big companies are using Cloudflare like if it is so bad. Because they are doing things that nobody else even think about doing at a scale. And it&#8217;s like mindblogglingly crazy. It&#8217;s crazy.</p>



<p>[00:24:46] <strong>Nathan Wrigley:</strong> Yeah, yeah, it really is. So we&#8217;ll leave that for another day. But obviously over at BigScoots, you&#8217;ve really attached your wagon, if you like, to Cloudflare. And when you agreed to come on the podcast to talk to me, it became obvious to me that the pay grade that you are at is very different to the pay grade that I&#8217;m able to keep up with.</p>



<p>So we&#8217;re going to talk about what you&#8217;re doing over at BigScoots. I&#8217;m going to try to keep up, but if I misunderstand something, or I have to ask you to repeat something, I hope that&#8217;s okay with you. But I&#8217;m just curious because Tammie Lister, like I said at the beginning of this episode, she&#8217;s somebody whose opinion I respect a lot, and she said that you are doing some really innovative, interesting things with your connections to Cloudflare at BigScoots. So just lay out some of the interesting engineering work that you&#8217;ve been doing. I&#8217;ll try to hold on.</p>



<p>[00:25:30] <strong>Saumya Majumder:</strong> First I&#8217;m to Tammie is great. Tammie is amazing. But yeah, I mean, I think BigScoots have been one of the first to utilise Cloudflare Enterprise in the hosting world. I know we didn&#8217;t do any kind of huge marketing like other hosts, but we have been the first to leverage Cloudflare Enterprise in our hosting ecosystem. And it was such early days, like back then, all of these things, this market wasn&#8217;t there. So we were building things that people didn&#8217;t even test it out.</p>



<p>So as I said in the beginning, like I, along with one of my colleagues, we invented the CDN level page caching. This is way before APU and all of that. So all of those things actually build upon the architecture systems as we build on, including APU and the workers and stuff.</p>



<p>So at BigScoots, the Cloudflare thing, especially the Cloudflare Enterprise thing opens up a whole new door for us because it now allowed us to provide CDN level page caching for every single user at a super high cache hit ratio. I mean it&#8217;s like, every time you hit a page, chances of that getting, coming out of cache is much higher, compared to if you are, or like a free plan or any other plan, right?</p>



<p>So that was the beginning. And on top of that, we build our own proprietary plugin called BigScoots Cache, which allows you to not only leverage and take advantage of the Cloudflare page caching, but giving you the ability to fine tune every aspect of page caching that you would like on webpage.</p>



<p>[00:26:56] <strong>Nathan Wrigley:</strong> I&#8217;m going to pause you right there. Firstly, because I&#8217;m sure that almost everybody in the audience, because their WordPress aligned, is going to understand what a cache is. They&#8217;re going to understand this process of kind of, okay, let&#8217;s remember something for next time so that when we need it next time, it&#8217;s kind of ready. But they may not understand how Cloudflare does this on their Enterprise plan.</p>



<p>So what is it that&#8217;s different? Because we may be familiar with, I don&#8217;t know, a WordPress plugin and we&#8217;ve got some idea that there&#8217;s a cache. It&#8217;s sitting on the server somewhere in a file, it&#8217;s an HTML file or something like that. You are describing something not in one location, but like really just spread globally so it&#8217;s ready at the point of least distance from wherever somebody is. So tell us a bit more about that.</p>



<p>[00:27:35] <strong>Saumya Majumder:</strong> So let me explain that with like an analogy, right? So before CDN level page caching, I think pretty much everybody would remember, like we used to have caching plugins. I&#8217;m not going to name anything, but they were caching plugins. So when you turn them on, what they essentially did was they would create like an advanced-cache.php. You have everything of that file inside your WordPress installation.</p>



<p>What that used to do is, when you send a request, let&#8217;s say you are in Australia, right, and your server is in US, so you want to open example.com, and that requests flows through under the ocean, it goes to the data center, it goes to the server, the server receives the request, it started processing that, run all the database queries and all of that, and then it got the HTML to show it to you.</p>



<p>Back then what it used to do is then, advanced-cache.php would kick in, it would create a copy of the HTML, store that locally on the server so the next time if someone requests for that page, instead of asking the server, hey, please process the PHP and database and all of that, it would require much less amount of server resources because it&#8217;s just like, WordPress is like warming up. The request goes to advanced-cache.php, then it says oh, I have that cache file, sends that cache response back to you.</p>



<p>But even in this scenario, if you are making this request from Australia and your server is in US, you have to understand that the latency is very high, because the request has to go from Australia to US and then whatever gets there is, you know, response from there and come back from US to Australia. So the traversing time is pretty high.</p>



<p>From there on, and back then we are thinking about MaxCDN, you know, KeyCDN and like putting static files on the CDN so that, yes, the page is being generated by the server, but the static files are being served literally where you are. Like, if you are in Australia, in Sydney, so maybe the CDN PoP in Sydney is like, when you make a request for that, the static file is coming from Sydney.</p>



<p>That&#8217;s where we thought about, what if we can put this page HTML, instead of in the server, we can put it on the CDN? There were two benefit out of this. First, it is in insanely fast. Because if this page HTML is across the world, so if you are in Sydney making the request and the request is like, oh, okay, I have this page cache to me, here you go, the response, you get that in like less than 100ms, you know?</p>



<p>Same thing happens for someone sitting in India and Germany and some other places of the world, because it&#8217;s cached across the globe. So it&#8217;s not just coming from a single place. And anytime it is not cached, the request goes to the server, HTML processed, and by the time the response is sent out, it got cached. It&#8217;s cached across the world.</p>



<p>Now, that was the page caching part of it, right? And then there&#8217;s other things, the object cache and OPcache, that&#8217;s like whole another different level. But I&#8217;m not going to get into that. I&#8217;m just going to stay with, because then it&#8217;s going to get way too long.</p>



<p>So that&#8217;s where this object caching and Cloudflare Enterprise came into play, right? Cloudflare Enterprise then allowed us to make sure that we can cache all these pages across the globe with a very high cache hit rate. Cache hit rate means, when something gets cached somewhere, let&#8217;s say someone makes a request to that file and that cache is expired from there and it&#8217;s not there. So the request, again, has to go to the origin and get processed and come back to you.</p>



<p>So that is generally the case with the lower tier plans with Cloudflare. So with Cloudflare Enterprise you get a very high cache hit ratio. So when it&#8217;s getting the cache, it stays on the cache for a very long time. On top of that, we got tiered cache and regional tiered cache and all of those crazy things.</p>



<p>Which that means is, we have tiering systems. So when you make a request, the request first gets cached in the upper tier. And when a lower tier, so let&#8217;s say, how can I explain this to you? So let&#8217;s say you are in Phoenix, okay? And in Phoenix there&#8217;s a data center, or a PoP that is called, in case of CDN, a PoP is there in Phoenix but the upper tier PoP is Chicago.</p>



<p>So let&#8217;s say someone made a request from Chicago, the page was cached in Chicago data center, okay? Now, as we have this tiered cache system, when you, from Phoenix, is making the request, instead of that PoP directly sending the request to the origin, it would first internally within the intranet of Cloudflare, not the internet, okay? The intranet of Cloudflare. The internal network like, hey, does anyone in the upper tier has this page cached to you? And if they say yes, they would fetch it from the upper tier, which is like crazy fast because there&#8217;s no traffic, and it&#8217;s like a internal network of Cloudflare.</p>



<p>And if it does not, then it pass on the request to the upper tier, because the upper tier is the only one who has the power to pull the request from origins. It goes to the upper tier. Upper tier pulls it from the origin, creates a copy, and it&#8217;s upper tier, and then send it back to the lower tier. So in that way, in the tiered architecture, it makes sure that the cache hit ratio is insanely high.</p>



<p>[00:32:24] <strong>Nathan Wrigley:</strong> Let me just sort of read that back to you just to make sure I&#8217;ve understood. And I&#8217;m imagining that, the simplest way my head is understanding that is a bunch of concentric circles. So in the center is me, and I wish to find something on, let&#8217;s say, the outer circle. So the first thing I&#8217;m going to do is go to my inner circle, and if the inner circle doesn&#8217;t have it, we need to go to the next circle out, and the next circle out, and the next circle out.</p>



<p>Now in the old world, if you like, or the non-enterprise version of Cloudflare, at some point we have to go further out of the circles in order to find what it is that we&#8217;re looking for. But what I think you are saying is that on the enterprise level, that outer circle is constantly pushing things towards the inner circle on a much more local basis. So rather than having to go out circle, another one, another one, another one, it can just hop one circle out, get what it needs, and then hop right back. In other words, every single thing is always closer, geographically, than it would be in any other setup.</p>



<p>[00:33:22] <strong>Saumya Majumder:</strong> Yes, and on top of that, if you look at the opposite architecture of this, right? So imagine you are in Phoenix, Phoenix doesn&#8217;t have it in cache. Phoenix sends a request to origin, now someone from Mississippi makes a request, they don&#8217;t have it in cache, their PoP makes a request too.. So all these PoPs are making requests to the origin because they don&#8217;t have it in their own local cache, which is bad because that would then mean the request to the origin would increase dramatically, which we are trying to reduce.</p>



<p>But in this sense we have, imagine like a fixed set of upper tier data center, then we have like a middle tier and then the lower tier, right? So if lower tier doesn&#8217;t have it, it asks the middle tier, middle tier checks if any of the middle tier across the world have it. If they do, immediately send it. And that&#8217;s happening within the internal network of Cloudflare and not on the open internet, okay? It&#8217;s like crazy fast.</p>



<p>[00:34:11] <strong>Nathan Wrigley:</strong> Right, okay. So again, forgive me, I&#8217;m going to make a leap of faith here, I could have this wrong. I&#8217;m guessing that on the Cloudflare side, they have their own bespoke hardware to route all of this stuff. So like you said, you described it as an, it&#8217;s like an internet intranet, almost, the scale that they&#8217;re on. But they&#8217;ve got their own hardware, which will be able to route that information presumably more quickly, and with less, I don&#8217;t know, less latency than you and I might have.</p>



<p>[00:34:36] <strong>Saumya Majumder:</strong> Yeah, it&#8217;s a intranet, it&#8217;s not internet. It&#8217;s a private channel, right? So no one talking there except for Cloudflare. And the best part of that is, so imagine let&#8217;s say you are making a request from Mississippi, and there is like a upper tier data center in Mumbai, India, right? So what happens is, even though it&#8217;s not cached in US, it&#8217;s going to see that, okay, I have it cached in Mumbai, let&#8217;s take it from there instead of making a call to the origin, reducing the call origin, yeah.</p>



<p>[00:35:05] <strong>Nathan Wrigley:</strong> Okay, that bit I didn&#8217;t understand. So the entire network is aware of where the closest thing is even before it needs to have it. I got it. Okay. That&#8217;s fascinating. And do they own the cables? Do Cloudflare own the cables connecting these things?</p>



<p>[00:35:18] <strong>Saumya Majumder:</strong> Yes. Yes, they have their own data center, their own backbone, all of that. And on top of that, like at BigScoots we even have direct physical connections to Cloudflare service. That&#8217;s called CNI. That&#8217;s like a next step. So again, let me kind of paint a picture. This is you as a user, right? This is Cloudflare sitting in the middle, acting as a reverse proxy, and this is origin, okay?</p>



<p>So the way it works is you make a request, right? So let&#8217;s say you, a request is received by this in a reverse proxy Cloudflare. Then it process that thing, whether it has to show you a WAF page, whatever the logic is, right? Does it have it in cache and all of that? You know, if it is not being blocked or challenged, do I need to show it in cache? Do I have it in cache? You&#8217;re talking to the internal network, all of that. And that&#8217;s happening in this middle tier, right?</p>



<p>And this middle tier is now connected to their entire Cloudflare chain, right? So if, let&#8217;s say Mumbai has it, and it pulls from Mumbai, give it back to you. So the request never goes to the origin, right?</p>



<p>Now, for whatever reason, you make a request to Cloudflare, Cloudflare checks it&#8217;s internal network, it doesn&#8217;t have it itself, so it has to make a request to the origin, right?</p>



<p>There&#8217;s the interesting part. This bit of connection that is you and the Cloudflare, that&#8217;s happening over the open internet, right? Because like you making and the request goes by the open internet and lands to Cloudflare, right? And then this is your origin, so your Cloudflare to origin, right, that also generally happens by open internet. Cloudflare then makes a request, and that request goes by the internet and, you know, lands on the data center.</p>



<p>But here&#8217;s the magical part that we have done. As we run and own our own data center, what we have done is we have connected a physical cable, like literally optic fibre cable with super insanely high bandwidth with the Cloudflare servers, with our servers. So what happens is, anytime Cloudflare has to fetch something from our origin, instead of sending that request by the open internet, which could be slow, there could be congestion and whatnot, it then sends via that private network that we have created, that private optical fiber cable and lands directly to our origin. Like, oh, this is hosted on BigScoots. We need to talk to BigScoots. Okay, send via this channel, which is not part of the open internet. And boom, it gets there, comes back, it&#8217;s like insanely fast.</p>



<p>[00:37:32] <strong>Nathan Wrigley:</strong> Okay. How did that happen? Like, is that some sort of agreement that you have struck up directly with Cloudflare so that you can tap, you know, in a sense it feels like you&#8217;ve become a third party piece of their network infrastructure almost.</p>



<p>[00:37:47] <strong>Saumya Majumder:</strong> Think of like, if Cloudflare is like a one gigantic network, our systems are also plugged into their network so that they can use the intranet system to fetch data directly from us, instead of using the open internet, which is much slower, there could be congestion and whatnot. To making that request between the Cloudflare, the proxy and the origin, making that instantly fast.</p>



<p>[00:38:10] <strong>Nathan Wrigley:</strong> So how did that whole thing come about? How is it that you fell into this agreement? Because I don&#8217;t know if many other organisations do this, you know, outside of the web hosting space, maybe this is a typical thing where you could follow a roadmap from another company that had done it. I&#8217;ve not heard of this, so that&#8217;s kind of interesting. How did that relationship come about?</p>



<p>[00:38:26] <strong>Saumya Majumder:</strong> If you don&#8217;t run your own data center, it is very hard to do this.</p>



<p>[00:38:29] <strong>Nathan Wrigley:</strong> Yeah, I do not.</p>



<p>[00:38:30] <strong>Saumya Majumder:</strong> Yeah, because you have to literally connect your servers and routers and everything to the Cloudflare network, you know? So most of the hosting companies out there, they don&#8217;t run their own data center on their own space. They actually lease, what I call lease their hardwares and services from other cloud providers. Whereas we run our, you know, our private cloud, our private system, our own data centers, you know?</p>



<p>So like, for example, some company could use AWS or GCP or Azure and then create their own flavor of it and run Cloudflare through it. So they actually don&#8217;t have physical access to those data center&#8217;s other servers. Whereas we do. If we see something, we can literally pull up the drive, we can do things at our data center, we can change things, we can attach those things physically, which pretty much none of the hosting provider that I know of has access to.</p>



<p>[00:39:19] <strong>Nathan Wrigley:</strong> It&#8217;s so interesting. Honestly, we could go on about this for absolutely ages. But basically, the long and the short of it is, you&#8217;re making things as fast as it&#8217;s possible for electrons to be. In a distributed network where some things don&#8217;t know things, and other things do know things. It&#8217;s all an enterprise in trying to figure out how to make it so that everything knows everything as fast as it is possible for electrons to fly around through the optical cables that there are spread throughout the world.</p>



<p>[00:39:47] <strong>Saumya Majumder:</strong> I haven&#8217;t even described the servers.</p>



<p>[00:39:47] <strong>Nathan Wrigley:</strong> I&#8217;m nowhere near finished because I want to get into what it&#8217;s like for somebody using, we&#8217;re a WordPress podcast, so I guess at some point we need to sort of grind it into that. So how would it benefit just some normal human being who&#8217;s got a WordPress website? What does all of this clever technology that you&#8217;ve created and that you&#8217;ve combined with Cloudflare over at BigScoots, what does it bring?</p>



<p>[00:40:09] <strong>Saumya Majumder:</strong> It brings insanely fast speed. Insanely fast speed, super improved Core Web Vitals, and super DDoS products and all of that. It brings all of that. And I don&#8217;t want to talk about this kind of things, which I know the audience might not be interested about. I want to talk about more other interested things that the users can use.</p>



<p>So I was talking about BigScoots cache, which is our own IP, right? So we created our BigScoots cache plugin, top two are manage this entire Cloudflare caching system to work with that. And not just that, it gives you, if you are an advanced user, it literally gives you the ability to fine tune and manage every aspect of caching system that you want, every aspect of it.</p>



<p>So let&#8217;s say for example, we by default set the cache TTL, CDN cache TTL to let&#8217;s say X, but you have like a bunch of pages where you want, I want the TTL to be lower. There&#8217;s a hooks for that. You can use that.</p>



<p>Or maybe, let&#8217;s say whenever we have intelligent cache purging systems. So whenever you push up to create a post or update a post or something like that, what happens is anytime you push that button, like publish or update, behind the scenes the BigScoots cache plugin intelligently, not only clearing cache for that particular page, but it also knows all the other important pages like taxonomy pages, like archive pages and all that, like author pages that are linked to that article, and then clearing cache for those as well.</p>



<p>So you can also use other hooks. So let&#8217;s say you have some fake archive pages that we have seen a lot. Let&#8217;s say you are using a theme where you are showing list of articles on a page, which is like technically a page where you are using like a short code, which is not like a real archive page. So the system doesn&#8217;t recognise it as an archive page, but you want to clear that page cache whenever something of this tag or this category is published. There&#8217;s a hook for that. You don&#8217;t have to do that yourself. If you come to us and tell us like, this is our problem, this is the problem, we can actually write the code for you and do it for you. Like, we can literally just set that up for you. We provide like fully managed system.</p>



<p>[00:42:10] <strong>Nathan Wrigley:</strong> So I&#8217;m guessing that the level that you&#8217;re at there is you&#8217;ve got to have a fairly deep understanding of the sort of caching infrastructure, or would what you are offering be available, not necessarily to deploy, but could anybody understand this with a rifle through your documentation or is it fairly, propeller hat, tinfoil hat stuff?</p>



<p>[00:42:28] <strong>Saumya Majumder:</strong> We have like a proper documentation for every single hook there is. At the very top we talk about, like this is for the advanced audience. And if you don&#8217;t know what hooks are and things like that, it is going to be hard for you to understand what&#8217;s going on. But if you know, if you are familiar with actions and filters and things like that, it is going to be pretty straightforward for you.</p>



<p>So that&#8217;s why I said, if you don&#8217;t know, but you have a problem, and that happens a lot of time, people come to us, we just literally just write a snippet and just make that happen for them.</p>



<p>So you don&#8217;t have to know all of that crazy things, you know? It&#8217;s there if you are an advanced user, the documentation is there, but if you are not, it&#8217;s also there. On top of that, BigScoots cache has its own REST API, which you can use to clear cache, like you can literally use BigScoots cache REST API to clear cache. Imagine you have built like a Laravel system, or some backend system where you are adding something to your e-commerce site and you want to clear cache. When that happens, you can literally leverage BigScoots cache REST API to do that. So that&#8217;s like the, on the end of BigScoots cache. Then inside our BigScoots portal.</p>



<p>[00:43:34] <strong>Nathan Wrigley:</strong> Ah, that was where I was going next actually. Go on, yeah.</p>



<p>[00:43:36] <strong>Saumya Majumder:</strong> Yeah. We have, I think we have the most advanced and fine grain control to Cloudflare Enterprise that no one else in the industry provides. So I don&#8217;t know if you got a chance to look at our enterprise settings page. We really allow users to fine tune things exactly the way they want. So for example, let&#8217;s say you, do you want to protect your login pages from bad bots and actors, so that they can&#8217;t DDoS that? There&#8217;s a toggle for that. Turn that on, it&#8217;s done.</p>



<p>You want to enable our own advanced hardening production, which is not using Cloudflare hardening production, it&#8217;s using our own proprietary algorithm for that. You want to use that, feel free. Turn on, that toggle is there.</p>



<p>You want to change your image optimisation settings, do that. You want to enable Rocket Loader to every single thing starting from cache settings, speed optimisation settings, there are like bunch of things that you can play around with. You want to block AI bots, do that. You want to block bad bots, like manage, challenge bad blocks altogether, just turn a toggle, it&#8217;s done.</p>



<p>So we have so many settings there. I think, if you go take a look at just that settings, you would be blown away. Like, all the things that we allow our customers to customise and fine tune.</p>



<p>Let&#8217;s say, for example, you want to block requests from certain countries or continents, and now settings is there. Just choose the countries or continents, requests are blocked. You want to manage, challenge, you don&#8217;t want to block, you want to challenge the request from certain countries and countries, you can just go to the settings inside our portal, choose the contains and countries from where you want to challenge. So you could have a combination. So you want to block requests from these countries and continents, challenge from these continents and countries and don&#8217;t do anything for the rest of them. So you can play around with this to a whole new level, like you can just do anything you want.</p>



<p>[00:45:19] <strong>Nathan Wrigley:</strong> It&#8217;s absolutely fascinating. And it kind of makes me feel that your target audience would not be really the bricks and the mortars shop, the mom and the pop website?</p>



<p>[00:45:27] <strong>Saumya Majumder:</strong> There actually are. Yeah, like you you won&#8217;t believe how many times we have got a request like, hey, you know what? In our analytics, we are seeing that we are getting a lot of requests from Thailand, and that&#8217;s like broken our tools like that, so I want to either challenge or block that. So we are like, you go to the settings, choose the Thailand, click save, it&#8217;s done. So it&#8217;s like as simple as that.</p>



<p>[00:45:45] <strong>Nathan Wrigley:</strong> Yeah, I&#8217;m kind of imagining though, that you are kind of ideal customer, for want of a better word, maybe that&#8217;s the wrong wording, but would be kind of agencies, WordPress agencies, that kind of thing, who could obviously make use of this. They&#8217;ve probably got teams of people who can dedicate time to figuring out how BigScoots works, and maybe having a constant conversation with you to optimise the websites that they&#8217;ve got and, you know, maybe some of their clients are what we might call enterprise clients and things like that.</p>



<p>If that&#8217;s the case, there&#8217;s always this merry dance of agencies trying to find the perfect host and kind of figure out, okay, which company do we want to go with this year? And all of that. Do you make it straightforward for people to sort of come to you and say, okay, we&#8217;ve got 150 websites, it&#8217;s really important that we don&#8217;t have any downtime? Do you have some sort of onboarding, migration, something along those lines?</p>



<p>[00:46:30] <strong>Saumya Majumder:</strong> So we have a lot of enterprise customers, and for every single one of them we have a proper systematic onboarding flow. So that&#8217;s making sure that they do, we do migrations with zero downtime, have multiple peer reviews. Then if they have taken our performance optimisation packages and things like that, we would actually optimise their performance and speed metrics for them. And then if they have taken our engineering and services projects, then we would actually do all the, like if they have any technical problems, we would actually go on write code for them, solve their problems.</p>



<p>So we go very hand in hand with our enterprise customers doing onboarding call, making sure they&#8217;re happy from end to end. And whether that&#8217;s agencies or just normal enterprise customers, it&#8217;s for all of them.</p>



<p>And I also want to talk about the settings that you just talked about. So we build all of these things, keeping in mind that they are dead simple to use for anyone. But that doesn&#8217;t necessarily mean that they have to do it. A lot of the times customers comes to us and like, hey, we want to do this. As we provide managed support, we actually go into the exact same settings and do that. And that actually solves the problem a lot because now anybody can go to the settings and just do this. Be it our own team or, because it doesn&#8217;t have to be escalated, it doesn&#8217;t have to come to a specific team. Anybody can do that. And we are constantly growing the more things that people can do to leverage that out. And yes, agencies and enterprise are taking huge advantage of that.</p>



<p>[00:47:54] <strong>Nathan Wrigley:</strong> Yeah, honestly, it&#8217;s absolutely fascinating. You never know, hopefully you and I, our paths will cross at some point in the year 2026. Maybe I&#8217;ll see you in Mumbai or something like that.</p>



<p>But what I&#8217;m going to do is I&#8217;m just going to say, if you&#8217;re curious about any of this, I will provide links to everything that we talked about. So if you head over to wptavern.com and you search for the episode with Saumya, so S-A-U-M-Y-A, you&#8217;ll be able to find it over there. Honestly, I feel like we&#8217;ve just scratched the surface. I feel like there&#8217;s another 8 hours in the pair of us, really could get into the weeds of it.</p>



<p>But thank you so much for peeling back the curtain a little bit on what you&#8217;re doing and how it all works with Cloudflare. Thank you so much.</p>



<p>[00:48:28] <strong>Saumya Majumder:</strong> No problem. Thanks for having me.</p>
</div></details>



<p>On the podcast today we have <a href="https://www.linkedin.com/in/saumyamajumder/">Saumya Majumder</a>.</p>
