INSERT INTO `wp_options` VALUES (1141,'_transient_feed_d117b5738fbd35bd8c0391cda1f2b5d9','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:\"\n\n\n\";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:\"\n	\n	\n	\n	\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\";s: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:\"\n	\n	\n	\n	\n	\n	\n	\n	\n	\n	\n\";s: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:80:\"WPTavern: #179 – Mariya Moeva on the Impact of Google’s SiteKit on 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=197933\";s: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:91:\"https://wptavern.com/podcast/179-mariya-moeva-on-the-impact-of-googles-sitekit-on-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:43544:\"<details>Transcript<div>\n<p>[00:00:19] <strong>Nathan Wrigley:</strong> Welcome to the Jukebox Podcast from WP Tavern. My name is Nathan Wrigley.</p>\n\n\n\n<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 the Google Site Kit plugin is attempting to simplify their product offering, right inside of WordPress.</p>\n\n\n\n<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>\n\n\n\n<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>\n\n\n\n<p>So on the podcast today we have Mariya Moeva. Mariya has more than 15 years of experience in tech across search quality, developer advocacy, community building and outreach, and product management. Currently, she&#8217;s the product lead for Site Kit, Google&#8217;s official WordPress plugin.</p>\n\n\n\n<p>She&#8217;s presented at Word Camp Europe in Basel this year and joins us to talk about the journey from studying classical Japanese literature to fighting web spam at Google, and eventually shaping open source tools for the web.</p>\n\n\n\n<p>Mariya talks about her passion for the open web, and how years of direct feedback from site owners shaped the vision for Site Kit. Making complex analytics accessible and actionable for everyone, from solo bloggers to agencies and hosting providers.</p>\n\n\n\n<p>Site Kit has had impressive growth for a WordPress plugin, currently there are 5 million active installs and a monthly user base of 700,000.</p>\n\n\n\n<p>We learn how Site Kit bundles core Google products like Search Console, Analytics, Page Speed Insights, AdSense into a simpler, curated WordPress dashboard, giving actionable insights without the need to trawl through multiple complex interfaces.</p>\n\n\n\n<p>Mariya explains how the plugin is intentionally beginner friendly with features like role-based dashboard sharing, integration with WordPress&#8217; author and category systems, and some newer additions like Reader Revenue Manager to help site owners become more sustainable.</p>\n\n\n\n<p>She shares Google&#8217;s motivations for investing so much in WordPress and the open web, and how her team is committed to active support, trying to respond rapidly on forums and listening closely to feedback.</p>\n\n\n\n<p>We discussed Site Kit&#8217;s roadmap, from benchmarking and reporting features, to smarter, more personalized recommendations in the future.</p>\n\n\n\n<p>If you&#8217;ve ever felt overwhelmed by analytics dashboards, or are looking for ways to make data more practical and valuable inside WordPress, this episode is for you.</p>\n\n\n\n<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>\n\n\n\n<p>And so without further delay, I bring you Mariya Moeva.</p>\n\n\n\n<p>I&#8217;m joined on the podcast by Mariya Moeva. Hello, Mariya. Nice to meet you.</p>\n\n\n\n<p>[00:03:35] <strong>Mariya Moeva:</strong> Nice to be here.</p>\n\n\n\n<p>[00:03:36] <strong>Nathan Wrigley:</strong> Mariya is doing a presentation at WordCamp Europe. That&#8217;s where we are at the moment, and we&#8217;re going to be talking about the bits and the pieces that she does around Site Kit, the work that she does for Google. Given that you are a Googler, and that we&#8217;re going to be talking about a product that you have, will you just give us your bio? I&#8217;ve got it written here, you obviously put one on the WordCamp Europe website. But just roughly what is your place in WordPress and Google and Site Kit and all of that?</p>\n\n\n\n<p>[00:04:05] <strong>Mariya Moeva:</strong> Yeah. I mean, I&#8217;ve had a very meandering path. When you would look back to what I studied, which was, you know, classical Japanese literature, all these poems about the moon and the cherry blossoms, who would&#8217;ve thought at that time that I would end up building open source plugins? But I did have a meandering path and I ended up here because, mostly because of passion for the open web, and for all kinds of weird websites that exist out there. I really love stumbling upon something great.</p>\n\n\n\n<p>I started Google on the web spam team, actually looking into the Japanese spam market, because of this classical Japanese literature degree and the Japanese skills. And then after a couple years or so, I basically despaired of humanity because all you look at is spam every day. Bad sites, hacked sites, malicious pages. And I just wanted to do something that makes the web better rather than removing all the bad stuff.</p>\n\n\n\n<p>And so I switched over to an advocacy role, and in that role I essentially was traveling, maybe attending 20, 30 conferences every year, talking to a lot of people about their needs, what they have to complain about Google, what requests they have. And I would collect all of this feedback, and then I would go back to the product teams and I would say, hey, this and this is something that people really want. And they would say, thank you for your feedback.</p>\n\n\n\n<p>Essentially at one point I said, okay, we&#8217;re going to build this thing, and that&#8217;s why I switched into product role. And I was able to take all the feedback over the years, that we&#8217;ve gotten from developers and site owners, and to try to build something that makes sense for them. So that&#8217;s how I ended up in the product role for building Site Kit.</p>\n\n\n\n<p>And the idea from the very beginning was to make it beginner friendly and to make it from their perspective to match that feedback, rather than doing something that is like, here&#8217;s your stuff from analytics, here&#8217;s your stuff from Search Console, figure it out. That&#8217;s how we ended up building this and it&#8217;s been now five years. And it actually just a month ago entered the top 10 plugins. So clearly people find some value in it.</p>\n\n\n\n<p>We have 700,000 people that use it every month. And overall it&#8217;s currently at 5 million active installs, meaning that these sites are kind of pinging WordPress so they&#8217;re alive and kicking. It&#8217;s been very encouraging to see that what we&#8217;re doing is helpful to people and we will keep going. There&#8217;s a lot to do.</p>\n\n\n\n<p>[00:06:29] <strong>Nathan Wrigley:</strong> I think it&#8217;s kind of amazing because in the WordPress space, there are some of the, let&#8217;s call them the heavy hitters. You know, the big plugins that we&#8217;ve all heard of, the Yoasts of this world that kind of thing. Jetpack, all those kind of things. This, honestly has gone under the radar a bit for me, and yet those numbers are truly huge. Four and a half to 5 million people over a span of five years is really rather incredible.</p>\n\n\n\n<p>[00:06:54] <strong>Mariya Moeva:</strong> It grew very fast, yeah.</p>\n\n\n\n<p>[00:06:55] <strong>Nathan Wrigley:</strong> Yeah. And yet it&#8217;s not one that, well, I guess most people are reaching out to plugins to solve a problem, often a business problem. So, you know, there&#8217;s this idea of, I install this and there&#8217;s an ROI on that. This is not really that, not really ROI, it&#8217;s more site improvement. Okay, here&#8217;s a site that needs things fixing on it. Here&#8217;s some data about what can be fixed. And so maybe for that reason and that reason alone, it&#8217;s flown under the radar for me because it doesn&#8217;t have that commercial component to it.</p>\n\n\n\n<p>[00:07:24] <strong>Mariya Moeva:</strong> Yeah, for sure. It&#8217;s for free and it&#8217;s not something that, yeah, sells features or has like a premium model and we don&#8217;t market it so much. But I run a little survey in the product where people tell us where they heard from it, and a lot of the responses are either YouTube video, or like blog posts or word of mouth. So it seems to be spreading more that way.</p>\n\n\n\n<p>[00:07:46] <strong>Nathan Wrigley:</strong> Yeah, no kidding. I&#8217;ll just say the URL out loud in case you&#8217;re at a computer when you&#8217;re listening to this. It&#8217;s SiteKit, as one word, dot withgoogle.com. I don&#8217;t know if that&#8217;s the canonical URL, but that&#8217;s where I ended up when I did a quick search for it. So sitekit.withgoogle.com. And over there you&#8217;ll be able to download well, as it labels itself, Google&#8217;s official WordPress plugin.</p>\n\n\n\n<p>The first thing that surprises me is, a, Google&#8217;s interest in WordPress. That is fascinating to me. I mean, obviously we all know, Google is this giant, this leviathan. Maybe you&#8217;ve got interest in other CMSs, maybe not. I don&#8217;t really know. But I think that&#8217;s curious. But obviously 43% of the web, kind of makes sense to partner with WordPress, doesn&#8217;t it? To improve websites.</p>\n\n\n\n<p>[00:08:31] <strong>Mariya Moeva:</strong> Yeah. I work with plenty of CMSs. I work with Wix, with Squarespace, and we essentially what I try to do and what my team tries to do, we are called the Ecosystem Team. So we want to bring the things that we think would be useful to site owners and businesses directly to where they are.</p>\n\n\n\n<p>So if you are in your Wix dashboard, you should be able to see the things from Google that are useful. And same if you are in WordPress. And obviously WordPress is, orders of magnitude, a bigger footprint than any of the others. And also it has this special structure where everything is decentralised and people kind of mix and match. So that&#8217;s why we went with the plugin model. And using the public APIs, we want to show what&#8217;s possible.</p>\n\n\n\n<p>Because all the data that we use is public data. There&#8217;s no special Google feature that only the Google product gets, right? We are just combining it in interesting ways because I&#8217;ve spent so much time talking to people, like what they need. And so we just curate and combine in ways that are actually helping people to make decisions and to kind of clear the clutter.</p>\n\n\n\n<p>Because when you go to analytics, it&#8217;s like 50 reports and so many menus and it&#8217;s like, where do I start? So we try to give a starting point in Site Kit. And we also try to help with other things like make people sustainable. One thing that we recently launched just a month ago is called Reader Revenue Manager. So you can put a little prompt on your site, which asks people to give you like $2 or whatever currency you are in, or even put like a subscription.</p>\n\n\n\n<p>And so the idea is you don&#8217;t have to have massive traffic in order to generate revenue from your content. If you have your hundred thousand loyal readers, they can help you be more sustainable. So we&#8217;re looking at these kind of features, like what can we launch that is more for small and medium sites and would be helpful? And how can we make it as simple as possible? So that people don&#8217;t kind of drop off during the setup because it&#8217;s too complicated.</p>\n\n\n\n<p>[00:10:33] <strong>Nathan Wrigley:</strong> Would it be fair to summarise the plugin&#8217;s initial purpose as kind of binding a bunch of Google products, which otherwise you would have to go and navigate to elsewhere? So for example, I&#8217;m looking at the website now, Search Console, Analytics, Page Speed Insights, AdSense, Google Ads, and all of those kind of things. Typically we&#8217;d have to go and, you know, set up an account. I guess we&#8217;d have to do that with Site Kit anyway. But we&#8217;d have to go to the different URLs and do all of that.</p>\n\n\n\n<p>The intention of this then is to bind that inside of the WordPress UI, so it&#8217;s not just the person who&#8217;s the admin of that account. You can open it up so that people who have the right permissions inside of WordPress, they can see, for example, Google Analytics data. And it gets presented on the backend of WordPress rather than having to go to these other URLs. Is that how it all began as a way of sort of surfacing Google product data inside the UI of WordPress?</p>\n\n\n\n<p>[00:11:21] <strong>Mariya Moeva:</strong> Yeah, we wanted to bring the most important things directly to where people are, so they don&#8217;t have to bother going to 15 places. And we wanted to drastically decrease and curate the information so that it&#8217;s easy to understand, because when you have 15 dashboards in Analytics and 15 dashboards in Search Console, and then you have to figure out what to download and in which spreadsheet to merge and how to compare, then this is. Maybe if you have an agency taken care of, they can help you. But if you don&#8217;t, which 70% of our users say that they&#8217;re one person operation, so they&#8217;re taking care of their business, and on top of that, the website. We wanted to make it simpler to understand how you&#8217;re doing, and what you should do next with Google data.</p>\n\n\n\n<p>[00:12:02] <strong>Nathan Wrigley:</strong> So it&#8217;s a curated interface. So it&#8217;s not, I mean, maybe you can pull in every single thing if you so wish. But the idea is you give a, I don&#8217;t know, an easier to understand interface to, for example, Google Analytics.</p>\n\n\n\n<p>That was always the thing for me in Google Analytics. I&#8217;m sure that if you have the time and the expertise, like you&#8217;re an agency that deals with all of that, then all of that data is probably useful and credible. But for me, I just want to know some top level items. I don&#8217;t need to dig into the weeds of everything.</p>\n\n\n\n<p>And there was menus within menus, within menus, and I would get lost very quickly, and dispirited and essentially give up. So I guess this is an endeavor to get you what you need quickly inside the WordPress admin, so you don&#8217;t have to be an expert.</p>\n\n\n\n<p>[00:12:43] <strong>Mariya Moeva:</strong> Yeah. And then it gets more powerful when you are able to combine data from different products. So, for example, we have a feature called Search Funnel in the dashboard, which lets you, it combines data from Search Console on search impressions and search clicks, and then it combines data from Analytics on visitors on the site and conversions. So it kind of helps you map out the entire path, versus having to go over here, having to go over there, having to combine everything yourself. So when you combine things, then it gets also more powerful.</p>\n\n\n\n<p>We have another feature which lets you combine data from AdSense and Analytics. So if you have AdSense on your site, you can then see which pages earn you the most revenue. So when you have that, suddenly you can see, okay, so I have now these pages here, what queries are they ranking for? How much time people spend on them? Can I expand my content in that direction? It helps you to be more focused in kind of the strategy that you have for your site.</p>\n\n\n\n<p>[00:13:45] <strong>Nathan Wrigley:</strong> Is it just making, I mean, I say just, is it making API calls backwards and forwards to Google&#8217;s Analytics, Search Console, whatever, and then displaying that information, or is it kind of keeping it inside the WordPress database?</p>\n\n\n\n<p>[00:13:58] <strong>Mariya Moeva:</strong> We don&#8217;t store anything, well, almost anything. Yeah, we wanted to keep the data as secure as possible, so we created this proxy service, which kind of helps to exchange the credentials. So the person can authenticate with their Google account, and then from there, the data is pulled via API, and we cache the dashboard for one hour. After that we refreshed authentication token. From the data itself, nothing is stored.</p>\n\n\n\n<p>[00:14:23] <strong>Nathan Wrigley:</strong> So it&#8217;s just authentication information really that&#8217;s stored. Well, that&#8217;s kind of a given, I suppose. Otherwise you&#8217;ll be logging in every two minutes.</p>\n\n\n\n<p>[00:14:29] <strong>Mariya Moeva:</strong> Right. So that&#8217;s the model that we have because we really wanted people to be able to access this data, but also to keep it secure. And because of how the WordPress database is, we didn&#8217;t feel like we could save it there.</p>\n\n\n\n<p>[00:14:41] <strong>Nathan Wrigley:</strong> It sounds from what you&#8217;ve just said, it&#8217;s as if it&#8217;s combining things from a variety of different services, kind of linking them up in a structured way so that somebody who&#8217;s not particularly experienced can make connections between, I don&#8217;t know, ads and analytics. The spend on the ads and the analytics, you know, the ROI if you like.</p>\n\n\n\n<p>Does it do things uniquely? Is there something you can get inside of Site Kit which you could not get out of the individual products if you went there? Or is it just more of a, well, we&#8217;ve done the hard work for you, we&#8217;ve mapped these things together so you don&#8217;t have to think about it?</p>\n\n\n\n<p>[00:15:10] <strong>Mariya Moeva:</strong> The one thing that it does that I&#8217;m super excited about, and we&#8217;ll build on that, but we have the fundamental of it now, is it actually creates data for you. Because in contrast to Search Console or Analytics or all these other, which are kind of Google hosted, they can only tell you like a long help center article, go there on your site, then click this, then paste this code, right? They cannot help you with this, whereas Site Kit is on the website.</p>\n\n\n\n<p>So if you agree, which we don&#8217;t install anything without people&#8217;s consent, like they have to activate the feature, but if you agree, then we can do things on your behalf. So for example, we can track every time someone clicks the signup button and we can generate an analytics event for you, even if that plugin normally doesn&#8217;t send analytics events. And that way, suddenly you have your conversion data available.</p>\n\n\n\n<p>So very often people look to the top of the funnel, like how many people came to my site? But they don&#8217;t look to what these people did beyond kind of, oh, they stayed two minutes. So what does this mean? You want to see, did they buy the thing? Did they sign up for the thing, or subscribe or whatever it is? And we help create this data because we have this unique access to the source code of the site.</p>\n\n\n\n<p>So we create, for example, on leads generation or purchases. We also, every time that a specific page is viewed, we will generate an event about the author of the page. So then we can aggregate the data, which authors bring in the most page views. Let&#8217;s say you have like a site with five, six, whatever authors. Or which categories are bringing in the most engagement and these kind of things.</p>\n\n\n\n<p>[00:16:52] <strong>Nathan Wrigley:</strong> So it really does get very WordPressy. It&#8217;s not just to do with the Google side of things. It is mapping information from Google, so categories, author profiles, that kind of thing, and mapping them into the analytics that you get. Okay, that&#8217;s interesting. So it&#8217;s a two-way process, not just a one-way process.</p>\n\n\n\n<p>[00:17:09] <strong>Mariya Moeva:</strong> Yeah. It&#8217;s very much integrated with WordPress. We have also a lot of other features, like for example, that kind of stretch into other parts of the website. So this Reader Revenue Manager that I mentioned before with the prompts that you can put on your pages. You can go to the individual post and for every post there&#8217;s like a little piece of control UI that we&#8217;ve added there in the compose screen, where you can say, this is excluded from this prompt, or, you know, you can control from there.</p>\n\n\n\n<p>So we try to integrate where it makes sense, like where the person would want to take this action. And again, because it&#8217;s on the website, we can kind of spread out beyond just this one dashboard.</p>\n\n\n\n<p>[00:17:48] <strong>Nathan Wrigley:</strong> And would I, as a site admin, would I be able to assign permissions to different user roles within WordPress? So for example, an editor, or a certain user profile, may be able to see a subset of data. You know, for example, I don&#8217;t know, you are involved in the spending on AdSense. But you, other user over there, you&#8217;ve got nothing to do with that. But you are into the analytics, so you can see that, and you over there you can see that. Is that possible?</p>\n\n\n\n<p>[00:18:12] <strong>Mariya Moeva:</strong> We have something called dashboard sharing. So it has the same, like if you use Google Docs or anything like that, it has this little person with a plus in the corner, icon. And then from there, if you are the admin who set up this particular Google Service, who connected it to Site Kit, then you&#8217;re able to say who should be able to see it. So you essentially grant view only access to, let&#8217;s say all the editors, or all the contributors or whatever. And then you can choose which Google service&#8217;s data they can see.</p>\n\n\n\n<p>[00:18:44] <strong>Nathan Wrigley:</strong> So yes is the answer to that, yeah.</p>\n\n\n\n<p>[00:18:46] <strong>Mariya Moeva:</strong> Yeah, yeah. So they don&#8217;t have to set it up, I mean, they have to go through a very simplified setup, and then they basically get a kind of a screenshot. I mean it&#8217;s, you can still click on things, but you can&#8217;t change anything, so it&#8217;s kind of a view-only dashboard.</p>\n\n\n\n<p>[00:18:59] <strong>Nathan Wrigley:</strong> I&#8217;m kind of curious about the market that you pitch this to. So sell is the wrong word because it&#8217;s a free plugin, but who you&#8217;re pitching it at. So obviously if you&#8217;ve got that end user, the site owner. Maybe they&#8217;ve got a site and they&#8217;ve got a small business with a team. Maybe it&#8217;s just them, so there&#8217;s the whole permissions thing there.</p>\n\n\n\n<p>But also I know that Google, there are whole agencies out there who just specialise in Google products, and analysing the data that comes out of Analytics. Can you do that as well as an agency? Could I set this up for my clients and have some, you know, I&#8217;ve got my agency dashboard and I want to give this client access to this website, and this website and this website, but not these other ones? Can it be deployed on a sort of agency basis like that?</p>\n\n\n\n<p>[00:19:38] <strong>Mariya Moeva:</strong> You would still have to activate it for every individual site. So in that sense, there&#8217;s a bunch of steps that you have to go through. But once it&#8217;s activated, you can then share with any kind of client. And actually we have a lot of agencies that can install it for every site that they have.</p>\n\n\n\n<p>Just today someone came and after he saw the demo, he was like, okay, I&#8217;m going to install it for all my clients. Because what we&#8217;ve heard is that it&#8217;s exactly the level of information that a client would benefit from. And this means then that they pester the agency less. So we&#8217;ve literally heard people saying, you&#8217;re saving me a lot of phone calls. So that&#8217;s why agencies really like it.</p>\n\n\n\n<p>And the next big feature request, which we&#8217;re working on right now, is to generate like an email report out of that. So for those who don&#8217;t even want to log into WordPress to see, there will be a possibility to get this in their inbox.</p>\n\n\n\n<p>[00:20:30] <strong>Nathan Wrigley:</strong> So you could get it like a weekly summary, whatever it that wish to trigger. And, okay, so that could go anywhere really. And then your clients don&#8217;t even need to phone you about that.</p>\n\n\n\n<p>[00:20:41] <strong>Mariya Moeva:</strong> Yeah. So we are trying to really actively reach people where they are, even if that&#8217;s their email inbox.</p>\n\n\n\n<p>[00:20:49] <strong>Nathan Wrigley:</strong> And the other question I have is around your relationship with some of the bigger players, maybe hosting companies. Do you have this pre-installed on hosting cPanels and their, you know, whatever it is that they&#8217;ve got in their back end?</p>\n\n\n\n<p>[00:21:02] <strong>Mariya Moeva:</strong> Yeah, we have quite a few hosting providers that pre-install it for their WordPress customers. The reason for this is that they see better lifetime value for those customers that have a good idea of how their site is doing. And yeah, Hostinger is one of those. cPanel. Elementor pre-installs it for all of their users. And they see very good feedback because again, it&#8217;s super simple to set up and super easy to understand once you have it. So for them it&#8217;s kind of like an extra feature that they can offer, extra value to their users for free.</p>\n\n\n\n<p>[00:21:32] <strong>Nathan Wrigley:</strong> We know Google&#8217;s a fabulous company, but you don&#8217;t do things for nothing. So what&#8217;s the return? How does it work in reverse? So we know that presumably there must be an exchange of data. What are we signing up for if we install Site Kit?</p>\n\n\n\n<p>[00:21:47] <strong>Mariya Moeva:</strong> So, at least, I mean, Google is a huge company, right? There&#8217;s hundreds of thousands of people working. So I can&#8217;t speak for the whole of Google, but I can speak for the Ecosystem Team, which I&#8217;m part of, like the web ecosystem.</p>\n\n\n\n<p>The main investment here, or the main goal for us is that the open web continues to thrive, because if people don&#8217;t put content, interesting, relevant content on the open web, the search results are going to be very poor and that&#8217;s not a good product.</p>\n\n\n\n<p>So our idea is to support all the people who create content to make sure that they&#8217;re found, like if you&#8217;re a local business, that people can find you when they need stuff from that particular local business. And what we see is that, especially for smaller and medium sites, they really struggle, first with going online, and then with figuring out what they&#8217;re supposed to do. And so a lot of them give up because in comparison to other platforms, it&#8217;s a little bit of an upfront investment, right? Like you have to pay for hosting, you have to set up the site, you have to add content.</p>\n\n\n\n<p>So we try to help people as much as we can to see the value that the open web brings to them, so that they can continue to create for the open web. So that&#8217;s our hidden motivation. I think in that sense, we&#8217;re very much aligned with the WordPress community because here everybody cares about the open web and for all kind of small, weird websites to continue flourishing and get their like 100 or 300 or 1,000 readers that they deserve.</p>\n\n\n\n<p>So that&#8217;s the motivation. I think because it includes other things like AdSense and AdWords, like people can set up a ads campaign directly from Site Kit in a very simplified flow, and the same thing for AdSense. Obviously some money exchanges hands, but this is relatively minor compared to the benefit that we think there is for the web in general.</p>\n\n\n\n<p>[00:23:35] <strong>Nathan Wrigley:</strong> Google really does seem to have a very large presence at WordPress events. I mean, I don&#8217;t know about the smaller ones, you know, the regional sort of city based events, but at the, what they call flagship events, so WordCamp Asia and WordCamp Europe and US, there&#8217;s the whole sponsor area. And it&#8217;s usual to see one of the larger booths being occupied by Google. And I wonder, is it Site Kit that you are talking about when you are here or is it other things as well?</p>\n\n\n\n<p>But also it&#8217;s curious to me that Google would be here in that presence, because those things are not cheap to maintain. So there must be somebody up in Google somewhere saying, okay, this is something we want to invest in. So is it Site Kit that you are basically at the booth talking about?</p>\n\n\n\n<p>[00:24:19] <strong>Mariya Moeva:</strong> So me, yes, or people on my team. We have like a Site Kit section this year. There&#8217;s also Google Trends. There&#8217;s also some other people talking about user experience and on search. And this changes depending on which teams within Google want to reach out to the WordPress community.</p>\n\n\n\n<p>But with Site Kit, we&#8217;ve been pretty consistent for the last six years. We are always part of the booth. But the kind of whole team, like the whole Google booth content has kind of changed over the years as well depending on who&#8217;s coming.</p>\n\n\n\n<p>[00:24:51] <strong>Nathan Wrigley:</strong> I know that a lot of work being done is surrounding performance and things like that, and a lot of the Google staff that are in the WordPress space seem to be focused on that kind of thing, talking about the new APIs that are shipping in the browsers and all of those kind of things.</p>\n\n\n\n<p>Okay, so on the face of it, a fairly straightforward product to use. But I&#8217;m guessing the devil is in the detail. How do you go about supporting this? So for example, if I was to install it and to run into some problems, do you have like a, I don&#8217;t know, a documentation area or do you have support, or chat or anything like that? Because I know that with the best will in the world, people are going to run into problems. How do people manage that kind of thing?</p>\n\n\n\n<p>[00:25:27] <strong>Mariya Moeva:</strong> Yeah, this was something that I was super, I felt really strongly about based on my previous experience in the developer advocate world. Because very often I got feedback that it&#8217;s super hard to reach Google. And it&#8217;s also understandable given the scale of some of the products.</p>\n\n\n\n<p>But when I started this project I insisted that we allocate resources for support. So we have two people full-time support. One of them is upstairs, the support lead. He knows the product inside and out. They&#8217;re always on the forum, the plugin forum, support forum. And they answer usually within 24 hours. So everybody who has a question gets their question answered.</p>\n\n\n\n<p>We&#8217;ve also created the very detailed additions. When you have Site Kit, you also get a few additions to the Site Health forum, so you can share that information with them and they see like detailed stuff about the website so they can help debug. And in many, many cases, I&#8217;ve seen people coming pretty angry, leave a one star review, then James or Adam who are support people, engage with them, and then it turns into a five star review because they feel like, okay, someone listened to me and helped me figure out what is going on.</p>\n\n\n\n<p>We have real people answering questions relatively quickly. And they don&#8217;t just go, of course they focus on the WordPress support forum, but they also check Reddit and other places where people like mentioned Site Kit, and they try to help and to direct them to the right place. So for Site Kit, we have very robust support.</p>\n\n\n\n<p>Now, when it&#8217;s an issue with a product, a Google product that is connected to Site Kit, so it&#8217;s not a Site Kit problem, let&#8217;s say you got some kind of strange message from AdSense about your account status changing. Then we would have to hand over to the AdSense account manager or support team that they have, because we don&#8217;t know everything, like how AdSense makes decisions and stuff like that. But for anything Site Kit related, we are very fast to answer.</p>\n\n\n\n<p>[00:27:22] <strong>Nathan Wrigley:</strong> That&#8217;s good to hear because I think you&#8217;re right. I think the perception with any giant company is that it kind of becomes a bit impersonal, and Google would be no exception. And having just a forum which never seems to get an answer, you drop something in, six months later, you go back and nobody&#8217;s done anything in there except close the thread, kind of slightly annoying. But something like this. So 24 hours, roughly speaking, is the turnaround time.</p>\n\n\n\n<p>[00:27:45] <strong>Mariya Moeva:</strong> Yeah. I mean, not on the weekend, but yeah.</p>\n\n\n\n<p>[00:27:46] <strong>Nathan Wrigley:</strong> Yeah. Still, that&#8217;s pretty amazing.</p>\n\n\n\n<p>[00:27:47] <strong>Mariya Moeva:</strong> Yeah, yeah. We are very serious about this because, I mean, also the WordPress community is really strong, right? So you want to show that we care. We want to hear from people. A lot of bugs then also turn into feature requests and get prioritised to be developed. So, yeah, we really value when people come to complain. It&#8217;s a good thing.</p>\n\n\n\n<p>[00:28:03] <strong>Nathan Wrigley:</strong> Excellent. Okay, well, we won&#8217;t open that as a goal, please send in your complaints. But nevertheless, it&#8217;s nice that you take it seriously.</p>\n\n\n\n<p>So it sounds like it&#8217;s under active development. You sound like this is basically what you&#8217;re doing over at Google. Do you have a roadmap? Do you have a sort of laundry list of things that you want to achieve over the next six months? Interesting things that we might want to hear about.</p>\n\n\n\n<p>[00:28:21] <strong>Mariya Moeva:</strong> Sure, yeah. I mean, my ultimate vision, which is not the next six months, I would love to move away as much as possible from just stats. As curated and as kind of structured as it is right now, and get more into like recommendations, and like to-do list. Because what I hear from people again and again, it&#8217;s like, I have two hours this month, tell me what should I do with those two hours?</p>\n\n\n\n<p>So they&#8217;re asking a lot from us. They&#8217;re asking essentially to look, analyse everything and to prioritise their tasks, to tell them which one is the most important or most impactful. And this is like several levels of analysis further than where we are now.</p>\n\n\n\n<p>So one thing that we are looking to work on is benchmarking, because you cannot know are you growing or not, unless you know how you&#8217;re doing on average. And today, people who are a little bit more savvy can do this of course, but a lot of people don&#8217;t. And so for us to be able to tell you, not just you got 20 clicks this week, but also this is okay for you, or this is better than last year, this time, or this is better than your competitors. I think that&#8217;s a really valuable way to interpret the data and to help people understand what it means.</p>\n\n\n\n<p>[00:29:38] <strong>Nathan Wrigley:</strong> Yeah. And really, Google is one of the only entities that can provide that kind of data.</p>\n\n\n\n<p>[00:29:44] <strong>Mariya Moeva:</strong> Especially for search.</p>\n\n\n\n<p>[00:29:45] <strong>Nathan Wrigley:</strong> Yeah, especially against competitors. That&#8217;s really interesting because analysing the data, whilst it&#8217;s fun for some people, I feel it&#8217;s not that interesting for most people. And so just having spreadsheets of data, charts of data, it&#8217;s interesting and you no doubt gain some important knowledge from it. But being told, here&#8217;s the outcomes of that data, try doing this thing and try doing that thing, that is much more profound than just demonstrating the data.</p>\n\n\n\n<p>And I&#8217;m guessing, I could be wrong about this, and I&#8217;ve more or less said this in every interview over the last year, I&#8217;m guessing there&#8217;s an AI component to all of that. Getting AI to sort of analyse the data and give useful feedback.</p>\n\n\n\n<p>[00:30:22] <strong>Mariya Moeva:</strong> I mean, we are investigating how to do all of these things. I think in the case of WordPress, it&#8217;s a little bit trickier again, because of the distributed nature, and the fact that all the site information lives on the site and then all the Google information. So we&#8217;re not like fully hosted where you can access everything and control everything, something like a Squarespace or a Wix.</p>\n\n\n\n<p>But there&#8217;s definitely, like AI is a perfect use case for this, right? Like benchmarking, you can bucket sites into relevant groups and then see, are they performing better or worse? That&#8217;s like classic machine learning case. And we will see exactly, technically, how we&#8217;re going to reach this, but that&#8217;s one of the things that we&#8217;re working on right now.</p>\n\n\n\n<p>Another thing is to expand much more the conversion reporting and to help people understand, are they achieving their goals? Because this is something that surprisingly to me, so many people pay money and invest time in the site, and they cannot articulate what the site is doing. Is it working? Is it doing its job? And they&#8217;re like, well, like I got some people visiting. And I&#8217;m like, did they buy the thing? So you have to know what to</p>\n\n\n\n<p>track, and then also to take action after you see the metrics, like to move them in one direction or another. And so helping people like map out this full funnel is one thing that we&#8217;re working on. And the other thing is also this email report.</p>\n\n\n\n<p>[00:31:40] <strong>Nathan Wrigley:</strong> Yeah, that&#8217;s amazing. So really under active development. And you sound very impassioned about it. You sound like this has become your mission, you know?</p>\n\n\n\n<p>[00:31:47] <strong>Mariya Moeva:</strong> I think, nobody ever complained that something is easy, right? When you make things simple and easy for people, they appreciate, even if they&#8217;re more knowledgeable than if they can do more advanced things themselves.</p>\n\n\n\n<p>And I personally really care, like every time that I find a random website with really strange content, but just, someone put their soul into it. I recently found something in Zurich of like tours of Zurich, walking tours, by someone who really cares about history and architecture.</p>\n\n\n\n<p>And it&#8217;s a terrible website design wise, but the content is amazing. And I was like, okay, this person could use some help, but he&#8217;s doing, or she&#8217;s doing like a great job at the content part, and then should get the traffic that they deserve for this. So that&#8217;s what motivates me also to come here.</p>\n\n\n\n<p>One person, two or three WordCamps ago came over and was saying, everything about Google is hard except Site Kit. And I was like, yeah, that&#8217;s what we are trying to do. We really want to simplify things for you. So, yeah, being here is also super motivating. To talk to people and to hear feedback and feature requests. And again, we like when people come to complain.</p>\n\n\n\n<p>[00:32:54] <strong>Nathan Wrigley:</strong> Well, I was just speaking to a few people prior to you entering the room and those few people all have Site Kit installed on their site. So you&#8217;re doing something right.</p>\n\n\n\n<p>[00:33:02] <strong>Mariya Moeva:</strong> I hope it&#8217;s helpful. I hope it answers some questions and saves people some time. That&#8217;s what we are trying to do. Yeah, we are in the part of Google that has the ecosystem focus, so we know that ecosystem changes take longer. I mean, still it&#8217;s a fast growing plugin. It got to 5 million in 5 years, but still that&#8217;s 5 years. And in the context of software companies which move very fast, 5 years is a long time.</p>\n\n\n\n<p>Yeah, we will keep going and hopefully more people can benefit from it. But we do have, yeah, still there are many people who come by and they&#8217;re like, whoa, what is this? Show me.</p>\n\n\n\n<p>[00:33:36] <strong>Nathan Wrigley:</strong> Well, that&#8217;s nice. There&#8217;s for growth as well.</p>\n\n\n\n<p>[00:33:38] <strong>Mariya Moeva:</strong> Yeah, yeah. For sure. I mean, for sure there&#8217;s always, and more people create new sites. So, again, going back to that hosting provider question of like, can we bring it to them at the moment of creation so that they know this is something I can use?</p>\n\n\n\n<p>[00:33:50] <strong>Nathan Wrigley:</strong> Yeah. So one more time, the URL is sitekit.withgoogle.com. I will place that into the show notes as well.</p>\n\n\n\n<p>Mariya, I think that&#8217;s everything that I have to ask. Thank you so much for chatting to me about Site Kit.</p>\n\n\n\n<p>[00:34:01] <strong>Mariya Moeva:</strong> Yeah, thank you for the invitation. It&#8217;s been a pleasure to talk about the ecosystem. And, yeah, if people have feature requests, they can always write us either on GitHub in the Site Kit repo, or on the support forum, or if they are coming to any WordCamp where we also are, we are also super happy to hear. So we always love to know what people struggle with, so that we can build it for them and make it easy.</p>\n\n\n\n<p>[00:34:23] <strong>Nathan Wrigley:</strong> Thank you very much indeed.</p>\n</div></details>\n\n\n\n<p>On the podcast today we have <a href=\"https://www.linkedin.com/in/mariyamoeva/\">Mariya Moeva</a>.</p>\n\n\n\n<p>Mariya has more than 15 years of experience in tech across search quality, developer advocacy, community building and outreach, and product management. Currently she’s the product lead for Site Kit, Google’s official WordPress plugin. She’s presented at WordCamp Europe in Basel this year, and joins us to talk about the journey from studying classical Japanese literature to fighting web spam at Google, and eventually shaping open source tools for the web.</p>\n\n\n\n<p>Mariya talks about her passion for the open web and how years of direct feedback from site owners shaped the vision for Site Kit, making complex analytics accessible and actionable for everyone, from solo bloggers to agencies and hosting providers.</p>\n\n\n\n<p>Site Kit has had impressive growth for a WordPress plugin, currently there are 5 million active installs and a monthly user base of 700,000.</p>\n\n\n\n<p>We learn how Site Kit bundles core Google products, like Search Console, Analytics, PageSpeed Insights, AdSense into a simpler, curated WordPress dashboard, giving actionable insights without the need to trawl through multiple complex interfaces.</p>\n\n\n\n<p>Mariya explains how the plugin is intentionally beginner-friendly, with features like role-based dashboard sharing, integration with WordPress’ author and category systems, and some newer additions like Reader Revenue Manager to help site owners become more sustainable.</p>\n\n\n\n<p>She shares Google’s motivations for investing so much in WordPress and the open web, and how her team is committed to active support, trying to respond rapidly on forums and listening closely to feedback.</p>\n\n\n\n<p>We discuss Site Kit’s roadmap, from benchmarking and reporting features to smarter, more personalised recommendations in the future.</p>\n\n\n\n<p>If you’ve ever felt overwhelmed by analytics dashboards, or are looking for ways to make data more practical and valuable inside WordPress, this episode is for you.</p>\n\n\n\n<h2 class=\"wp-block-heading\">Useful links</h2>\n\n\n\n<p><a href=\"https://sitekit.withgoogle.com/\">Site Kit</a></p>\n\n\n\n<p><a href=\"https://readerrevenue.withgoogle.com/\"> Reader Revenue Manager</a></p>\n\n\n\n<p><a href=\"https://trends.google.com/trends/\">Google Trends</a></p>\n\n\n\n<p><a href=\"https://sitekit.withgoogle.com/documentation/troubleshooting/site-kit-support/\">Site Kit support</a></p>\n\n\n\n<p><a href=\"https://github.com/google/site-kit-wp\">Site Kit on GitHub</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, 30 Jul 2025 14:00:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Nathan Wrigley\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:1;a:6:{s:4:\"data\";s:21:\"\n	\n	\n	\n	\n	\n	\n	\n	\n	\n	\n\";s: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:\"Open Channels FM: Navigating Rebranding Phase Two with Sunsetting Series and Channel Updates at Open Channels FM\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:33:\"https://openchannels.fm/?p=104313\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:119:\"https://openchannels.fm/navigating-rebranding-phase-two-with-sunsetting-series-and-channel-updates-at-open-channels-fm/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:180:\"BobWP\'s updating us on the podcast\'s rebranding journey called \"phase two.\" He explains how they\'re changing series, sunsetting some, and keeping the good stuff fresh and relevant.\";s: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, 30 Jul 2025 09:50: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:5:\"BobWP\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:2;a:6:{s:4:\"data\";s:21:\"\n	\n	\n	\n	\n	\n	\n	\n	\n	\n	\n\";s: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:54:\"WordCamp Central: Highlights from WordCamp Masaka 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:40:\"https://central.wordcamp.org/?p=11380324\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:79:\"https://central.wordcamp.org/news/2025/07/highlights-from-wordcamp-masaka-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:17052:\"<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<p>WordCamp Masaka 2025, held from July 18–19 at Equator University of Science and Technology, wrapped up with a strong sense of community, innovation, and shared purpose. The second edition of this dynamic gathering brought together 291 attendees under the theme “Connecting Communities, Inspiring Ideas.” While we were just shy of our 300-participant target, the energy and engagement made the event a resounding success.</p>\n\n\n\n<p>Participants from across Uganda and beyond—including speakers from South Africa, Kenya, and Ghana—engaged in two days of insightful talks, practical workshops, and meaningful conversations about the future of WordPress and open-source collaboration.</p>\n\n\n\n<p>A heartfelt thank you to our amazing sponsors for their incredible support. This event would not have been possible without your generosity.</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Admin Sponsors:</strong> <a href=\"https://masaka.wordcamp.org/2025/sponsor/jetpack/\" rel=\"noreferrer noopener\" target=\"_blank\">Jetpack</a>, <a href=\"https://masaka.wordcamp.org/2025/sponsor/bluehost/\" rel=\"noreferrer noopener\" target=\"_blank\">Bluehost</a>, <a href=\"https://masaka.wordcamp.org/2025/sponsor/woo/\" rel=\"noreferrer noopener\" target=\"_blank\">Woo</a>, <a href=\"https://masaka.wordcamp.org/2025/sponsor/hosting-com/\" rel=\"noreferrer noopener\" target=\"_blank\">Hosting.com</a>, <a href=\"https://masaka.wordcamp.org/2025/sponsor/kinsta/\" rel=\"noreferrer noopener\" target=\"_blank\">Kinsta</a>, <a href=\"https://masaka.wordcamp.org/2025/sponsor/elementor/\" rel=\"noreferrer noopener\" target=\"_blank\">Elementor</a></li>\n\n\n\n<li><strong>Micro Sponsors:</strong> <a href=\"https://masaka.wordcamp.org/2025/sponsor/forthfocus/\" rel=\"noreferrer noopener\" target=\"_blank\">Fothfocus</a>, <a href=\"https://masaka.wordcamp.org/2025/sponsor/die-seo-firma/\" rel=\"noreferrer noopener\" target=\"_blank\">SEOFirma</a>, <a href=\"https://masaka.wordcamp.org/2025/sponsor/sharebility-uganda-edutech/\" rel=\"noreferrer noopener\" target=\"_blank\">Sharebility Uganda</a>, <a href=\"https://masaka.wordcamp.org/2025/sponsor/kasiryelabs/\" rel=\"noreferrer noopener\" target=\"_blank\">KasiryeLabs</a>, <a href=\"https://masaka.wordcamp.org/2025/sponsor/ablestate/\" rel=\"noreferrer noopener\" target=\"_blank\">Ablestate</a></li>\n\n\n\n<li><strong>Media Partners:</strong> <a href=\"https://x.com/videoproducerug\" rel=\"noreferrer noopener\" target=\"_blank\">Wrapped</a>, <a href=\"https://metaversewp.com/\" rel=\"noreferrer noopener\" target=\"_blank\">MetaverseWP</a>, <a href=\"https://urban-magazine.biz/\" rel=\"noreferrer noopener\" target=\"_blank\">Urban Magazine</a>, <a href=\"https://wplift.com/\" rel=\"noreferrer noopener\" target=\"_blank\">WPLift</a></li>\n\n\n\n<li><strong>Venue Host:</strong> <a href=\"https://equsat.ac.ug/\" rel=\"noreferrer noopener\" target=\"_blank\">Equator University of Science and Technology</a></li>\n</ul>\n</div></div>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<h3 class=\"wp-block-heading\">A Look at the Event</h3>\n\n\n\n<p>Among the many impactful moments was the panel discussion titled “From Barriers to Belonging: Building Diverse &amp; Inclusive Tech Communities.” This session encouraged meaningful dialogue around representation and inclusion, prompting participants to reflect on how to build more welcoming and equitable environments in tech.</p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img alt=\"Panel discussion at WordCamp Masaka 2025 featuring moderator Cerinah N Kasirye and panelists Sumaiya Nalukwago, Samuel Osei, and Scovia Akello Emaru discussing building diverse and inclusive tech communities.\" src=\"https://lh3.googleusercontent.com/pw/AP1GczOaW1CJCYusTKqynyD-xxT1_gHs3KFRMvACZ0aciRh8dwD59QhG_idqtHd4RHp30weQJqW8nNHFV8oW-8fCddA2jtPAfsXAPaOTXqODfjV8sXUWBPsgZLT_nnvHCYu3pQ7C2D8gxKoCVr9Yn4bQjBh0=w1463-h975-s-no-gm?authuser=0\" /><figcaption class=\"wp-element-caption\">From left: Cerinah N Kasirye (Moderator), Sumaiya Nalukwago, Samuel Osei, and Scovia Akello Emaru — panelists of “From Barriers to Belonging: Building Diverse and Inclusive Tech Communities” at WordCamp Masaka 2025.</figcaption></figure>\n\n\n\n<p>The event also featured a vibrant Student Engagement Program, which provided high school, vocational, and university students with an opportunity to explore WordPress. Through hands-on workshops, practical presentations, and networking opportunities with industry professionals, students gained valuable exposure and insights. Notably, several high school representatives expressed strong interest in bringing hands-on WordPress workshops and training sessions to their schools. They also proposed mentorship programs to help students develop real-world projects—highlighting a growing enthusiasm for learning and community involvement.</p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><img alt=\"\" src=\"https://lh3.googleusercontent.com/pw/AP1GczMY8qnPrt-5qBKfvGKegcqVl35QzX0DzQywSSjJX84DKz_ajfgn9AS3WLHHdRZeyUfC7xON70Qjhx88zLA5NxuJXDj7fRlxPmqLdqXaPbzzg-tF64OVqh4vbS60Cma3T6YQRZH-IIzbhz4rNcR1IMQb4w=w1463-h975-s-no-gm?authuser=0\" /></figure>\n</div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><img alt=\"\" src=\"https://lh3.googleusercontent.com/pw/AP1GczPgKp4K3RE8FPhX10ehskPvbl-FXjbaFzFzEmove07e6kdyYVesJLKutHogfoZsUAKf5Rx3esfJC6KhIazbjtCfkJgwG8iJVNmTnHUs-9LXcpY4BpuiKraH-DXXXv67PZMFbQsbtMSnNACKVeEhWlBe-A=w1463-h975-s-no-gm?authuser=0\" /></figure>\n</div>\n</div>\n\n\n\n<p>The swag from Jetpack was warmly appreciated by attendees, adding a thoughtful and useful touch that made the event even more memorable.</p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><img alt=\"Thabotswana, a representative from Jetpack, seated at the Jetpack sponsor table during WordCamp Masaka 2025, with a laptop in front of him and branded Jetpack swag displayed beside him for attendees.\" src=\"https://lh3.googleusercontent.com/pw/AP1GczOEW8LiCRAPBh_NjNtXsTn3mrMVZJb-o7jupKFtmtUF156sOX2VL096j7PalGF07W2K7qAEY0QlaRn7gvcp3IDiGs_XwaA6rGHwqD6WbvJxQp2xNGFxOzpepQXGKcsF0DdEuE0T7KhxnncuHmbmtTWD=w1298-h975-s-no-gm?authuser=0\" /><figcaption class=\"wp-element-caption\">Thabo Tswana from Jetpack at WordCamp Masaka 2025 sponsor table.</figcaption></figure>\n</div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large is-style-default\"><img alt=\"Swag items from Jetpack displayed at WordCamp Masaka 2025\" src=\"https://pbs.twimg.com/media/GwT5JDcWsAAOBmr?format=jpg&amp;name=900x900\" /><figcaption class=\"wp-element-caption\">Jetpack swag items on display at WordCamp Masaka 2025 sponsor table.</figcaption></figure>\n</div>\n</div>\n\n\n\n<p>Key themes explored during the event included:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Community and Career Growth: Sessions offered guidance on personal and professional development within the WordPress ecosystem.</li>\n\n\n\n<li>Security Focus: Attendees gained essential knowledge to protect websites and mitigate threats.</li>\n\n\n\n<li>Design and Development: Practical insights covered modern workflows, full site editing, and block editor techniques.</li>\n\n\n\n<li>Diversity and Inclusion: Sessions highlighted how missing perspectives create an innovation gap that could threaten WordPress’s future, emphasizing the need to build diverse and inclusive communities and empower women in tech.</li>\n\n\n\n<li>Website Management: Strategies for backup, restoration, and site migration were shared.</li>\n\n\n\n<li>Marketing and Innovation: Topics included growth strategies like email marketing, AI and VR applications, and WordPress’s role in sustainable development.</li>\n</ul>\n\n\n\n<p>Throughout the event, networking breaks and a community photo session provided ample opportunities for attendees to connect, share ideas, and build lasting relationships.</p>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<figure class=\"wp-block-image size-large\"><img alt=\"\" src=\"https://lh3.googleusercontent.com/pw/AP1GczPlwIiI4E1IzNZ2fWkYZerd9-lCg4ANwFdEMO6cO0VTqqGCxqiqT-vTcZcUw2sPOxdbtWs26CpeCNoA59fH1-yY-kKwM4j4MhAmzyALBcWtTRuRuX2EadYdL86PpDRiOwD77aSBE121wk5Mlur1wCDbBQ=w1733-h975-s-no-gm?authuser=0\" /></figure>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><img alt=\"\" src=\"https://lh3.googleusercontent.com/pw/AP1GczN5i1Nay5UKSyyoVsNS_gyzSZ4okuOhwpBs9IeLmjHVXDjW39-aCxawgIvv5WYKvYrxypQOhBMlWHbxhgWxGaDsCVeke5nx1jFSVboNwP3LSbz73UHjMzqEoOyjVMvJbNDZvJld6jgm-UT8z645hQ2C=w1463-h975-s-no-gm?authuser=0\" /></figure>\n</div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><img alt=\"\" src=\"https://lh3.googleusercontent.com/pw/AP1GczMKrozq1eGAVPeDIvpcRL8ERV-mjcttH64bYDtJG0eWPQredf67pkp85j-uqEjH_8uZ5Gu3dM5FoaDswtEls2A8uJIV7Qu8GFVzoBGM6iJAGhVEICe_XOnyU2WEyX59R2UIgRAYe7YbJM4XwDTBxs9k=w1463-h975-s-no-gm?authuser=0\" /></figure>\n</div>\n</div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img alt=\"\" src=\"https://lh3.googleusercontent.com/pw/AP1GczMRB0TV91fj6XgeNFM7Zcg_5Xuzz3CVM6ziRoywITAQE0p1TsVM-ESguAphNNL2eMbb808KvggWywhcDumTTuAP8c9vRMZJSXgVGv3NTCecAmAXGat7XEMX2KV7dDZ-HWDv6ksKz5zxdEIeLii4ipdB=w1463-h975-s-no-gm?authuser=0\" /></figure>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><img alt=\"\" src=\"https://lh3.googleusercontent.com/pw/AP1GczNAjFX5DQxfvaSWGNFsE-oGDYTYzaSNJGNUp9Vsz2PulrcmUt7St95y6R6abQjJL10oY5bGuSDog9Al3OuHy6iIjo1JwjMkMVRy4qcxYnFCTlSGJJHJW-mqYRqNiztp6QT45BzIkF7WdC6RkyNGrxWH=w1463-h975-s-no-gm?authuser=0\" /></figure>\n</div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><img alt=\"\" src=\"https://lh3.googleusercontent.com/pw/AP1GczPqTl-uETljl5-2jh49daWSU0YLff065-OuLDfRYpWayqVOXG9sBQbRFxTAa0nMNmxQnmWwgC8XvKGQ4bp_LEyEYOeNuWRFXgAGft1cIJzipCcrLgaTM6HfUZ_WRWa81RqXn_Aomhld6oeYBeuj7b-zPA=w1463-h975-s-no-gm?authuser=0\" /></figure>\n</div>\n</div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><img alt=\"\" src=\"https://lh3.googleusercontent.com/pw/AP1GczMwMdCytIIOebKK-GXOoF9cEqbIhDvJEtqjS3VJ-CH8Ol4bQiOl4lof6N-UlAzxBjhFPqaA6ky2CfqwQARzezYaomkE9qPklpY7-fKfi8jTp2a9JHrOWSi1Mbwm024bazgJ5eAIn9gzJCJBNBIJdI3ezg=w1463-h975-s-no-gm?authuser=0\" /></figure>\n</div>\n</div>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button is-style-outline is-style-outline--1\"><a class=\"wp-block-button__link wp-element-button\" href=\"https://photos.app.goo.gl/4bD56irqtbJKUKsD7\" rel=\"noreferrer noopener\" target=\"_blank\"><img alt=\"📸\" class=\"wp-smiley\" src=\"https://s.w.org/images/core/emoji/16.0.1/72x72/1f4f8.png\" style=\"height: 1em;\" /> Browse Photo Gallery</a></div>\n</div>\n\n\n\n<div class=\"wp-block-spacer\" style=\"height: 20px;\"></div>\n</div></div>\n</div></div>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<h3 class=\"wp-block-heading\">Impact and Community Spirit</h3>\n\n\n\n<p>WordCamp Masaka 2025 was a testament to the thriving WordPress community in Uganda. It served as a powerful platform for knowledge exchange, skill enhancement, and fostering a strong sense of camaraderie. The diverse range of topics, from technical deep-dives to discussions on community building and future technologies, ensured there was something for everyone.</p>\n\n\n\n<p>The enthusiasm of the speakers, the active participation of attendees, and the invaluable support from sponsors created an unforgettable experience.</p>\n\n\n\n<p>During the event, <a href=\"https://profiles.wordpress.org/thehopemonger/\" rel=\"noreferrer noopener\" target=\"_blank\">Arthur Kasirye</a><strong> </strong>(Community Program Supporter),<strong> </strong><a href=\"https://profiles.wordpress.org/ssebuwufumoses/\" rel=\"noreferrer noopener\" target=\"_blank\">Ssebuwufu Moses</a> (WordCamp Masaka 2025 Lead Organizer),<strong> </strong>and<strong> </strong><a href=\"https://profiles.wordpress.org/thabotswana/\" rel=\"noreferrer noopener\" target=\"_blank\">Thabo Tswana</a> (Event Supporter) met with <strong>Professor Mouhamad Mpezamihigo</strong>, Vice Chancellor of Equator University of Science and Technology, to introduce the <a href=\"https://wordpress.org/news/2025/07/introducing-wordpress-credits-a-new-contribution-internship-program-for-university-students/\" rel=\"noreferrer noopener\" target=\"_blank\"><span style=\"text-decoration: underline;\">WordPress Credits Internship Program</span></a>—an initiative that integrates university students into the WordPress open source community through hands-on contribution projects. Professor Mpezamihigo expressed strong interest in the program and committed to formally submitting the university’s interest form, signaling a promising collaboration to advance student engagement and practical skills development.</p>\n\n\n\n<p>The success of this event reinforces the growing potential of WordPress as a tool for digital empowerment and economic development in the region. The connections made and the knowledge shared will undoubtedly contribute to the continued growth and innovation within the Ugandan tech landscape.</p>\n</div></div>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<h3 class=\"wp-block-heading\"><strong>Looking Ahead</strong></h3>\n\n\n\n<p>The community looks forward to building on the momentum generated by WordCamp Masaka 2025 by continuing to collaborate, learn, and contribute to the global WordPress project.</p>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<p>Follow Masaka WordPress Meetup on X and LinkedIn for updates, news, and upcoming events.</p>\n\n\n\n<ul class=\"wp-block-social-links has-visible-labels is-style-pill-shape is-content-justification-left is-layout-flex wp-container-core-social-links-is-layout-fdcfc74e 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://x.com/WordPressMasaka\" rel=\"noopener nofollow\" target=\"_blank\"><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\">X</span></a></li>\n\n<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/company/wordcampmasaka/\" rel=\"noopener nofollow\" target=\"_blank\"><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\">LinkedIn</span></a></li></ul>\n\n\n\n<p>For more information about WordCamp Masaka 2025, please visit <a href=\"https://masaka.wordcamp.org/2025/\" rel=\"noreferrer noopener\" target=\"_blank\">https://masaka.wordcamp.org/2025/</a>.</p>\n</div></div>\n</div></div>\n</div></div>\";s: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, 30 Jul 2025 05:50:19 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:15:\"Ssebuwufu Moses\";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:\"\n	\n	\n	\n	\n	\n	\n	\n	\n	\n	\n\";s: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:83:\"HeroPress: A Decade with WordPress: My Journey of Growth, Contribution, and Courage\";s: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:56:\"https://heropress.com/?post_type=heropress-essays&p=8082\";s: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:212:\"https://heropress.com/essays/a-decade-with-wordpress-my-journey-of-growth-contribution-and-courage/#utm_source=rss&utm_medium=rss&utm_campaign=a-decade-with-wordpress-my-journey-of-growth-contribution-and-courage\";s: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:15545:\"<img alt=\"Pull Quote: When I look back, the journey feels full — full of lessons, full of change, and full of heart.\" class=\"attachment-large size-large wp-post-image\" height=\"512\" src=\"https://heropress.com/wp-content/uploads/2025/07/072925-min.jpg\" width=\"1024\" /><figure class=\"wp-block-image alignright is-resized\"><img alt=\"\" src=\"https://lh7-rt.googleusercontent.com/docsz/AD_4nXcRyDxyvsWpBpWWa2G9siWnD6J54uFuHtkTcHklkXSvTW8nCoC2sGRwz45NlqLHrF3V6djYlvDcmh0tdf849n6cMqg4d_9yceVVEvaWWPKR3Bgrm-qSKTGfBxjyo67aRW5gyEtC?key=5NJTv3YzQ_HvxKfiq8hX5A\" style=\"width: 245px; height: auto;\" /></figure>\n\n\n\n<p>I never imagined I’d be writing this.</p>\n\n\n\n<p>Ten years. A full decade of working in tech, without pause. Of growing, stumbling, learning, and showing up — with WordPress at the center of it all.</p>\n\n\n\n<p>When I look back, the journey feels full — full of lessons, full of change, and full of heart.</p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" />\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-from-india-s-city-of-lakes-to-the-heart-of-open-source\"><strong>From India’s City of Lakes to the Heart of Open Source</strong></h2>\n\n\n\n<p>This year marks a major milestone in my life — 10 years of professional experience in the WordPress ecosystem. As I reflect on this journey, it’s not just a work anniversary. It’s a story woven with personal growth, learning, community, and quiet resilience — a journey that began in a small city in <a href=\"https://en.wikipedia.org/wiki/Udaipur\">Udaipur, Rajasthan, India</a>, and now reaches across the globe.</p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img alt=\"\" src=\"https://lh7-rt.googleusercontent.com/docsz/AD_4nXedVMYabF4JiHteWIjqrp24wRnBnLGodWAaRQ9yY3iFP6hykY88FQ-VHse-2WX-HYOeiWzn6-J8wuulsTXfMkFFvSBW3eGXl8LyB50CEAE_aXLdQRFEwVKQ9QXh9SEFR93l9wnPFg?key=5NJTv3YzQ_HvxKfiq8hX5A\" style=\"width: 805px; height: auto;\" /></figure>\n\n\n\n<p>I was born and raised in Udaipur — a city known for its lakes and history, but not especially for tech companies. After completing my college degree, like many fresh graduates, I faced the uncertainty of landing a job — especially with the added constraint of staying in my hometown. Thankfully, my parents were incredibly supportive. They guided me, encouraged me, and reminded me that ambition has no boundaries — not even geographical ones.</p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" />\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-the-unexpected-beginning\"><strong>The Unexpected Beginning</strong></h2>\n\n\n\n<p>Though I had trained in software testing, I didn’t know much about WordPress back then. I stumbled into the WordPress world by joining a local startup in Udaipur. That decision would change the course of my life.</p>\n\n\n\n<p>The company, led by <a href=\"https://heropress.com/essays/wordpress-my-future/\">Puneet Sahalot</a>, was where my real journey began. Puneet, a close friend and mentor, introduced me to WordPress — its structure, its vastness, and more importantly, its values. He had a gift for seeing potential in people and believed in exploring uncharted paths. Puneet is no longer with us today, but his wisdom and encouragement remain a cornerstone in my journey.</p>\n\n\n\n<p>With his influence, I began digging deeper into WordPress. Finding my first bug on the WordPress core was a moment of both confusion and pride. Submitting it felt like stepping into a world where I didn’t just work on projects — I became part of a global movement.</p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>“That one bug wasn’t just a bug — it was a beginning.”</p>\n</blockquote>\n\n\n\n<p>That first bug ignited something within me. I started contributing to various areas — from core testing to translations, organizing local WordCamps, and even speaking at events. It felt empowering to give back to something that gave me so much.</p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><a href=\"https://heropress.com/wp-content/uploads/2025/07/IMG_1987.jpg\"><img alt=\"\" class=\"wp-image-8096\" height=\"800\" src=\"https://heropress.com/wp-content/uploads/2025/07/IMG_1987.jpg\" width=\"800\" /></a></figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https://heropress.com/wp-content/uploads/2025/07/9c4e2977-d4b6-44b4-a5d5-87ba4ece3883.jpg\"><img alt=\"\" class=\"wp-image-8100\" height=\"576\" src=\"https://heropress.com/wp-content/uploads/2025/07/9c4e2977-d4b6-44b4-a5d5-87ba4ece3883.jpg\" width=\"1024\" /></a></figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https://heropress.com/wp-content/uploads/2025/07/7704fd56-150f-4ff7-a68d-c432269a8c5e.jpg\"><img alt=\"\" class=\"wp-image-8101\" height=\"768\" src=\"https://heropress.com/wp-content/uploads/2025/07/7704fd56-150f-4ff7-a68d-c432269a8c5e-1024x768.jpg\" width=\"1024\" /></a></figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https://heropress.com/wp-content/uploads/2025/07/f6e17e30-332e-4084-9a79-8b7720015785.jpg\"><img alt=\"\" class=\"wp-image-8102\" height=\"768\" src=\"https://heropress.com/wp-content/uploads/2025/07/f6e17e30-332e-4084-9a79-8b7720015785-1024x768.jpg\" width=\"1024\" /></a></figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https://heropress.com/wp-content/uploads/2025/07/IMG_9437.jpg\"><img alt=\"\" class=\"wp-image-8103\" height=\"1024\" src=\"https://heropress.com/wp-content/uploads/2025/07/IMG_9437-984x1024.jpg\" width=\"984\" /></a><figcaption class=\"wp-element-caption\">Screenshot</figcaption></figure>\n</figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" />\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-growth-beyond-comfort-zones\"><strong>Growth Beyond Comfort Zones</strong></h2>\n\n\n\n<p>Marriage brought a new chapter — I moved to a metro city and joined <a href=\"https://brainstormforce.com/\">Brainstorm Force</a>, where I worked on a suite of powerful WordPress products, including the very popular Astra theme.</p>\n\n\n\n<p>From a small local team to a larger product-driven organization, the shift was both challenging and fulfilling. I moved from being a tester to becoming a Product Manager, learning to balance leadership, quality assurance, user experience, and team collaboration. I found myself not just testing products — but shaping them.</p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>I was also incredibly grateful to have a life partner who encouraged me to aim higher and supported my ambitions every step of the way.</p>\n</blockquote>\n\n\n\n<p>One of the proudest moments in my journey was being selected to lead the test team for the WordPress 5.6 and 5.7 releases. It was surreal. The appreciation and recognition I received from the global community made me realize how far I had come — from finding my first bug to helping others make WordPress better.</p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-2 is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><a href=\"https://heropress.com/wp-content/uploads/2025/07/IMG_9461.jpg\"><img alt=\"\" class=\"wp-image-8104\" height=\"1024\" src=\"https://heropress.com/wp-content/uploads/2025/07/IMG_9461-922x1024.jpg\" width=\"922\" /></a></figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https://heropress.com/wp-content/uploads/2025/07/unnamed.jpg\"><img alt=\"\" class=\"wp-image-8107\" height=\"1024\" src=\"https://heropress.com/wp-content/uploads/2025/07/unnamed-766x1024.jpg\" width=\"766\" /></a></figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https://heropress.com/wp-content/uploads/2025/07/unnamed.png\"><img alt=\"\" class=\"wp-image-8108\" height=\"189\" src=\"https://heropress.com/wp-content/uploads/2025/07/unnamed-1024x189.png\" width=\"1024\" /></a></figure>\n</figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" />\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-a-new-rhythm-work-and-motherhood\"><strong>A New Rhythm: Work and Motherhood</strong></h2>\n\n\n\n<p>Life shifted gears again when I joined <a href=\"https://caseproof.com/\">Caseproof</a> (<a href=\"https://memberpress.com/\">MemberPress</a>) — a fully remote role that brought with it the flexibility I needed at a very important time in my life.</p>\n\n\n\n<p>Working remotely was a new experience but quickly became a blessing. When I became a mother, I embraced both worlds with open arms. I continued to work with the same dedication, sometimes holding my daughter in one arm while debugging with the other. My work never stopped, and my love for WordPress only deepened.</p>\n\n\n\n<p>These moments, though challenging, became proof that passion, purpose, and parenthood can co-exist beautifully. Each bug fixed, each feature tested, each call attended — became part of a rhythm that blended professional focus with maternal joy.</p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>“I didn’t take big leaps. I took small steps. But I took them every day. That’s how I got here.”</p>\n</blockquote>\n\n\n\n<p>Some days were messy. Some were magical. But all of them were mine.</p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-3 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><a href=\"https://heropress.com/wp-content/uploads/2025/07/IMG_3196-scaled.jpg\"><img alt=\"\" class=\"wp-image-8109\" height=\"768\" src=\"https://heropress.com/wp-content/uploads/2025/07/IMG_3196-1024x768.jpg\" width=\"1024\" /></a></figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https://heropress.com/wp-content/uploads/2025/07/IMG_9721-scaled.jpg\"><img alt=\"\" class=\"wp-image-8099\" height=\"1024\" src=\"https://heropress.com/wp-content/uploads/2025/07/IMG_9721-768x1024.jpg\" width=\"768\" /></a></figure>\n</figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" />\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-beyond-the-screen-the-explorer-in-me\"><strong>Beyond the Screen: The Explorer in Me</strong></h2>\n\n\n\n<p>Outside of my professional life, I’m a passionate foodie and an avid traveler. Exploring new places and trying different cuisines fills me with joy and curiosity. So far, I’ve had the privilege of visiting <strong>30 countries</strong> — each one offering a unique flavor, story, and lesson.</p>\n\n\n\n<p>Recently, my family and I began a new chapter by relocating to <strong><a href=\"https://en.wikipedia.org/wiki/Dubai\">Dubai</a></strong>. It’s a city that’s fast-paced, full of opportunity, and incredibly vibrant — and we’re absolutely loving it so far. This new environment continues to inspire both my personal and professional sides in unexpected ways.</p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-2 is-cropped wp-block-gallery-4 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><a href=\"https://heropress.com/wp-content/uploads/2025/07/IMG_6636-scaled.jpg\"><img alt=\"\" class=\"wp-image-8111\" height=\"1024\" src=\"https://heropress.com/wp-content/uploads/2025/07/IMG_6636-768x1024.jpg\" width=\"768\" /></a></figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https://heropress.com/wp-content/uploads/2025/07/IMG_5727-scaled.jpg\"><img alt=\"\" class=\"wp-image-8110\" height=\"1024\" src=\"https://heropress.com/wp-content/uploads/2025/07/IMG_5727-768x1024.jpg\" width=\"768\" /></a></figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https://heropress.com/wp-content/uploads/2025/07/IMG_1726-scaled.jpg\"><img alt=\"\" class=\"wp-image-8098\" height=\"1024\" src=\"https://heropress.com/wp-content/uploads/2025/07/IMG_1726-768x1024.jpg\" width=\"768\" /></a></figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https://heropress.com/wp-content/uploads/2025/07/753fb658-ee15-4087-9665-1b8c23255d34-scaled.jpg\"><img alt=\"\" class=\"wp-image-8112\" height=\"1024\" src=\"https://heropress.com/wp-content/uploads/2025/07/753fb658-ee15-4087-9665-1b8c23255d34-768x1024.jpg\" width=\"768\" /></a></figure>\n</figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" />\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-still-learning-still-contributing\"><strong>Still Learning, Still Contributing</strong></h2>\n\n\n\n<p>Even after 10 years, I still feel like a student. The tech world evolves fast, and I try to keep pace. Recently, I’ve been diving into modern testing tools like <strong><a href=\"https://playwright.dev/\">Playwright</a></strong> and <strong><a href=\"https://www.cypress.io/\">Cypress</a></strong>, and experimenting with <strong>AI-based automation</strong> — which is not just fascinating but necessary in today’s evolving digital landscape.</p>\n\n\n\n<p>I&#8217;m excited to explore new contribution opportunities in WordPress — mentoring, accessibility testing, performance initiatives, and more. There’s always more to give back, and more to learn.</p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" />\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-final-thoughts\"><strong>Final Thoughts</strong></h2>\n\n\n\n<p>This journey wasn’t built on dramatic turns or overnight success. It was made up of steady progress, genuine passion, and a strong belief in community and consistency.</p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>To those starting out, unsure of their path — your story is waiting. Take that first step.</p>\n</blockquote>\n\n\n\n<p>“You can build a global impact even from a small city. WordPress doesn&#8217;t ask where you&#8217;re from — it only asks, what will you contribute?”</p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" />\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-reflections-after-10-years\"><strong><img alt=\"🌊\" class=\"wp-smiley\" src=\"https://s.w.org/images/core/emoji/16.0.1/72x72/1f30a.png\" style=\"height: 1em;\" /> Reflections After 10 Years</strong></h2>\n\n\n\n<p>If I’ve learned anything over these ten years, it’s this:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>You don’t need to be loud to be seen.</li>\n\n\n\n<li>You don’t need to do it all at once.</li>\n\n\n\n<li>You just need to keep showing up — honestly, consistently, and with curiosity.<br /></li>\n</ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" />\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-let-s-connect\"><strong>Let’s Connect</strong></h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><img alt=\"📧\" class=\"wp-smiley\" src=\"https://s.w.org/images/core/emoji/16.0.1/72x72/1f4e7.png\" style=\"height: 1em;\" /><a href=\"https://www.linkedin.com/in/monika-rao-7261a185/\"> LinkedIn</a></li>\n\n\n\n<li> <img alt=\"💻\" class=\"wp-smiley\" src=\"https://s.w.org/images/core/emoji/16.0.1/72x72/1f4bb.png\" style=\"height: 1em;\" /><a href=\"https://github.com/monika-12\"> GitHub</a></li>\n\n\n\n<li><a href=\"http://twitter.com/monikarao13\"> <img alt=\"🌐\" class=\"wp-smiley\" src=\"https://s.w.org/images/core/emoji/16.0.1/72x72/1f310.png\" style=\"height: 1em;\" /> Twitter</a></li>\n</ul>\n\n\n\n<p>If you ever want to talk about testing, WordPress contributions, remote work, motherhood, or just career growth, feel free to reach out. I’d love to help, share, and learn with you.</p>\n\n\n\n<p></p>\n<p>The post <a href=\"https://heropress.com/essays/a-decade-with-wordpress-my-journey-of-growth-contribution-and-courage/\">A Decade with WordPress: My Journey of Growth, Contribution, and Courage</a> appeared first on <a href=\"https://heropress.com\">HeroPress</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, 30 Jul 2025 04: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:10:\"Monika Rao\";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:\"\n	\n	\n	\n	\n	\n	\n	\n	\n	\n	\n\";s: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:86:\"Open Channels FM: Designing for Clients Using Figma Systems and WordPress Block Themes\";s: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=104272\";s: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:93:\"https://openchannels.fm/designing-for-clients-using-figma-systems-and-wordpress-block-themes/\";s: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:217:\"In the first episode of Publishing Flow, host Derek and Ash Shaw talk about how Figma transformed their WordPress workflow, enhancing design collaboration, client workflows, and even open-sourcing their design system.\";s: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, 29 Jul 2025 12:22:11 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"BobWP\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:5;a:6:{s:4:\"data\";s:21:\"\n	\n	\n	\n	\n	\n	\n	\n	\n	\n	\n\";s: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:53:\"Carlos Bravo: Enable xdebug on wordpress-develop repo\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:32:\"https://carlosbravo.blog/?p=1222\";s: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:76:\"https://carlosbravo.blog/2025/07/28/enable-xdebug-on-wordpress-develop-repo/\";s: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:1492:\"<p>Just adding this for my future self&#8217;s health. First, update the PHP config file.</p>\n\n\n\n<pre class=\"wp-block-code\"><code>// Enable xdebug.\n\n...\nxdebug.mode=develop,debug\n...</code></pre>\n\n\n\n<p>The VSCode launch file:</p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n    \"version\": \"0.2.0\",\n    \"configurations\": &#91;\n		{\n			\"name\": \"Listen for XDebug\",\n			\"type\": \"php\",\n			\"request\": \"launch\",\n			\"port\": 9003,\n			\"pathMappings\": {\n				\"/var/www\": \"${workspaceFolder}\",\n			},\n		},\n    ]\n}\n</code></pre>\n\n\n\n<p>Do not forget to update your <code>.env</code> file.</p>\n\n\n\n<pre class=\"wp-block-code\"><code>...\n\n# Where to run WordPress from. Valid options are \'src\' and \'build\'.\nLOCAL_DIR=src\n\n# The PHP version to use. Valid options are \'latest\', and \'{version}-fpm\'.\nLOCAL_PHP=latest\n\n# Whether or not to enable Xdebug.\nLOCAL_PHP_XDEBUG=true\n\n...</code></pre>\n\n\n\n<p>Beware of trying to make it work with AI; you may end up with some hallucinations and tons of files!</p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img alt=\"Screenshot of a code editor displaying a file tree with nine changed files, including php-config-enhanced.ini, launch.json, and xdebug-test.php.\" class=\"wp-image-1230\" height=\"280\" src=\"https://i0.wp.com/carlosbravo.blog/wp-content/uploads/2025/07/Screenshot-2025-07-28-at-18.16.29.png?resize=320%2C280&#038;ssl=1\" width=\"320\" /><figcaption class=\"wp-element-caption\">AI generated and updated files, that are not needed in my case.</figcaption></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:\"Mon, 28 Jul 2025 16:18:59 +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:12:\"Carlos Bravo\";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:\"\n	\n	\n	\n	\n	\n	\n	\n	\n	\n	\n\";s: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:109:\"Gutenberg Times: Gutenberg Changelog 119 – WordPress 6.8.2 and 6.9, Gutenberg 21.1, 21.2, and 21.3 Releases\";s: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=40947\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:121:\"https://gutenbergtimes.com/podcast/gutenberg-changelog-119-wordpress-6-8-2-and-6-9-gutenberg-21-1-21-2-and-21-3-releases/\";s: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:49786:\"<p>Birgit Pauli-Haack and guest Tammie Lister discuss the latest WordPress and Gutenberg updates, including WordPress 6.8.2 and 6.9, as well as Gutenberg plugin releases 21.1, 21.2, and 21.3. They highlight the renewed excitement around shipping features, the introduction of a core AI team, and significant developments such as Data Views, advanced admin design planning, and ongoing work on collaborative editing. The episode emphasizes the importance of experimenting with new tools, building muscle memory, and encouraging feedback to help shape the evolution of WordPress and Gutenberg.</p>\n\n\n\n<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>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Editor: <a href=\"https://www.linkedin.com/in/sandy-reed/\">Sandy Reed</a></li>\n\n\n\n<li>Logo: <a href=\"https://markuraine.com/\">Mark Uraine</a></li>\n\n\n\n<li>Production: <a href=\"https://icodeforapurpose.com\">Birgit Pauli-Haack</a></li>\n</ul>\n\n\n\n<p class=\"has-larger-font-size\" id=\"shownotes\"><strong>Show Notes</strong></p>\n\n\n\n<p><a href=\"https://make.wordpress.org/core/2025/07/11/wordpress-6-9-planning-proposal-and-call-for-volunteers/\">WordPress 6.9 Planning Proposal and Call for Volunteers</a></p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https://make.wordpress.org/ai/2025/07/17/ai-building-blocks/\"><strong>AI Building Blocks for WordPress</strong></a>\n<ul class=\"wp-block-list\">\n<li><a href=\"https://make.wordpress.org/ai/2025/07/17/php-ai-api/\">PHP AI Client</a>  (<a href=\"https://github.com/WordPress/php-ai-client\">GitHub)</a></li>\n\n\n\n<li><a href=\"https://make.wordpress.org/ai/2025/07/17/abilities-api/\">Abilities API</a> (former Feature API) (<a href=\"https://github.com/WordPress/abilities-api\">GitHub</a>)</li>\n\n\n\n<li><a href=\"https://make.wordpress.org/ai/2025/07/17/mcp-adapter\">MCP Adapter</a> (<a href=\"https://github.com/WordPress/mcp-adapter\">GitHub</a>) </li>\n\n\n\n<li><a href=\"https://make.wordpress.org/ai/2025/07/17/ai-experiments-plugin\">AI Experiments Plugin</a> <a href=\"https://github.com/WordPress/ai\">(GitHub</a>)</li>\n</ul>\n</li>\n\n\n\n<li><strong>Ryan Welcher livestreams</strong>\n<ul class=\"wp-block-list\">\n<li><a href=\"https://www.youtube.com/watch?v=HqLXvOneHHw\">Is the Feature API the Future of WordPress?</a></li>\n\n\n\n<li><a href=\"https://www.youtube.com/watch?v=cwWcnZbsElQ\">Unlocking Potential: Feature API Meets WordPress and LLMs</a></li>\n</ul>\n</li>\n\n\n\n<li><strong>Jonathan Bossenger livestreams</strong>\n<ul class=\"wp-block-list\">\n<li><a href=\"https://www.youtube.com/watch?v=tee4mifo4kw\">Feature API  (Now Abilities API) updates &amp; building a block with Claude Code</a> </li>\n\n\n\n<li><a href=\"https://www.youtube.com/watch?v=_q-1aGvHfqo\">WordPress MCP &amp; Feature API updates </a></li>\n</ul>\n</li>\n</ul>\n\n\n\n<h2 class=\"wp-block-heading\">What&#8217;s released</h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https://wordpress.org/news/2025/07/wordpress-6-8-2-maintenance-release/\">WordPress 6.8.2 Maintenance Release</a> </li>\n\n\n\n<li><a href=\"https://make.wordpress.org/core/2025/07/18/whats-new-in-gutenberg-21-2-16-july/\">What’s new in Gutenberg 21.2? (16 July)</a></li>\n\n\n\n<li><a href=\"https://make.wordpress.org/core/2025/07/02/whats-new-in-gutenberg-21-1/\">What’s new in Gutenberg 21.1? (2nd July)</a></li>\n\n\n\n<li><a href=\"https://github.com/WordPress/gutenberg/releases/tag/v21.3.0-rc.1\">Gutenberg 21.3 RC 1 </a></li>\n</ul>\n\n\n\n<h2 class=\"wp-block-heading\">What’s in active development or discussed</h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https://github.com/WordPress/gutenberg/pull/70711\">Update Experiments settings screen to use DataForms</a></li>\n\n\n\n<li><a href=\"https://github.com/WordPress/gutenberg/issues/70751\">Template Versioning: preserve active plugin/theme templates</a></li>\n</ul>\n\n\n\n<p class=\"has-large-font-size\">Stay in Touch</p>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<ul class=\"wp-block-list\">\n<li>Did you like this episode? <a href=\"https://lovethepodcast.com/gutenbergchangelog\"><strong>Please write us a review </strong></a></li>\n\n\n\n<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>\n\n\n\n<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>\n\n\n\n<li><em>Please write us a review on iTunes! <a href=\"https://gutenbergtimes.com/itunes/\">(Click here to learn how)</a></em></li>\n</ul>\n</div></div>\n\n\n\n<p class=\"has-large-font-size\" id=\"transcript\"><strong>Transcript</strong></p>\n\n\n\n<p><em>Birgit Pauli-Haack</em> [00:00:12]: Well, welcome to our 119th episode of the Good Merck Changelog podcast. In today&#8217;s episode, we&#8217;ll talk about WordPress 6.8.2, WordPress 6.9, Gutenberg plugin releases 21.1, 2 and 3. And then we have two couple of things that are still in the works that need your feedback and discussions. I&#8217;m your host, Birgit Pauli-Haack, curator at the Gutenberg Times and WordPress developer advocate and core contributor for WordPress. Tammie is joining me today and I&#8217;m so happy to be able to catch up with my dear friend. Tammie was the design lead on the Gutenberg Project Phase one and still contributes a ton to the project. She sponsored two days a week by a range of awesome companies and individuals, and she&#8217;s also a co-founder of Guildenberg, a company focused on empowering and supporting product makers and also creates products herself. Welcome Tammie to our show. How are you today?</p>\n\n\n\n<p><em>Tammie Lister</em> [00:01:10]: I&#8217;m great. How are you?</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em> [00:01:12]: Oh, I&#8217;m good, I&#8217;m good. Yeah. I&#8217;m still on Vacation Brain. It&#8217;s my second week back and it&#8217;s the first episode so I don&#8217;t know if I speak Norwegian, German, English or any other language.</p>\n\n\n\n<p><em>Tammie Lister</em> [00:01:24]: So I think you just need to hold on to that Vacation Brain. It&#8217;s important right it for a while.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em> [00:01:31]: Well, it&#8217;s holding on to me actually quite a bit. So when you were last on the show it was January, that&#8217;s half a year ago. So a lot has happened since. Anything that stands out for you that you&#8217;re excited about, that you&#8217;re working on.</p>\n\n\n\n<p><em>Tammie Lister</em> [00:01:48]: And that you, yeah, tiny really not significant thing called the core AI team that been released and also just everyone focusing together for 6.9. I feel the most significant thing I think is just the force that everyone is rejuvenated with working in this in the direction of features and the excitement everyone has about shipping. I don&#8217;t know about you, but there&#8217;s generally like a, a shipping is in the air. That’s what it feels like at the moment. People want to ship things and make things and then explore the things. And I think we&#8217;re going to find as we kind of go through the change log. That&#8217;s what caught me as I was, I was reading it, people are using these features and then going oops, I need this. Oops, I need this. And that is what makes everything better as well.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em> [00:02:37]: Yes, I agree with you. There&#8217;s a lot of creativity in the air. There&#8217;s a lot of excitement about what&#8217;s coming next. With the AI, but also just with how to work with the Gutenberg editor. Now that&#8217;s really at a total different level. Yeah, I totally get it. Okay, so let&#8217;s get started. </p>\n\n\n\n<h3 class=\"wp-block-heading\">Announcements</h3>\n\n\n\n<p>WordPress 6.9 well, the good news is there will be a second major release in 2025. Since the end of May, Automattic has said they&#8217;re contributing again to the open source project. And so some of the contributors are back, but there are also new ideas in there that are coming. So the core committers met in a quarterly meeting earlier. You&#8217;re one of the core committers, so you were at the meeting, but I know Cheltenham rules there.</p>\n\n\n\n<p><em>Tammie Lister </em>[00:03:23]: Yes.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em> [00:03:24]: And then out came a proposal that Jeff Paul published on the make blog with a planning proposal as well as the call for volunteers. So Beta 1 is scheduled for October 21st. If the release team that comes together kind of follows the plan and then the release candidate, which is very important for a lot of things, is November 11th, and the final release is then December 2nd in 2025. So from what I hear, and please correct me if I&#8217;m wrong or add to it what I&#8217;m missing, it&#8217;s going to be a little bit more improvements on the design tools. It&#8217;s the new admin design. At some point we will see something more in the release and there will also be maybe even just in experimental ways in Gutenberg collaborative editing. There&#8217;s some explorations, big explorations in the media library, what else.</p>\n\n\n\n<p><em>Tammie Lister</em> [00:04:22]: So I think a lot of it&#8217;s being worked out at the moment and the roadmap post is due. So everything you say, I think it&#8217;s to be determined the boundaries of a lot of those things. But the best way that I can frame it is 6.9 will lay a lot of the groundwork for 7.0 as well. So for some of these things that we want, we have to do some infrastructure just like we had to do with Gutenberg in the phases we have to do infrastructure before. So just to suddenly go ta da, here&#8217;s an admin redesign that would be a little bit a lot for people. So how that happens in what ways, that happens in what areas, that is something that&#8217;s. It&#8217;s either I use the word sprinkles, that&#8217;s a weird word to use. But either some areas more functional could be in 6.9. I think it&#8217;s been worked out at the moment where that is the most useful. But at least friction, I think that&#8217;s the best way to. You know, it&#8217;s one of those Venn diagrams. How can we get the most feedback without causing the least issues at the same time? There&#8217;s been lots of different talks about how that could be done. Everyone will have an opinion and I think that&#8217;s just going to shape up over the next kind of few weeks and then we will see from there.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em> [00:05:31]: Yeah, yeah, I, I like that. You know, the, the. All those expirations and aspirations in the air. We&#8217;ll see where that all lands and. Yeah. Will you hear it?</p>\n\n\n\n<p><em>Tammie Lister</em> [00:05:40]: You.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em> [00:05:40]: You will hear it at the Gutenberg Changelog first, because a lot of things will happen in the Gutenberg plugins in the following releases. If my calculations are correct, I think 21.8 will be the plugin release that will make all the features into the 6.9 release. Could be also release candidate 20.9 or something like that. But yeah, something like that. So there are a few. We are at three now, so there are five more Gutenberg releases and we will find out what will make it and what will be still in experiments or just the underlying infrastructure. You mentioned it before. AI is in the air. Around WordCamp Europe there was a new core team announced and we talked about it a month ago with Annabella and Anne McCarthy. Vacation Brain. </p>\n\n\n\n<h3 class=\"wp-block-heading\">Community Contributions</h3>\n\n\n\n<p>So this week James LePage, one of the team reps, published a post called AI Building Blocks for WordPress. And he outlines first that it&#8217;s not going to be primarily in core. It&#8217;s more like everything is built as a canonical plugin, like a feature plugin, and to void kind of early login into a space that&#8217;s highly not settled and still exploratory, all the standards or something like that. So there are four plugins. One is the PHP AI client SDK. SDK stands for Software Development Kit. So for any that any developer who wants to include AI features can build an appliance for that. Then the Abilities API, you might have heard about it under the name Feature API. That has changed. It&#8217;s now Abilities API and that is that you can register features from your plugin that NNI can react on or act on. And then the MCP adapter, that&#8217;s Model Content protocol adapter for WordPress. And then the last one is the AI Experiments plugin, which is actually a showcase plugin to reel it all in. Yeah, so that&#8217;s kind of that what the post outlines.</p>\n\n\n\n<p><em>Tammie Lister</em> [00:07:57]: Yeah, and I think the Experiments plugin is, as you say, it&#8217;s where everyone&#8217;s going to come together and use these things and also show people how to use these things and how they could implement them. We&#8217;ve had experiments in Gutenberg, we&#8217;ve kind of tucked away. We&#8217;ve also had experiments in design, we&#8217;ve had experiments in theme and I really love this because everyone is trying to work out how on earth they do AI, how on earth they do things where they can be useful in these projects. And one of these things can be maybe you do not know how to very few people do how to do PhPSD or MCP, all these kind of things but you really want to start learning that then being involved in the experiments plugin gives you an opportunity to kind of ride along and start to learn and discover with these teams that are already at that edge and exploring and it&#8217;s more on product kind of work in those kind of pieces.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em> [00:08:56]: Yeah, for sure. So if you also want to kind of Follow along Experience WordPress developers I know that Jon Bossenger has a live stream on Twitch where he kind of explores the new things and figures out a way to actually implement something. So he has used the Abilities API to create courses in Sensei via an AI client. So if you want to see how that&#8217;s going to work, go to the YouTube channel of Jon Bossenger. I definitely will share the link in the show notes about that. I also know that Ryan Welcher on his Twitch streams did quite a few experimentations with that lately. He&#8217;s doing his block development cookbook but afterwards he&#8217;s going to jump into AI again. But the previous editions definitely had some MCP and abilities API explorations there. That might be interesting for you because when you see an experienced developer kind of explore things and kind of also go detours. Yeah. You get a better way of thinking for yourself and your head around things that work.</p>\n\n\n\n<p><em>Tammie Lister</em> [00:09:59]: Many, many of them are also exploring it like it&#8217;s a new thing for everybody even if you are an experienced developer. So being able to sit there and as someone who&#8217;s talking through and working through it really helps you kind of feel it&#8217;s not just you that maybe.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em> [00:10:14]: Doesn&#8217;t understand.</p>\n\n\n\n<p><em>Tammie Lister</em> [00:10:17]: We&#8217;re all trying to work out where everything goes and how this new world functions.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em> [00:10:22]: Yeah. You are not alone.</p>\n\n\n\n<p><em>Tammie Lister</em> [00:10:24]: Yes. Which is what&#8217;s also exciting. And one of the things that&#8217;s also mentioned in the Roadmap is Gutenberg Phase three. A lot of the pieces in there, from the admin redesign to collaborative editing, all of and the Media Lab, which I&#8217;m so excited about. Media is one of my little pet things. But being able to have all of that work be looked at as well, is going to be very exciting.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em> [00:10:49]: Yeah, yeah. For sure. Absolutely. Yeah. All right. </p>\n\n\n\n<h3 class=\"wp-block-heading\">What’s Released &#8211; WordPress 6.8.2</h3>\n\n\n\n<p>What&#8217;s released? Well, just this week came out WordPress 6.8.2 maintenance release with about 15 block editor fixes as well as 20 core tickets. A full list of bugs is in the release candidate announcement. You get from the release post block editor features where some of the bigger problems with the navigation link some fixed the query loop bug that overrode the query inherit attribute. Yeah. So it&#8217;s a nice good bug fix maintenance release that makes life a little bit easier and squashes some bugs. </p>\n\n\n\n<h3 class=\"wp-block-heading\">Gutenberg 21.1</h3>\n\n\n\n<p>And that brings us to Gutenberg 21.1 release. There were a few enhancements in there. Do you want to take it on and kick it off?</p>\n\n\n\n<h3 class=\"wp-block-heading\">Enhancements</h3>\n\n\n\n<p><em>Tammie Lister</em> [00:11:40]: Yeah, I&#8217;m going to start with the block library, which is always a good place to start. It&#8217;s been around for a while, but it still is really good to kind of refine it. And the big pieces here really. Comments pagination had some unwanted block margin. Little things like this though feel like they&#8217;re small but they&#8217;re really significant for something that you. You go to time and time again having that unwanted margin and there&#8217;s little refinements and to me it shows maturity and that little refinement coming through. And then this navigation block. I actually was part of this piece with the sub indicator. This shows sometimes a small thing can feel. So it&#8217;s where the flip submenu. So the submenu indicates whether something has a submenu or not. And it wasn&#8217;t showing it, it wasn&#8217;t visually indicating. And it seems like something would be a very easy commit. It is not because it has a lot more implications in testing. So it shows in collaboration how we should have more extensive testing helps as well.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em> [00:12:45]: Yeah, yeah, I can see that. And for the bottom margin, if they are unwanted kind of and removed, I can see quite a few theme developers who. Who fixes that on their theme with custom CSS. Now they need to kind of also remove the custom cms.</p>\n\n\n\n<p><em>Tammie Lister</em> [00:13:02]: Yeah.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em> [00:13:02]: To fix that.</p>\n\n\n\n<p><em>Tammie Lister</em> [00:13:03]: So which is good. But it also shows that if you are making these. So. So one of the things I always suggest is have a kind of hacks file or at least a section so you know that you&#8217;ve hacked it. So you know you&#8217;ve worked around the system, not just kind of hide it within your theme. And it&#8217;s really important to notice these releases and check back if you possibly can with and kind of the last one here in the block Library is remove screencast.com embed block variation. So again, if something isn&#8217;t getting used as much, been able to take that away.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em> [00:13:35]: Yeah, absolutely. And well, they also need to take away the O embed part in Core, not only in Gutenberg there. Yeah, so and then there were some updates on the interactivity API that&#8217;s certainly interesting for developers who have actually explored that already. There&#8217;s now support for new router regions where you can click on and jump to and it supports also new styles and script models on the client side navigation. And it also starts using TypeScript for some of the helpers and some of the components or things. I call them modules. So you can better test it against and make sure that your code is compliant there. So the next thing is really exciting for me because I&#8217;m always. I hear a lot of plugin developers kind of talking about extensibility and now we have one block is actually really easy to extend and allow additional block variations. That&#8217;s the social icons block. </p>\n\n\n\n<p>Now you can add any other service that is not maintained by Core easily in a block variation easily. And the PR is 70261 if you want to jump on it has some nice instructions on how to do this. I also know that Justin Tadlock is working on a tutorial for the block developer for the developer blog. Not Block, blog. I&#8217;m really excited about it because I&#8217;m or it came to a good timing for myself. I&#8217;m working on a block theme for the good work times and we have the podcast there, and the podcast needs additional things in there like the podcast name and the description is one thing, but you also need additional social icons where you can subscribe to the blog and to the podcast. So I identified seven of them and of course only one of them is in Core and I need to create the other six of them. I did my first trial on it and it was fairly easy to do. It gets a little bit complicated when you have your own styling to it. But if you&#8217;re just going to push it into the Gutenberg interface and let the user style it or change color pretty much, then it&#8217;s fairly easy to implement.</p>\n\n\n\n<h3 class=\"wp-block-heading\">Bug Fixes</h3>\n\n\n\n<p><em>Tammie Lister</em> [00:16:00]: So I guess we move on to bug fixes now and then. Bug fixes. This is one of my favorite sections really because it means we&#8217;re just kind of cleaning up a little bit. So calendar block colors do not change between global styles and theme JSON things like that we spoke about like the theme fixing things, things like that, really, really important. Quality of life changes, and then social links allow icon size to be reset and on a theme. Jason Styles. That&#8217;s 70380. That is really, really important as well. Again, a Quality of Life. And you were talking about hacks. There probably has been a hack that you had to put in to kind of work around that as well.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em> [00:16:39]: Yeah. For both of them for the calendar blog as well as for the social links.</p>\n\n\n\n<p><em>Tammie Lister</em> [00:16:42]: Yeah, I can imagine there&#8217;s like a not important for the second one.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em> [00:16:50]: Yeah. Yeah. I also came to accustomed to study the bug fixes because sometimes you run into bugs and say is it still there and. Or is it not? And all of them. Oh, it&#8217;s not there anymore. And it&#8217;s kind of really.</p>\n\n\n\n<p><em>Tammie Lister</em> [00:17:03]: And then you can just clean up your bug file, right?</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em> [00:17:06]: Yeah. And you can clean up your brain with the workarounds. Not only the theme files but also the memory stuff. Yeah. And that is pretty much what I found interesting in the Gutenberg 21.1 there&#8217;s a whole changelog with tooling and documentation updates and the release post actually has all the change log in there. So you can read up about that. </p>\n\n\n\n<h3 class=\"wp-block-heading\">Gutenberg 21.2</h3>\n\n\n\n<p>And we&#8217;re coming to Gutenberg 21.2 and here we see already some changes to the Data Views. It introduces the per page sizes to control the available size of the items per page. So that is something that comes from the admin where you can say it&#8217;s kind of getting feature part on the WP admin view you can say okay, I want 50 things on my page. Please do this also on the new Data View. So that&#8217;s cool.</p>\n\n\n\n<p><em>Tammie Lister</em> [00:18:04]: Yeah, I love this. This also and the kind of next release shows that Data Views is getting used by people because it shows that we need to improve it. I am someone that has been using Data Views in situations and they are great, but they are quite limiting. And it means the more potential you have, the more easily it is to use for an implement. And it also means more feedback. So that&#8217;s what&#8217;s happening and how and improvements are happening. So yeah, the more things like this, whenever you see Data Views or API, that&#8217;s what gets me very happy. I like the other fixes, but this sets us. It&#8217;s moving us forward. And I think sometimes a lot of this can feel hidden because it&#8217;s more like the infrastructure in the sense. But Data Views, data Forms and API work, it really just moves us forward.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em> [00:18:53]: Yeah. So can you share in what kind of situations you use the Data Views?</p>\n\n\n\n<p><em>Tammie Lister</em> [00:18:59]: I&#8217;ve been using a lot of experimental, so one of the big things I&#8217;ve been doing is anytime I&#8217;m creating a plugin that&#8217;s pretty much what I use for my interface at the moment. I am trying to not have the normal the interface we use. I&#8217;m trying to use the Data Views from now on because it&#8217;s the way we&#8217;re going. So it feels a lot more natural to do. It&#8217;s easy to do it on the front and you can do it on the back. You can choose how much you have a little bit depending on what you want to do. You may have to do wrappers, all those kinds of different things. So. But again through a lot of it&#8217;s through experimentation but through doing experimentation you find the limitations. So there was a ticket that there&#8217;s been a few people having a conversation. The limitation on settings for example tangent to Data Views you can&#8217;t have a two column necessarily under a particular situation but if you want to do that there needs to be bug fixes. So it&#8217;s by using and by finding out we need to use them in particular situations. So again this having per pages and the one after this improving inline all of these kind of things allow you to be able to start to implement in different ways.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em> [00:20:11]: Yeah, yeah. And I can also see that there&#8217;s. There&#8217;s two effects in there with starting now to use the Data Views. One is you get a lot of experiments and practice in it. So experience is kind of you try to adopt it, see how you fail or the system fails and then you can improve upon it. But the muscle memory that you build that you kind of get into the new API really pushes you forward when things then land in core.</p>\n\n\n\n<p><em>Tammie Lister</em> [00:20:39]: And I was lucky enough, I think it was back in November. Goodness me, at Core Dev Days there was an awesome workshop in it and, and that it feels a long time ago now, but it felt kind of like it wasn&#8217;t early with Data Views but it kind of felt that it was earlier and. But that version feels very far away from the version that we&#8217;re getting to play with now and the version now it&#8217;s a lot less grumpy when you implement it. So I would encourage everyone just if you, if you&#8217;re gonna make something and you just want to experiment with it, just start playing with it and see about implementing it. There&#8217;s some great stuff on the developer blog about using it which is just easy to follow. I think it&#8217;s been recently updated. Unless you would know that I think it&#8217;s been updated or recently updated.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em> [00:21:29]: Yeah, I think one mom did a blog post about this. Yeah, yeah, yeah. The next one is. Do you want to take the next one too?</p>\n\n\n\n<p><em>Tammie Lister</em> [00:21:38]: Yes. So that&#8217;s a block library one. So the block library add open in app toggle. That&#8217;s like a one those like tongue twisters open in new tab toggle to navigation block sidebar. Okay, so this one, what I like about this is it shows a consistency of interface and actually it shows it even more so if you and I the nerd that I am, I like reading back into tickets and. And actually it shows that. So when it got implemented, one of the last comments is we need to roll this out places to make sure it&#8217;s consistent. So it&#8217;s adding a consistency but then it needs to be rolled out to make sure it&#8217;s consistent in other places. So the interface that we have is great. But if it&#8217;s not consistent. So yeah, that. That&#8217;s what it does. It puts it in the relevant place for where you need the information at the right time and then it&#8217;s rolling it out. So it&#8217;s. It&#8217;s a small quality of life thing. But these. That&#8217;s the type of thing we need to do with the editor interface at the moment.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em> [00:22:41]: Absolutely. Yes, absolutely. Because you cannot just say oh, I&#8217;m in a different context. Why is it not working like that. Yeah, yeah.</p>\n\n\n\n<p><em>Tammie Lister</em> [00:22:49]: And. And thinking we now know where people are looking at the time. Like you can make a best guess. You can be like me kind of. But there is a language that is becoming and the language that is refining and then that means we can take some things away and we can really refine where things go.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em> [00:23:05]: Yeah, there was. So the next thing is what the format library that improves the inline image replacement workflow. I have not quite figured out what that does, but I&#8217;m just recently discovered the inline image. Again. I kind of was at the early on image block fan and not doing anything in line with images. But I like when you do icons in there or cannot because the whole paragraph works differently when you have an image in there and then you have to fiddle with it.</p>\n\n\n\n<p><em>Tammie Lister</em> [00:23:37]: Yeah.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em> [00:23:37]: And so they. They improve the workflow. I&#8217;m not sure if that&#8217;s getting there. It&#8217;s getting there. Yeah. So if you are using inline images. Yeah. Check it out and see if it really helps you with getting around that.</p>\n\n\n\n<p><em>Tammie Lister</em> [00:23:51]: So in the block editor. So this ticket says allow replacing the post locked modal component 70586 but if you kind of dig into this the too long don&#8217;t read is prep for collaborative editing work. So it&#8217;s basically providing a filter for that which is such an enticing kind of part of it. So in order to be able to build again like what we were talking about, we want all these things in 6.9 and 7, but we need some infrastructure. We need that extensibility and we need the foundations to be able to do that. You can&#8217;t just slap a layer on it and ta da. It just works. So we need all this infrastructure.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em> [00:24:29]: Yeah. And it&#8217;s also a shift in kind of approach of things. We have 20 years was only one person editing a post and now we need to get ready that multiple people adding a post. So all the lock things need to be a little bit moving from a.</p>\n\n\n\n<p><em>Tammie Lister</em> [00:24:44]: Book to an iPad.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em> [00:24:49]: This was really a book to an iPad. The iPad is still one person using it.</p>\n\n\n\n<p><em>Tammie Lister</em> [00:24:53]: Well, yeah, but it&#8217;s multiple layered.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em> [00:24:55]: Yeah, it definitely gets more complex. Yeah. When multiple people do things and when instead of one.</p>\n\n\n\n<p><em>Tammie Lister</em> [00:25:02]: Yeah, that&#8217;s a tin can with a bit of string to a zoom. There you go. That&#8217;s a random analogy.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em> [00:25:12]: Yeah, that&#8217;s a good analogy. It&#8217;s like, it&#8217;s like from the caveman to the. Yeah, the Middle Ages. Yeah. Yeah. We have some changes in the components library and there&#8217;s now the date calendar and date range calendar components. They seem to have been missing and now they&#8217;re here. So you can use them for your interfaces when you do events, something like that, or scheduling things. So you have more components to work with and you don&#8217;t have to build them yourself.</p>\n\n\n\n<p><em>Tammie Lister</em> [00:25:46]: But that&#8217;s also part of the design system which we need. Right. So part of it is again the first version. It&#8217;s best bet. It&#8217;s like we think we know, but it when in phase one, when we were building an editor now we needed all these components and all these pieces because we were building an editor, we were making paragraphs and headings. That&#8217;s what we were doing. And it&#8217;s not that anymore.</p>\n\n\n\n<p>It&#8217;s a kit that you can build anything you possibly can think of. So therefore it needs all the pieces of an interface kit to be able to extend so the components. And it&#8217;s now a question of that. Does it need everything? No, because that&#8217;s a lot to maintain. But it&#8217;s certainly if something is used frequently and is going to be like really required by the interface frequently, then it needs to have it. So having our own components or at least having something like native is really, really important.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em> [00:26:44]: Yeah. Especially now when they get to the. The whole new admin is built on components greater now.</p>\n\n\n\n<p><em>Tammie Liste</em>r [00:26:52]: And it also means that product makers can use those components a lot easier.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em> [00:26:56]: Lovely. Yeah. You don&#8217;t have to make decisions about interfaces anymore.</p>\n\n\n\n<p><em>Tammie Lister</em> [00:26:59]: Yes. I was like, I need a calendar, I need it to work, I need an age.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em> [00:27:04]: What are the attributes?</p>\n\n\n\n<p><em>Tammie Lister</em> [00:27:07]: Yeah. And then I think often people like is. Oh, it&#8217;s always going to look. No, you can style it into your heart&#8217;s content. It can be pink with sparkles if you really want. Maybe don&#8217;t do that. But you. But that&#8217;s the thing of a component. You are getting the bones and the structure and the muscle. You aren&#8217;t necessarily getting the makeup.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em> [00:27:29]: But it&#8217;s a weird analogy day. Yeah. But it&#8217;s good. Yeah. Yeah. For the Interactivity API, maybe we kind of need to think about some of the knowledge is there. But the two additional PRs that came into good 20.1 will prioritize the custom. Click event handlers for full page navigation that&#8217;s now enabled and then also Preserve media. Preserve media attributes on the initial style sheet after client side navigation. So it&#8217;s a client side navigation. It&#8217;s a full page navigation that has been more stable on the. With the interactivity API. So router feature that was started last plugin released and now it&#8217;s coming. It came in an additional feature there.</p>\n\n\n\n<p><em>Tammie Lister</em> [00:28:21]: And moving on from that and I&#8217;m just going to kind of have a note about API. We likely are going to see more APIs because we should. Because that then shows that you can extend. There&#8217;s been talk about should menus have something like that with the templates API we&#8217;ve seen with site editor sort post types alphabetically within the add template modal. That&#8217;s 70562. Again, all of these things before maybe we would have had something that wasn&#8217;t an API. But an API is a far better way of doing this. It&#8217;s a far more modern approach of doing this and it&#8217;s the proper way to do extensibility.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em> [00:28:57]: Yeah. And you have to know how you build it first before you can extend this. Yeah. Right.</p>\n\n\n\n<p><em>Tammie Lister</em> [00:29:03]: So you have to.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em> [00:29:04]: Yeah, you have to know what.</p>\n\n\n\n<p><em>Tammie Lister</em> [00:29:05]: What you&#8217;re going to build. And the thing is you can&#8217;t particularly to undertake an API because there&#8217;s a maintenance burden. And I think this is always something particularly like doing work in extensibility. Yes. You could support everything, but unless you have a time machine, that&#8217;s a lot. So really being considerate, particularly once you have an API of just how useful is that? How much of a burden is that going to support is really, really important.</p>\n\n\n\n<h3 class=\"wp-block-heading\">Bug Fixes</h3>\n\n\n\n<p><em>Birgit Pauli-Haack</em> [00:29:35]: Yeah, absolutely. And we are in the bug fixes again. I like the first one that I want to point out that it&#8217;s the image box it preserves now the line breaks when the caption comes from the media library. So there was a disconnect. Yeah, absolutely. Where you have to do it twice. Why is this losing my. My line breaks and now I have to do it again. Yeah. So now it can do it automatically. It&#8217;s smart enough. And the same is fixed now with the RSS block. Some of the. Well, WordPress allows you to put markup into the title, but when the RSS block pulls in the title it displayed the raw coding instead of the. Yeah, now it kind of just strips it out and shows a very consistent title display in your RSS block for from other sites.</p>\n\n\n\n<p><em>Tammie Lister</em> [00:30:33]: So this is in bug fixes, but it&#8217;s quite important. It&#8217;s enable support for showing individual block variations in style book.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em> [00:30:41]: Oh yeah, yeah. That&#8217;s pretty much my most favorite feature enhancement. I think it&#8217;s enhancement but it&#8217;s on a bug fix because you were trying to look to click on the style variations and it wouldn&#8217;t come so there was expectations enables it in the right.</p>\n\n\n\n<p><em>Tammie Lister</em> [00:31:01]: Section is basically.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em> [00:31:06]: What happened was when you wanted to style the button block in your site in the styles, you were only able to style the default one. But when you clicked on the outline, you got back to the default one. You couldn&#8217;t style the outline. You had to use a theme JSON or some other JSON file for it or plugin for that. I don&#8217;t know how hard the fix was, but it&#8217;s there. I think that&#8217;s it. </p>\n\n\n\n<h3 class=\"wp-block-heading\">Gutenberg 21.3</h3>\n\n\n\n<p>So we&#8217;re coming for Gutenberg 21.3. Do you want to start out again because it&#8217;s your favorite pieces.</p>\n\n\n\n<p><em>Tammie Lister</em> [00:31:38]: So the first section is Data views under enhancement. So again this really shows the data views are getting used and that&#8217;s too long don&#8217;t read. I guess this episode is these features are getting used by people and these feature getting therefore improvements and iterations and people working on them. So there&#8217;s two particular things to call out or there&#8217;s several things at least there&#8217;s add the data field type 70657, and then add group by field support to grid layout. So this is about grouping items by fields and allows you to organize amounts of data and extend layouts such as table layout in the future. So it&#8217;s setting that groundwork and allowing grouping and it also supports the data Field type. So it&#8217;s again setting up for something that you can do now and allowing you. And also it links in with the new calendar component. So it&#8217;s that kind of link in with the new components as well.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em> [00:32:36]: Yes. So it had a date type field, date time field type. And now there&#8217;s also a date field type that&#8217;s just a date here. It&#8217;s kind of. You need it for the events calendar in the ticket.</p>\n\n\n\n<p><em>Tammie Lister</em> [00:32:49]: Yeah. It says filtering and editing features will be implemented in the future.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em> [00:32:53]: Yes. Yeah. And then for the block library, the cover block now supports a poster image. So users with large video file or slow Internet connection see still an image in there before the video loads. That&#8217;s kind of an enhancement for slower connections. Or if you do it locally and you can&#8217;t get the video from another place. Yeah, so that&#8217;s pretty cool. And then the post content block has now an add name selector, a tag name selector. That&#8217;s kind of the part where you identify semantic ways for the. For the cost. Post content. Is it a main content? It&#8217;s a section content. It&#8217;s an article kind of semantic thing. Missing words here. Tags, tags. HTML. Semantic HTML tags. I think the. The technical term for that is.</p>\n\n\n\n<p><em>Tammie Lister</em> [00:33:44]: Yeah, there was one we haven&#8217;t called out, but I&#8217;d like to mention about layout. Adding max limit to row span and column in grid, which is a quality life, which I think is really important as well.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em> [00:33:55]: Excellent. Yeah. Oh yeah, here I see it. Yes, it&#8217;s absolutely. Yeah. And that also shows that there&#8217;s a work to be done on the Grid blog. And that might. Might be. It might not come to 6.9, but it&#8217;s definitely coming. It&#8217;s better. It&#8217;s back on people&#8217;s task list. Yeah. Under the bug fixing there was nothing really stand out for me.</p>\n\n\n\n<h3 class=\"wp-block-heading\">Bug Fixes</h3>\n\n\n\n<p><em>Tammie Lister </em>[00:34:18]: It just looks like a lot of quality of life and.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em> [00:34:20]: Yeah, well, some blocks good bug.</p>\n\n\n\n<p><em>Tammie Lister</em> [00:34:22]: Fixing to me, which is. There&#8217;s been a lot of activity in this release which is really good and there&#8217;s a big section of quality and documentation, which always makes me happy.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em> [00:34:33]: Absolutely. So that was it. There was one. Oh, that&#8217;s what I was looking for. Yeah. There&#8217;s one that says remove public APIs for getting images. That has to do with the list view. That there are images in the. In the list view to identify some of the blocks. When you have a cover block that you see the image of that there was an implementation for that, but that is still experimental and there was a shift in how experiments are actually implemented in Gutenberg so people are not tempted to use experimental public APIs anymore. Yeah. So if you find that confusing. It definitely is, but it&#8217;s also for your own good, so to speak. For the good of the maintenance safety. Absolutely. For future safety. But of course, there&#8217;s an acknowledgment that there are plenty of experimental things still in Gutenberg that all have been used in production for many years. Yeah, that was it. That was the Gutenberg release. </p>\n\n\n\n<h3 class=\"wp-block-heading\">What’s in Active Development or Discussed</h3>\n\n\n\n<p>Now we have what&#8217;s in active development or discussed. We can certainly not talk about everything, but we wanted to talk about the update experiment Settings screens to use the data forms. There&#8217;s a PR by Fabian who said, okay, so Gutenberg has an experiment screen where you can check the on or off some of the experiments, like for the collaborative editing or for the grid layout for some forms. And he said, well, if we do want other people to use the data views, we probably should rewrite that experiment settings page in a Gutenberg. So I really love that initiative. Yeah.</p>\n\n\n\n<p><em>Tammie Lister</em> [00:36:15]: Experiment should be experimental.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em> [00:36:19]: Say that again.</p>\n\n\n\n<p><em>Tammie Lister</em> [00:36:21]: The experiment should be experimental.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em> [00:36:23]: Absolutely, absolutely. Well, a few plugin releases before Anne went through and actually gave some section headers in there. So they were not just added to the list and not kind of clustered together.</p>\n\n\n\n<p><em>Tammie Lister</em> [00:36:37]: And that&#8217;s where there was a. Like, under certain circumstances the two column can be worked out. So that&#8217;s how we find out the limitations.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em> [00:36:45]: Right.</p>\n\n\n\n<p><em>Tammie Lister</em> [00:36:45]: Like by using this, all these features again, we have to use them. This is what we&#8217;ve learned time and time again. They&#8217;re great, they&#8217;re amazing, but we need to use them, we need to implement them. Even we can&#8217;t put them in a beta and say, oh, just do some usability testing. No, we need to build with them. We need to get our hands dirty and need to see, oh my goodness, you can&#8217;t do this. Oh, this doesn&#8217;t work with this type of data. That&#8217;s what we need to happen. So using it in the plugin makes a lot of sense in a way that doesn&#8217;t cause a negative experience. And that page isn&#8217;t going to hopefully cause a negative experience.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em> [00:37:25]: Well, if you want to learn how to do this, yeah, that&#8217;s a kind of an interesting page to look at the code to learn from it and kind of say, maybe you can implement it in your own one page settings page.</p>\n\n\n\n<p><em>Tammie Lister</em> [00:37:38]: It looks so much better when you look at it. You look at and no shade. Because at the time the settings pages were amazing in WordPress. But times have changed and looking at the two columns or the new Iterations. Even the single version is night and day. It really is.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em> [00:37:59]: Yeah. When you see the before and after, you see. Really see the difference. Okay, I want to live there. I don&#8217;t want to live there anymore. Yes.</p>\n\n\n\n<p><em>Tammie Lister</em> [00:38:07]: I want to be there in that world. World has white space.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em> [00:38:14]: Yeah, the road has white space. A couple of days ago I showed my husband, he is also a programmer, but he is a programmer from the early database days. Yeah like a clipper and ebay and all that. And then he sees some of the. And he looked at the screen and said well what&#8217;s all the white space there?</p>\n\n\n\n<p><em>Tammie Lister</em> [00:38:43]: That was the thing like back then it costs, it cost bandwidth. Like every line was a cost. I remember when I learned you couldn&#8217;t have have large space taken up because it costs. Now it doesn&#8217;t. Now I just want all the space because it doesn&#8217;t. Well, it does cost, but it doesn&#8217;t cost as much now. It almost costs us more to not have it because it costs us like a negative user experience which is weird, wibbly, upside downy world to live in. But that&#8217;s what we have. Of course we don&#8217;t go too far to the extreme where you can actually implement it or use it because too much white space. Space is weird. But yeah, just be able to breathe in an interface.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em> [00:39:21]: Yeah. And. But it&#8217;s interesting that these visual DNA is still in. In some people&#8217;s minds. Right. That&#8217;s what that. What I kind of took away from it said go away, go back to your 90s, go back to your terminal.</p>\n\n\n\n<p><em>Tammie Lister</em> [00:39:37]: Go back to your courier terminal.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em> [00:39:39]: No, he says why are you doing command line? Isn&#8217;t that so 80s didn&#8217;t we call go away with? Okay. So yeah, it&#8217;s interesting discussions in Pauli-Haack&#8217;s home. So we have a second thing that we wanted to talk about that&#8217;s the PR by Luigio Teschio and he is working on exploring template versioning to preserve active plugin and theme templates instead of letting it be overwritten by database. And I don&#8217;t know how that&#8217;s going to work. Have you looked at that?</p>\n\n\n\n<p><em>Tammie Lister</em> [00:40:18]: I haven&#8217;t really looked at it yet, but I&#8217;m really curious to follow it. And I think just exploring different ways of doing things is really interesting as well.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em> [00:40:28]: Yeah. So I leave that link in the.</p>\n\n\n\n<p><em>Tammie Lister</em> [00:40:31]: Call for feedback and thoughts on it, which is a really interesting perspective. I think real world use cases is something I was trying to think about and that&#8217;s the kind of feedback I would like to give and that&#8217;s what I&#8217;ll be going back to it with trying to add that type of thinking.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em> [00:40:48]: Excellent. Excellent. So, well, I guess we&#8217;re at the end of the show. This is it. And as always, dear listeners, thank you so much for being here. And if you want, you can leave us a review on any of your favorite podcast apps. And if you&#8217;re on Spotify, the review is you can also leave comments. So we can have a little conversation there as well, if you want to. But the show notes will be published on Gutenbergtime.com/Podcast. This is episode 119. If you have questions or suggestions or news you want to include us, send them to <a href=\"mailto:changelog@gutenbergtimes.com\">changelog@gutenbergtimes.com</a> that&#8217;s <a href=\"mailto:changelog@gutenbergtimes.com\">changelog@gutenbergtimes.com</a> so, Tam, is there anything that you want our listeners to take away from it that we haven&#8217;t talked about?</p>\n\n\n\n<p><em>Tammie Lister</em> [00:41:35]: I think the big one is if you can start experimenting and exploring things like data views and data forms in your product, because now is the time to do that. And then start giving feedback, because there&#8217;s lots to come this year that you&#8217;ll be able to end early next year. So being able to, as you mentioned, start that muscle memory and start learning with it is really, really important.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em> [00:41:57]: Excellent. Yeah, that&#8217;s a great way to end this podcast episode. And thank you all for listening. Thank you, Tammie, for being here. And goodbye. And I&#8217;ll see you at WordCamp. Yes, thanks for having me. All right, take care. </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, 26 Jul 2025 15:23:55 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:18:\"Birgit Pauli-Haack\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:7;a:6:{s:4:\"data\";s:21:\"\n	\n	\n	\n	\n	\n	\n	\n	\n	\n	\n\";s: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:80:\"Gutenberg Times: WP-Admin Redesign, Block theme adoption — Weekend Edition 335\";s: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=40940\";s: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://gutenbergtimes.com/wp-admin-redesign-block-theme-adoption-weekend-edition-335/\";s: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:18533:\"<p>Hi,</p>\n\n\n\n<p>ICYMI, organizers of WordCamp US (WCUS) <a href=\"https://x.com/WordCampUS/status/1948389752274559339\">announced</a> Danny Sullivan, search liaison at Google, as the keynote speaker. It&#8217;s hugely relevant now that sites are dealing with decreasing clicks from search engines. The brilliant <strong>Rae Morey</strong> of <em>The Repository</em> has the skinny for you about <a href=\"https://www.therepository.email/googles-danny-sullivan-to-keynote-wordcamp-us-2025-as-speaker-lineup-begins-to-take-shape\">what else is happening at WCUS</a>.</p>\n\n\n\n<p>I am really getting excited for WordCamp US. Are you, too? <a href=\"https://us.wordcamp.org/2025/tickets/\">Did you get your ticket yet?</a> I would love to meet you and catch up! </p>\n\n\n\n<p>You might have to juggle family plans and necessities, though. You might need to get kids to school or enjoy the last summer camping trip over Labor Day weekend. Or you might be apprehensive about traveling to the US in general. All good reasons. And I will miss you. We can catch up afterward. <img alt=\"🤗\" class=\"wp-smiley\" src=\"https://s.w.org/images/core/emoji/16.0.1/72x72/1f917.png\" style=\"height: 1em;\" /></p>\n\n\n\n<p>Enjoy this week&#8217;s updates. </p>\n\n\n\n<p>Yours, <img alt=\"💕\" class=\"wp-smiley\" src=\"https://s.w.org/images/core/emoji/16.0.1/72x72/1f495.png\" style=\"height: 1em;\" /><br /><em>Birgit</em></p>\n\n\n<section class=\"wp-block-newsletterglue-group\" style=\"padding-top: 10px; padding-bottom: 10px; padding-left: 20px; padding-right: 20px; margin-top: 0px; margin-bottom: 0px;\">\n<div class=\"wp-block-group has-light-background-background-color has-background\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<p><strong>Table of Contents</strong></p>\n\n\n\n<nav class=\"wp-block-table-of-contents\"><ol><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/wp-admin-redesign-block-theme-adoption-weekend-edition-335/#0-word-press-release-information\">Developing Gutenberg and WordPress</a><ol><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/wp-admin-redesign-block-theme-adoption-weekend-edition-335/#admin-redesign-abilities-api-and-routing\">Admin Redesign, Abilities API, and Routing</a></li></ol></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/wp-admin-redesign-block-theme-adoption-weekend-edition-335/#0-p\">Plugins, Themes, and Tools for #nocode Site Builders and Owners</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/wp-admin-redesign-block-theme-adoption-weekend-edition-335/#2-word-press-6-0-1-and-6-1-scheduled\">Theme Development for Full Site Editing and Blocks</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/wp-admin-redesign-block-theme-adoption-weekend-edition-335/#3-building-themes-for-fse-and-word-press\">Building Blocks and tools for the block editor</a></li></ol></nav>\n</div></div>\n</section>\n\n<div class=\"wp-block-newsletterglue-showhide ng-block\" width=\"100%\"></div>\n\n\n<h2 class=\"wp-block-heading\" id=\"0-word-press-release-information\">Developing Gutenberg and WordPress</h2>\n\n\n\n<p>First-time release lead <strong>Aki Hamano</strong> made <a href=\"https://github.com/WordPress/gutenberg/releases/tag/v21.3.0-rc.1\">Gutenberg 21.3 RC available for testing.</a> </p>\n\n\n\n<p><strong>Tammie Lister</strong> and I included Gutenberg 21.1, 21.2, and 21.3 in our latest Gutenberg Changelog episode recording. We also talked about WordPress 6.9, the AI Team, and more. The episode will drop on your favorite podcast app over the weekend.</p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img alt=\"\" class=\"wp-image-40972\" height=\"185\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/07/Screenshot-2025-07-25-at-10.53.45.png?resize=652%2C185&#038;ssl=1\" width=\"652\" /></figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"admin-redesign-abilities-api-and-routing\">Admin Redesign, Abilities API, and Routing</h3>\n\n\n\n<p>Lead architect of Gutenberg <strong>Matias Ventura</strong> published two issues on GitHub for broad discussion of the next iteration of the Admin Design and tied together concepts of the Command Palette with the Abilities API. </p>\n\n\n\n<p>In <a href=\"https://github.com/WordPress/gutenberg/issues/70913\"><strong>Admin Materials and Surfaces</strong></a>, Ventura outlines the next iteration of the Admin redesign with screenshots. He breaks it down into three main building blocks. You can think of it like organizing a house:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Materials</strong> are like the rooms and spaces (the foundation, main areas, and pop-up spaces)</li>\n\n\n\n<li><strong>Concepts</strong> are like the furniture and appliances that go in those rooms (navigation menus, content lists, forms, etc.)</li>\n\n\n\n<li><strong>Screens</strong> are like how you arrange everything together for different purposes (living room setup vs. kitchen setup)</li>\n</ul>\n\n\n\n<p>The goal is to make WordPress&#8217;s admin area more flexible so users can customize their workspace, and plugin developers can create interfaces that fit naturally with the rest of the system. The updates need to ensure consistency, flexibility, scalability, and clarity across the entire admin and plugin experience. <a href=\"https://github.com/WordPress/gutenberg/issues/70913\"> To learn more details, consult the GitHub post</a>. </p>\n\n\n\n<p>In the <a href=\"https://github.com/WordPress/gutenberg/issues/70710\"><strong>Abilities &amp; Workflows Overview</strong></a>, Ventura outlines plans to create a unified system for handling keyboard shortcuts, commands, and AI-powered workflows. This would enable creating a &#8220;smart assistant&#8221; for WordPress that can help users accomplish tasks more efficiently.</p>\n\n\n\n<p>The post aims to show how contributors can connect these three things that are currently separate and also creates a shared language to discuss these concepts. </p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Abilities</strong>—Callable functions with well-defined descriptions, inputs, and outputs schemas that both humans and AI can understand and use</li>\n\n\n\n<li><strong>Workflows</strong>—Chains of abilities, possibly requiring user interaction via form controls along the way to accomplish complex tasks</li>\n\n\n\n<li><strong>Visual Workflow Editor</strong>—A drag-and-drop interface where users can create custom workflows without coding</li>\n</ol>\n\n\n\n<p>In short, the idea is to make it possible that you instead of manually creating a new page (going to Pages → Add New → entering title → setting up template), you could use a workflow that asks for the page title upfront, automatically creates it, and takes you straight to editing &#8211; all triggered by a single command.</p>\n\n\n\n<p>In his overview issue, <a href=\"https://github.com/WordPress/gutenberg/issues/70862\"><strong>Admin Redesign: A solid routing foundation</strong></a>, <strong>Riad Benguella</strong> shares insights from the site editor work and discusses plans to improve the admin dashboard&#8217;s structure by changing how pages load and connect. Using advancements from the performance team on speculative loading and view transitions, as well as various new libraries, should help the admin page load more quickly and smoothly and improve the developer experience for contributors as well as 3rd-party product builders. </p>\n\n\n\n<p>The challenging aspect is ensuring backward compatibility in WordPress so that thousands of plugins continue to function well while creating a new, faster foundation.</p>\n\n\n\n<p>All three GitHub issues are ready to be discussed with the larger site builder and developer community. It&#8217;s the moment to take part in the next iteration of the admin design by providing feedback and sharing use cases.</p>\n\n\n\n<p>In this week&#8217;s podcast episode, <strong>Tammie Lister</strong> makes a case to developers to work with the current iteration of DataViews and Data Form for plugins to become familiar with the approaches, develop muscle memory, and provide feedback on what doesn&#8217;t work yet to make sure it&#8217;s included in the following iterations of the Admin Design work. </p>\n\n\n\n<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\">\n<p><img alt=\"🎙\" class=\"wp-smiley\" src=\"https://s.w.org/images/core/emoji/16.0.1/72x72/1f399.png\" style=\"height: 1em;\" /> The latest episode <a href=\"https://gutenbergtimes.com/podcast/gutenberg-changelog-118-wordpress-new-ai-team-the-pride-photo-drive/\">Gutenberg Changelog 118 – WordCamp Europe, WordPress New AI Team, the Pride Photo Drive, Gutenberg 20.9 and 21.0 </a> <strong>Anne McCarthy</strong> is back from sabbatical and we talked about WordCamp Europe, the new WordPress AI team, the Pride Photo Drive, and Gutenberg 20.9 and 21.0 . </p>\n\n\n\n<p><em>If you are listing via Spotify, please leave a comment. If you listen via other podcast apps, please leave a review. It&#8217;ll help with the distribution.</em></p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img alt=\"\" class=\"wp-image-40687\" height=\"185\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/06/Screenshot-2025-06-14-at-08.28.08.png?resize=652%2C185&#038;ssl=1\" width=\"652\" /></figure>\n</div></div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"0-p\">Plugins, Themes, and Tools for #nocode Site Builders and Owners</h2>\n\n\n\n<p><strong>Wes Theron</strong>, Automattic, published a new video to teach you how to  <strong><a href=\"https://www.youtube.com/watch?v=zU7JKgwnwjs\">use the Group Block</a></strong>. Besides adding a Group block to your canvas, he covered how you can nest multiple Group blocks and control them via the ListView. He also has tips on styling a group block, organizing your layout, and previewing it on mobile devices or locking it against accidental changes.</p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p><strong>Simon Cooke</strong> from Human Made put out an interesting piece called <a href=\"https://humanmade.com/full-site-editing/full-site-editing-vs-leading-page-builders-a-strategic-comparison/\"><strong>Full Site Editing vs. Leading Page Builders: A Strategic Comparison</strong></a>. He explains why going with Full Site Editing can be a game changer—it&#8217;s built right into the WordPress core. This means it&#8217;s generally faster, more secure, and way easier to manage when things get big. On the flip side, page builders can really bog things down and cause a headache with plugins, especially for larger teams.</p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p>The <a href=\"https://wordpress.org/plugins/view-transitions/\">View Transitions </a>plugin by <strong>Felix Arntz</strong> played the main character in <strong>Jamie Marsland&#8217;</strong>s video <a href=\"https://www.youtube.com/\"></a><a href=\"https://www.youtube.com/\"></a><a href=\"https://www.youtube.com/watch?v=eQu5UhWskuM\"><strong>This FREE WordPress Plugin Is a Must-Have for Every Website!</strong></a> It makes your WordPress site to feel faster, smoother, and more like a modern app. Marsland feels that anyone&#8217;s hardly talking about it.</p>\n\n\n<div class=\"wp-block-newsletterglue-showhide ng-block\" width=\"100%\">\n<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\">\n\n</div></figure>\n</div>\n\n\n<p><strong>Joe Simpson Jr.</strong> gave a talk at <strong>WordCamp Monclair</strong>: <strong><a href=\"https://wordpress.tv/2025/07/25/a-journey-from-page-builders-to-blocks-in-wordpress/\">A Journey from Page Builders to Blocks in WordPress</a></strong> and it now available on WordPressTV. <br />If you’re still hanging on to the Classic Editor or those tried-and-true theme methods, you’re not alone—and this session is right up your alley. Simpson takes a leisurely stroll through a real-world site rebuild, sharing the bumps and surprises that come with moving from classic setups or page builders to full site editing with blocks. He&#8217;ll talk through how to pick the right tools for your needs, compare the different ways to build a site these days, and help you figure out when it might finally be time to make the switch. Simpson also even looks back at how Gutenberg has evolved over the years. Whether you’re new to WordPress or just a bit slow to embrace the changes, there’s something here for you.</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"2-word-press-6-0-1-and-6-1-scheduled\">Theme Development for Full Site Editing and Blocks</h2>\n\n\n\n<p>Cloudways&#8217; <strong><a href=\"https://x.com/iiarehman\">Abdul Rehman</a></strong> set out to explain <a href=\"https://www.cloudways.com/blog/wordpress-hybrid-themes/\"><strong>WordPress Hybrid Themes: What They Are, Why They Matter, and How to Build One in 2025</strong></a>. He found<br />Hybrid WordPress themes are the best of both worlds—they mix old-school classic theme structure with cool new block features. You get more design freedom without ditching your old plugins or custom code. Perfect if you want flexibility but aren’t ready for a full block theme leap.</p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p>At WordCamp Montclair, <strong>Beth Soderberg</strong>—who’s been using blocks since the early days—shared <a href=\"https://wordpress.tv/2025/07/25/my-process-for-building-a-custom-wordpress-theme-in-2025/\"><strong>how she builds custom WordPress themes in 2025</strong></a>. She walked us through her current process of building a block theme. She talked about choosing base themes and explained how her tools and workflow have changed. Soderberg also broke down how she decides when to use the editor and when it’s better to dive into code, plus showed how blocks can handle page structure instead of relying on old-school templates. She wrapped up with some tips on setting up the site editor so it’s easy for anyone to manage a block-based site.</p>\n\n\n<section class=\"wp-block-newsletterglue-callout undefined not-color-set\" style=\"border-color: #f9f9e5; border-radius: 22px; border-style: solid; border-width: 0; padding-top: 20px; padding-bottom: 20px; padding-left: 20px; padding-right: 20px; text-align: left; margin-left: 0; margin-right: 0; margin-top: 0px; margin-bottom: 0px; background-color: #f9f9e5;\">\n<p><strong> <a href=\"https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/\" rel=\"noreferrer noopener\" target=\"_blank\">&#8220;Keeping up with Gutenberg &#8211; Index 2025&#8221;</a> </strong><br />A chronological list of the WordPress Make Blog posts from various teams involved in Gutenberg development: Design, Theme Review Team, Core Editor, Core JS, Core CSS, Test, and Meta team from Jan. 2024 on. Updated by yours truly. The previous years are also available: <strong><strong><a href=\"https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/keeping-up-with-gutenberg-index-2020/\">2020</a> | <a href=\"https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/keeping-up-with-gutenberg-index-2021/\">2021</a></strong> | <strong><a href=\"https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/keeping-up-with-gutenberg-index-2022/\">2022</a></strong></strong> | <strong><a href=\"https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/gutenberg-index-2023\">2023</a></strong> | <a href=\"https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/gutenberg-index-2024/\"><strong>2024</strong></a></p>\n</section>\n\n\n<h2 class=\"wp-block-heading\" id=\"3-building-themes-for-fse-and-word-press\">Building Blocks and tools for the block editor</h2>\n\n\n\n<p>If you found last week&#8217;s four-hour Block Development Cookbook video was a little too much to get started, <strong>Ryan Welcher</strong> began the work of slicing up the cookbook into individual recipes videos. Here is <a href=\"https://www.youtube.com/watch?v=K4COA6no19k\">his announcement video</a> and first recipe: <strong><a href=\"https://www.youtube.com/watch?v=ogf0qOAmkIo\">Save Time With This Block Binding Trick!</a></strong></p>\n\n\n<div class=\"wp-block-newsletterglue-showhide ng-block\" width=\"100%\">\n<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\">\n\n</div></figure>\n</div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n<section class=\"wp-block-newsletterglue-callout undefined not-color-set\" style=\"border-color: #eeeeee; border-radius: 26px; border-style: solid; border-width: 0; padding-top: 20px; padding-bottom: 20px; padding-left: 20px; padding-right: 20px; text-align: left; margin-left: 0; margin-right: 0; margin-top: 0px; margin-bottom: 0px; background-color: #f3efe9;\">\n<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>\n\n\n\n<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>\n\n\n\n<p><img alt=\"GitHub all releases\" src=\"https://img.shields.io/github/downloads/bph/gutenberg/total?style=for-the-badge\" /></p>\n</section>\n\n\n<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>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" />\n\n\n\n<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>\n\n\n\n<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:\"Fri, 25 Jul 2025 23:19: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:\"\n	\n	\n	\n	\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:84:\"Open Channels FM: Managing Team Growth and Delegation in WordPress Plugin Businesses\";s: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=103823\";s: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:91:\"https://openchannels.fm/managing-team-growth-and-delegation-in-wordpress-plugin-businesses/\";s: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:348:\"In this episode of WP Behind the Builds series, host Mark Westguard chats with Maarten Belmans of Studio Wombat to explore the ins and outs of running a WordPress plugin business. Maarten shares his journey from leaving a cushy IT consulting job to traveling Australia and launching his first WordPress plugin. The conversation covers how [&#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:\"Thu, 24 Jul 2025 13:22: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:5:\"BobWP\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:9;a:6:{s:4:\"data\";s:21:\"\n	\n	\n	\n	\n	\n	\n	\n	\n	\n	\n\";s: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:102:\"WPTavern: #178 – Adam Silverstein Explores Transformative Browser Features Impacting WordPress Sites\";s: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=197768\";s: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:116:\"https://wptavern.com/podcast/178-adam-silverstein-explores-transformative-browser-features-impacting-wordpress-sites\";s: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:79151:\"<details>Transcript<div>\n<p>[00:00:19] <strong>Nathan Wrigley:</strong> Welcome to the Jukebox Podcast from WP Tavern. My name is Nathan Wrigley.</p>\n\n\n\n<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 new, native browser features, are transforming what&#8217;s possible on the web.</p>\n\n\n\n<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 and paste that URL into most podcast players.</p>\n\n\n\n<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>\n\n\n\n<p>[00:01:10] <strong>Adam Silverstein:</strong> So on the podcast today we have Adam Silverstein.</p>\n\n\n\n<p>Adam is a WordPress Core committer and works to fix bugs and improve modern web capabilities. He&#8217;s also a Developer Relations Engineer on Chrome&#8217;s Web Platform team at Google, and there he focuses on making the open web better for everyone.</p>\n\n\n\n<p>Adam is here to break down how the rapid evolution of browser technology can supercharge your WordPress sites. We are doing this by referencing his presentation at WordCamp Europe 2025, in which he covered multiple new features of browsers, which can be used by WordPress users to bring a variety of experiences to their websites. In many cases these are browser APIs and features, and are quietly redefining what&#8217;s possible on the web. From CSS powered popovers, and scroll driven animations, to speculative loading that speeds up your page transitions. Adam explains how these advancements are changing what&#8217;s possible for both developers and end users.</p>\n\n\n\n<p>The conversation sheds light on the collaboration between browser vendors, Chrome, Firefox, Safari, and Edge, through initiatives like Interop and Baseline, paving the way for more consistent and robust features across platforms.</p>\n\n\n\n<p>Adam also talks about practical topics central to the WordPress community, like how the Popover API and native CSS carousels reduce JavaScript bloat, make sites more accessible, and deliver a better overall user experience.</p>\n\n\n\n<p>He shares exciting new frontiers, such as browser-based image processing, powered by WebAssembly, which is paving the way for universal support of modern formats like AVIF and Ultra HDR, and even running AI locally in your browser, no API key or cloud server required.</p>\n\n\n\n<p>He provides concrete examples on how these technologies can be leveraged in WordPress via Core updates, canonical plugins, and Gutenberg experiments, with a special focus on how developers can get involved and offer feedback to help shape future web standards. Prepare to look at your browser in a whole new light, truly.</p>\n\n\n\n<p>Whether you&#8217;re a theme designer, plugin developer, or site owner simply curious about what&#8217;s next, this episode is for you.</p>\n\n\n\n<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>\n\n\n\n<p>And so without further delay, I bring you Adam Silverstein.</p>\n\n\n\n<p>[00:03:47] <strong>Nathan Wrigley:</strong> I am joined on the podcast by Adam Silverstein. Hello, Adam.</p>\n\n\n\n<p>[00:03:51] <strong>Adam Silverstein:</strong> Hello.</p>\n\n\n\n<p>[00:03:53] <strong>Nathan Wrigley:</strong> This is our second conversation. We had a conversation, I want to say four years ago, maybe more in San Diego, think. And at that point we talked about images, AVIF, WebP, those kind of things. We might get into that today.</p>\n\n\n\n<p>Adam&#8217;s been working with Google for many, many years. Making the web a faster place, I think is a fair way to sum up your career. Just tell us a little bit about yourself, just so that, because this is a fairly technical topic and you are honestly going to have to teach me an awful lot as we speak. Let us know what your credentials are, why people should listen to what you have to say.</p>\n\n\n\n<p>[00:04:21] <strong>Adam Silverstein:</strong> Oh, wow. Being a Googler is not good enough, huh? Well, I&#8217;ve been doing WordPress for a long, long time. I think I started, first started contributing back in 3.6. So I&#8217;m deeply involved in the Core project. I am a Core committer, which is something that I consider an honor, a privilege, and a responsibility. There&#8217;s not that many of us in the world, but I&#8217;m one of the people that actually commits code to WordPress.</p>\n\n\n\n<p>And I used to have my own run, my own agency, tiny me agency, but building sites for clients directly. Then I wound up at 10up. Learned to build enterprise sites, and work with large teams, and do a lot of planning. And then eventually made my way to Google where I&#8217;ve been doing developer relations work. I&#8217;m trying to educate developers and bring things like all these new APIs that I talked about in this talk, so that people can learn about it.</p>\n\n\n\n<p>[00:05:05] <strong>Nathan Wrigley:</strong> Have you been focused more or less entirely on WordPress, or are you in any way engaged with the Chrome team?</p>\n\n\n\n<p>[00:05:11] <strong>Adam Silverstein:</strong> Yeah. So our team kind of organisationally was under Chrome, like that was kind of where we sit. We worked with other, like I&#8217;ve worked with Drupal and TYPO3. So I&#8217;ve worked with some of the other CMSs out there, especially like the open source ones. So that&#8217;s kind of been in my purview, but I would say primarily focused on WordPress. That&#8217;s where I&#8217;ve had the most experience and am most comfortable.</p>\n\n\n\n<p>[00:05:32] <strong>Nathan Wrigley:</strong> It&#8217;s kind of interesting because on my computer, obviously I have a browser using Chrome, it&#8217;s kind of one of the most benign pieces of software that&#8217;s there, in that it doesn&#8217;t really have a task that&#8217;s assigned to it. I have a music editing piece of software, and I go there for that. And I have a video editing piece of software, and on it goes.</p>\n\n\n\n<p>[00:05:49] <strong>Adam Silverstein:</strong> Yes. And you&#8217;re running those in your browser.</p>\n\n\n\n<p>[00:05:51] <strong>Nathan Wrigley:</strong> Right. But also the browser is just this open thing, you know, you can basically do anything in it, and so incredibly powerful. And it feels like in the last few years it&#8217;s got way more powerful. But most of that is entirely hidden because I open it up and it looks broadly the same today as it did five years ago. You know, the UI may have changed a little bit.</p>\n\n\n\n<p>[00:06:13] <strong>Adam Silverstein:</strong> Right. But what&#8217;s changed is what you can do with it, right? So you talked about editing video or editing audio in your browser. Like, that was not something that was possible five or 10 years ago when we had blue links and HTML. And it was basically, we were publishing newspapers on the web. That was the limit of what we could do.</p>\n\n\n\n<p>[00:06:29] <strong>Nathan Wrigley:</strong> I have an app, it&#8217;s called Descript. I don&#8217;t know if you&#8217;ve come across it, but it&#8217;s a full audio, video editing suite entirely in the browser.</p>\n\n\n\n<p>[00:06:37] <strong>Adam Silverstein:</strong> And famously Adobe released Photoshop. Runs in the browser. The full Photoshop. Yeah, I mean it&#8217;s like mind blowing that that&#8217;s even possible.</p>\n\n\n\n<p>[00:06:45] <strong>Nathan Wrigley:</strong> So the capabilities of the browser have dramatically increased. And you&#8217;ve just done, or you&#8217;re about to do? Just done.</p>\n\n\n\n<p>[00:06:54] <strong>Adam Silverstein:</strong> Yes.</p>\n\n\n\n<p>[00:06:55] <strong>Nathan Wrigley:</strong> Okay. Firstly, how did It go?</p>\n\n\n\n<p>[00:06:56] <strong>Adam Silverstein:</strong> It went great. Packed room. I think people got something out of it. People gave me good feedback.</p>\n\n\n\n<p>[00:07:00] <strong>Nathan Wrigley:</strong> And it was called Modernising WordPress with New Web Platforms. And I&#8217;m just going to read a bit of the blurb that went with that. It says, WordPress is a powerful platform for building websites of all shapes and sizes. To truly thrive, WordPress is embracing the latest advancements in web technology. This talk will explore how developers and site owners can leverage cutting edge web platform capabilities to create next generation WordPress experiences. And then there&#8217;s a little bit more which mentions web APIs and so on and so forth. So that really is going to be the core of this discussion.</p>\n\n\n\n<p>Now, caveat emptor, dear listener, I have nowhere near enough knowledge to ask you these questions. But I&#8217;m going to hope that you are going to help me through it.</p>\n\n\n\n<p>So first stop then, let&#8217;s just go through a whole laundry list of these different APIs. What are some of the fun things that a browser can do now, that it couldn&#8217;t do previously?</p>\n\n\n\n<p>[00:07:53] <strong>Adam Silverstein:</strong> So in the talk, I sort of break it into three areas. There are features that help developers do things that maybe we could do, but we struggled or relied on heavy JavaScript libraries to do.</p>\n\n\n\n<p>There&#8217;s things that help users by creating better experiences on the web than we previously had the ability to do.</p>\n\n\n\n<p>And then the third category is things that previously were just impossible. Just things that we can now do, like running Photoshop in the browser, we mentioned that we could not do before.</p>\n\n\n\n<p>So I did not explore, this is not, the talk was not like an exhaustive list of all the APIs, but it was rather sort of a selection of ones that I thought were interesting. Most of them are new. They are sometimes available only in one browser, not in all the browsers. So they&#8217;re things that are coming to the web platform. Some of them were already on the web platform.</p>\n\n\n\n<p>So let&#8217;s go through them. I&#8217;ll see if I can remember them all. I have my little slide deck here.</p>\n\n\n\n<p>So in the category of helping developers, the first one that I talked about is this thing called the Popover API. So popovers are simply like dialogues or elements that you want to hover above the rest of the page content. And in WordPress we use these extensively in the admin. Like for example, the pointers that you get when you install a new plugin. Or if you open a dialogue, or even like mobile menus use a popover.</p>\n\n\n\n<p>And we have it in Gutenberg. And so we already have this technology, but it relies on JavaScript, and it&#8217;s actually surprisingly complicated to do a popover. You have to pay attention to always being at the highest level. And if there&#8217;s another popover, how do you handle that? And you have to make sure it&#8217;s accessible, so when the user hits the escape key, the popover closes.</p>\n\n\n\n<p>And if it&#8217;s a pointer that&#8217;s trying to point to a new feature, say in a menu, how do you handle when the user resizes the window and that element moves? These are very complicated things. And in JavaScript that means you&#8217;ve got a heavy library that&#8217;s running just to do this simple popover thing.</p>\n\n\n\n<p>So with this new CSS based popover API, you can create a popover with just a couple of lines in your code, and the browser takes care of all of the complicated parts of actually doing the popover.</p>\n\n\n\n<p>[00:09:49] <strong>Nathan Wrigley:</strong> So just pausing there for a moment. The whole power of CSS, I&#8217;m going to say three years, this has been capturing my attention. CSS seems to be able to do a load of programmatic things now that it didn&#8217;t used to be able to. So in this case it&#8217;s, I don&#8217;t know, it&#8217;s calculating the height of the viewport and figuring out is there another thing, how much further to move it down? All of this being handled natively in the browser.</p>\n\n\n\n<p>[00:10:13] <strong>Adam Silverstein:</strong> Exactly. And I think like your point is very true, like CSS capabilities have grown tremendously, and the ability to do sophisticated layouts. And all of these kind of feature things that typically might require JavaScript, now we can do directly in CSS, even things like calculations.</p>\n\n\n\n<p>So CSS is a programming language just like JavaScript, right? People like to poo poo it and and so forth, but it&#8217;s quite powerful. And a lot of these features that I&#8217;m talking about are based on CSS.</p>\n\n\n\n<p>[00:10:36] <strong>Nathan Wrigley:</strong> It&#8217;s kind of interesting, if the 18-year-old me was beginning again, I think CSS would be the thing that I would do first. I think I would learn that inside and out before ever looking at JavaScript. Because I you&#8217;ve got the foundation of modern CSS, and I know there&#8217;s a lot of W3C things that are still being decided and what have you, and obviously the browsers have got various different capabilities. But so much that we would&#8217;ve relied on for JavaScript is now capable with CSS, but unexplored I think by many.</p>\n\n\n\n<p>[00:11:08] <strong>Adam Silverstein:</strong> Right. So this feature popover is available in all the browsers. It&#8217;s in Baseline. So Baseline is the set of features that developers should be looking at for deciding what they can use. Baseline is a somewhat new concept, so people might not be aware of it. But it is basically a way of knowing which features are available on all the major browsers. So if you see a feature that is labeled Baseline, like in the MDN docs, that means it&#8217;s available on all the browsers. You can count on it as a developer.</p>\n\n\n\n<p>So in my talk, I covered a lot of APIs that are actually not in Baseline yet. They&#8217;re still in development. They maybe are available only in Chrome, or Chrome and Edge, or maybe Chrome and Edge and Firefox, but not Safari. As developer, those are the APIs you need to be a little bit wary of, right, because you wanna build something that&#8217;s going to work for everyone.</p>\n\n\n\n<p>In many cases, the API will gracefully degrade, it just won&#8217;t work in the non-supporting browser. But in the case of like a popover, if it is supported in all the browsers, so you&#8217;re safe to use it. If it wasn&#8217;t, you would need to have that JavaScript as a fallback. So some of these APIs are, you know, new and experimental, but the browser vendors are all planning on adding support for them. So I only choose APIs that actually browser vendors have indicated their support.</p>\n\n\n\n<p>[00:12:14] <strong>Nathan Wrigley:</strong> Can we just pause there a moment because I began my journey with the web, oh, Internet Explorer 5 kind of days. You probably remember the days as well as I do, and it was chaos, you know? I mean, really we had to try and fix a whole bunch of things that Internet Explorer did differently from all the other browsers. The browsers didn&#8217;t agree on almost anything. They went off in completely different directions.</p>\n\n\n\n<p>That, I&#8217;m going to say, over the last five or maybe more, maybe more like eight years, there seems to have been a real confluence of, and I don&#8217;t know if that&#8217;s done from like a senior management level, but it does seem like Mozilla is talking to Chromium, Chromium is talking to Safari, and a lot of the people seem to attend the same conferences and talk the same language. They may adopt it at different rates, but they&#8217;re all trying to get to the same point, the open web.</p>\n\n\n\n<p>[00:13:00] <strong>Adam Silverstein:</strong> Yes. And in fact, they&#8217;ve developed an approach to collaborate on this, and that is called Interop. So the Interop effort is sort of a group effort by all of the browsers to agree upon a set of features that they&#8217;re going to work on for each calendar year. So there&#8217;s Interop 2025, there&#8217;ll be one for 2026, and so forth.</p>\n\n\n\n<p>And these features are, they come from either the browser&#8217;s needs, what they want to build, or from developers. So there&#8217;s an open process where they open a GitHub repo each fall and developers can go and submit. And we&#8217;ve actually had some from WordPress that made it in and influenced what browsers do.</p>\n\n\n\n<p>So as developers are out there working, they&#8217;re finding pain points, they&#8217;re struggling to do this or struggling to do that, or it doesn&#8217;t work well in one browser. It works in one browser, but not the other. Interop is sort of the effort each year to come up with a set that the browsers agree upon working on. And those features hopefully all land in Baseline the following year.</p>\n\n\n\n<p>I remember those days very well, and that&#8217;s why we have things like jQuery, right? So we had all these libraries that were built with this promise of sort of normalising the capabilities. Now, you&#8217;re absolutely right, the browsers have realised this is a problem for developers and they&#8217;ve come together to form a standard, and that is the Baseline thing that I mentioned.</p>\n\n\n\n<p>So they&#8217;re always building new APIs on their own, and some of them will never make it into all the browsers, and they may go away or they may change. But if they make it into Baseline, you can be sure that you can use them. And that&#8217;s what&#8217;s different, right? We have this set of features that we can rely on.</p>\n\n\n\n<p>[00:14:21] <strong>Nathan Wrigley:</strong> I kind of feel we lost a decade somewhere of real productivity. You know, the browsers could have been capable of a whole lot more than they are now. I mean, we&#8217;re happy with where we&#8217;ve got, but it does feel like we lost, this proprietary approach to browsers really wasn&#8217;t in the best interest of anybody. But you can see how it grew out of Microsoft and all of these other organizations.</p>\n\n\n\n<p>I&#8217;m guessing that Google with its Chromium browser, Chromium based browser, the fact that that became utterly dominant was probably quite a pivotal point. You know, it was in the sort of eighties and nineties percent, adopted by 80 or 90%. I guess Google was able to push things through a little bit more.</p>\n\n\n\n<p>[00:14:59] <strong>Adam Silverstein:</strong> Perhaps, like they do often lead on features. I mean, I wouldn&#8217;t say they&#8217;re always the lead on features, sometimes Safari has a great idea and they want to develop it, and with Firefox as well. But they do have a huge effort going into it. And, you know, of course Microsoft famously adopted Chromium as the engine for Edge. And so Microsoft is actively contributing as well to Chromium, which is the core of Chrome.</p>\n\n\n\n<p>So yes, I think the dominance did allow them to sort of lead on features and have the other browsers sort of need to follow. If Chrome is going to ship a feature, everyone&#8217;s going to use it. But I don&#8217;t know if that&#8217;s always the case. You know, when you read these, I&#8217;ve read some of these proposals, you know, the browser vendors, they talk to each other in the open, right?</p>\n\n\n\n<p>So these aren&#8217;t like private conversations that are happening in a room somewhere. They are all into open source software. So they&#8217;re, you know, there&#8217;s a repo where like, for example, Chrome will come in and say, we&#8217;re working on this new API, we would like feedback from the teams building Mozilla and Safari about if this is a good feature, are you going to support this? And that&#8217;s like typically early in the process where they try to get that feedback so they know whether this is something that is likely to land in the platform.</p>\n\n\n\n<p>[00:16:02] <strong>Nathan Wrigley:</strong> I don&#8217;t really know whether it was the best thing for one browser to sort of win out, but it certainly seems now that the dust has settled, it seems that that was a fairly good thing to happen.</p>\n\n\n\n<p>[00:16:11] <strong>Adam Silverstein:</strong> Yeah, I mean, I think if we had only had one browser, that would not be good. I mean, Apple is definitely dominant on mobile in markets where iPhones are very popular.</p>\n\n\n\n<p>[00:16:21] <strong>Nathan Wrigley:</strong> North America, for example.</p>\n\n\n\n<p>[00:16:22] <strong>Adam Silverstein:</strong> Exactly. North America and Europe, I think as well. Although if you look at most of the world, it&#8217;s actually Android that is far more dominant. So that&#8217;s where Chrome gets a big percentage of its users because Android is the default browser there, just as Safari is the default browser on iOS devices</p>\n\n\n\n<p>[00:16:35] <strong>Nathan Wrigley:</strong> I guess there was the whole Chromebook thing as well with, you know Google trying to promote this idea of a browser computer, for want of a better word.</p>\n\n\n\n<p>[00:16:43] <strong>Adam Silverstein:</strong> Chrome OS.</p>\n\n\n\n<p>[00:16:44] <strong>Nathan Wrigley:</strong> Yeah, Chrome OS exactly. And but the idea that, when it first came out, I remember looking at Chromebooks and thinking, yeah, it&#8217;s intriguing. It can do Google Docs, but where&#8217;s the video editing? Where&#8217;s the audio editing? I&#8217;m guessing like a modern Chromebook is a full swap out for a, it just doesn&#8217;t have the physical storage memory in some cases.</p>\n\n\n\n<p>[00:17:01] <strong>Adam Silverstein:</strong> It doesn&#8217;t have any. It&#8217;s, well, I mean, it has some for caching, but basically you log in and that&#8217;s your computer. Someone else logs in, it&#8217;s their computer. It&#8217;s fully in the cloud.</p>\n\n\n\n<p>[00:17:09] <strong>Nathan Wrigley:</strong> It&#8217;s pretty amazing.</p>\n\n\n\n<p>[00:17:10] <strong>Adam Silverstein:</strong> Although I will say, I bought a cheap Chromebook, like 150 bucks, refurbished, but I bought it to travel with so that I didn&#8217;t have to carry around my eight pound MacBook Pro. And because I&#8217;m a developer, I figured out how to do development work on it. You can install Linux on it and run, you know, Docker and all the things that you can do on a desktop machine.</p>\n\n\n\n<p>Does take some effort, like that&#8217;s not built in. But they are actually full computers, it&#8217;s just that the way the operating system is set up is this sort of cloud-based thing.</p>\n\n\n\n<p>But it&#8217;s quite, I think they&#8217;re amazing honestly. And, like I said, very inexpensive and also like bulletproof. You never have problems with them because your whole world is basically the browser.</p>\n\n\n\n<p>[00:17:47] <strong>Nathan Wrigley:</strong> And it kind of boots in half a moment, and it&#8217;s so secure.</p>\n\n\n\n<p>[00:17:51] <strong>Adam Silverstein:</strong> Yeah. They&#8217;re fantastic, and especially for like schools or corporate settings because it has all that management built in. I think they&#8217;re great computers. I would definitely recommend them, especially for people who don&#8217;t want to spend all the money that it takes to get, you know, and especially like you&#8217;re saying, everything&#8217;s in the browser these days. So there&#8217;s really, you don&#8217;t need a desktop computer to do most things.</p>\n\n\n\n<p>[00:18:10] <strong>Nathan Wrigley:</strong> Yeah. I think we painted a picture of the power of the browser, we&#8217;ve done well there. We got kind of hijacked a little bit. So you were talking about popovers, that was the first thing. Let&#8217;s return to that. What&#8217;s one of the other things mentioned?</p>\n\n\n\n<p>[00:18:20] <strong>Adam Silverstein:</strong> Next on my list is this Scroll Animations API. So this is animations like CSS animations that are either triggered or tied to a scroll event. So you could think about, like Slider Revolution has this feature in it, or you&#8217;ve seen it on like Apple&#8217;s website where you&#8217;re scrolling and as you&#8217;re scrolling an image is fading in or something is being revealed. Or another good example is like a reading indicator that Medium has at the top of the page as you scroll down.</p>\n\n\n\n<p>So we can do these things today with JavaScript, but it involves paying attention to the user scroll position, and this kind of heavy handed approach to monitoring the user. With CSS scroll driven animations, it&#8217;s just a couple of lines of CSS and suddenly you&#8217;ve tied an animation to scrolling.</p>\n\n\n\n<p>[00:19:01] <strong>Nathan Wrigley:</strong> So again, all handled by CSS, no need for a JavaScript library. Any impact in, I mean, these JavaScript libraries are famous for sort of bogging things down, tons of bloat and what have you. I&#8217;m guessing that because it&#8217;s shipping in the browser, that is minimal to say the least, almost non-existent.</p>\n\n\n\n<p>[00:19:17] <strong>Adam Silverstein:</strong> Yes, and the animations are CSS animations, so they&#8217;re not happening on the main thread. JavaScript famously has one main thread, and if you have something running on that main thread, it&#8217;s going to interfere with other JavaScript. So if you can get rid of some of the JavaScript on your website, that&#8217;s freeing up that thread for the other JavaScript that you have, that you want to do to track your analytics or to, whatever else you&#8217;re trying to do on your page with JavaScript. This is one less piece of JavaScript you need on your site.</p>\n\n\n\n<p>[00:19:42] <strong>Nathan Wrigley:</strong> The feature that you&#8217;ve just mentioned is something that I guess WordPress developers are going to be particularly interested in. They love all that stuff.</p>\n\n\n\n<p>[00:19:48] <strong>Adam Silverstein:</strong> Yes, clients love it. They love animations. And again, this is something that&#8217;s very lightweight, right? The argument against these types of animations is they&#8217;re typically very heavy.</p>\n\n\n\n<p>The other advantages of using CSS based features versus JavaScript is accessibility. Often these features, I mean this isn&#8217;t necessarily true with scroll driven, but like with the carousels, it&#8217;s got that accessibility built in. It&#8217;s got the escaping out of the dialogue.</p>\n\n\n\n<p>Again and again we see that, when you build something in JavaScript, I&#8217;m going to talk in a minute about CSS carousels. When you build it in JavaScript, if you want to make it accessible, there&#8217;s a lot of extra work that goes into doing that well. If the browser builds the feature in as like a fundamental, almost like an HTML component, then the expectation is the browser will take care of that for you. So as a developer, you won&#8217;t even have to pay attention to it.</p>\n\n\n\n<p>[00:20:36] <strong>Nathan Wrigley:</strong> I&#8217;m guessing that in the case of the one you&#8217;ve just described, that&#8217;s really easy to map onto this podcast because a WordPress user, they&#8217;re using a page builder or something like that. They&#8217;re going to have encountered these options, you know, somewhere buried in the settings for this image component is a fade in on scroll.</p>\n\n\n\n<p>And I&#8217;m guessing that in the future in WordPress, this might be some sort of toggle in a block, an image block or something like that. You&#8217;ll just switch it on, assign some characteristics to it like, I don&#8217;t know, fade to 50% at halfway through the viewport. And that will just create the CSS, but all done inside of a panel of a block.</p>\n\n\n\n<p>[00:21:11] <strong>Adam Silverstein:</strong> Yeah, I did exactly that as a pull request and have a link to that in my talk. Yeah, that&#8217;s a great example. It could be an image, it could be a header block.</p>\n\n\n\n<p>I guess one question I have as a Core committer is whether that is actually Core territory. We have this long standing philosophy in WordPress that it&#8217;s kind of the 80 20 rule that a feature that we land in Core should benefit 80% of users, otherwise it belongs in plugin territory.</p>\n\n\n\n<p>That said, one of the things we&#8217;re talking about now is this idea of canonical blocks. So there&#8217;s a lot of new blocks being proposed in Gutenberg right now, and the question is like, how many blocks do you actually want to ship with the editor? There&#8217;s a zillion different things you could think of building a block for, or a feature like animation, say for images like we&#8217;re talking about. But if it&#8217;s not valuable for all users, does it really belong in Core? And does it just overload the list of blocks they have to choose from, or the list of features they have to choose from? Why not just let plugins extend it?</p>\n\n\n\n<p>The other idea, like I said is this idea of canonical blocks. So you could have a block that&#8217;s developed by the Core team, is supported by Core, and is directly installable in the admin, in a like clearly labeled way that this is a Core product. But actually not ship it with WordPress. So it&#8217;s something that you could install with one click. I mean, we actually haven&#8217;t defined exactly what a canonical block or plugin is, but this is sort of what my idea is. It&#8217;s something that&#8217;s like, you&#8217;re one step away from having it installed.</p>\n\n\n\n<p>[00:22:27] <strong>Nathan Wrigley:</strong> Yeah, it feels like a canonical plugin, at least feels to me like something which has the security guarantee of Core, plus the updating guarantee of Core. Basically if you install it, it&#8217;s going to work with the latest version of WordPress, plus the all the backwards compatibility. I kind of like the idea of, like Apple ship with things like iOS, like Core animations. A plugin which just enables the animations in Core blocks.</p>\n\n\n\n<p>[00:22:51] <strong>Adam Silverstein:</strong> Right. Like the capability might already be there. I mean, you know, so one of the other APIs that I talked about in another section is the Speculative Loading API. So this is a good example. And this is actually shipping in WordPress 6.8. And this is the ability for the browser to prefetch the resources for a page that a user is about to navigate to.</p>\n\n\n\n<p>And in WordPress, we shipped it in the most conservative mode possible, which essentially is the user needs to click down on the link, and then before they let go of their mouse, so the time between the mouse down and mouse up event is when the browser is prefetching the resources for that link.</p>\n\n\n\n<p>So if the user clicks down on the link, we&#8217;re very confident that they&#8217;re actually going to navigate. Although it is possible to drag away and not navigate. 90% of users are going to follow that link or more. And so the idea is not to waste prefetching for links that users never visit.</p>\n\n\n\n<p>However it is possible to configure this API in a more bold manner where it will, for example, prefetch links that you hover over, which is going to give you much more of a head start, but also a lower hit ratio where, you know, some people will hover over links and they never click on them. So it depends on your use case.</p>\n\n\n\n<p>So I&#8217;ve already seen, so we landed the API in WordPress at the very conservative level. There&#8217;s already a plugin out that lets users configure that API for their own site, so they can adjust the default settings.</p>\n\n\n\n<p>There&#8217;s another setting that&#8217;s even more aggressive where it actually pre-renders the page. And in that setting, it&#8217;s almost as if you&#8217;ve loaded the page you&#8217;re about to navigate to in another tab, and when you click the link, it&#8217;s like switching tabs. It&#8217;s an instantaneous transition. It&#8217;s like amazing.</p>\n\n\n\n<p>However, you know, if you&#8217;re pre-rendering every page a user hovers over, that&#8217;s going to be a huge additional load on your server. So there is a trade off there. But maybe you have like a large call to action button on your homepage that 50% of your users are going to click on. Go ahead and prefetch that. They&#8217;re going to get a better experience. You&#8217;re going to get a better conversion rate if that page loads faster.</p>\n\n\n\n<p>[00:24:45] <strong>Nathan Wrigley:</strong> if memory serves, this is a browser API, Speculation Rules API and everybody&#8217;s got it switched on in 6.8 and beyond. But it&#8217;s in conservative, and it&#8217;s prefetch not pre-render, it&#8217;s click. And honestly, the chances of you not wishing to get to that page are pretty, like you say, you could slide away. But yeah, if you were to download the speculation rules, I can&#8217;t remember what the name of the plugin is. Anyway, the plugin, the option there is to do things like pre-render, or hover. And then, yeah. You could get into a real mess with the server and, you know, just wasteful.</p>\n\n\n\n<p>[00:25:23] <strong>Adam Silverstein:</strong> Yeah. If you, especially if you&#8217;re on like a light end server, but maybe you want that, like the most important. Like, let&#8217;s say you have an e-commerce store and you&#8217;re really trying to get people to add things to your cart. You know, there&#8217;s all kinds of studies that show that if your pages load faster, and it&#8217;s even buy like things like a hundred milliseconds, the conversion ratio is much higher. People are quick to abandon slow sites. I mean, there&#8217;s all kinds of data on that.</p>\n\n\n\n<p>So you may decide it&#8217;s worth investing the additional resources and dedicated hosting and caching so that you can prefetch and pre-render and get that faster navigation. This API enables that type of navigation that is, you really can&#8217;t get that without this API because it&#8217;s basically letting the browser know, it&#8217;s okay to like start loading resources before I even visit a page.</p>\n\n\n\n<p>[00:26:06] <strong>Nathan Wrigley:</strong> Yeah, I keep having this thought that at some point Chrome&#8217;s going to come up with, it&#8217;s going to know a whole year in advance all pages that I wish to visit and just load them all for me.</p>\n\n\n\n<p>[00:26:15] <strong>Adam Silverstein:</strong> Well, I did actually an experiment with AI to see, like ask AI which link is the user most likely to click on? And I tried it both with just literally dropping the HTML of the webpage in the AI, as well as drawing a screenshot. And I tried it on a very simple page, so like a WordPress plugin page. There&#8217;s a large blue button that says download. Probably the most likely link that users will click on. But the AI was like very good at identifying that. So in theory you could imagine that the browser could actually predict into some degree what users, based on their behavior, are going to click on, or based on the layout of the site.</p>\n\n\n\n<p>[00:26:50] <strong>Nathan Wrigley:</strong> So this is a, curious new world in which we live, isn&#8217;t it? So there could be heuristics about what I&#8217;m literally doing with the mouse. So the mouse is, I don&#8217;t know, approaching a button. That&#8217;s a fairly strong indication. And also, I guess the speed.</p>\n\n\n\n<p>[00:27:05] <strong>Adam Silverstein:</strong> Yeah, if it&#8217;s paused over the button.</p>\n\n\n\n<p>[00:27:07] <strong>Nathan Wrigley:</strong> Right, or slowing down, the speed is sort of coming to a terminus. Yeah. This is all really interesting.</p>\n\n\n\n<p>The 6.8, the Speculative Loading in 6.8, what I really like about that is that there&#8217;s zero configuration. It just works. So it&#8217;s using this fabulous new feature of the browser, but also no technical knowledge whatsoever. Absolutely none. And it would hopefully just save you a bunch of, well, your visitors a bunch of time.</p>\n\n\n\n<p>[00:27:33] <strong>Adam Silverstein:</strong> Exactly.</p>\n\n\n\n<p>[00:27:34] <strong>Nathan Wrigley:</strong> Yeah. Fabulous. Okay, that&#8217;s another one. Any others?</p>\n\n\n\n<p>[00:27:37] <strong>Adam Silverstein:</strong> Oh my gosh, so many. We did touch briefly on CSS carousels, but let&#8217;s just cover that again. So over half of WordPress websites load some sort of slider or JavaScript library.</p>\n\n\n\n<p>[00:27:49] <strong>Nathan Wrigley:</strong> Like them or hate them, they&#8217;re there.</p>\n\n\n\n<p>[00:27:49] <strong>Adam Silverstein:</strong> Yes. And even if people don&#8217;t use them, they seem to load them because I don&#8217;t know if half of sites all have sliders, but in any case, this is a very popular feature for WordPress sites. And of course there&#8217;s many plugins out there that do this, and they all rely on a JavaScript library. There are several very popular ones. They&#8217;re very full featured libraries. They do all the things that you need for a carousel.</p>\n\n\n\n<p>Now we can do that with CSS, so you don&#8217;t need the JavaScript library. Now, there may be advanced features that the JavaScript libraries will be able to do that will add some functionality. But the goal of the CSS implementation is to basically be feature parity with what you can do now with JavaScript. So all kinds of carousels</p>\n\n\n\n<p>with buttons that you can click, with little indicators as to which slider, which image you&#8217;re on. You know, just all the features that you can imagine in a carousel. There&#8217;s a great demo site on the chrome.dev site of just like a zillion different carousels.</p>\n\n\n\n<p>[00:28:41] <strong>Nathan Wrigley:</strong> What does the DOM look like for that?</p>\n\n\n\n<p>[00:28:43] <strong>Adam Silverstein:</strong> It&#8217;s so simple. It&#8217;s like you have the images themselves, and you have a couple of pseudo elements like scroll marker, and there&#8217;s some for the scroll arrows. I don&#8217;t actually remember all the deals because I haven&#8217;t built one. But it&#8217;s all done using like CSS selectors essentially to indicate which elements are the control elements, and which elements are the target elements. And you can even do things like grouping them so that like when you hit the right arrow, it&#8217;s like a page of things moving back and forth, like several elements.</p>\n\n\n\n<p>Like I said, they&#8217;ve tried to address all of the features. And again, here you would be able to do a CSS based carousel, that means no JavaScript required, right? You don&#8217;t need to load that giant JavaScript library. It&#8217;s going to be immediately available, right? So JavaScript takes some time to load. It&#8217;s going to work more quickly. And it&#8217;s also hopefully going to have accessibility built in. So you don&#8217;t have to worry about if your JavaScript library is keeping up with accessibility standards. It&#8217;s going to be a standard web component.</p>\n\n\n\n<p>[00:29:36] <strong>Nathan Wrigley:</strong> Okay, okay. Of course. Yeah, if everybody&#8217;s implementing the same thing, it&#8217;s not this weirdy JavaScript thing that you downloaded from somewhere.</p>\n\n\n\n<p>And okay, another question about, just sticking on that one for a moment. Will that be performant in the sense of, I don&#8217;t know, if I&#8217;ve got a carousel of 15 images, will the 15th one be loading at the moment.</p>\n\n\n\n<p>[00:29:56] <strong>Adam Silverstein:</strong> Lazy loaded?</p>\n\n\n\n<p>[00:29:57] <strong>Nathan Wrigley:</strong> Yeah, exactly.</p>\n\n\n\n<p>[00:29:57] <strong>Adam Silverstein:</strong> You would hope so, yes. I mean, I think in general it will be more performant than a JavaScript implementation. Unless the JavaScript implementation is doing some magic that the browser&#8217;s not aware of, like lazy loading. I think that is, will be built in. But you, again, don&#8217;t have that JavaScript running on the main thread doing the actual animations. All the animations are CSS animations.</p>\n\n\n\n<p>[00:30:16] <strong>Nathan Wrigley:</strong> It&#8217;s kind of curious because that example, I&#8217;ve always liked how they look but I&#8217;ve always been persuaded that it&#8217;s the wrong thing to implement because of the JavaScript bloat, the inaccessibility. So they kind of went into that pariah status for a while. But if done right, there&#8217;s absolutely no reason not to implement it.</p>\n\n\n\n<p>[00:30:36] <strong>Adam Silverstein:</strong> Yeah. And I think, you know, like you said, clients love them, they&#8217;re very popular. I think one of the arguments that I&#8217;ve heard about them is that data shows that most users never navigate beyond like the second image. So there is sort of questionable value there, especially if you&#8217;ve got one that say has 30 images in it on your homepage. Maybe that&#8217;s not such a great idea.</p>\n\n\n\n<p>But maybe if you have three products that you want to feature at the top and you don&#8217;t know how to feature them all, a slider is a good way to have three things that the user can see all in the same space. So I think they have their uses, but I think there is the sort of resistance to using them from developers is based on solid data.</p>\n\n\n\n<p>[00:31:09] <strong>Nathan Wrigley:</strong> It&#8217;s interesting as well because given, I don&#8217;t know the, bad reputation they have, it&#8217;s kind curious that that got made.</p>\n\n\n\n<p>[00:31:16] <strong>Adam Silverstein:</strong> Right. So this actually brings us to a good point. Where do the browser vendors come up? Why are they building these things right? So the reason they decided to build CSS Carousel is this is an area that developers have struggled with.</p>\n\n\n\n<p>Like I said, there are several libraries that are well established that have built really good sliders, but that&#8217;s taken a long time, right? And they still have accessibility challenges.</p>\n\n\n\n<p>This is something that a lot of developers want to build, their clients are demanding it, and they&#8217;ve typically struggled to actually build something quality. So this is the impetus for a lot of these features that I talked about is places that developers are struggling. And that Interop project that I mentioned earlier, that&#8217;s where developers can give their feedback to the browser vendors about which features they feel are lacking.</p>\n\n\n\n<p>That was the sort of like the last question of my talk was to developers, what are you struggling, what are you constantly using JavaScript for? What are you finding that&#8217;s still incompatible between browsers? Because I think that&#8217;s actually really important to get feedback from developers. The browser builders are in a room somewhere, they&#8217;re doing their thing. You know, they&#8217;re not out here building WordPress websites, so they&#8217;re not building Gutenberg. So we as developers have a responsibility to give feedback to the actual browser vendors so they know what we need, what we&#8217;re struggling with.</p>\n\n\n\n<p>[00:32:27] <strong>Nathan Wrigley:</strong> You may not know the answer to this question, but does Chrome in a default setup where I install Chrome and then just click yes, yes, yes to everything that I&#8217;m asked. Does it provide heuristics back to Google about things like that? There&#8217;s millions of people interacting with carousels, for example.</p>\n\n\n\n<p>[00:32:44] <strong>Adam Silverstein:</strong> I&#8217;m going to say, well, going to say no because they&#8217;re, Chrome does collect data, but you have to opt in. By default, you would not have that box checked.</p>\n\n\n\n<p>[00:32:51] <strong>Nathan Wrigley:</strong> But it is possible.</p>\n\n\n\n<p>[00:32:52] <strong>Adam Silverstein:</strong> Yes. And many people do. Many people do provide that. And most of that data is available publicly. So that data is anonymised and then made available publicly as part of the CrUX, the Chrome user experience data set. And that&#8217;s an open public data set that you can query using BigQuery. If you have a website or a product that&#8217;s very popular, you can get amazing data about how many sites are using it, about the performance of those sites, about growth over time. There&#8217;s all kinds of data out there.</p>\n\n\n\n<p>Of course, again, it&#8217;s a subset of the web. It&#8217;s not every website on the web because there&#8217;s a privacy concern about this data. So the only data that&#8217;s reported is when the pages or sites have enough visitors that you couldn&#8217;t track back to individual users. So it is a limited data set. Small sites with low traffic won&#8217;t appear in it. However, it&#8217;s incredibly valuable. And if you build a popular plugin, for example, this is a great way for you to gather data about how your plugin is being used, because some of the sites that install it will be in that data set and it&#8217;s public data.</p>\n\n\n\n<p>[00:33:51] <strong>Nathan Wrigley:</strong> Yeah. I&#8217;ll put a link to that in the show notes. That&#8217;s CrUX. CrUX. So that&#8217;s interesting. So there&#8217;s two routes there. There&#8217;s the heuristics provided by the browser if you opt in, but also it sounds to me like there are open channels communicating through people like you, if you&#8217;re a developer.</p>\n\n\n\n<p>[00:34:04] <strong>Adam Silverstein:</strong> Like me, or like the Interop process that I mentioned earlier, where they open up a GitHub repo each year and you can just open an issue saying, here are the things that we&#8217;re struggling with. And I mentioned like Gutenberg actually did that.</p>\n\n\n\n<p>For a couple years I was posting on the WordPress blog, hey, Interop is open, let&#8217;s give feedback. We did have one, at least one year where the Gutenberg team went in and made a long list of things that where they found incompatibilities. And some of those made their way into actual interrupt tasks. So it is incredibly valuable to give that feedback. And the browsers want to know, they want to build products that developers like to use.</p>\n\n\n\n<p>[00:34:36] <strong>Nathan Wrigley:</strong> Okay. next, if there is a next.</p>\n\n\n\n<p>[00:34:38] <strong>Adam Silverstein:</strong> Oh yes. Okay, so now we&#8217;re getting into, I think I hopped around a little bit, but the next section was about improving user experience. So the first one is actually a really simple one that I think is really cool. It&#8217;s customisable select.</p>\n\n\n\n<p>[00:34:49] <strong>Nathan Wrigley:</strong> Oh, so good.</p>\n\n\n\n<p>[00:34:50] <strong>Adam Silverstein:</strong> Yes. So the select element traditionally has been rendered by the operating system. And that means, so if you have a select list, like a dropdown, you&#8217;re going to see a bunch of words and you&#8217;re going to be able to scroll through those. But if you want to make it more visual, say add some images or icons next to each word, you really couldn&#8217;t do that. If you wanted to do that, you&#8217;d reach for a JavaScript library that would render the select element graphically, but wasn&#8217;t really a select element.</p>\n\n\n\n<p>So this is the ability to actually put HTML inside your select elements. So a great example of that is icons and images in the dropdown. So, for example, I gave a lot of different examples of how we can use this in WordPress Core, but one is in the media library where we filter by media type. We can add like nice little icons. So if you&#8217;re looking for, you know, the videos, you get a nice little video icon. It just makes it easier for users to find what they&#8217;re looking for.</p>\n\n\n\n<p>And again, this is still a semantic select element, so it&#8217;s going to be accessible just like a regular select element. If the browser doesn&#8217;t support this feature, it&#8217;s just going to fall back to a regular select element.</p>\n\n\n\n<p>It&#8217;s also going to autofill correctly, right? So another example I gave was a currency selector that adds flags for the country of the currency. A nice, helpful thing. If your browser knows that you use the Euro, it&#8217;s going to select the Euro because autofill is this great technology that helps us select things that we always select. But if it&#8217;s a JavaScript do hickey, the browser has no idea what&#8217;s going on inside there, so autofill will not work correctly. So it has some real key advantages over traditional, you know, the way we would build these before. Now we can just do full on HTML select elements.</p>\n\n\n\n<p>[00:36:21] <strong>Nathan Wrigley:</strong> It&#8217;s the kind of thing that once you&#8217;ve seen it, it&#8217;s like, why.</p>\n\n\n\n<p>[00:36:25] <strong>Adam Silverstein:</strong> Why didn&#8217;t that exist before?</p>\n\n\n\n<p>[00:36:27] <strong>Nathan Wrigley:</strong> Because we just have the OS. It just looks like an OS selector. So on my Mac, it looks like a Mac. On my phone, it looks like Android, whatever that would be. Which leads me to that actually. So on the phone, same experience because it&#8217;s not stepping outside of the browser. if I&#8217;ve got those flags, for example, or I&#8217;ve got coloured backgrounds or rounded corners or whatever it may be, Because it&#8217;s not reaching out to the OS to create this select, it&#8217;ll work on any device.</p>\n\n\n\n<p>[00:36:53] <strong>Adam Silverstein:</strong> Right.</p>\n\n\n\n<p>[00:36:54] <strong>Nathan Wrigley:</strong> Nice.</p>\n\n\n\n<p>[00:36:54] <strong>Adam Silverstein:</strong> And it&#8217;s CSS controlled, right? So you could do a different mobile implementation than your desktop implementation.</p>\n\n\n\n<p>[00:36:59] <strong>Nathan Wrigley:</strong> Yeah. I mean, it&#8217;s profoundly brilliant when you see. I&#8217;ll put some links to some demos somewhere into the shownotes.</p>\n\n\n\n<p>[00:37:06] <strong>Adam Silverstein:</strong> You know, I&#8217;ve got several pull requests open both in Core and in Gutenberg to add these features into the select elements that we already have. It&#8217;s kind of a simple enhancement. And again, like if your browser doesn&#8217;t support it, you don&#8217;t really, there&#8217;s no harm, right? You don&#8217;t benefit from the feature, but you don&#8217;t lose anything either. I love that one. You know, I&#8217;m hoping that form plugins in our ecosystem will adopt it.</p>\n\n\n\n<p>[00:37:25] <strong>Nathan Wrigley:</strong> Oh, no doubt. I mean, why wouldn&#8217;t you, basically? that&#8217;s a brilliant one. Thank you. Next.</p>\n\n\n\n<p>[00:37:30] <strong>Adam Silverstein:</strong> Another one that, this one actually pairs really well with the Speculative Loading API and it&#8217;s called, the View Transitions API.</p>\n\n\n\n<p>And this one is really cool because it basically turns your static website into a, kind of a fluid app-like experience. And in the slide deck, I have this great demo video of just a classic theme, where the users just clicking through to different pages. So you&#8217;re on say, the archive list and you&#8217;ve got a list of titles. And you click on a title and it&#8217;s going to take you to the single post page. And what happens is the browser actually navigates between those two states. So you see the title that you just clicked on, grow and expand, and it winds up in the position where it will be on the page you&#8217;re navigating to.</p>\n\n\n\n<p>Same thing like with the featured image. Let&#8217;s say you have featured images and those appear in a list and you click on the featured image, the image will grow to where it&#8217;s going to be in the final position. So it creates a smooth animation between the different pages of your site, or states of a single page app.</p>\n\n\n\n<p>And these are again, CSS animation, so you can control them. It has an auto mode where it picks the animation for you, so you really can do a very, just few lines, and get this effect working, but you can also customise it. So if you want the page to say scroll left when you hit the next button and scroll to the right when you hit the back button, you can implement it that way.</p>\n\n\n\n<p>[00:38:45] <strong>Nathan Wrigley:</strong> So the place I&#8217;ve seen this before really is on mobile applications.</p>\n\n\n\n<p>[00:38:48] <strong>Adam Silverstein:</strong> On apps. You see it on apps, right. Because it creates this fluid experience. We are used to on the web this idea of, you click on a link and then there&#8217;s kind of like a little bit of a wait. Then boom, there&#8217;s a refresh and the next page starts loading. And this kind of bridges that gap. It&#8217;s something that changes how users perceive your website. It doesn&#8217;t really change what&#8217;s loading. It&#8217;s the same before and after states. What it&#8217;s doing is creating that transition between the two states.</p>\n\n\n\n<p>[00:39:12] <strong>Nathan Wrigley:</strong> It feels more like you&#8217;re on a journey as opposed to these little stops along the way to get to the final destination. It just creates this sort of fluid, endless experience. And I believe, I think I saw one of your colleagues, Felix Arntz, I believe he&#8217;s got a plugin, like a feature plugin out.</p>\n\n\n\n<p>[00:39:30] <strong>Adam Silverstein:</strong> It is. It just shipped. It&#8217;s part of the Performance Lab plugin suite. So that is basically going to add a way for themes to just opt in. So we have a feature in WordPress where you can be, add themes support. And you can say, my theme supports this feature. So if themes opt in, they can just enable this API and just, you instantly get the navigations.</p>\n\n\n\n<p>We fortunately benefit in Core from a lot of consistent naming for things. Like the class names on titles tend to be consistent among all the Core themes. And even in the ecosystem, a lot of people have stuck to those standards. And that makes it really straightforward to sort of choose the correct elements for the transitions.</p>\n\n\n\n<p>Because part of setting this up is you sort of need to tell the browser, this is the title element. On the previous page, this is the title element on the next page. I want you to navigate between those two. And fortunately, at least for the Core themes, that&#8217;s pretty standard to do. So there is a pretty straightforward way to like implement it across all the core themes.</p>\n\n\n\n<p>[00:40:23] <strong>Nathan Wrigley:</strong> I just want to remind the listener that, you may have got lost, we&#8217;re not talking about WordPress per se. We&#8217;re kind of talking about what the browser enables WordPress to do. So these view transitions, of course they can be implemented by a WordPress website, but it is in effect the browser that&#8217;s doing the hard work here.</p>\n\n\n\n<p>You don&#8217;t have to be tied to WordPress, you could do this in HTML and CSS if you so wish to do it. But it&#8217;s easy to imagine that this is some clever JavaScript thing that somebody&#8217;s implemented in WordPress. And it&#8217;s just not that. This is just happening inside the browser.</p>\n\n\n\n<p>[00:40:53] <strong>Adam Silverstein:</strong> No, these are all browser features and, yeah, the talk is kind of like, how do they apply to WordPress? How WordPress use them?</p>\n\n\n\n<p>[00:40:59] <strong>Nathan Wrigley:</strong> I can imagine a world in the future where this feature in particular will have been massively overused. You know, people will, like scrolling animations for the, you know, this grows and this shrinks, and let&#8217;s see how that&#8217;ll settle. But the implementations that I&#8217;ve seen are just magnificent. They give you that, I don&#8217;t know, I&#8217;m on my phone, I use a music app, and I go to the next song and somehow the little icon for that song grows in this nice fluid way. Things fade in and fade out. Text becomes bigger, and it&#8217;s all happening. And It just encapsulates the screen perfectly. It gives everything the perfect place. And instead of it being a moment where it all just changes, everything slides into place. And it just feels natural, and we&#8217;ve got it coming in the browser.</p>\n\n\n\n<p>[00:41:39] <strong>Adam Silverstein:</strong> It is amazing. Yeah. It&#8217;s, a pretty cool feature.</p>\n\n\n\n<p>[00:41:41] <strong>Nathan Wrigley:</strong> Yeah. Okay, next.</p>\n\n\n\n<p>[00:41:42] <strong>Adam Silverstein:</strong> Okay. So I did talk about what you mentioned, we talked about modern images before. So I did talk a little bit about modern image formats, just a kind of love of mine. I honed in on. HDR imagery. So we all, most of us have smartphones these days that actually take high dynamic range images, right? Previously we had standard dynamic range, but now all of our phones take multiple exposures and combine those to create an HDR image.</p>\n\n\n\n<p>We have long had the ability to save images in HDR with formats like AVIF, WebP supports it. However, the challenge comes when you upload those images to WordPress and then you try to use them on a standard definition monitor, an SDR monitor, right? So you&#8217;ve got an HDR image, but suddenly you&#8217;re displaying it on a monitor that can&#8217;t display HDR, and you have to sort of, re downsize it to that lower bit depth, and that degrades the image greatly.</p>\n\n\n\n<p>So there is a new format available that&#8217;s ISO standard, and it&#8217;s called Ultra HDR. And this is a combination of standard jpeg SDR imagery with a gain map metadata layer. So it&#8217;s a single image format that includes both the SDR data as well as the data required to render the HDR version of the image. So it&#8217;s a full HDR image when you view it on a monitor that can support it, but on a monitor that doesn&#8217;t support it, you can just use the SDR image, you don&#8217;t need to do some conversion to try to create that alternate image.</p>\n\n\n\n<p>[00:43:09] <strong>Nathan Wrigley:</strong> I&#8217;ve never heard of this, so I&#8217;m going to try and parse it in real time. Let&#8217;s see how this works. So I&#8217;m imagining an image and I&#8217;m imagining like a CSS gradient over the top, There&#8217;s a bit of metadata which does something. The underlying image is unchanged, but there&#8217;s something gone over the top.</p>\n\n\n\n<p>[00:43:25] <strong>Adam Silverstein:</strong> Yes, it&#8217;s called a gain map.</p>\n\n\n\n<p>[00:43:27] <strong>Nathan Wrigley:</strong> Right, so gain mapping. And I can put that on, put that off. So it&#8217;s metadata transforming the image, but the image is the same.</p>\n\n\n\n<p>[00:43:33] <strong>Adam Silverstein:</strong> Yes.</p>\n\n\n\n<p>[00:43:35] <strong>Nathan Wrigley:</strong> Interesting.</p>\n\n\n\n<p>[00:43:35] <strong>Adam Silverstein:</strong> Yes. So I am a programmer and I deeply know about how WordPress media works, but I am not a photographer. However, there have been some great contributions from photographers who really know this space well. And they&#8217;ve come in and helped us on the media team really understand the challenges of handling these types of images and publishing them to the web, right?</p>\n\n\n\n<p>So I have a link in the slide to one of those guys and his photography website. He&#8217;s a software developer and a photographer. And he&#8217;s got like those sliders you can kind of see before and after and see what the difference is between SDR and HDR imagery. And you realise, oh my God, HDR images are amazing. So the point of this feature, or the thing that I&#8217;m talking about is to try to let people actually be able to use HDR images on their WordPress websites.</p>\n\n\n\n<p>[00:44:17] <strong>Nathan Wrigley:</strong> That&#8217;s fascinating. So a metadata layer living on top of an image, which visibly transforms it, but not just to add, I don&#8217;t know, to change the hue or the tint of it, to render a better image of a higher quality. Gosh that&#8217;s fascinating.</p>\n\n\n\n<p>[00:44:32] <strong>Adam Silverstein:</strong> Yep. So the challenge we have in WordPress is the ability to process these images. So in WordPress, when you upload an image, it goes to the backend, to the web server, and then we process it, we convert it to various sizes for different display sizes. So you get a different image when you&#8217;re browsing the site on a mobile or a desktop or a high definition screen. We have all different sizes, and themes can add sizes.</p>\n\n\n\n<p>And all of that image processing happens using a couple of image processing libraries. GD and Imagick are the two that we support natively. Those libraries do not support the latest format, so Ultra HDR was maybe just added to Imagick. It will take years before that library, the new version of the library is actually available to WordPress sites. So even a format like AVIF that&#8217;s been around for quite a while now, is only supported by 30% of WordPress servers. So only 30% of WordPress sites can actually upload AVIFs and get the full, you know, various sizes that they need.</p>\n\n\n\n<p>So that&#8217;s a limitation of the architecture of WordPress. And one of the next features that I talked about is something that will help us leapfrog that limitation. Browser based image processing. Exactly right. So what I&#8217;m talking about here is WebAssembly.</p>\n\n\n\n<p>So WebAssembly is the ability to run code that was written in another language like C or C++, that targeted a machine language, is meant to be run natively on the hardware. So that, for example, these image processing libraries, and also newer image processing libraries, can be run directly in the browser.</p>\n\n\n\n<p>And what this gives us the ability to do is ship the latest version of the image library directly with WordPress. We no longer have to rely on hosts doing the messy and difficult process of upgrading servers, very challenging thing for hosts to do, to get the latest version of the Imagick library. We can just ship that library directly in the browser. And that gives us the ability to make every WordPress site support AVIF, and it also gives us the ability to do things we simply can&#8217;t do today on the backend.</p>\n\n\n\n<p>A good example of that is converting gif or gifs to movies, right? This is a common performance recommendation. Gifs are very heavy. You convert them to a native video element and they behave just the same for users, but they&#8217;re much lighter because the compression is so much smarter. Can&#8217;t do that in WordPress right now. Neither of the image libraries support that ability. But there are image processing libraries that handle this, and we can run those directly in the browser.</p>\n\n\n\n<p>[00:46:52] <strong>Nathan Wrigley:</strong> Let me see if I&#8217;ve got this right. So in this world of the future, it&#8217;ll be possible, let&#8217;s say in the block editor, I drag in a, I don&#8217;t know, a jpeg or something, but I could convert that on the fly to an AVIF for example.</p>\n\n\n\n<p>[00:47:05] <strong>Adam Silverstein:</strong> Yes. Even if your server didn&#8217;t support AVIF.</p>\n\n\n\n<p>[00:47:06] <strong>Nathan Wrigley:</strong> Even if. So it&#8217;s literally in the browser.</p>\n\n\n\n<p>[00:47:09] <strong>Adam Silverstein:</strong> Yes</p>\n\n\n\n<p>[00:47:09] <strong>Nathan Wrigley:</strong> Okay. First thing is that quick.</p>\n\n\n\n<p>[00:47:11] <strong>Adam Silverstein:</strong> Well, okay, so it&#8217;s not quick on the backend either, right? But it is asynchronous, so you can continue working on your post while it&#8217;s happening.</p>\n\n\n\n<p>[00:47:18] <strong>Nathan Wrigley:</strong> Right. So you wouldn&#8217;t necessarily see anything.</p>\n\n\n\n<p>[00:47:20] <strong>Adam Silverstein:</strong> Right. You would that it was processing. And of course it would depend on how large your image is, how many subsized images you&#8217;re creating. But no, it&#8217;s not fast. It&#8217;s a slow process, but it&#8217;s a one time thing each time you upload an image.</p>\n\n\n\n<p>[00:47:31] <strong>Nathan Wrigley:</strong> That was next question. It&#8217;s a one time thing. So the movie thing that you just described, where you got the gif to a movie, again, a one-time thing?</p>\n\n\n\n<p>[00:47:38] <strong>Adam Silverstein:</strong> Yes.</p>\n\n\n\n<p>[00:47:39] <strong>Nathan Wrigley:</strong> So we upload it. In the background, asynchronously, it&#8217;s converting it, and then at some point it gets saved, I guess as a .mov file or something like that? inside the media library?</p>\n\n\n\n<p>[00:47:50] <strong>Adam Silverstein:</strong> And this is actually not some future technology you&#8217;ll be able to use someday. You can use this today by installing Pascal&#8217;s Media Experiments plugin. So my colleague Pascal has swisspidy as his handle, people know him by that. But he&#8217;s got the Media Experiments plugin, and that will let you do all these things that I&#8217;m talking about today. And it is experimental, so beta software, but, check it out because it really demonstrates what we can do.</p>\n\n\n\n<p>There&#8217;s also a PR already open in Gutenberg with a whole roadmap for landing this feature. It is already sort of an experimental feature in Gutenberg. So if you install the Gutenberg plugin and you go into experiments, you can actually enable this feature. I don&#8217;t think it has all of the things that he has in the plugin, but it has sort of the additional framework for it.</p>\n\n\n\n<p>[00:48:28] <strong>Nathan Wrigley:</strong> If I were, well, I am fairly non-technical, this is the kind of stuff I expect, I think. You just drag an image from any device of any kind into the editor, whatever that editor interface is be it Gutenberg or, you know, whatever. It should just handle that. You know, there shouldn&#8217;t be a proclivity for we prefer this thing or we prefer that thing. It should just do it and whatever output I want, I want it as an AVIF, I want it as a WebP. Okay. we&#8217;ll just transform it in the background. I know there&#8217;s a ton of technological milestones to be achieved and overcome with that, but that is, I think, the expectation. The web should just work like that. Everything should convert and be easy, and drag and droppable and, yeah.</p>\n\n\n\n<p>[00:49:10] <strong>Adam Silverstein:</strong> Yeah, and famously, several years ago, Apple started storing images in the HEIC format, which is a better compression than jpeg. However, it&#8217;s not a web safe format. I think Safari is the only browser that supports it. So when we upload HEICs to WordPress now, we do convert them to jpegs for users.</p>\n\n\n\n<p>However, that only happens if your server supports HEIC images. Again, we rely on the server libraries, and that statistic is very similar to AVIF. It&#8217;s about 30% of sites. Fortunately Apple does automatically convert them if you upload them from your phone. But people do get into this problem where they wind up with HEIC images on their desktop and they&#8217;re trying to upload them to their WordPress, and then it will get rejected if your server doesn&#8217;t support it.</p>\n\n\n\n<p>[00:49:50] <strong>Nathan Wrigley:</strong> Yeah, this whole thing of, I&#8217;ve got images. It&#8217;s an image. Well, it&#8217;s in the wrong format. It&#8217;s an image.</p>\n\n\n\n<p>[00:49:55] <strong>Adam Silverstein:</strong> Right? Why do I have to care?</p>\n\n\n\n<p>[00:49:57] <strong>Nathan Wrigley:</strong> It shouldn&#8217;t matter. Yeah, okay. That&#8217;s a perfect example. Okay, so images, anything else?</p>\n\n\n\n<p>[00:50:02] <strong>Adam Silverstein:</strong> The other one that I think is really cool that maybe people don&#8217;t know about is running AI directly in your browser. So there&#8217;s a great library called Transformers.js that lets you run a whole bunch of different models, kind of, it acts as an interface.</p>\n\n\n\n<p>So just like the large language models that we have online, like Gemini and ChatGPT. You can actually run smaller versions of those directly in your browser. And some of the advantages of that are the data is private. There&#8217;s no API key required, or cost to you to use these. You can ship an AI directly with your product. So imagine you have a software, a plugin that is designed for company bulletin boards. You don&#8217;t really want that data going out to some remote API, but you&#8217;d like to give users a way to summarise the conversation from yesterday. A language model running in your browser is capable of doing that.</p>\n\n\n\n<p>[00:50:49] <strong>Nathan Wrigley:</strong> Where does it live.</p>\n\n\n\n<p>[00:50:50] <strong>Adam Silverstein:</strong> It runs in the memory of the browser and it gets downloaded in cache. So there is a large download when you first start using it to actually download the model. And then it&#8217;s cached, with the browser storage APIs.</p>\n\n\n\n<p>[00:51:01] <strong>Nathan Wrigley:</strong> It&#8217;s persistent.</p>\n\n\n\n<p>[00:51:03] <strong>Adam Silverstein:</strong> It&#8217;s persistent, yes.</p>\n\n\n\n<p>[00:51:03] <strong>Nathan Wrigley:</strong> Okay. Switch the machine off, switch the machine on.</p>\n\n\n\n<p>[00:51:05] <strong>Adam Silverstein:</strong> Yes. It&#8217;ll stay cached in your, browser. Browser has the ability to store files.</p>\n\n\n\n<p>[00:51:08] <strong>Nathan Wrigley:</strong> I&#8217;m guessing the constraints around what it can do compared to, I don&#8217;t know, ChatGPT 4o or whatever is much more minimal.</p>\n\n\n\n<p>[00:51:15] <strong>Adam Silverstein:</strong> Significant. Right. This is in the browser, you&#8217;re probably going to get the performance maybe that you got out of the models a year ago or a year and a half ago. Remember when.</p>\n\n\n\n<p>[00:51:24] <strong>Nathan Wrigley:</strong> Oh not that bad then.</p>\n\n\n\n<p>[00:51:25] <strong>Adam Silverstein:</strong> Yeah. Not that bad, right? And you can imagine that a year or two from now, they&#8217;re just going to get better. And there have been dramatic improvements, and even like new approaches to how they&#8217;re doing them. So they&#8217;re getting quite good. They&#8217;ll never be as good as the large language models that are running in the cloud that have abundant resources.</p>\n\n\n\n<p>There&#8217;s also hybrid models, right, where you use the local version when that&#8217;s all you have available, your offline, say, for example. Or you have a more complex query, then it can go to the cloud. There&#8217;s different ways of approaching that. But you can build a hybrid system, but the point of, the ability to run it in the browser, is to actually be able to do everything locally, and not rely necessarily on a cloud provider.</p>\n\n\n\n<p>[00:52:00] <strong>Nathan Wrigley:</strong> It really feels at the minute as if Google is in a big pivot towards AI.</p>\n\n\n\n<p>[00:52:06] <strong>Adam Silverstein:</strong> Absolutely.</p>\n\n\n\n<p>[00:52:07] <strong>Nathan Wrigley:</strong> In fact, it kind of feels like if you were to describe it as a race, it feels like Google is kind of nudging ahead at this moment in time. I just watched some of the bits and pieces from Google IO.</p>\n\n\n\n<p>[00:52:16] <strong>Adam Silverstein:</strong> Yes. Really impressive.</p>\n\n\n\n<p>[00:52:16] <strong>Nathan Wrigley:</strong> It was pretty profound in many respects. But also, can you constrain that AI? So for example, could I limit it to one, well, let&#8217;s say website? It can only be used and consumed by this thing. I don&#8217;t know if there would be a need for that. I&#8217;m just wondering, is it available to all the things or can you constrain it?</p>\n\n\n\n<p>[00:52:35] <strong>Adam Silverstein:</strong> I mean, so there are actually aI things being built into the browser where you&#8217;ll get AI in the browser itself. But this is not really that, this is more like it&#8217;s running inside your app. So it would be constrained. And I see this as something that we&#8217;ll start to see like plugins, shipping AI with their plugin, and it doesn&#8217;t require you to have ChatGPT or some other service provider, it just has the AI built in.</p>\n\n\n\n<p>Maybe it&#8217;s identifying objects in an image. Or maybe it&#8217;s reviewing comments as to whether they&#8217;re spam. So things like that where it&#8217;s a pretty straightforward AI capability, it works really well on these smaller models. And so that&#8217;s something that I could imagine would just be built into a plugin. You would add this AI feature, but it doesn&#8217;t require that you sign up for a ChatGPT account, and get an API key and install it. You know, there&#8217;s a lot of barriers, I guess, to using the cloud models.</p>\n\n\n\n<p>[00:53:23] <strong>Nathan Wrigley:</strong> Yeah. I feel like you&#8217;ve left the most interest, well, not the most interesting, but the bomb is there. My head is kind of a bit taken by that one because I can really, I mean, everybody&#8217;s fascinated by AI, the possibilities of it. But it&#8217;s always an API key. It&#8217;s always a go off somewhere else. I mean, maybe it hasn&#8217;t been for people such as yourself, but I did not know that it was possible in the browser.</p>\n\n\n\n<p>And if it&#8217;s only a year behind, honestly, the stuff that I want to do with it is give it a corpus of information and filter that a little bit and give me a summary of it. That&#8217;s what I&#8217;m using it for. I&#8217;m imagining that all of that would be possible in the browser at no monetary cost.</p>\n\n\n\n<p>[00:53:59] <strong>Adam Silverstein:</strong> Exactly. Right. Because you&#8217;re doing the computing yourself on your own platform.</p>\n\n\n\n<p>[00:54:03] <strong>Nathan Wrigley:</strong> And I would imagine, like I said, Google leaning into this, that&#8217;s only going to get more investment from them.</p>\n\n\n\n<p>[00:54:10] <strong>Adam Silverstein:</strong> Yeah. I mean, there is, yes, there&#8217;s a lot of investment going on in AI right now, so it&#8217;s pretty exciting. Yeah, and I did have, you know, I did talk a little bit about just how AI is going to impact all of our workflows and stuff, but that&#8217;s not really in the, it was kind of an expansion because it&#8217;s not actually a web capability, per se.</p>\n\n\n\n<p>[00:54:25] <strong>Nathan Wrigley:</strong> Yeah. Well, I think maybe that&#8217;s the perfect place to end it. Unless you&#8217;ve got some cataclysmic thing which can trump that.</p>\n\n\n\n<p>[00:54:30] <strong>Adam Silverstein:</strong> Nope. That was the end of talk. The last slide was really just asking for feedback from developers. So that would be my last thing to say is just, you know, try to give feedback. I&#8217;m always open. My DMs are open on WordPress Core Slack. And like I said, there&#8217;s the interop thing where you can actually open up a ticket.</p>\n\n\n\n<p>[00:54:45] <strong>Nathan Wrigley:</strong> So, again, dear listener, just remember all of this, the browser is doing this. It sounds like it&#8217;s WordPress doing it, or it sounds like some other third party service. It&#8217;s not, it&#8217;s all in The browser and it&#8217;s fascinating. The browser is definitely more powerful today than it was yesterday. Adam Silverstein, thank you so much for chatting to me.</p>\n\n\n\n<p>[00:55:02] <strong>Adam Silverstein:</strong> Yeah, thank you.</p>\n</div></details>\n\n\n\n<p>On the podcast today we have <a href=\"https://profiles.wordpress.org/adamsilverstein/\">Adam Silverstein</a>.</p>\n\n\n\n<p>Adam is a WordPress Core committer, and works to fix bugs and improve modern web capabilities. He’s also a Developer Relations Engineer on Chrome’s Web Platform team at Google, and there he focuses on making the open web better for everyone.</p>\n\n\n\n<p>Adam is here to break down how the rapid evolution of browser technology can supercharge your WordPress sites. We’re doing this by referencing his presentation at WordCamp Europe 2025, in which he covered multiple new features of browsers, which can be used by WordPress users to bring a variety of experiences to their websites.</p>\n\n\n\n<p>In many cases, these are browser APIs and features, and are quietly rdefining what’s possible on the web. From CSS-powered popovers and scroll-driven animations to speculative loading that speeds up your page transitions. Adam explains how these advancements are changing what’s possible for both developers and end-users.</p>\n\n\n\n<p>The conversation sheds light on the collaboration between browser vendors, Chrome, Firefox, Safari, and Edge, through initiatives like Interop and Baseline, paving the way for more consistent and robust features across platforms.</p>\n\n\n\n<p>Adam also talks about practical topics central to the WordPress community, like how the Popover API and native CSS carousels reduce JavaScript bloat, make sites more accessible, and deliver a better overall user experience.</p>\n\n\n\n<p>He shares exciting new frontiers, such as browser-based image processing powered by WebAssembly, which is paving the way for universal support of modern formats like AVIF and Ultra HDR, and even running AI locally in your browser, no API key or cloud server required.</p>\n\n\n\n<p>He provides concrete examples on how these technologies can be leveraged in WordPress via Core updates, canonical plugins, and Gutenberg experiments, with a special focus on how developers can get involved and offer feedback to help shape future web standards. Prepare to look at your browser in a whole new light, truly.</p>\n\n\n\n<p>Whether you’re a theme designer, plugin developer, or site owner simply curious about what’s next, this episode is for you.</p>\n\n\n\n<h2 class=\"wp-block-heading\">Useful links</h2>\n\n\n\n<p><a href=\"https://europe.wordcamp.org/2025/session/modernizing-wordpress-with-new-web-platform-features/\">Modernizing WordPress with new Web Platform Features</a> &#8211; Adam&#8217;s presentation at WordCamp Europe 2025</p>\n\n\n\n<p><a href=\"https://new.drupal.org/home\">Drupal</a></p>\n\n\n\n<p><a href=\"https://typo3.org/\">TYPO3</a></p>\n\n\n\n<p><a href=\"https://www.descript.com/\">Descript</a></p>\n\n\n\n<p><a href=\"https://developer.chrome.com/blog/introducing-popover-api/\">Popover API</a></p>\n\n\n\n<p><a href=\"https://web.dev/baseline/\">Baseline</a></p>\n\n\n\n<p><a href=\"https://developer.mozilla.org/en-US/\">MDN docs</a></p>\n\n\n\n<p><a href=\"https://en.wikipedia.org/wiki/Interop\">Interop</a></p>\n\n\n\n<p><a href=\"https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_scroll-driven_animations\">Scroll Animations API</a></p>\n\n\n\n<p><a href=\"https://www.sliderrevolution.com/\">Slider Revolution</a></p>\n\n\n\n<p><a href=\"https://chrome.dev/carousel/\">Chrome Dev carousel demos</a></p>\n\n\n\n<p><a href=\"https://developer.chrome.com/docs/crux\">CrUX</a></p>\n\n\n\n<p><a href=\"https://cloud.google.com/bigquery\">BigQuery</a></p>\n\n\n\n<p><a href=\"https://developer.chrome.com/blog/a-customizable-select\">Customisable Select demos</a></p>\n\n\n\n<p><a href=\"https://wordpress.org/plugins/performance-lab/\"> Performance Lab plugin</a></p>\n\n\n\n<p><a href=\"https://en.wikipedia.org/wiki/Ultra_HDR\">Ultra HDR</a></p>\n\n\n\n<p><a href=\"https://www.php.net/manual/en/book.image.php\">GD</a></p>\n\n\n\n<p><a href=\"https://www.php.net/manual/en/book.imagick.php\">Imagick</a></p>\n\n\n\n<p><a href=\"https://webassembly.org/\">WebAssembly</a></p>\n\n\n\n<p><a href=\"https://github.com/swissspidy/media-experiments\"> Pascal Birchler&#8217;s Media Experiments plugin</a></p>\n\n\n\n<p><a href=\"https://huggingface.co/docs/transformers.js/index\"> Transformers.js</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, 23 Jul 2025 14:00:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Nathan Wrigley\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:10;a:6:{s:4:\"data\";s:21:\"\n	\n	\n	\n	\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:59:\"Weston Ruter: Instant Back/Forward Navigations 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:33:\"https://weston.ruter.net/?p=35588\";s: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:82:\"https://weston.ruter.net/2025/07/23/instant-back-forward-navigations-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:36679:\"<p class=\"is-style-text-subtitle is-style-text-subtitle--2\">The new <a href=\"https://wordpress.org/plugins/nocache-bfcache/\"><strong>No-cache BFCache</strong></a> plugin enables instant back/forward navigations, particularly while logged in. See <a href=\"https://weston.ruter.net/category/wordpress/feed/#demos\">demos below</a> for the impact this has on browsing.</p>\n\n\n\n<p>The speed of page navigations in WordPress has seen a big boost in 6.8 with the introduction of <a href=\"https://make.wordpress.org/core/2025/03/06/speculative-loading-in-6-8/\">Speculative Loading</a>. When paired with the original <a href=\"https://wordpress.org/plugins/speculation-rules/\">feature plugin</a>, site visitors can experience instant page navigations thanks to its opt-ins for prerendering and “moderate eagerness”. However, WordPress does not enable such instant navigations by default. WordPress core must take a conservative approach since prerendering may cause compatibility problems, like with analytics or ads. There is also a sustainability concern with moderate prerendering since a user may momentarily hover over a link but not intend to follow it at all; this results in an unused prerender, which can waste a user&#8217;s bandwidth (and CPU to a limited extent) as well as increase the load on the web server (which can be problematic on shared hosts without page caching). Furthermore, even when prerendering is enabled, not all visitors may be able to experience instant page loads because: </p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Moderate eagerness is limited on mobile devices (where there is no hover heuristic on touch screens).</li>\n\n\n\n<li>Speculative Loading is not enabled when a user is logged in. (<strong>Updates:</strong> See <a href=\"https://github.com/WordPress/performance/pull/2097\">PR</a> which introduces a frontend opt-in, and the <a href=\"https://github.com/westonruter/speculative-loading-admin\">Speculative Loading Admin</a> plugin for a backend opt-in.)</li>\n\n\n\n<li>The Speculation Rules API is currently only <a href=\"https://caniuse.com/mdn-html_elements_script_type_speculationrules\">supported</a> in Chromium, leaving Safari and Firefox users out.</li>\n</ol>\n\n\n\n<p>Nevertheless, there is a much older web platform technology that enables “prerendering” <em>and</em> which is supported in all browsers: the <a href=\"https://developer.mozilla.org/en-US/docs/Glossary/bfcache\">back/forward cache</a> (bfcache). This instant page navigation involves no network traffic and no CPU load. Previously visited pages are stored in memory as a snapshot with their entire state so that they can be restored instantly. Navigating to pages stored in bfcache is as fast as switching open browser tabs.</p>\n\n\n\n<p>Back/forward history navigations are very common, as according to the <a href=\"https://web.dev/articles/bfcache\">web.dev article</a> on bfcache:</p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Chrome usage data shows that 1 in 10 navigations on desktop and 1 in 5 on mobile are either back or forward. With bfcache enabled, browsers could eliminate the data transfer and time spent loading for billions of web pages every single day!</p>\n</blockquote>\n\n\n\n<p>Also learn more via the <a href=\"https://youtu.be/Y2IVv5KnrmI\">following video</a>:</p>\n\n\n\n<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\">\n\n</div></figure>\n\n\n\n<p>While Speculative Loading enables prerendering, bfcache involves “pre<em>vious</em>-rendering”.</p>\n\n\n\n<p>The good news is that 84% of WordPress origins in <a href=\"https://httparchive.org/\">HTTP Archive</a> are already bfcache-eligible (based on <a href=\"https://gist.github.com/gilbertococchi/083c1516149cf5f70b103451d1790cbc\">this query</a> from <a href=\"https://github.com/gilbertococchi\">Gilberto Cocchi</a>). <strong>However, the most frequent user of your site may still not be able to experience instant page navigations via bfcache: <em>you!</em></strong> While browsing around the WP Admin and navigating the frontend of your site, the pages most likely aren&#8217;t eligible for bfcache due to various <a href=\"https://developer.mozilla.org/en-US/docs/Web/API/Performance_API/Monitoring_bfcache_blocking_reasons#blocking_reasons\">blocking reasons</a>. This sluggish experience extends not only to administrators but also to users of sites which require authentication, including e-commerce (e.g. WooCommerce), social (e.g. BuddyPress), and any membership sites. The 84% metric above doesn&#8217;t take into account these types of WordPress sites since HTTP Archive exclusively crawls public URLs without authentication. Users browsing WordPress sites on shared hosts or when on a slow connection will be especially frustrated by slow back/forward navigations. Enabling instant back/forward navigations will not only make your users happier (especially you), but it can also improve your <abbr title=\"Core Web Vitals\">CWV</abbr> passing rate <a href=\"https://developer.chrome.com/blog/crux-navigation-types\">in <abbr title=\"Chrome User Experience Report\">CrUX</abbr></a>.</p>\n\n\n\n<p>I&#8217;ve been on a mission to bring back bfcache (or rather to bring it forward).</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"stale-content-in-page-caches\">Stale Content in Page Caches</h2>\n\n\n\n<p>Before going further, I wanted to call out a potentially negative consequence of navigating cached pages. While instant back/forward navigations can provide a big performance boost to the user experience, they can also be a source of confusion when navigating to a cached page with stale content. </p>\n\n\n\n<p>Consider the case of an e-commerce site, where a user is on the shopping cart page. From there, they click a link to a related product, and from that product page they add it to the cart dynamically (e.g. via Ajax). At this point, if they hit the back button to return to the cart page and the cart is restored from a page cache, they may not see the newly added product in the cart. A user can simply reload the page to fix this, but this can also be handled automatically. </p>\n\n\n\n<p>As described in the “<a href=\"https://web.dev/articles/bfcache#update-data-after-restore\">Update stale or sensitive data after bfcache restore</a>” section of the web.dev post, the <code>pageshow</code> event with the <code>persisted</code> property (further <a href=\"https://weston.ruter.net/category/wordpress/feed/#jit-page-cache-invalidation\">discussed</a> below) indicates when a page was restored from bfcache. This event can be used to update the DOM with the latest shopping cart details. In fact, WooCommerce already <a href=\"https://github.com/woocommerce/woocommerce/blob/47845a498f0918a90d60ab3adca204d13a712cde/plugins/woocommerce/client/blocks/assets/js/base/context/hooks/cart/use-store-cart-event-listeners.ts#L40-L50\">implements this</a> for its cart:</p>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs language-typescript\"><span class=\"hljs-keyword\">const</span> refreshCachedCartData = ( event: PageTransitionEvent ): <span class=\"hljs-function\"><span class=\"hljs-params\">void</span> =&gt;</span> {\n	<span class=\"hljs-keyword\">if</span> ( event?.persisted || getNavigationType() === <span class=\"hljs-string\">\'back_forward\'</span> ) {\n		dispatch( cartStore ).invalidateResolutionForStore();\n	}\n};\n<span class=\"hljs-comment\">/* ... */</span>\n<span class=\"hljs-built_in\">window</span>.addEventListener( <span class=\"hljs-string\">\'pageshow\'</span>, refreshCachedCartData );</code></span></pre>\n\n\n<p>Simply searching a plugin&#8217;s codebase for “pageshow” (e.g. <a href=\"https://github.com/search?q=repo%3Awoocommerce%2Fwoocommerce%20pageshow&amp;type=code\">in Woo</a>) should indicate whether bfcache navigations are accounted for. </p>\n\n\n\n<p>Note also that stale content is also an issue <a href=\"https://github.com/WordPress/performance/issues/1774\">we&#8217;ve faced</a> with Speculative Loading, especially when using non-conservative eagerness.</p>\n\n\n\n<h2 class=\"wp-block-heading\">Breaking Caching to Preserve Privacy</h2>\n\n\n\n<p>My bfcache work began two years ago when I started collaborating on <a href=\"https://core.trac.wordpress.org/ticket/55491\">#55491</a> to eliminate the use of the <a href=\"https://developer.chrome.com/docs/web-platform/deprecating-unload\">deprecated</a> <code>unload</code> event handler in WordPress core. Not only does this event fire unreliably, but it also has the side effect of making a page <a href=\"https://web.dev/articles/bfcache#never-use-the-unload-event\">ineligible for bfcache</a> via the “<a href=\"https://developer.mozilla.org/en-US/docs/Web/API/Performance_API/Monitoring_bfcache_blocking_reasons#unload-listener\">unload-listener</a>” blocking reason. I had <a href=\"https://github.com/GoogleChromeLabs/wpp-research/pull/75\">queried</a> HTTP Archive myself at the time, and I found it to be the second most common blocking reason. So in <a href=\"https://core.trac.wordpress.org/changeset/56809\">r56809</a> we eliminated all uses of <code>unload</code>, including from:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Heartbeat API</li>\n\n\n\n<li>Post locking in the classic editor</li>\n\n\n\n<li>Post previews</li>\n</ul>\n\n\n\n<p>However, even with the use of <code>unload</code> eliminated, I was confused why I wasn&#8217;t finding pages to be eligible for bfcache in my testing. (The removal of <code>unload</code> in core likely didn&#8217;t make a dent in bfcache eligibility in HTTP Archive since only <a href=\"https://github.com/GoogleChromeLabs/wpp-research/pull/75#:~:text=Lastly%2C%20in%20heartbeat%2Dscript%2Dpresence.sql%20I%20check%20to%20see%20how%20common%20the%20Heartbeat%20script%20actually%20is%3A\">0.25%</a> of unauthenticated pages had the Heartbeat API present.) It turns out that several weeks before I started working on this, a <a href=\"https://core.trac.wordpress.org/changeset/55968\">commit</a> had landed which <em>intentionally</em> broke browser page caching (both bfcache and HTTP cache): the <code>no-store</code> directive was added to the <code>Cache-Control</code> response header for logged-in users. (Specifically, this was added to the <code><a href=\"https://developer.wordpress.org/reference/functions/wp_get_nocache_headers/\">wp_get_nocache_headers()</a></code> function.) This introduced the “<a href=\"https://developer.mozilla.org/en-US/docs/Web/API/Performance_API/Monitoring_bfcache_blocking_reasons#response-cache-control-no-store\">response-cache-control-no-store</a>” bfcache blocking reason, which was actually the <a href=\"https://github.com/GoogleChromeLabs/wpp-research/pull/75#:~:text=Pages%20whose%20main%20resource%20has%20cache%2Dcontrol%3Ano%2Dstore%20cannot%20enter%20back/forward%20cache.\">most common reason for ineligibility</a>, just above <code>unload</code> in my HTTP Archive query. The reason for adding this is found in <a href=\"https://core.trac.wordpress.org/ticket/21938\">#21938</a> which proposed adding the <code>no-store</code> directive in order to explicitly <em>disable</em> caching so that authenticated pages do not get stored in the browser cache. This was followed up with <a href=\"https://core.trac.wordpress.org/ticket/61942\">#61942</a> to also send <code>no-store</code> on the frontend while a user is logged in. The rationale for this is rooted in privacy, per the commit message:</p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>The intention behind this change is to prevent sensitive data in responses for logged in users being cached and available to others, for example via the browser history after the user logs out.</p>\n</blockquote>\n\n\n\n<p>Consider an administrator who is logged in to WordPress on a shared computer and is working on something sensitive, like managing API keys on an admin screen. A malicious person could navigate back to that admin screen via the back button after the user had logged out. Nevertheless, the “bad guy” will need to act fast because a browser won&#8217;t store cached pages indefinitely; Chrome, for example, holds onto pages in bfcache for <a href=\"https://developer.chrome.com/docs/web-platform/bfcache-ccns#:~:text=The%20bfcache%20timeout%20for%20Cache%2DControl%3A%20no%2Dstore%20pages%20is%20also%20reduced%20to%203%20minutes%20(from%2010%20minutes%20used%20for%20pages%20which%20don%27t%20use%20Cache%2DControl%3A%20no%2Dstore)%20to%20further%20reduce%20risk.\">10 minutes</a>. (Tip: When using a shared computer, always exit the browser after logging out of all sites when ending work.) So while <code>no-store</code> here does improve privacy, it does so at the expense of the user experience by degrading the performance of back/forward navigations. Even when pages aren&#8217;t eligible for bfcache, removing <code>no-store</code> still improves back/forward navigation performance since pages can be served from the browser&#8217;s HTTP cache (although the DOM has to be re-built and scripts have to be re-executed).</p>\n\n\n\n<p><strong>Surely there must be a way to preserve privacy and promote performance together.</strong></p>\n\n\n\n<p>It&#8217;s important to note that the <code>no-store</code> directive not only prevents pages from being cached by the browser, but it also preserves privacy by preventing proxies from caching pages, per <a href=\"https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Cache-Control#no-store\">MDN</a>:</p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>The <code>no-store</code> response directive indicates that any caches of any kind (private or shared) should not store this response.  </p>\n</blockquote>\n\n\n\n<p>Keeping authenticated pages out of page caches prevents embarrassing scenarios like serving a user the shopping cart page for another user. Nevertheless, there is a more tailored <code>Cache-Control</code> mechanism for this purpose: the <code>private</code> directive. Again, per <a href=\"https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Cache-Control#private\">MDN</a>:</p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>The private response directive indicates that the response can be stored only in a private cache (e.g., local caches in browsers). ¶ You should add the private directive for user-personalized content, especially for responses received after login and for sessions managed via cookies. ¶ If you forget to add private to a response with personalized content, then that response can be stored in a shared cache and end up being reused for multiple users, which can cause personal information to leak.</p>\n</blockquote>\n\n\n\n<p>This is what was originally requested in <a href=\"https://core.trac.wordpress.org/ticket/57627\">#57627</a>, but both <code>private</code> and <code>no-store</code> were added together, with the <a href=\"https://core.trac.wordpress.org/changeset/55968\">commit</a> message reasoning:</p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>The <code>private</code> directive complements the <code>no-store</code> directive by specifying that the response contains private information that should not be stored in a public cache. Some proxy caches may ignore the <code>no-store</code> directive but respect the <code>private</code> directive, thus it is included.</p>\n</blockquote>\n\n\n\n<p>So how can the <code>private</code> directive be retained for proxies, while removing the <code>no-store</code> directive so that a user can benefit from browser caching but not at the expense of privacy?</p>\n\n\n\n<h2 class=\"wp-block-heading\">Preserving Privacy while Caching</h2>\n\n\n\n<p>In order to omit the <code>no-store</code> directive and enable instant back/forward navigations while preserving privacy, a way is needed to evict pages from the browser cache when a user logs out. In my research, there are three mechanisms to do this, with various degrees of browser support.</p>\n\n\n\n<h3 class=\"wp-block-heading\">The <code>Clear-Site-Data</code> Header</h3>\n\n\n\n<p>The most straightforward mechanism to invalidate pages from bfcache would at first seem to be the <code>Clear-Site-Data</code> HTTP response header. This is supposedly Baseline 2023 Newly Available, but there is an asterisk: “Some parts of this feature may have varying levels of support.” Per <a href=\"https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Clear-Site-Data\">MDN</a>, this header “sends a signal to the client that it should remove all browsing data of certain types (cookies, storage, cache) associated with the requesting website.” In fact, the <code>cache</code> directive for this header seems to be exactly what is needed, as it even <a href=\"https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Clear-Site-Data#cache\">explicitly calls</a> out bfcache:</p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>The server signals that the client should remove locally cached data (the browser cache, see <a href=\"https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/Caching\">HTTP caching</a>) for the origin of the response URL. Depending on the browser, this might also clear out things like pre-rendered pages, <a href=\"https://developer.mozilla.org/en-US/docs/Glossary/bfcache\">backwards-forwards cache</a>, script caches, WebGL shader caches, or address bar suggestions.</p>\n</blockquote>\n\n\n\n<p>However, note the word “might”. In my testing, sending this header does currently evict pages from bfcache in Chrome. But, there is an <a href=\"https://github.com/w3c/webappsec-clear-site-data/issues/73\">open spec question</a> for whether Clear-Site-Data should clear bfcache; it mentions <a href=\"https://github.com/w3c/webappsec-clear-site-data/issues/68\">dropping</a> the <code>cache</code> directive entirely, and it suggests that a different <code>executionContexts</code> directive may be more appropriate (but its browser support is even worse and it may be <a href=\"https://github.com/w3c/webappsec-clear-site-data/issues/59\">dropped</a> from the spec). Firefox <a href=\"https://bugzilla.mozilla.org/show_bug.cgi?id=1671182\">dropped support</a> for the <code>cache</code> directive but then <a href=\"https://bugzilla.mozilla.org/show_bug.cgi?id=1930500\">restored</a> it, although in testing it seems Firefox only evicts pages from the HTTP cache and not from bfcache. Finally, Safari doesn&#8217;t seem to evict pages from either the HTTP cache or bfcache when this header is sent. </p>\n\n\n\n<p>When/if browser support for this is improved, implementing eviction of pages from browser caches could be as simple as:</p>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs language-php\">add_action(\n	<span class=\"hljs-string\">\'clear_auth_cookie\'</span>,\n	<span class=\"hljs-function\"><span class=\"hljs-keyword\">function</span> <span class=\"hljs-params\">()</span> </span>{\n		header( <span class=\"hljs-string\">\'Clear-Site-Data: \"cache\"\'</span> );\n	}\n);</code></span></pre>\n\n\n<p>Ultimately, while this header seems to be tailor-made for evicting pages from browser caches, it cannot be relied on since it is clearly not widely available in Baseline, and not even “newly available” either. There is also a Chromium bug (<a href=\"https://issues.chromium.org/issues/40233601\">40233601</a>) where sending this header can greatly delay page response times, possibly causing a logout link to take half a minute to respond. The final mark against <code>Clear-Site-Data</code> is that the header requires a secure context (HTTPS), so the WordPress sites still on HTTP could not evict pages from browser caches using this header (although privacy could be the last of their concerns at this point).</p>\n\n\n\n<p>So to preserve privacy, another browser page cache invalidation method is currently needed.</p>\n\n\n\n<h3 class=\"wp-block-heading\">Broadcast Channel</h3>\n\n\n\n<p>Going back to the aforementioned bfcache <a href=\"https://developer.mozilla.org/en-US/docs/Web/API/Performance_API/Monitoring_bfcache_blocking_reasons#blocking_reasons\">blocking reasons</a>, one of them is “<a href=\"https://developer.mozilla.org/en-US/docs/Web/API/Performance_API/Monitoring_bfcache_blocking_reasons#broadcastchannel-message\">broadcastchannel-message</a>”:</p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>While the page was stored in back/forward cache, a <a href=\"https://developer.mozilla.org/en-US/docs/Web/API/BroadcastChannel\">BroadcastChannel</a> connection on the page received a message to trigger a <a href=\"https://developer.mozilla.org/en-US/docs/Web/API/MessageEvent\">message</a> event.</p>\n</blockquote>\n\n\n\n<p>I went down a rabbit hole with this one, thinking I could leverage this blocking reason as a bfcache eviction mechanism. In my discarded implementation, all authenticated pages include a script which listens to a broadcast channel such as “auth_change”. Then, to evict authenticated pages from bfcache upon a successful logout (or logging in as another user), a script can be included on the page which simply broadcasts an arbitrary message to this same “auth_change” broadcast channel. This causes the eviction of any authenticated pages in bfcache which are listening to messages from this broadcast channel.</p>\n\n\n\n<p>I was seeing very promising results with this approach, where pages were being successfully evicted from bfcache in Chromium (Chrome/Edge) and Firefox. Nevertheless, eviction was not happening in Safari, which apparently has not yet implemented this blocking reason. <em>However</em>, this approach fell apart once I closed DevTools.</p>\n\n\n\n<p>Normally when DevTools is open I have “Disable cache” checked in the Network panel. This disables the HTTP cache, but not the bfcache. What I would see then is if I navigated around the WP Admin and then logged out in a second tab, hitting the back button in the first tab would immediately take me to the login screen. This is exactly what I wanted. However, once I closed DevTools, I started seeing pages served from the browser&#8217;s HTTP cache when navigating back/forward. Because the <code>no-store</code> directive is removed, this means the browser may actually serve pages from HTTP cache when navigating back/forward, even when the <code>Cache-Control</code> header has <code>no-cache</code>, <code>must-revalidate</code>, and <code>max-age=0</code>. And here, when the user logged out, they shouldn&#8217;t be served from either HTTP cache or bfcache to preserve privacy. So this was not a viable approach in the end.</p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"jit-page-cache-invalidation\">Just-in-time Page Cache Invalidation</h3>\n\n\n\n<p>Ultimately, the most reliable solution I&#8217;ve found to invalidate pages from both bfcache and the HTTP cache is to do so just-in-time with JavaScript: When a page is restored from a browser cache and it is determined to be stale, the page contents are wiped and the page is reloaded. This approach is also referenced in the aforementioned “<a href=\"https://web.dev/articles/bfcache#minimize-no-store\">Update stale or sensitive data after bfcache restore</a>” section on web.dev, although I&#8217;m accounting for pages not only restored from bfcache but also the HTTP cache. </p>\n\n\n\n<p>My implementation involves the creation of a new session token when the user authenticates. This session token is served in the HTML with each authenticated page, and it is also set as a <code>wordpress_​bfcache_​session_​{COOKIEHASH}</code> cookie which can be read by JavaScript. When a user logs out, this session token cookie is cleared. Whenever a page is loaded, the session token in the HTML is compared with the current session token in the cookie. When they don&#8217;t match, then the page is invalidated. If a page is served from bfcache, then the <a href=\"https://developer.mozilla.org/en-US/docs/Web/API/Window/pageshow_event\"><code>pageshow</code> event</a> (with <code>persisted</code> true) is used to do this check; if a page is served from the HTTP cache, then the check is done when the script module is executed. If the user had logged out, then reloading the page will take them to the login screen which, after authenticating, will redirect them back to the page they had been on.</p>\n\n\n\n<p>As this page cache invalidation mechanism depends on JavaScript, scripting must be enabled to be eligible to omit the <code>no-store</code> directive from the <code>Cache-Control</code> header. This JavaScript detection can be done when the user submits the login form.</p>\n\n\n\n<p>This implementation has been made available in a new plugin: <strong>No-cache BFCache</strong>. It is available <a href=\"https://wordpress.org/plugins/nocache-bfcache/\">on WordPress.org</a> and <a href=\"https://github.com/westonruter/nocache-bfcache/\">on GitHub</a>. This is a feature plugin to implement <a href=\"https://core.trac.wordpress.org/ticket/63636\">#63636</a> in WordPress core.</p>\n\n\n\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-plugin-directory wp-block-embed-plugin-directory\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\"><a href=\"https://wordpress.org/plugins/nocache-bfcache/\">No-cache BFCache</a></blockquote>\n</div></figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"demos\">Demos</h2>\n\n\n\n<p>In the following demos, I have Slow 4G network emulation enabled along with CPU throttling. This is in order to better simulate what an average user may experience when navigating, such as on a mid-range device potentially with a WordPress site on a shared host.</p>\n\n\n\n<h3 class=\"wp-block-heading\">Demo: Navigating the WordPress Admin</h3>\n\n\n\n<p>After navigating from the Dashboard to the posts list table and then opening a post to edit, you can see the difference in speed navigating back and forth through the browser history:</p>\n\n\n\n<div class=\"wp-block-columns alignwide is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h4 class=\"wp-block-heading has-text-align-center\">Without bfcache</h4>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n\n</div></figure>\n</div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h4 class=\"wp-block-heading has-text-align-center\">With bfcache</h4>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n\n</div></figure>\n</div>\n</div>\n\n\n\n<h3 class=\"wp-block-heading\">Demo: Navigating the WordPress Frontend</h3>\n\n\n\n<p>Here you can see me draft a message in a BuddyPress activity update. Then I navigate to another URL, and then I go back and forward:</p>\n\n\n\n<div class=\"wp-block-columns alignwide is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h4 class=\"wp-block-heading has-text-align-center\">Without bfcache</h4>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n\n</div><figcaption class=\"wp-element-caption\">The drafted BuddyPress activity update is lost when navigating away from the page before submitting. The activity feed and Tweet have to be reconstructed with each back/forward navigation.</figcaption></figure>\n</div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h4 class=\"wp-block-heading has-text-align-center\">With bfcache</h4>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n\n</div><figcaption class=\"wp-element-caption\">The drafted BuddyPress activity update is preserved when navigating away from the page without submitting. The activity feed and Tweet do not have to be reconstructed when navigating to previously visited pages via the back/forward buttons.</figcaption></figure>\n</div>\n</div>\n\n\n\n<h2 class=\"wp-block-heading\">Appendix</h2>\n\n\n\n<p>WooCommerce has been serving pages with <code>no-store</code> even for unauthenticated users on its Cart, Checkout, and Account pages. This slowed down navigating a store, even though Woo already implements support for ensuring a cart is up-to-date via the <code>pageshow</code> event, as <a href=\"https://weston.ruter.net/category/wordpress/feed/#stale-content-in-page-caches\">mentioned</a> above. The lack of bfcache means not only that navigating back to the cart is much slower than it needs to be, but there can also be data loss, for example an entered coupon but accidentally not applied. In PR <a href=\"https://github.com/woocommerce/woocommerce/pull/58445\">#58445</a> the sending of <code>no-store</code> was removed. This is slated to be part of v10.1. See <a href=\"https://github.com/woocommerce/woocommerce/pull/58445#issuecomment-3014404754\">before/after demo videos</a>.</p>\n\n\n\n<p>Similarly, in Jetpack certain admin screens are sending <code>no-store</code> which slow down back/forward navigations. In Jetpack 14.9, PR <a href=\"https://github.com/Automattic/jetpack/pull/44322\">#44322</a> removes this and greatly speeds up navigating to/from Jetpack admin screens, as seen in the <a href=\"https://github.com/Automattic/jetpack/pull/44322#:~:text=no%2Dstore.-,Demo%20Video,-Compare%20navigating%20back\">demo videos</a>.</p>\n\n\n\n<p>Sometimes the instantaneous navigations enabled by bfcache (and prerendering in Speculative Loading) can be a bit jarring, since pages load faster than expected. So the No-cache BFCache pairs well with the <a href=\"https://wordpress.org/plugins/view-transitions/\">View Transitions</a> plugin which now features an Admin View Transitions opt-in. This helps smooth the overall experience.</p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" />\n\n\n\n<p>Special thanks to <a href=\"https://kinsta.com/\">Kinsta</a> for <a href=\"https://github.com/sponsors/westonruter\">sponsoring</a> part of my time contributing to WordPress while I&#8217;ve been <a href=\"https://weston.ruter.net/2025/05/14/a-decade-as-a-core-committer-my-wordpress-contribution-history/\">between full time roles</a>. I also <a href=\"https://www.youtube.com/watch?v=d_I_JsFi2M0&amp;t=842s\">discussed</a> this bfcache project in my “<a href=\"https://youtu.be/d_I_JsFi2M0\">From Cassette Tapes to Core Commits: Weston Ruter’s WordPress Journey</a>” interview with <a href=\"https://www.linkedin.com/in/rogerwilliamsmedia?lipi=urn%3Ali%3Apage%3Ad_flagship3_profile_view_base_contact_details%3BSVYGJ1iQReyyHVN4aXnkag%3D%3D\">Roger Williams</a> last week.</p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" />\n\n\n\n<p class=\"has-medium-font-size\">Where I&#8217;ve shared this, if you want to boost:</p>\n\n\n\n<ul class=\"wp-block-social-links is-layout-flex wp-block-social-links-is-layout-flex\"><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/posts/westonruter_instant-backforward-navigations-in-wordpress-activity-7353696655562452995-zu-E?utm_source=share&#038;utm_medium=member_desktop&#038;rcm=ACoAAACIeJ0BUsdEu-G5aiGg1JkXrMQ-C6tbCsI\"><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>\n\n<li class=\"wp-social-link wp-social-link-bluesky  wp-block-social-link\"><a class=\"wp-block-social-link-anchor\" href=\"https://bsky.app/profile/weston.ruter.net/post/3lumkutpuv22l\"><svg height=\"24\" version=\"1.1\" viewBox=\"0 0 24 24\" width=\"24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M6.3,4.2c2.3,1.7,4.8,5.3,5.7,7.2.9-1.9,3.4-5.4,5.7-7.2,1.7-1.3,4.3-2.2,4.3.9s-.4,5.2-.6,5.9c-.7,2.6-3.3,3.2-5.6,2.8,4,.7,5.1,3,2.9,5.3-5,5.2-6.7-2.8-6.7-2.8,0,0-1.7,8-6.7,2.8-2.2-2.3-1.2-4.6,2.9-5.3-2.3.4-4.9-.3-5.6-2.8-.2-.7-.6-5.3-.6-5.9,0-3.1,2.7-2.1,4.3-.9h0Z\"></path></svg><span class=\"wp-block-social-link-label screen-reader-text\">Bluesky</span></a></li>\n\n<li class=\"wp-social-link wp-social-link-mastodon  wp-block-social-link\"><a class=\"wp-block-social-link-anchor\" href=\"https://mastodon.social/@westonruter/114901525584434540\"><svg height=\"24\" version=\"1.1\" viewBox=\"0 0 24 24\" width=\"24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M23.193 7.879c0-5.206-3.411-6.732-3.411-6.732C18.062.357 15.108.025 12.041 0h-.076c-3.068.025-6.02.357-7.74 1.147 0 0-3.411 1.526-3.411 6.732 0 1.192-.023 2.618.015 4.129.124 5.092.934 10.109 5.641 11.355 2.17.574 4.034.695 5.535.612 2.722-.15 4.25-.972 4.25-.972l-.09-1.975s-1.945.613-4.129.539c-2.165-.074-4.449-.233-4.799-2.891a5.499 5.499 0 0 1-.048-.745s2.125.52 4.817.643c1.646.075 3.19-.097 4.758-.283 3.007-.359 5.625-2.212 5.954-3.905.517-2.665.475-6.507.475-6.507zm-4.024 6.709h-2.497V8.469c0-1.29-.543-1.944-1.628-1.944-1.2 0-1.802.776-1.802 2.312v3.349h-2.483v-3.35c0-1.536-.602-2.312-1.802-2.312-1.085 0-1.628.655-1.628 1.944v6.119H4.832V8.284c0-1.289.328-2.313.987-3.07.68-.758 1.569-1.146 2.674-1.146 1.278 0 2.246.491 2.886 1.474L12 6.585l.622-1.043c.64-.983 1.608-1.474 2.886-1.474 1.104 0 1.994.388 2.674 1.146.658.757.986 1.781.986 3.07v6.304z\"></svg><span class=\"wp-block-social-link-label screen-reader-text\">Mastodon</span></a></li>\n\n<li class=\"wp-social-link wp-social-link-twitter  wp-block-social-link\"><a class=\"wp-block-social-link-anchor\" href=\"https://x.com/westonruter/status/1947932105599815923\"><svg height=\"24\" version=\"1.1\" viewBox=\"0 0 24 24\" width=\"24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M22.23,5.924c-0.736,0.326-1.527,0.547-2.357,0.646c0.847-0.508,1.498-1.312,1.804-2.27 c-0.793,0.47-1.671,0.812-2.606,0.996C18.324,4.498,17.257,4,16.077,4c-2.266,0-4.103,1.837-4.103,4.103 c0,0.322,0.036,0.635,0.106,0.935C8.67,8.867,5.647,7.234,3.623,4.751C3.27,5.357,3.067,6.062,3.067,6.814 c0,1.424,0.724,2.679,1.825,3.415c-0.673-0.021-1.305-0.206-1.859-0.513c0,0.017,0,0.034,0,0.052c0,1.988,1.414,3.647,3.292,4.023 c-0.344,0.094-0.707,0.144-1.081,0.144c-0.264,0-0.521-0.026-0.772-0.074c0.522,1.63,2.038,2.816,3.833,2.85 c-1.404,1.1-3.174,1.756-5.096,1.756c-0.331,0-0.658-0.019-0.979-0.057c1.816,1.164,3.973,1.843,6.29,1.843 c7.547,0,11.675-6.252,11.675-11.675c0-0.178-0.004-0.355-0.012-0.531C20.985,7.47,21.68,6.747,22.23,5.924z\"></path></svg><span class=\"wp-block-social-link-label screen-reader-text\">Twitter</span></a></li>\n\n<li class=\"wp-social-link wp-social-link-threads  wp-block-social-link\"><a class=\"wp-block-social-link-anchor\" href=\"https://www.threads.com/@westonruter/post/DMcW7QUOfrC?xmt=AQF0RmSf6xjzbuDgVlvigocp0pk-4R0eBjA7GUIEXS4bQw\"><svg height=\"24\" version=\"1.1\" viewBox=\"0 0 24 24\" width=\"24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M16.3 11.3c-.1 0-.2-.1-.2-.1-.1-2.6-1.5-4-3.9-4-1.4 0-2.6.6-3.3 1.7l1.3.9c.5-.8 1.4-1 2-1 .8 0 1.4.2 1.7.7.3.3.5.8.5 1.3-.7-.1-1.4-.2-2.2-.1-2.2.1-3.7 1.4-3.6 3.2 0 .9.5 1.7 1.3 2.2.7.4 1.5.6 2.4.6 1.2-.1 2.1-.5 2.7-1.3.5-.6.8-1.4.9-2.4.6.3 1 .8 1.2 1.3.4.9.4 2.4-.8 3.6-1.1 1.1-2.3 1.5-4.3 1.5-2.1 0-3.8-.7-4.8-2S5.7 14.3 5.7 12c0-2.3.5-4.1 1.5-5.4 1.1-1.3 2.7-2 4.8-2 2.2 0 3.8.7 4.9 2 .5.7.9 1.5 1.2 2.5l1.5-.4c-.3-1.2-.8-2.2-1.5-3.1-1.3-1.7-3.3-2.6-6-2.6-2.6 0-4.7.9-6 2.6C4.9 7.2 4.3 9.3 4.3 12s.6 4.8 1.9 6.4c1.4 1.7 3.4 2.6 6 2.6 2.3 0 4-.6 5.3-2 1.8-1.8 1.7-4 1.1-5.4-.4-.9-1.2-1.7-2.3-2.3zm-4 3.8c-1 .1-2-.4-2-1.3 0-.7.5-1.5 2.1-1.6h.5c.6 0 1.1.1 1.6.2-.2 2.3-1.3 2.7-2.2 2.7z\"></svg><span class=\"wp-block-social-link-label screen-reader-text\">Threads</span></a></li></ul>\n\n\n\n<p></p>\n<p>The post <a href=\"https://weston.ruter.net/2025/07/23/instant-back-forward-navigations-in-wordpress/\">Instant Back/Forward Navigations in WordPress</a> appeared first on <a href=\"https://weston.ruter.net\">Weston Ruter</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, 23 Jul 2025 07:51: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:12:\"Weston Ruter\";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:\"\n	\n	\n	\n	\n	\n	\n	\n	\n	\n	\n\";s: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:82:\"Jonathan Desrosiers: Implementing AI in Open Source Without Losing the Human Touch\";s: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=6434\";s: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:101:\"https://jonathandesrosiers.com/2025/07/implementing-ai-in-open-source-without-losing-the-human-touch/\";s: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:14043:\"<p class=\"\">AI is reshaping how we interact with technology and with each other. In large, collaborative Open Source communities like <a href=\"https://wordpress.org/\">WordPress</a>, the shift towards AI is exciting, but it brings unique challenges when applied across a global contributor base.</p>\n\n\n\n<p class=\"\">There are extreme stances on both sides of the argument. On one side: &#8220;AI everything.&#8221; On the other: &#8220;AI has no place here.&#8221; I am somewhere in the middle. Watching. Listening. Experimenting.</p>\n\n\n\n<p class=\"\">I spend a lot of time <a href=\"https://jonathandesrosiers.com/2019/06/wordpress-triage-team-3-month-reflection/\">thinking about contributor workflows and triage</a>. This post is a reflection on how we might integrate AI into those areas in thoughtful ways, without losing the human qualities that make Open Source great.</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-ai-is-just-the-newest-kind-of-automation\">AI Is Just the Newest Kind of Automation</h2>\n\n\n\n<p class=\"\">Automation is not new. WordPress has embraced automation in many forms over the years: build scripts, linting tools, unit testing, continuous integration workflows, and more. AI is simply another form of automation. It only does what we configure it to do. We haven’t reached any kind of singularity just yet.</p>\n\n\n\n<p class=\"\">But with great power comes great responsibility. Just because we can doesn’t mean we should. Every proposed use of AI should be <a href=\"https://maintaine.rs/desrosj\">measured against</a> our <a href=\"https://wordpress.org/about/philosophy/\">core values</a>: putting the users first, backwards compatibility, democratizing publishing, and making WordPress welcoming to contributors of all skill levels.</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-what-should-always-be-human\">What Should Always Be Human?</h2>\n\n\n\n<p class=\"\">Before we introduce AI into the community, we need to answer one critical question: What <em><strong>must</strong></em> be human? If we first identify those things and declare them sacred, we can then begin to explore how to best surround and support them with AI-related tools.</p>\n\n\n\n<p class=\"\">Related to that is another important question: What do people <em><strong>expect</strong></em> to be human? And where do those expectations align or conflict with perception, or the tasks that actually make us more productive?</p>\n\n\n\n<figure class=\"wp-block-image alignwide size-full wp-lightbox-container\"><img alt=\"A person standing alone in front of a large, bright white screen, with only their silhouette visible against the light background.\" class=\"wp-image-6439 not-transparent\" height=\"1707\" src=\"https://jonathandesrosiers.com/wp-content/uploads/2025/07/96466603e98a99495.95027958-scaled.jpg\" width=\"2560\" /><button class=\"lightbox-trigger\" type=\"button\">\n			<svg fill=\"none\" height=\"12\" viewBox=\"0 0 12 12\" width=\"12\" xmlns=\"http://www.w3.org/2000/svg\">\n				<path d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" fill=\"#fff\">\n			</svg>\n		</button><figcaption class=\"wp-element-caption\"><a href=\"https://creativecommons.org/publicdomain/zero/1.0/\">CC0</a> licensed <a href=\"https://wordpress.org/photos/photo/untitled-post-submission-621/\">photo</a> by <a href=\"https://www.nilovelez.com/\">Nilo Velez</a> from the <a href=\"https://wordpress.org/photos/\">WordPress Photo Directory</a>.</figcaption></figure>\n\n\n\n<p class=\"\">From personal experience, I hate when I’m forced to interact with AI or a chat bot when I was instead expecting (or hoping for) a human. Rarely am I surprised in a good way. More often I’m frustrated and disappointed by limitations and rigid structure. Expectations matter.</p>\n\n\n\n<p class=\"\">The right approach could be to let each contributor configure the level of AI support they want to meet their needs and expectations.</p>\n\n\n\n<p class=\"\">Some common-sense boundaries might include the following:</p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-the-first-and-last-interaction-on-every-ticket-should-always-be-human\">The first and last interaction on every ticket should always be human</h3>\n\n\n\n<p class=\"\">Creating a ticket in a large project takes courage. A human response is a sign of respect and gratitude. Every reporter is owed at least two human responses. That human interaction sets the tone, builds trust, and encourages continued participation. Tactfully sprinkling AI in the middle is acceptable.</p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-ai-should-not-be-used-for-evaluating-ideas-or-making-decisions\">AI should not be used for evaluating ideas or making decisions</h3>\n\n\n\n<p class=\"\">Verifying a patch, helping adhere to coding standards, providing suggestions for improvement, or flagging potential issues based on past commit activity are all great opportunities to use AI. But using AI to actually make decisions becomes quite risky.</p>\n\n\n\n<p class=\"\">I think it’s safe to say that the overwhelming majority of contributors expect final decisions to be made by humans. However, AI could support the evaluation of ideas by identifying possible consequences, providing historical context, fact-checking, and validating rationale.</p>\n\n\n\n<p class=\"\">There could also be an option to request deeper AI insight using a keyword, like <code>needs-ai-feedback</code>, when necessary.</p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-ai-can-break-down-cultural-and-language-barriers\">AI can break down cultural and language barriers</h3>\n\n\n\n<p class=\"\">Global collaboration is a strength of Open Source, but it also introduces communication challenges. Language barriers, social norms, and tone differences can unintentionally create friction. AI has the potential to help us bridge those gaps. It can assist with translating intent, softening language, and suggesting more inclusive phrasing. By helping contributors express themselves clearly and interpret others more generously, AI can promote empathy and reduce misunderstandings.</p>\n\n\n\n<p class=\"\">While there are <a href=\"https://es.wordpress.org/support/\">localized support resources</a> for the WordPress project, it&#8217;s generally expected that when contributing you are doing so in English. But what if AI were used to automatically translate any message, allowing someone to contribute in their native tongue? <a href=\"https://jonathandesrosiers.com/2025/07/the-ghosts-of-unactivated-contributors/\">How many more contributors could we activated</a> with something like this?</p>\n\n\n\n<p class=\"\">When used thoughtfully, AI can enhance human conversations across cultures rather than replace them.</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-ai-as-a-contributor-onboarding-tool\">AI as a Contributor Onboarding Tool</h2>\n\n\n\n<p class=\"\">AI is great for handling beginner-leaning tasks. So how can we use AI to level up contributors that are just getting involved?</p>\n\n\n\n<p class=\"\">This is also tricky because Open Source projects <em>need</em> contributors of all levels to ensure a healthy pipeline. We don’t want to replace them since the novice contributors of today are potentially future maintainers and leaders. Instead, we should focus on how to support and empower them.</p>\n\n\n\n<figure class=\"wp-block-image alignwide size-full wp-lightbox-container\"><img alt=\"A large, empty auditorium with rows of numbered blue seats with yellow trim.\" class=\"wp-image-6444 not-transparent\" height=\"1707\" src=\"https://jonathandesrosiers.com/wp-content/uploads/2025/07/957645e31e382a517.41452423-scaled.jpg\" width=\"2560\" /><button class=\"lightbox-trigger\" type=\"button\">\n			<svg fill=\"none\" height=\"12\" viewBox=\"0 0 12 12\" width=\"12\" xmlns=\"http://www.w3.org/2000/svg\">\n				<path d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" fill=\"#fff\">\n			</svg>\n		</button><figcaption class=\"wp-element-caption\"><a href=\"https://creativecommons.org/publicdomain/zero/1.0/\">CC0</a> licensed <a href=\"https://wordpress.org/photos/photo/957645e31e/\">photo</a> by <a href=\"https://wordpress.org/photos/author/tomlach/\">Tomek Lach</a> from the <a href=\"https://wordpress.org/photos/\">WordPress Photo Directory</a>.</figcaption></figure>\n\n\n\n<p class=\"\">AI could assist new contributors in a number of ways: explaining the history behind a change, suggesting further reading, answering questions, and setting expectations by describing what usually happens next for similar tickets.</p>\n\n\n\n<p class=\"\">The number one thing I hear from new contributors is that it’s too hard to find something to do. That’s ironic, given how much work there is. Unfortunately, most of it just isn’t easy to find.</p>\n\n\n\n<p class=\"\">With the right prompts, AI could help new contributors by doing things like:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"\">Ask qualifying questions and use its understanding of contributor expectations and process to suggest appropriate tickets.</li>\n\n\n\n<li class=\"\">Provide detailed descriptions of what needs to be done and why it matters.</li>\n\n\n\n<li class=\"\">Recommend logical next steps or related tickets based on interest and skill level.</li>\n</ul>\n\n\n\n<p class=\"\">These types of interaction could help people get started and build confidence more quickly.</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-preserving-the-human-voice\">Preserving the Human Voice</h2>\n\n\n\n<p class=\"\">Another fun idea: What if we trained AI bots in the style of long-time contributors? That kind of tool could preserve institutional knowledge while making expert guidance more accessible.</p>\n\n\n\n<p class=\"\">Many have joked before: &#8220;If only we could clone <a href=\"https://profiles.wordpress.org/sergeybiryukov/\">Sergey</a>.&#8221; Maybe AI makes the kind of mentorship our most prolific contributors provide more scalable. With well-documented public contributions, we could build agents trained on a contributor’s feedback patterns (with clear disclaimers that they are approximations, not endorsements, of course).</p>\n\n\n\n<p class=\"\">It could also be component-specific. Perhaps there’s a Jonathan bot that responds to feedback requests on Build/Test Tool tickets. Or perhaps a <a href=\"https://aaron.jorb.in/\">Jorbin bot</a> that offers a clever pun before sharing deep historical context. These bots wouldn’t replace the people behind them; they could help scale their impact and preserve bandwidth. Of course, we’d need community agreement, ethical safeguards, and consent before simulating the voice of any individual contributor.</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-strengthening-ai-tools-through-documentation\">Strengthening AI Tools Through Documentation</h2>\n\n\n\n<p class=\"\">Cross-team collaboration and documentation could benefit greatly from AI. But AI is only as good as the data it&#8217;s trained on. That makes clear, consistent documentation essential, not just helpful.</p>\n\n\n\n<p class=\"\">For AI to be successfully implemented, our processes, workflows, and expectations all need to be clearly documented. Now is the time to take stock of our processes, standards, and documentation gaps. This includes teams like Performance, Accessibility, Internationalization, Design, and AI itself.</p>\n\n\n\n<p class=\"\">There are already areas where automation could be introduced thoughtfully. Trac, for example, uses a s<a href=\"https://make.wordpress.org/core/handbook/contribute/trac/keywords/\">et of action and status keywords</a> that are excellent candidates for AI-assisted workflows. A keyword like <code>fixed-major</code> could automatically trigger a pull request backport. Similarly, AI could suggest keywords, help verify whether a keyword is appropriate, or identify when something has been overlooked. But the documentation around these keywords is basic at best.</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-building-educational-content\">Building Educational Content</h2>\n\n\n\n<p class=\"\">Another promising area is summarizing complex or repetitive concepts. AI excels at distilling large volumes of discussion and activity into summaries, tutorials, or templates. This could be especially useful for the Learn team, where AI might monitor contributor activity and auto-draft course outlines or video scripts for tasks that are frequently repeated.</p>\n\n\n\n<p class=\"\">Creating this content can take a considerable amount of time, and contributors who perform these tasks often don’t have the bandwidth to document them as well.</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-closing-thoughts\">Closing Thoughts</h2>\n\n\n\n<p class=\"\">AI holds enormous potential to make Open Source more welcoming, efficient, and inclusive. But that’s only possible if we use it with intention. We should approach AI the same way we approach any other major change to the project. It should be evaluated like everything else: carefully, collaboratively, and with the long-term health of the community in mind.</p>\n\n\n\n<p class=\"\">How do we avoid creating more work for our future selves?</p>\n\n\n\n<p class=\"\">Let’s not just ask what AI can do. Let’s ask what it should do, what it should never replace, and how we can answer those questions together as humans.</p>\n\n\n\n<p class=\"has-text-align-right has-small-font-size\"><em>Featured image credit: <a href=\"https://creativecommons.org/publicdomain/zero/1.0/\">CC0</a> licensed <a href=\"https://wordpress.org/photos/photo/844634897d/\">photo</a> by <a href=\"https://wordpress.org/photos/author/jenniferbourn/\">Jennifer Bourn</a> from the <a href=\"https://wordpress.org/photos/\">WordPress Photo Directory</a>.</em></p>\n<p>The post <a href=\"https://jonathandesrosiers.com/2025/07/implementing-ai-in-open-source-without-losing-the-human-touch/\">Implementing AI in Open Source Without Losing the Human Touch</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:\"Tue, 22 Jul 2025 18:05: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: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:12;a:6:{s:4:\"data\";s:21:\"\n	\n	\n	\n	\n	\n	\n	\n	\n	\n	\n\";s: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:56:\"Tammie Lister: Optimizing triage with AI starting points\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"https://binatethoughts.com/?p=2398\";s: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:69:\"https://binatethoughts.com/optimizing-triage-with-ai-starting-points/\";s: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:7860:\"<p>Back in June, I wrote about how <a href=\"https://binatethoughts.com/optimising-triage-and-review-processes-in-wordpress-using-ai/\">triage and reviews</a> in WordPress could be optimized with the help of AI. Since then, discussions have taken place, and last week, James LePage released the <a href=\"https://github.com/Jameswlepage/trac-mcp\">Trac MCP Server</a>, which is now capable of interacting with Claude and ChatGPT. A demo of the MCP server is available <a href=\"https://mcp-server-wporg-trac-staging.a8cai.workers.dev\">here</a>. With this in mind, I would like to share my perspective on how this can be applied now.</p>\n\n\n\n<p>Before I dive in, it&#8217;s worth noting that this isn&#8217;t a problem that can be solved by one person or one view. It also doesn&#8217;t just solve looking at one tool or Trac, GitHub alone. It happens during discussions, when multiple people think about this and then explorations take place. It does, however, need to start, and we can do that without disrupting our existing flows. AI can empower us, and tools like this can improve and boost our flows today.</p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>MCP Servers: Lightweight programs that each expose specific capabilities through the standardized Model Context Protocol</p>\n\n\n\n<p class=\"has-medium-font-size\"><a href=\"https://modelcontextprotocol.io/introduction\">https://modelcontextprotocol.io/introduction</a></p>\n</blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">The issue</h2>\n\n\n\n<p>WordPress has thousands of open tickets spanning many years. Humans are not as good at pattern matching as AI. We do, however, pattern match, and we work well when they are brought to our attention. Whilst closing all tickets via automation would be a friction point, using AI to support, guide and surface what should be worked on makes a lot of sense. Traditional triage is manual, often even though we can use the best reports, which are not as scalable as we would like.</p>\n\n\n\n<p>The current reporting tools in Trac are limited to the interface. They are bound by query construction and are not often created using natural language, so their formation is disjointed and frequently problematic for many to access.</p>\n\n\n\n<h2 class=\"wp-block-heading\">Starting with prompts</h2>\n\n\n\n<p>This is where tools like the Trac MCP Server can be beneficial. For example, Claude allows you to prompt to get an output. If we think of these as &#8216;reports&#8217; in the loose term, they can be tested in triage sessions.</p>\n\n\n\n<p>The Trac MCP Server unlocks the data and could, through Claude or ChatGPT, even surface the project&#8217;s health. A key point, though, is not to use it to replicate the tasks that reports do today. It can do more and should do.</p>\n\n\n\n<p>Building up fidelity like this is a process we are all familiar with in engineering. You algorithmic work out something, then you build it, then you automate it. If you utilise AI, you can achieve better results, and we all know this. It&#8217;s just tempting to skip to the good part of letting AI hallucinate a prompt sometimes.</p>\n\n\n\n<h2 class=\"wp-block-heading\">Not just triage, context</h2>\n\n\n\n<p>Through this MCP server, access is available to all WordPress development history in Trac. Every bug, enhancement, discussion and decision. This goes beyond triage, so worth noting. Imagine you want, for example, context on decisions. You can do that by querying a ticket. I decided to go on a little journey.</p>\n\n\n\n<p>For example, consider the following prompt: <strong>&#8220;What is happening in WordPress development right now?&#8221;</strong></p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img alt=\"\" class=\"wp-image-2422\" height=\"1024\" src=\"https://binatethoughts.com/wp-content/uploads/2025/07/image-2-910x1024.png\" width=\"910\" /></figure>\n\n\n\n<p>Perhaps you&#8217;d like to delve a bit deeper into: <strong>&#8220;What types of tickets are sitting open vs. getting fixed?&#8221;</strong></p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img alt=\"\" class=\"wp-image-2424\" height=\"1024\" src=\"https://binatethoughts.com/wp-content/uploads/2025/07/image-3-891x1024.png\" width=\"891\" /></figure>\n\n\n\n<p>I then went a little more into things: <strong>&#8220;Can I predict which tickets need attention?&#8221;</strong>. I began thinking about a severity classification framework in collaboration with Claude; by doing this, I could create a report that queried. This would give me an action list to compare against the predictions. This is how to level up this type of data.</p>\n\n\n\n<p>The key issue to resolve here is figuring out which classification framework to use and how an agreement is reached. It&#8217;s all well and suitable for each of us to use a different one that we vibe with, but there needs to be a standard for the project. This is achievable, though, and it starts with using all we know and use daily in triage. Once we have that, we can have a standard to measure by.</p>\n\n\n\n<p>This can be used in a variety of applications, from triage to product management and writing posts to providing context for yourself. Having this type of easy, natural access unlocks the hidden history of WordPress development.</p>\n\n\n\n<h2 class=\"wp-block-heading\">Extra level</h2>\n\n\n\n<p>If the reports are consistently surfacing correct results, we should add even proposed closings. We only do that once the reports are consistent. An MCP server delivers data, allowing AI to access it, and that&#8217;s where the power comes in.</p>\n\n\n\n<p>This may not require an interface. At some point, perhaps, but right now, exploring what can be unlocked by prompting is where the true power lies. You can pipe it in and generate something. You can vibe a dashboard (I did for a timebox fun), but that&#8217;s a nice-to-have tool, or at least distracts from how useful this can be if the prompting can be refined and data dug into. The more personally I use tools like this, the less I want an interface beyond a prompt, at least to start. I want to work out how they will be helpful.</p>\n\n\n\n<h2 class=\"wp-block-heading\">Considerations</h2>\n\n\n\n<p>As with anything freshly baked like this, there are considerations and caveats. Trac is just one place where things happen; GitHub is the other, so we do need a way to see a holistic picture to know the entire state. Other things we likely need are an easier way to query based on users, although the reports in Trac are well-suited for that purpose. We need to be continuously mindful that this is not to replicate or replace those, but go beyond and give us something they don&#8217;t, not be bound by the reporting tool&#8217;s interface.</p>\n\n\n\n<p>Access to this meant I used my Claude account, and while many have this, we need to be considerate that not everyone has access to these tools yet at the paid tiers. That was why seeing ChatGPT support added was great. Overall, though, the barrier to entry is low, and I encourage people to explore and see what they can create. </p>\n\n\n\n<h2 class=\"wp-block-heading\">Reflections</h2>\n\n\n\n<p>The future of open source development isn&#8217;t just about better code; it&#8217;s about better intelligence on how we build that code. We need that access where we work. One pattern I have noticed with this MCP server is how useful it is to have it exist for me. Simply knowing I can prompt like this means I do. There is a strong case to be made for no interface, but reusable prompting at least while we work out agentic approaches to triage.</p>\n\n\n\n<p>I find myself exploring this data because it is accessible to me. I say that as someone who can create reports in Trac. But, there is something much more human about the way we create prompts. This is also the first week of the Trac MCP server. Let&#8217;s see what the next iterations bring and where others take this.</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, 22 Jul 2025 11:22:42 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:18:\"binatethoughts.com\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:13;a:6:{s:4:\"data\";s:21:\"\n	\n	\n	\n	\n	\n	\n	\n	\n	\n	\n\";s: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:80:\"Open Channels FM: The Indonesia WordPress Community Gets Ready for WordCamp Asia\";s: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=103551\";s: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:87:\"https://openchannels.fm/the-indonesia-wordpress-community-gets-ready-for-wordcamp-asia/\";s: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:206:\"In the final WordPress Event Talk, the Indonesian community discussed Indonesia\'s readiness to host WordCamp Asia, emphasizing local strengths, challenges, and the need for a phased approach to preparation.\";s: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, 22 Jul 2025 05:56:22 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"BobWP\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:14;a:6:{s:4:\"data\";s:21:\"\n	\n	\n	\n	\n	\n	\n	\n	\n	\n	\n\";s: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:87:\"Open Channels FM: The Power (and Profits) of Being a Generalist in WordPress Consulting\";s: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=101221\";s: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://openchannels.fm/the-power-and-profits-of-being-a-generalist-in-wordpress-consulting/\";s: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:217:\"Three WordPress veterans argue that generalists are valuable in tech, emphasizing adaptability, effective communication, and problem-solving abilities over narrow specialization for achieving higher consultancy rates.\";s: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, 21 Jul 2025 12:12:53 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"BobWP\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:15;a:6:{s:4:\"data\";s:21:\"\n	\n	\n	\n	\n	\n	\n	\n	\n	\n	\n\";s: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:120:\"Gutenberg Times: AI Building Blocks, WordCamp US, WordPress 6.9 Planning, Block Developer Cookbook—Weekend Edition 334\";s: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=40875\";s: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:126:\"https://gutenbergtimes.com/ai-building-blocks-wordcamp-us-wordpress-6-9-planning-block-developer-cookbook-weekend-edition-334/\";s: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:23130:\"<p>Hi there, </p>\n\n\n\n<p>It&#8217;s good to be back from vacation! Norway is a great country with a rich history, excellent food, great culture, and huge prices. It is absolutely worth it, though. </p>\n\n\n\n<p>While I was away, some great educational programs came online. I am glad <strong>Destiny Kanno</strong> published <a href=\"https://make.wordpress.org/community/2025/07/18/how-to-talk-about-and-support-the-new-wordpress-education-initiatives/\">How to Talk About and Support the New WordPress Education Initiatives</a> to catch me and you up on all the fabulous opportunities to help young folks get acquainted with WordPress and learn some life skills, too. </p>\n\n\n\n<p>For the first time in three years, I will be back at <strong>WordCamp US in Portland, OR, August 26 to 29, 2025</strong>. Will you be there? I would love to see you again in person. It&#8217;s been too long! <a href=\"https://us.wordcamp.org/2025/tickets/\">Get your ticket now.</a> The organizer <a href=\"https://x.com/WordCampUS/status/1946313007815893102\">started announcing speakers</a>. </p>\n\n\n\n<p>And now back to regular programming. Enjoy the newsletter. </p>\n\n\n\n<p>Yours, <img alt=\"💕\" class=\"wp-smiley\" src=\"https://s.w.org/images/core/emoji/16.0.1/72x72/1f495.png\" style=\"height: 1em;\" /><br /><em>Birgit</em></p>\n\n\n<section class=\"wp-block-newsletterglue-group\" style=\"padding-top: 10px; padding-bottom: 10px; padding-left: 20px; padding-right: 20px; margin-top: 0px; margin-bottom: 0px;\">\n<div class=\"wp-block-group has-light-background-background-color has-background\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<p><strong>Table of Contents</strong></p>\n\n\n\n<nav class=\"wp-block-table-of-contents\"><ol><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/ai-building-blocks-wordcamp-us-wordpress-6-9-planning-block-developer-cookbook-weekend-edition-334/#0-word-press-release-information\">Developing Gutenberg and WordPress</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/ai-building-blocks-wordcamp-us-wordpress-6-9-planning-block-developer-cookbook-weekend-edition-334/#0-p\">Plugins, Themes, and tools for #nocode site builders and owners</a><ol><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/ai-building-blocks-wordcamp-us-wordpress-6-9-planning-block-developer-cookbook-weekend-edition-334/#new-and-updated-plugins\">New and updated Plugins</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/ai-building-blocks-wordcamp-us-wordpress-6-9-planning-block-developer-cookbook-weekend-edition-334/#classic-vs-blocks-vs-page-builders\">Classic vs. Blocks vs. Page Builders</a></li></ol></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/ai-building-blocks-wordcamp-us-wordpress-6-9-planning-block-developer-cookbook-weekend-edition-334/#2-word-press-6-0-1-and-6-1-scheduled\">Theme Development for Full Site Editing and Blocks</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/ai-building-blocks-wordcamp-us-wordpress-6-9-planning-block-developer-cookbook-weekend-edition-334/#3-building-themes-for-fse-and-word-press\">Building Blocks and Tools for the Block editor.</a></li></ol></nav>\n</div></div>\n</section>\n\n<div class=\"wp-block-newsletterglue-showhide ng-block\" width=\"100%\"></div>\n\n\n<h2 class=\"wp-block-heading\" id=\"0-word-press-release-information\">Developing Gutenberg and WordPress</h2>\n\n\n\n<p><a href=\"https://wordpress.org/news/2025/07/wordpress-6-8-2-maintenance-release/\"><strong>WordPress 6.8.2 Maintenance Release</strong></a> came out this week. Release lead <strong>Jean Baptist Audras</strong> mentioned in his release post that <a href=\"https://core.trac.wordpress.org/query?resolution=fixed&amp;milestone=6.8.2&amp;group=component&amp;col=id&amp;col=summary&amp;col=milestone&amp;col=owner&amp;col=type&amp;col=status&amp;col=priority&amp;order=priority\">20 core</a> and <a href=\"https://github.com/WordPress/gutenberg/pull/70557\">15 </a>bloc<a href=\"https://github.com/WordPress/gutenberg/pull/70557\">k editor</a> fixes were included in this minor release. Update now to benefit from these bug fixes. </p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p>Core committer <strong>Jeffrey Paul</strong> posted the <strong><a href=\"https://make.wordpress.org/core/2025/07/11/wordpress-6-9-planning-proposal-and-call-for-volunteers/\">WordPress 6.9 Planning Proposal and Call for Volunteers</a>.</strong> The deadline to apply for the release squad is July 25th, 2025. Beta 1 is scheduled for October 21, RC 1 for November 11, and the final release date is December 2, 2025.</p>\n\n\n\n<p>Just doing some quick calculations here: It looks like the upcoming release is going to pack in all the goodies from Gutenberg versions 20.5 to 21.9, assuming we keep up that two-week release schedule.</p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p><strong>Justin Tadlock</strong> published <a href=\"https://developer.wordpress.org/news/2025/07/whats-new-for-developers-july-2025/\"><strong>What&#8217;s new for Developer (July 2025)</strong></a> and lists phased plugin updates, custom social icons, and more in this summer edition of the monthly WordPress developer roundup. </p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p>Speaking of the WordPress Developer Blog, <strong>Mary Baum</strong> put out a call for writers! If you like writing technical tutorials and sharing your learnings or research with WordPress developers, get the skinny from her post: <a href=\"https://developer.wordpress.org/news/2025/07/the-developer-blog-needs-you/\"><strong>The Developer Blog needs you!</strong></a></p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p><strong>Hector Prieto</strong> just managed the release of <a href=\"https://github.com/WordPress/gutenberg/releases/tag/v21.2.0\"><strong>Gutenberg 21.2.</strong></a> It brings further refinements to the interface , Dataviews and continued progress on toolspanel implementation. You can read the full release post with details <a href=\"https://make.wordpress.org/core/2025/07/18/whats-new-in-gutenberg-21-2-16-july/\"><strong>on what’s new in Gutenberg 21.2? (16 July)</strong></a></p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p><strong>James LePage</strong> gives you a run down of the <strong><a href=\"https://make.wordpress.org/ai/2025/07/17/ai-building-blocks/\">AI Building Blocks for WordPress</a>.</strong> Each building block is listed with a brief description and a more detailed overview article linked for further reading.</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https://make.wordpress.org/ai/2025/07/17/php-ai-api/\">PHP AI Client SDK</a></li>\n\n\n\n<li><a href=\"https://make.wordpress.org/ai/2025/07/17/abilities-api\">Abilities API</a> (former Feature API) </li>\n\n\n\n<li><a href=\"https://make.wordpress.org/ai/2025/07/17/mcp-adapter\">MCP Adapter</a></li>\n\n\n\n<li><a href=\"https://make.wordpress.org/ai/2025/07/17/ai-experiments-plugin\">AI Experiments Plugin</a></li>\n</ul>\n\n\n\n<p>The plugins will be worked on as canonical/feature plugins to avoid early lock-in in a space that moves really, really fast at the moment. LePage also gives context to how this work overlaps with the initiatives of Gutenberg Phase 3: new admin design, collaborative editing, and the work on revamping the Media Library. </p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p>In this week&#8217;s live stream, <strong>JuanMa Garrido</strong> covered each of the <strong>building blocks</strong>. You can watch the recording on YouTube: <a href=\"https://www.youtube.com/watch?v=Ban33rXA9as\" rel=\"noreferrer noopener\" target=\"_blank\"><strong>Core projects for AI in WordPress</strong></a></p>\n\n\n\n\n\n<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\">\n<p><img alt=\"🎙\" class=\"wp-smiley\" src=\"https://s.w.org/images/core/emoji/16.0.1/72x72/1f399.png\" style=\"height: 1em;\" /> The latest episode <a href=\"https://gutenbergtimes.com/podcast/gutenberg-changelog-118-wordpress-new-ai-team-the-pride-photo-drive/\">Gutenberg Changelog 118 – WordCamp Europe, WordPress New AI Team, the Pride Photo Drive, Gutenberg 20.9 and 21.0 </a> <strong>Anne McCarthy</strong> is back from sabbatical and we talked about WordCamp Europe, the new WordPress AI team, the Pride Photo Drive, and Gutenberg 20.9 and 21.0 . </p>\n\n\n\n<p><em>If you are listing via Spotify, please leave a comment. If you listen via other podcast apps, please leave a review. It&#8217;ll help with the distribution.</em></p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img alt=\"\" class=\"wp-image-40687\" height=\"185\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/06/Screenshot-2025-06-14-at-08.28.08.png?resize=652%2C185&#038;ssl=1\" width=\"652\" /></figure>\n</div></div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"0-p\">Plugins, Themes, and tools for #nocode site builders and owners</h2>\n\n\n\n<p>In his latest video, <strong><a href=\"https://www.youtube.com/watch?v=bHVpoYVDXeg\">Designing with the Columns block</a></strong>, <strong>Wes Theron</strong> guides you through how to use the columns block to build various layouts to build sites. He covers how to structure and organize your content. He’ll show you how to add, customize, and design layouts with multiple columns—ideal for displaying text, images, and other blocks side by side.</p>\n\n\n<div class=\"wp-block-newsletterglue-showhide ng-block\" width=\"100%\">\n<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\">\n\n</div></figure>\n</div>\n\n\n<h3 class=\"wp-block-heading\" id=\"new-and-updated-plugins\">New and updated Plugins</h3>\n\n\n\n<p><strong>Brian Coords</strong>, developer advocate at Woo, announced &#8220;<a href=\"https://developer.woocommerce.com/2025/07/14/woocommerce-10-0-investing-in-accessibility/\" rel=\"noreferrer noopener\" target=\"_blank\">WooCommerce 10.0 is here!</a> </p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Major frontend accessibility improvements</li>\n\n\n\n<li>Shareable checkout URLs</li>\n\n\n\n<li>Coupon enhancements</li>\n\n\n\n<li>A better product importer.</li>\n\n\n\n<li>And over 400 commits from 67 contributors!&#8217;</li>\n</ul>\n\n\n\n<p>The <a href=\"https://developer.woocommerce.com/2025/07/14/woocommerce-10-0-investing-in-accessibility/\">release notes</a> have all the details including screenshots and links. </p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p><strong>Remote Data Blocks</strong> is a WordPress plugin by Automattic&#8217;s WordPressVIP team. It lets you fetch and display remote data in Gutenberg using customizable blocks. It’s ideal for flat, consistent data sources like APIs or Google Sheets. You map data to layouts, and the plugin handles fetching, caching, and rendering inside the block editor. <a href=\"https://remotedatablocks.com/docs/\">Documentation is available on this site</a>. You can <a href=\"https://playground.wordpress.net/?blueprint-url=https://raw.githubusercontent.com/Automattic/remote-data-blocks/trunk/blueprint.json\">test it with Playground.</a></p>\n\n\n\n<p><strong>Stephen Edde</strong> blogged about it: <a href=\"https://wpvip.com/blog/bring-content-to-life-with-remote-data-blocks/\"><strong>Bring Your Content to Life With Remote Data Blocks</strong></a>. He also invites you to the webinar <a href=\"https://wpvip.com/event/launched-wordpress-vips-newest-product-solutions/\">Launched: The Newest Product Solutions</a> from WordPress VIP on August 21, 2025, at 18:00 UTC <br /></p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p><strong>Nathan Wrigley</strong> and <strong>Dan Maby</strong> have just rolled out the beta version of their awesome new <a href=\"https://www.podcasterplus.com\">Podcaster Plus plugin</a>! It makes building podcast websites easy without any coding. It pulls your RSS feed automatically to show episodes and offers customizable blocks and a responsive player which works well on any device. It’s designed for podcasters and agencies managing multiple shows, focusing on quick setup and flexible layouts within WordPress. Or so the promise. You can sign up for the beta<a href=\"https://www.podcasterplus.com/beta/\"> version</a> with your email address.</p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p><strong>Lesley Sim</strong> and <strong>Ahmed Fouad</strong> are the awesome duo behind Newsletter Glue, and guess what? They just sold it! <img alt=\"🎉\" class=\"wp-smiley\" src=\"https://s.w.org/images/core/emoji/16.0.1/72x72/1f389.png\" style=\"height: 1em;\" /> Now, they’ve rolled out their new project, <strong><a href=\"https://eventkoi.com/\">EventKoi</a></strong>, which is a super cool events calendar plugin for WordPress fans. Want to know more about what they’re up to? Check out the sneak peek video and hop on that waitlist!</p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p><strong>Marco Almeida</strong> from Naked Cat Plugins just published a free plugin called <a href=\"https://wordpress.org/plugins/lang-attribute-blocks/\"><strong>Language Attribute for Container Blocks</strong></a>. Once you install it, you can easily add an <code>lang</code> HTML attribute to your Group, Columns, and Cover blocks on your site. It helps accessibility tools and browsers figure out the language of different sections on your page. The readme file mentions that it came to pass as a community collaboration out of WordCamp Europe.</p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p><strong>Paul Halfpenny</strong> announced <a href=\"https://personalizewp.com/blog/announcements/personalizewp-pro-is-now-completely-free-choose-your-perfect-personalization-solution/\"><strong>PersonalizeWP Pro Is Now Completely Free: Choose Your Perfect Personalization Solution</strong></a>. &#8220;WordPress personalization just became accessible to everyone.&#8221; It also meant as a contribution to help WordPress stay competitive with other platforms that offer personalization out of the box. Halfpenny explains about the two version, PersonalizeWP Lite and Pro, for different use cases. The plugin helps site owners to provide different content depending on user behavior or make it visible under different conditions, depending on user types. while keeping within privacy guidelines.</p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"classic-vs-blocks-vs-page-builders\">Classic vs. Blocks vs. Page Builders</h3>\n\n\n\n<p><strong>Sagar Sharma</strong>, from Lubus, just dropped a post titled <a href=\"https://lubus.in/blog/migrated-to-wordpress-block-editor-fse\"><strong>Embracing What We Preach: Our Journey Migrating to WordPress Block Editor &amp; Full Site Editing</strong></a>. It’s all about their journey moving the agency&#8217;s website from the old-school WordPress setup to the new block editor and block theme. Why? To get more flexibility, speed things up, cut down on plugins, and keep the design consistent. You&#8217;ll get the scoop on their rebranding, how they rolled out the FSE migration step by step, and how they’re fine-tuning things along the way. Sharma also shares how they empowered non-tech folks to handle content and how this switch seriously leveled up user experience and SEO scores.</p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p>While Lubus works with middle and large clients, <strong>Patricia Brun Torre</strong> tells a similar story on why she <a href=\"https://patriciabt.com/blog/i-love-the-wp-block-editor-site-editor-and-the-gutenberg-project\"><strong>loves the WP block editor, site editor, and the Gutenberg project</strong></a>. She raves about how the WordPress block editor and site editor are super fast, easy to use, work without extra plugins and make teaching clients a breeze. She loves how everything is intuitive, copy-paste just works, and you can design full sites—including headers, footers, and layouts—without touching code.</p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p>At WordCamp Krakow, a panel discussion was held around Page Builders. Magdalena Pjoreck, former freelancer and now developer at a hosting company; Raitis Sevelis, owner of WPBakery; and Robert Windisch, owner of Syde, an enterprise agency, all come to the discussion from different angles. The conversation was recorded and is <a href=\"https://wordpress.tv/2025/07/14/panel-discussion-page-builders/\">available on WordPressTV</a>.</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"2-word-press-6-0-1-and-6-1-scheduled\">Theme Development for Full Site Editing and Blocks</h2>\n\n\n\n<p><strong>Bud Kraus</strong> published a new tutorial on how to apply <a href=\"https://kinsta.com/blog/customize-block-in-child-theme/\"><strong>custom styling for WordPress block themes using a child theme</strong></a>. He explains that child themes remain essential for customizing WordPress block themes, allowing safe style overrides and customizations without altering parent theme files. Kraus details how, despite the flexibility of block themes and theme.json, child themes are still crucial for advanced customization in WordPress. He demonstrates creating a child theme for the Twenty Twenty-Five theme, using its own style.css and functions.php to safely override styles, define custom block styles, and set up style variations, ensuring control without modifying parent theme files. <a href=\"https://kinsta.com/blog/customize-block-in-child-theme/\">​</a></p>\n\n\n<section class=\"wp-block-newsletterglue-callout undefined not-color-set\" style=\"border-color: #f9f9e5; border-radius: 22px; border-style: solid; border-width: 0; padding-top: 20px; padding-bottom: 20px; padding-left: 20px; padding-right: 20px; text-align: left; margin-left: 0; margin-right: 0; margin-top: 0px; margin-bottom: 0px; background-color: #f9f9e5;\">\n<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—Index 2025&#8221;</a> </strong><br />A chronological list of the WordPress Make Blog posts from various teams involved in Gutenberg development: Design, Theme Review Team, Core Editor, Core JS, Core CSS, Test, and Meta team from Jan. 2024 on. Updated by yours truly. The previous years are also available: <strong><strong><a href=\"https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/keeping-up-with-gutenberg-index-2020/\">2020</a> | <a href=\"https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/keeping-up-with-gutenberg-index-2021/\">2021</a></strong> | <strong><a href=\"https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/keeping-up-with-gutenberg-index-2022/\">2022</a></strong></strong> | <strong><a href=\"https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/gutenberg-index-2023\">2023</a></strong> | <a href=\"https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/gutenberg-index-2024/\"><strong>2024</strong></a></p>\n</section>\n\n\n<h2 class=\"wp-block-heading\" id=\"3-building-themes-for-fse-and-word-press\">Building Blocks and Tools for the Block editor.</h2>\n\n\n\n<p><strong>Ryan Welcher</strong> has been working on his <a href=\"https://blockdevelopercookbook.com/\">Block Developer Cookbook</a> for a few years. Hundreds of developers worked through examples at workshops at WordCamp Asia and WordCamp Europe. Now he brought it all to YouTube in one big livestream session. <a href=\"https://www.youtube.com/watch?v=NJsncDuSc94\"><strong>The Block Developer Cookbook: Live Stream Edition</strong></a>. You can use it to learn how to build custom WordPress blocks or freshen up on certain aspects of it. The video is full of real-world block development techniques , including custom blocks, variations, transforms, interactivity, and more. </p>\n\n\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p>In this week&#8217;s stream, Jonathan Bossenger covered Feature API updates &amp; building a block with Claude Code. He wrote, &#8220;This week, I reviewed the latest update to the Feature API and tested it against my course creation flow. After that, I wanted to see how easy it would be to build a block based on existing HTML/CSS and JS, but only using Claude Code in PhpStorm. The results were pretty impressive, but not perfect, so I decided to try coding it myself. However, I soon discovered that it had been so long since I built a block that I&#8217;d forgotten how to do it.&#8221;</p>\n\n\n<div class=\"wp-block-newsletterglue-showhide ng-block\" width=\"100%\">\n<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\">\n\n</div></figure>\n</div>\n\n<section class=\"wp-block-newsletterglue-callout undefined not-color-set\" style=\"border-color: #eeeeee; border-radius: 26px; border-style: solid; border-width: 0; padding-top: 20px; padding-bottom: 20px; padding-left: 20px; padding-right: 20px; text-align: left; margin-left: 0; margin-right: 0; margin-top: 0px; margin-bottom: 0px; background-color: #f3efe9;\">\n<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 builds for testing and review.</p>\n\n\n\n<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>\n\n\n\n<p><img alt=\"GitHub all releases\" src=\"https://img.shields.io/github/downloads/bph/gutenberg/total?style=for-the-badge\" /></p>\n</section>\n\n\n<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>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" />\n\n\n\n<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>\n\n\n\n<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, 19 Jul 2025 00:16: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:16;a:6:{s:4:\"data\";s:21:\"\n	\n	\n	\n	\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:76:\"Felix Arntz: How Open Source Contributions Elevate Your Professional Journey\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:30:\"https://felix-arntz.me/?p=2173\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:88:\"https://felix-arntz.me/blog/open-source-contributions-elevate-your-professional-journey/\";s: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:9299:\"<p>In <a href=\"https://felix-arntz.me/blog/10-lessons-from-10-years-of-contributing-to-wordpress-core/\" rel=\"noreferrer noopener\" target=\"_blank\">my last post, I shared 10 lessons from 10 years of contributing to WordPress Core</a>. If you&#8217;re new to open source, I encourage you to review those insights. But today, I want to talk about something different: Even though you hopefully contribute out of passion and goodwill, giving back to an open source project can also give something significant back to you. Some of it my previous post may hint at, but in this post I&#8217;d like to look at it more broadly.</p>\n\n\n\n<p>As I mentioned in my previous post, contributing to WordPress Core has changed my career, and indirectly even many other aspects of my life, for the better in so many ways. And while my experience is rooted in WordPress Core, the benefits that OSS contributions can have for your professional development largely apply to almost any sizable open source project.</p>\n\n\n\n<span id=\"more-2173\"></span>\n\n\n\n<p>One of the most profound advantages of contributing to a popular open source project is the unparalleled experience of working on software with a massive and diverse user base. Imagine a project used by hundreds of thousands, or in WordPress&#8217;s case, millions of sites globally. This kind of scale exposes you to a multitude of edge cases, performance considerations, and accessibility challenges that are rarely encountered in smaller, internal projects. Outside of open source projects, this hands-on experience is often only accessible through roles at large tech corporations or highly successful startups with popular products, with complex eligibility requirements. That barrier of entry is wildly different for open source: Established project contributors are typically more welcoming to contributors, as support is almost always needed and appreciated.</p>\n\n\n\n<p>An open source project doesn&#8217;t demand five years of professional experience, a specific degree, or a list of impressive previous projects. You can simply show up and demonstrate your capabilities through initiative, passion, dedication, understanding, and persistence. As long as you are interested in supporting the project and maintain a curious and kind mindset, you can learn and grow simply by contributing to the project itself.</p>\n\n\n\n<p>The experience you gain from working on something large that impacts countless people globally, while distinct from a corporate product, can be immensely beneficial for your general professional development. This experience can even be a significant asset in landing a job at one of those larger tech companies, if that&#8217;s something you&#8217;re interested in.</p>\n\n\n\n<p>The more involved you become in an open source project, especially one relevant to the broader tech industry, the more you start to build a reputation. This reputation could be for being a reliable, efficient, nuanced, or benevolent contributor, or a combination of these traits. You&#8217;ll find people who appreciate your work, potentially even individuals you&#8217;ve long looked up to. While there might occasionally be disagreements or condescending voices, the positive feedback and support will almost certainly be the majority.</p>\n\n\n\n<p>As you consistently show up to contribute and do the work, it can also significantly help you build relationships with peers from whom you can learn, and perhaps even forge lasting friendships. For contractors, it can lead to more interesting gigs, and in some cases, companies might even reach out to you directly rather than you having to pursue them. And, with time, dedication, and a bit of luck, even those bigger job opportunities may find you.</p>\n\n\n\n<h2 class=\"wp-block-heading\">My Personal Journey: From Imposter Syndrome to Google</h2>\n\n\n\n<p>Let me share a bit of my own story and how contributing to WordPress has shaped my career. When I first started contributing to WordPress Core in 2015, I battled a strong case of imposter syndrome. It took several months for me to truly grasp that I, too, could make substantial contributions, just like others, all while continuing to learn – after all, everyone has their unique strengths. Eventually, I found myself leading the development of new features that would land directly in WordPress Core, something I couldn&#8217;t have imagined when I started. A special shoutout goes to <a href=\"https://jeremyfelt.com/\" rel=\"noreferrer noopener\" target=\"_blank\">Jeremy Felt</a>, who welcomed me into the WordPress Multisite team and empowered me as a contributor. I also want to thank <a href=\"https://profiles.wordpress.org/mahype/\" rel=\"noreferrer noopener\" target=\"_blank\">Sven Wagener</a> for trusting me early on with exciting open source freelancing work.</p>\n\n\n\n<p>The contributions I made, coupled with actively participating in community events like WordCamps, meeting new people, and nurturing my curiosity are a huge part of where I am today. Sometimes, I want to say that being a little bold also helped – but then again, as I&#8217;m writing this I wonder whether I only <em>thought</em> of some of my actions as bold <em>because</em> I was feeling like an imposter, and maybe those were just little moments where I overcame it.</p>\n\n\n\n<p>During my time as a freelancer, I saw a significant increase in interesting contracts as my reputation as a contributor grew and I became more recognized within the WordPress community. I ended up contracting for some of the largest companies in the ecosystem, and often, these collaborations simply arose from casual conversations at events.</p>\n\n\n\n<p>I always loved being a freelancer. Something that only some friends know about me is that I used to say, &#8220;I&#8217;m never going to quit freelancing, except maybe for Google.&#8221; To be clear, I mostly said that to emphasize how much I enjoyed freelancing. While I always thought working for Google would be incredible, I never in my wildest dreams believed it would become a realistic option for me.</p>\n\n\n\n<p>However, what transpired in 2018 completely blew me away. At that time, I had read a blog post by a Googler named Alberto Medina, announcing that Google was hiring for a new team focused on the WordPress ecosystem. Even though I had already achieved certain things as a contributor that made me proud, I found myself battling imposter syndrome again. &#8220;Sure, things are going well, but Google? Don&#8217;t these companies hire the most talented engineers in the world? That&#8217;s not me.&#8221; This was early 2018. Fast forward to WordCamp Europe 2018, I was exploring the Google booth when my friend <a href=\"https://weston.ruter.net/\" rel=\"noreferrer noopener\" target=\"_blank\">Weston Ruter</a> introduced me to <a href=\"https://profiles.wordpress.org/albertomedina/\" rel=\"noreferrer noopener\" target=\"_blank\">Alberto Medina</a> – yes, the same Alberto who worked at Google and wrote the post I mentioned earlier. One of the first things that emerged in our conversation was that Alberto already knew who I was. OMG! I kept my cool externally, but I was completely taken aback! Over the course of the WordCamp, we continued our conversations about the opportunity at Google. Eventually, I applied for a role on the new team. With Alberto&#8217;s continued support throughout the application process and a lot of preparation on my part, I went through the interviews and ultimately received a job offer. And to make the deal even sweeter, I learned I would be working alongside a few other WordPress folks whom I already considered friends. This is how I started working for Google, and I&#8217;m still here today.</p>\n\n\n\n<p>Please forgive the detour, but this is my personal prime example of how contributing to open source, specifically WordPress, significantly propelled my professional career. Selfishly, I also love to reminisce about this exciting time – it completely turned my life upside down, in so many positive ways.</p>\n\n\n\n<h2 class=\"wp-block-heading\">Explore Open Source – It Might Be a Game Changer for Your Career</h2>\n\n\n\n<p>Contributing to open source can be a huge lever for your career. If you haven&#8217;t yet worked on the massively impactful projects that many job openings seem to demand, or if you&#8217;re fresh out of college, I strongly encourage you to explore open source. Heck, take some time to look into it even if you&#8217;re <em>in</em> college. For me, that was a time where I had less financial responsibility, which allowed me to put in several hours contributing to WordPress Core each week, alongside the freelancing I was doing at the same time.</p>\n\n\n\n<p>But at the end of the day, don&#8217;t contribute to OSS solely for professional gain, but do it for your passion. Find an open source project that genuinely interests you and that you can get excited about. That could be any relatively popular open source project – or it could be WordPress. I would certainly love to welcome you as a WordPress Core contributor.</p>\n<p>The post <a href=\"https://felix-arntz.me/blog/open-source-contributions-elevate-your-professional-journey/\">How Open Source Contributions Elevate Your Professional Journey</a> appeared first on <a href=\"https://felix-arntz.me\">felix-arntz.me</a>.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 17 Jul 2025 16:27: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:5:\"Felix\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:17;a:6:{s:4:\"data\";s:21:\"\n	\n	\n	\n	\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:66:\"Open Channels FM: Democratizing Publishing Beyond Business Content\";s: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=100681\";s: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:73:\"https://openchannels.fm/democratizing-publishing-beyond-business-content/\";s: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:183:\"The future of online publishing is all about personal expression, not just business stuff. WordPress needs to embrace short videos and everyday moments to stay relevant and inclusive.\";s: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, 17 Jul 2025 11:13: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: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:\"\n	\n	\n	\n	\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:69:\"Akismet: Version 5.5 of the Akismet WordPress plugin is available now\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://akismet.com/?p=284578\";s: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:37:\"https://akismet.com/blog/akismet-5-5/\";s: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:1133:\"<p>Version 5.5 of <a href=\"http://wordpress.org/plugins/akismet/\">the Akismet plugin for WordPress</a> is now available. This update contains the following improvements:</p>\n\n\n<ul class=\"wp-block-list\"><li>We&#8217;ve enabled webhooks for all users. Webhooks allow the Akismet servers to do extra processing for certain comments without making your site wait for a response. If a comment is determined to be spam, the Akismet server will notify your site once the extra processing is done. This should reduce spam without affecting performance, and that&#8217;s a Good Thing.</li>\n\n<li>We&#8217;ve ensured that the CSS for the Akismet widget is only included when the widget is included. And that&#8217;s a Good Thing.</li>\n\n<li>We&#8217;ve improved the color contrast on certain buttons for better accessibility. And that&#8217;s a Good Thing.</li></ul>\n\n\n<p>To upgrade, visit the Updates page of your WordPress dashboard and follow the instructions. If you need to download the plugin zip file directly, links to all versions are available in <a href=\"http://wordpress.org/plugins/akismet/\">the WordPress plugins directory</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, 16 Jul 2025 18:25: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:17:\"Christopher Finke\";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:\"\n	\n	\n	\n	\n	\n	\n	\n	\n	\n	\n\";s: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:\"WPTavern: #177 – Charlotte Bax on Reducing Your Website’s Carbon Footprint\";s: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=197651\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:89:\"https://wptavern.com/podcast/177-charlotte-bax-on-reducing-your-websites-carbon-footprint\";s: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:46635:\"<details>Transcript<div>\n<p>[00:00:19] <strong>Nathan Wrigley:</strong> Welcome to the Jukebox Podcast from WP Tavern. My name is Nathan Wrigley.</p>\n\n\n\n<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, reducing your WordPress website&#8217;s carbon footprint.</p>\n\n\n\n<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>\n\n\n\n<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>\n\n\n\n<p>So on the podcast today we have Charlotte Bax. Charlotte is a sustainable web designer with a background in both environmentally conscious living and technology. Beginning her journey as a sustainable lifestyle blogger, she soon merged her passion for sustainability with her skills in web design, rebranding herself as Digihobbit.</p>\n\n\n\n<p>For several years now, Charlotte has been focused on building websites that prioritize low carbon footprints, and she is also the founder of the climate tech startup ENNOR Toolbox for Online Sustainability, which helps measure the CO2 emissions of websites and web applications.</p>\n\n\n\n<p>When we made this recording, Charlotte had just finished presenting at WordCamp Europe on the topic of how to make your website more sustainable, and her presentation is the topic of the podcast today.</p>\n\n\n\n<p>We talk about digital environmental impact, the hidden pollution our websites create through their energy use and infrastructure. Charlotte explains some striking facts about the carbon footprint of ICT, noting that if the internet were a country, it would be the seventh largest polluter globally.</p>\n\n\n\n<p>She shares a wide array of practical steps for web professionals to reduce the environmental impact of their sites. You&#8217;ll hear about the benefits of green web hosting, using modern image formats like WebP and AVIF, optimizing architecture and UX to minimize unnecessary page loads, the crucial role of caching, as well as some new innovations like grid aware websites, which adapt themselves based on the renewable energy mix available to users in real time.</p>\n\n\n\n<p>The conversation also touches on Charlotte&#8217;s involvement in WordPress sustainability initiatives. The importance of multiplying small improvements across high traffic sites, and the moral imperative web creators have to help shape a greener internet.</p>\n\n\n\n<p>If you&#8217;ve ever wondered how digital choices impact the planet, and what steps you can take to help, this episode is for you.</p>\n\n\n\n<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>\n\n\n\n<p>And so. Without further delay, I bring you Charlotte Bax.</p>\n\n\n\n<p>I am joined on the podcast by Charlotte Bax. Hello Charlotte.</p>\n\n\n\n<p>[00:03:29] <strong>Charlotte Bax:</strong> Hello Nathan, and thank you for having me.</p>\n\n\n\n<p>[00:03:31] <strong>Nathan Wrigley:</strong> You are very welcome. Charlotte and I are having a conversation at WordCamp Europe. We&#8217;re in Basel, and we&#8217;re going to be talking today about the environmental impact of your website, whether that be WordPress, or any other platform that you might be using.</p>\n\n\n\n<p>In order to establish your credential, Charlotte, would you just for maybe a minute or something like that, just tell us a little bit about you, your relationship with technology. And I guess if you lean into your sustainability credentials, what you&#8217;ve been doing in the past, that would be helpful too.</p>\n\n\n\n<p>[00:03:59] <strong>Charlotte Bax:</strong> Yes. Well, I started out as a sustainable lifestyle blogger, really, like in 2000 and something. And I didn&#8217;t really feel like I was at the right place in my work at that time. I was doing a job at the service center for ICT. It was really overwhelming. So I decided to make my hobby into my work and I chose the web design side. And after only a year, I think I stumbled upon a sustainable website challenge by some Dutch guys, that I got to know them. And that was the missing link between my sustainable lifestyle and my work as a web designer.</p>\n\n\n\n<p>So I really went down that digital sustainability rabbit hole, and I sort of rebranded myself as a sustainable web designer in the name of Digihobbit. Well, so I&#8217;m building sustainable websites for quite some years now.</p>\n\n\n\n<p>Two years ago, I really wanted a tool to make estimating the CO2 emissions of websites easier because, for example, Website Carbon by Whole Grain Digital, I love that tool. And there&#8217;s also some other tools I really loved, but you have to copy paste every single page of a website in there.</p>\n\n\n\n<p>So I wanted a tool to do that in bulk. So I asked a friend to build me a tool to do that really easily, and he did. And that sort of escalated into a full blown startup. So since August, 2024, I also have a climate tech startup called ENNOR Toolbox for Online Sustainability, in which we build software to measure the CO2 emissions of websites and web applications.</p>\n\n\n\n<p>[00:05:37] <strong>Nathan Wrigley:</strong> Wow, that&#8217;s fascinating. You&#8217;re the first person that I&#8217;ve spoken to who&#8217;s actually finished their talk at WordCamp Europe. Your presentation was, I&#8217;m sure you know, how to make your website more sustainable. So very quickly, how did it go?</p>\n\n\n\n<p>[00:05:49] <strong>Charlotte Bax:</strong> It was amazing. Like the room was so full. It was such an amazing experience, and it went so good. And yeah, I&#8217;m just still riding that high.</p>\n\n\n\n<p>[00:05:59] <strong>Nathan Wrigley:</strong> Do you feel, I mean, obviously there&#8217;s tons of topics on here and there&#8217;s many, many tracks, and the fact that you filled yours up, do you sense that sustainability is a thing which web developers are latching onto, that they find important, that they&#8217;re curious about?</p>\n\n\n\n<p>[00:06:14] <strong>Charlotte Bax:</strong> Yes, I think so. Especially the curiosity part. I&#8217;ve done presentations in the Netherlands also for some government entities, and there were some senior developers. They talked to me afterwards and they said like, I have never thought of this before. Just, yeah, like spreading that awareness, planting those seeds. I think really nice to do that.</p>\n\n\n\n<p>[00:06:34] <strong>Nathan Wrigley:</strong> Yeah, I think that it&#8217;s a topic which many people will not even have given any thought to. Because, we were talking just before we hit record about how clean and sterile our technology feels in our lives. You know, I&#8217;m staring at a laptop, and I&#8217;ve got a microphone in my hand, I&#8217;ve got a phone over to my side here, and none of it emits anything by itself.</p>\n\n\n\n<p>You know, it&#8217;s clean. If I hold it in my hand, I&#8217;m not going to breathe any toxic fumes in from it. And yet all of the technology that we&#8217;re surrounded by in some way, shape, or form will have been produced, there&#8217;ll be some pollution that&#8217;s associated with that. But also particularly around ICT, the mere fact that it&#8217;s switched on and is consuming electricity, well, that electricity has to be generated in some way.</p>\n\n\n\n<p>And you put a really interesting statistic on the blurb for your presentation, which says that 8 to 10% of all energy, and I think I&#8217;m saying that right, yeah, all energy that&#8217;s produced globally, 8 to 10% is related to ICT. I would never have suspected it because it&#8217;s completely divorced. I switch my computer on, there&#8217;s no pollution in my house because of that. It&#8217;s happening elsewhere.</p>\n\n\n\n<p>So how does ICT rate? If it&#8217;s 8 to 10%, where does it sort of slot into all the other industries?</p>\n\n\n\n<p>[00:07:57] <strong>Charlotte Bax:</strong> Well, it&#8217;s more than aviation. There&#8217;s this book, Sustainable Web Design by Tom Greenwood. There is this graph somewhere, quite in the beginning, that puts the internet, if it were a country, it would be the seventh biggest polluter in the world. So that&#8217;s really, really big. And you don&#8217;t see it because all the pollution happens elsewhere. Like, you don&#8217;t have a data center, or an energy plant, in your backyard. It&#8217;s all hidden away. Or there&#8217;s those big boxes next to the highway, you know? You don&#8217;t see it. And in Dutch we call it far from your bed show. And that is a really nice comparison I think.</p>\n\n\n\n<p>[00:08:36] <strong>Nathan Wrigley:</strong> Yeah, I think if I was to ask you to stand behind my car and I rev the engine, so I use the car, you are going to be really reluctant to stand behind my car because you know that out of the back of the car is coming a lot of terrible gases that you don&#8217;t wish to consume. And yet my computer, in a remote destination that I am not standing anywhere near, is doing basically the same thing.</p>\n\n\n\n<p>[00:09:05] <strong>Charlotte Bax:</strong> More or less.</p>\n\n\n\n<p>[00:09:06] <strong>Nathan Wrigley:</strong> Yeah, I mean it may not be the same gases or what have you, but there is a pollution component to that.</p>\n\n\n\n<p>[00:09:10] <strong>Charlotte Bax:</strong> Yes, there&#8217;s a pollution component indeed.</p>\n\n\n\n<p>[00:09:11] <strong>Nathan Wrigley:</strong> But every bit of technology that I own, I sense none of that. And so that&#8217;s a really interesting disconnect. And I guess that promotes us, well, not promotes us, I guess it allows us to ignore the problem because we do not see it.</p>\n\n\n\n<p>[00:09:28] <strong>Charlotte Bax:</strong> Yes. That is exactly the right wording for that. It allows us to ignore it because we do not see it. It&#8217;s not just like there&#8217;s this energy usage, for example, data centers and routers and your own devices, of course. But there&#8217;s also so much more. There&#8217;s this embodied carbon from producing all that hardware. And that&#8217;s not just the machines that we see around us, your laptop, my laptop, your phone. It&#8217;s also like the data centres, the servers, the wifi box, the routers, satellites, et cetera, cables.</p>\n\n\n\n<p>Producing electronics is really dirty. It takes up a lot of resources and energy. Data centers, they use up a lot of water for cooling. And at the end of the day, most of those things, they become e-waste, because electronics don&#8217;t get recycled that much yet.</p>\n\n\n\n<p>[00:10:21] <strong>Nathan Wrigley:</strong> Yeah, I guess given the nature of this podcast, we probably won&#8217;t focus on all of the different bits and pieces that are involved in all of that. You know, we can&#8217;t talk so much about how a phone ought to be recycled. Well, we could, but we are going to talk about websites.</p>\n\n\n\n<p>And again, the disconnect is so profound. I go to a website, any website, there is no connection in my head between browsing that website and the consequences to the environment. Essentially, in my head, and probably the heads of many people listening to this podcast, it&#8217;s entirely benign. I&#8217;m doing no harm whatsoever. Of course, on some level, intellectually, if I apply thought to it, of course I know that I am, but it&#8217;s way easier for me to ignore that.</p>\n\n\n\n<p>So then that leads to the question, what on earth can people like you, like me, like the people listening to this podcast who create websites, what on earth can they do? What are the little things that they can pick out that they can change about their website in order to make them less polluting, more sustainable, whichever term you&#8217;d like to use?</p>\n\n\n\n<p>[00:11:26] <strong>Charlotte Bax:</strong> Oh boy. I don&#8217;t think we have enough time in this podcast to touch on all of that. But in my talk I sort of, yeah, I had a list of certain areas where you could make sustainable choices, and they also arrange really widely. For example, your web hosting, choose a green web host. It makes such a difference. Renewable energy. Not all web hosts are hosting on green energy. And there is this really nice organisation, the Green Web Foundation, they have this database of web hosting providers that are using renewable energy.</p>\n\n\n\n<p>And they have a tool, you can put in your website and see if your website runs on renewables. And if you are a web hosting provider, you can send evidence to the Green Web Foundation that your data centers are running on renewables, so they can add you to that database, which is also very good for your reputation as a web host.</p>\n\n\n\n<p>[00:12:23] <strong>Nathan Wrigley:</strong> Right, okay. So as you say the things that you mentioned in your talk, I&#8217;ll throw them back at you just so that we&#8217;re absolutely certain what we&#8217;re talking about.</p>\n\n\n\n<p>So every website obviously, well, most of them need some kind of hosting environment. And what you&#8217;re saying is go out and be proactive. Look for this badge, this Green Web Foundation badge. They&#8217;ve done the hard work, if you like. You can be certain that if there&#8217;s a Green Web Foundation sticker on there, there has been an exchange, to and fro, between the host and the Green Web Foundation, and they classify that as sustainable. What does that mean? Does it mean that, like, is it 80% of their energy consumption is renewable or a hundred percent or do you know?</p>\n\n\n\n<p>[00:12:59] <strong>Charlotte Bax:</strong> I don&#8217;t know that exactly. You should ask Chris Adams. But they&#8217;re also, yeah, I learned that also from that book from Tom Greenwood. You can make a difference between certain ways of using renewable energy, such as like actually producing your own renewable energy by having solar panels on the data center, for example.</p>\n\n\n\n<p>You can invest in green energy. You can buy it from a green energy supplier.</p>\n\n\n\n<p>And there&#8217;s a fourth thing, and it is that you buy certificates from other countries and that, yeah, I think that&#8217;s greenwashing.</p>\n\n\n\n<p>But as far as I know, they don&#8217;t show that yet in the Green Web Foundation database. I have contacted them like months, maybe more than a year ago about it, whether they would do that. And they were open to the idea. I think someone was even working on it. But it just takes a long time because they are not a commercial party of course. They also just run on subsidies and they have just so many resources.</p>\n\n\n\n<p>[00:14:02] <strong>Nathan Wrigley:</strong> Okay, so there&#8217;s the first piece. There&#8217;s one thing that you can do. That&#8217;s a really easy concrete thing to do. We all need the hosting. So when you go, go and look and have some trust in the Green Web Foundation&#8217;s badge, if you like. You trust that they&#8217;ve done the due diligence and that that is in some way superior, in the way that that energy is captured or what have you.</p>\n\n\n\n<p>[00:14:24] <strong>Charlotte Bax:</strong> Yes, yes. But I have a little disclaimer. Not all green web hosting providers are in the database yet, and not all of them show the badge. But it&#8217;s really easy just to check your own website through the tool on their home page.</p>\n\n\n\n<p>[00:14:39] <strong>Nathan Wrigley:</strong> Okay. Thank you. Okay, what was next? What did you have next on your list?</p>\n\n\n\n<p>[00:14:43] <strong>Charlotte Bax:</strong> Well, you can make sustainable choices in your architecture and your UX design. Just make it very easy for your visitors to find things on your website, so they don&#8217;t have to go here and there to search for stuff and produce lots of unnecessary page views. Because that&#8217;s all data traffic and that&#8217;s all CO2 emissions. That&#8217;s a thing you can do. Just think really good about that website architecture.</p>\n\n\n\n<p>[00:15:12] <strong>Nathan Wrigley:</strong> So the idea there is that every time we produce a page, the server at some point is having to do some work. That work requires electricity. If we can cut 10 visits down to 5 visits, there&#8217;s an, obviously a 50% reduction in the amount of pages that are loaded. And again, it&#8217;s so hard in my head to encapsulate what that is doing because it just, I&#8217;m just thinking, okay, i&#8217;ve saved time. But obviously, you know, now that we&#8217;re having this chat, I&#8217;m now beginning to think more, okay, not only am I saving time, I&#8217;m actually saving electricity and therefore it&#8217;s more sustainable.</p>\n\n\n\n<p>So that has a knock on consequence of course, in that nobody wants to go to 10 pages if you could go to five pages anyway. So figuring all that stuff out from the start is a good idea. Okay, lovely. Next one.</p>\n\n\n\n<p>[00:15:58] <strong>Charlotte Bax:</strong> Next one is design and content creation. Yeah, what your website looks like. There&#8217;s lots of sustainable choices you can make in the assets that are shown on the front end, such as images, video, audio, the fonts that you use, the CSS styling, et cetera. We could do a whole podcast on that alone. So things I talked about previously this morning is scaling your images. Be very picky in your images.</p>\n\n\n\n<p>Also sometimes I see websites that have so many pictures on it. I think people are afraid to be boring or something. But use the images that are actually valuable to your content, to tell a story instead of just putting a thousand pictures on there just because. Because images, they tell more than a thousand words, but also images are very, very heavy compared to just plain text.</p>\n\n\n\n<p>[00:16:52] <strong>Nathan Wrigley:</strong> So I guess it&#8217;s, couple of things there. The first thing is use images when necessary. So that there&#8217;s not unnecessary images being loaded. But also I&#8217;m imagining that we&#8217;re probably trying to lean into newer image formats. So not only reducing the scale of the image so that it&#8217;s the correct dimensions and it&#8217;s not, you know, this giant image which is being shrunk in the browser, needlessly downloading a four megabyte image that really is like 150 kilobytes.</p>\n\n\n\n<p>[00:17:19] <strong>Charlotte Bax:</strong> I saw this like on a government website that I tested and there was this, a really small icon, it was like 36 pixels wide or something. And there was an image like 6,000 by 8,000 pixels loaded for that. And I was, my heart bleeded.</p>\n\n\n\n<p>[00:17:36] <strong>Nathan Wrigley:</strong> Yeah, this should have been about 3K and it was probably more in the sort of four or five megabyte territory.</p>\n\n\n\n<p>[00:17:41] <strong>Charlotte Bax:</strong> Yes, yes. I don&#8217;t know the exact numbers, but terrible.</p>\n\n\n\n<p>[00:17:44] <strong>Nathan Wrigley:</strong> But image formats are changing as well, aren&#8217;t they? You know, in the past we were, everybody familiar with PNGs and JPEGs and things like that. And now we&#8217;ve got things like WebP and AVIF images as well. My understanding is that they are significantly reduced in their scale, with no measurable difference in the way that you can see them. They look basically identical.</p>\n\n\n\n<p>[00:18:06] <strong>Charlotte Bax:</strong> Yes, yes. That&#8217;s really nice. WebP and AVIF, they are web friendly formats for your images and they are really lightweight. They also, they support transparent background and animation, so they are also really good alternatives to PNG and GIF, not only to JPEG.</p>\n\n\n\n<p>And what I also like is that you can change the image quality when exporting to that format. Just like with JPEG, you can say, I want quality of 90, or image quality of 80% or even less. And when you&#8217;re choosing something between 80 and 90%, usually you don&#8217;t really see the difference. You can just play around with that on your computer. But it&#8217;s significantly reduces the file size.</p>\n\n\n\n<p>[00:18:53] <strong>Nathan Wrigley:</strong> Yeah, I was playing around with something the other day and I was converting a JPEG image to a WebP image. And I went to a service, which enabled me to do that, and at 80% I genuinely couldn&#8217;t see any, I was really staring hard and I could not see a single pixel that was different.</p>\n\n\n\n<p>I think, you know, maybe if it was some incredibly detailed picture of some medical procedure or something like that, maybe. But in most cases it&#8217;s not necessary. But also if it&#8217;s going to represent a tiny icon on the website, upload an image which is a tiny icon in size. Don&#8217;t upload the big one and the browser handle that.</p>\n\n\n\n<p>[00:19:28] <strong>Charlotte Bax:</strong> Yeah, but also for icons, you can much better choose like a vector image, like SVG, because vector images when done right, I have seen it done wrong, which is terrible, but when done right, they are really lightweight and they are scalable without limits and without any loss of quality. And that&#8217;s really suitable for logos, for icons, for certain illustration styles. You can also use SVG really well.</p>\n\n\n\n<p>[00:19:56] <strong>Nathan Wrigley:</strong> Yeah, so that&#8217;s a really good point. So for what you might call like a bitmap image, you&#8217;ve got AVIF and WebP, they seem to be the ones that are out in the front at the moment. And then for things like logos, then some kind of vector based image, like an SVG where essentially it&#8217;s data, you know, it&#8217;s bezier curves and things like that. So it can really scale up, and it will still look just as good if it&#8217;s gigantic.</p>\n\n\n\n<p>So definitely listener, if you&#8217;re hearing this, go and explore those, it&#8217;s well worth it. I would say that WordPress, by default won&#8217;t allow you to upload an SVG image. You might need to get a plugin to help you out with that.</p>\n\n\n\n<p>[00:20:28] <strong>Charlotte Bax:</strong> My favorite for that is Safe SVG. I just put it on there as soon as I start a new website and then just put all the SVGs on there.</p>\n\n\n\n<p>[00:20:36] <strong>Nathan Wrigley:</strong> Yeah, it&#8217;s curious. It&#8217;s because it&#8217;s not truly an image. It&#8217;s kind of like a file format and so it potentially could contain some code which might be harmful to your website. But those plugins strip out all of that. That&#8217;s my understanding anyway.</p>\n\n\n\n<p>[00:20:47] <strong>Charlotte Bax:</strong> Yes. So indeed, if you use plugins like that, you are at less risk of malfunctioning code, not malfunction, maleficent code.</p>\n\n\n\n<p>[00:20:56] <strong>Nathan Wrigley:</strong> Yeah, like malware. You know, security problems, things like that.</p>\n\n\n\n<p>[00:20:59] <strong>Charlotte Bax:</strong> Yeah, but if you make your SVGs yourself, well, then you have control over that. You know there&#8217;s no malware in that, unless you put it there yourself.</p>\n\n\n\n<p>[00:21:06] <strong>Nathan Wrigley:</strong> I don&#8217;t know if you have an answer to this, but obviously video is really important on the web. You know, certain types of things that people are doing online, maybe not quite so much websites but, you know, things like Instagram and TikTok and things like that, it&#8217;s really, really popular.</p>\n\n\n\n<p>Do you know if there&#8217;s any similar thing happening like WebP and AVIF with movie formats? Is there anybody trying to compress those in a way that WebP and AVIF have been?</p>\n\n\n\n<p>[00:21:29] <strong>Charlotte Bax:</strong> I haven&#8217;t dived into that that much, but I know there is WebM I think. But also, MPEG and or MP4. They are really good compression techniques and as lightweight as you can make it.</p>\n\n\n\n<p>[00:21:45] <strong>Nathan Wrigley:</strong> I guess the same rules apply for images as for video though. You don&#8217;t needlessly put video on the website. And certainly it&#8217;s possible to deploy video in a way that it&#8217;s not as environmentally profound. You know, for example, auto play switched off.</p>\n\n\n\n<p>[00:22:00] <strong>Charlotte Bax:</strong> I really hate those websites with this automatically playing background video. I must admit, when I started out as a web designer, some of my first clients, they really wanted that, so I did it. But I had an opinion on that and I explained, I didn&#8217;t know anything about the sustainability part yet by then, but I explained that it is a big file that gets loaded automatically. It really slows down your website also, so it&#8217;s a bad user experience. So I recommend that they didn&#8217;t do it, but they really wanted to.</p>\n\n\n\n<p>But I really hate how some websites shove like an enormous amount of megabytes down your throat as a visitor by those autoplay background videos.</p>\n\n\n\n<p>[00:22:43] <strong>Nathan Wrigley:</strong> Yeah, and also I think there&#8217;s a move to make it so that, and I don&#8217;t know if the block editor, the video block automatically does this, I could be wrong about that. The idea of having an image placeholder instead of the video itself, because the mere putting the iframe onto the page, there&#8217;s some communication between, let&#8217;s say YouTube, if you&#8217;re embedding something from YouTube. Whereas really, you don&#8217;t need to engage YouTube until somebody&#8217;s actually clicked the play button. So having some placeholder there, click the button, click the image, and then the video begins to load. I guess there&#8217;s something there. That&#8217;s a good idea.</p>\n\n\n\n<p>[00:23:18] <strong>Charlotte Bax:</strong> I have a trick for that. When you embed a YouTube video or a Vimeo, they do the preload is none thing really good, which is nice, so you don&#8217;t shove that many megabytes through someone&#8217;s throat. But what YouTube does, and Vimeo also but less, is they put a lot of tracking scripts in that embed.</p>\n\n\n\n<p>So what I like to do is, so something I did for one of my latest websites for the Rotterdam Metal Band, Ann My Dice, they have this show reel of their newest songs on top of their homepage. And I put an image thumbnail there. And when you click that, it opens a modal. So the video and all those tracking scripts, they are loaded only when you click on a thumbnail to open the modal. That&#8217;s a nice little trick to work around that.</p>\n\n\n\n<p>[00:24:04] <strong>Nathan Wrigley:</strong> Yeah, so video and images, that&#8217;s a really easy win. There&#8217;s loads of things that you can do.</p>\n\n\n\n<p>There&#8217;s lots of services out there, both on your computer, but online where you can compress the images. And obviously we&#8217;ve talked about the different formats and not necessarily loading video.</p>\n\n\n\n<p>Okay, should we move on? Is there anything else on there?</p>\n\n\n\n<p>[00:24:21] <strong>Charlotte Bax:</strong> Yeah, yeah. There is caching of course, which can make a huge difference. WordPress is based on a database. So in theory, every time someone visits a page on your website, the server has to calculate the webpage and then send it over to your visitor.</p>\n\n\n\n<p>But if you use, for example, server side caching, you can do that once and send the generated page to all your visitors. So that saves a lot of computing energy server side. But there&#8217;s also browser caching, which means that certain assets that you can reuse, for example, your CSS style sheets, and your fonts, you can retain in a browser. So they don&#8217;t need to get loaded on every page your visitor goes to.</p>\n\n\n\n<p>[00:25:06] <strong>Nathan Wrigley:</strong> There&#8217;s so many different ways of tackling this, isn&#8217;t there? Whether that&#8217;s through your web host or a collection of plugins that you might use. But yeah, caching, the idea being that it&#8217;s stored somewhere, kind of ready to go. It&#8217;s already been created. Somebody just comes along and if you like, just picks it up.</p>\n\n\n\n<p>Whereas in the typical WordPress way, there&#8217;s this whole crunching of data. There&#8217;s all this PHP being rendered in the background. And the database is being called to construct the page. And really, if the page isn&#8217;t being changed from minute to minute, there&#8217;s no need for all of that. You can just have a cached version. And increasingly, you know, you don&#8217;t even have to make that cached version travel across the globe, because you can put it at the edge in different countries and so on and so forth. So there&#8217;s a whole load of interesting stuff. But caching enforce that where possible.</p>\n\n\n\n<p>[00:25:54] <strong>Charlotte Bax:</strong> If you have a, I always recommend people to look at their target audience for choosing their hosting. For example, I live in the Netherlands and my target audience is mostly Dutch companies and Dutch governments. So it makes sense for me to host my website in the Netherlands. But if your target audience is all over the world, I really recommend using a CDN to distribute all your cached web pages. It makes it more sustainable and it also makes it a lot quicker.</p>\n\n\n\n<p>[00:26:23] <strong>Nathan Wrigley:</strong> It&#8217;s curious that one, isn&#8217;t it? Because in many ways, using a CDN, you are creating a bigger footprint because there&#8217;s more, you know, instead of it being cached in one place, it&#8217;s now cached in multiple places. So there&#8217;s more caching happening. But the people who are absorbing that cache, using that cache, there&#8217;s a net benefit there because they have to travel less distance.</p>\n\n\n\n<p>So for example, if there&#8217;s a cache data center in Sydney, and some Australian user is using that, it doesn&#8217;t have to come all the way, for example, to London and then back again. So even though you are storing multiple versions of the cache around the world, the traffic that&#8217;s going backwards and forwards from that cache often will make up for that.</p>\n\n\n\n<p>[00:27:01] <strong>Charlotte Bax:</strong> Yeah, it&#8217;s really dependent on the situation and the size of your target audience because obviously if you only have like one visitor from Australia every month, it&#8217;s not worth it. So it&#8217;s also sort of, look at your own situation and make choices based on that.</p>\n\n\n\n<p>I always think about, like sustainability is not something like what you can and cannot do, but I like to view it as more as inspiring people and giving them the tools to actually make conscious choices instead of just doing what the masses do and what is easy.</p>\n\n\n\n<p>[00:27:37] <strong>Nathan Wrigley:</strong> Yeah, there&#8217;s no destination, is there, probably? It&#8217;s more of a journey. You&#8217;re kind of trying to do little bits, and chisel away the bits that you can. Okay, so caching is a whole other topic. You can no doubt go down that rabbit hole and spend the rest of your life there.</p>\n\n\n\n<p>[00:27:49] <strong>Charlotte Bax:</strong> Yes, yes. If you want to know more about caching, I think Ramon Fincken from Halvar knows more about that.</p>\n\n\n\n<p>[00:27:56] <strong>Nathan Wrigley:</strong> Okay, thank you. Okay, so there&#8217;s another one we&#8217;ve ticked off. Anything else on your list?</p>\n\n\n\n<p>[00:28:00] <strong>Charlotte Bax:</strong> Yes. There&#8217;s visitor management, because obviously the page weight is not the only factor of a website, but also you have to multiply that with all the page visits to get your total CO2 emissions over time.</p>\n\n\n\n<p>So if you have a lot of visitors, and that&#8217;s not only the human visitors, but also the bots of course, then that&#8217;s a lot of CO2 emissions. And that can be up to hundreds of times more than you actually realise.</p>\n\n\n\n<p>Joost de Valk had a really great talk about that a few years ago, 2022 at WordCamp Netherlands. I wasn&#8217;t there myself, but I have seen a YouTube video and I really, really recommend people checking that out because he can explain that really well.</p>\n\n\n\n<p>[00:28:44] <strong>Nathan Wrigley:</strong> So this is to do with the amount of traffic that you are getting.</p>\n\n\n\n<p>[00:28:47] <strong>Charlotte Bax:</strong> Yes, yes. The amount of traffic. So page weight times traffic is CO2 emissions basically.</p>\n\n\n\n<p>[00:28:53] <strong>Nathan Wrigley:</strong> Okay, interesting.</p>\n\n\n\n<p>[00:28:54] <strong>Charlotte Bax:</strong> Yes.</p>\n\n\n\n<p>[00:28:54] <strong>Nathan Wrigley:</strong> Okay. Next one.</p>\n\n\n\n<p>[00:28:56] <strong>Charlotte Bax:</strong> That&#8217;s the last one in my list. And that is sort of the cherry on top. And that is to make your website grid aware. I don&#8217;t know if you&#8217;re familiar with Fershad Irani. No. He is one of the pioneers in website sustainability. He does a lot of projects for the Green Web Foundation. And currently he is working on grid aware websites toolkits to make your website responsive to the energy mix on the local energy grid from your visitor. And he does that with Cloudflare CDN workers. I hope I explained that right because that&#8217;s an area that I&#8217;m less familiar with.</p>\n\n\n\n<p>But what it does, for example, if your website visitor is in an area where the energy grid is mostly running on fossil fuel energy, then it shows a more minimal experience of your website to the visitor. And when they are in an area where the grid is a big percentage renewable energy, then it shows a more rich experience of your website.</p>\n\n\n\n<p>[00:30:01] <strong>Nathan Wrigley:</strong> Gosh, that&#8217;s fascinating. So it&#8217;s like progressive enhancement, but for sustainability.</p>\n\n\n\n<p>[00:30:07] <strong>Charlotte Bax:</strong> Yes.</p>\n\n\n\n<p>[00:30:07] <strong>Nathan Wrigley:</strong> So I might see an entirely different page with, let&#8217;s say, I don&#8217;t know, a greater number of images on it or something like that, given the awareness that the website has of where I&#8217;m viewing it, or where it is being hosted? I wasn&#8217;t sure about that bit. Is it more about the visitor or more about the location of the hosting of that?</p>\n\n\n\n<p>[00:30:26] <strong>Charlotte Bax:</strong> It&#8217;s about the visitor in this case, yeah. And I think he does that in a really, really smart way. There&#8217;s also sort of a version of the toolkit that does it browser based. I don&#8217;t know enough about that to explain that right I think.</p>\n\n\n\n<p>[00:30:39] <strong>Nathan Wrigley:</strong> Genuinely, that&#8217;s fascinating. That really feels like he&#8217;s pushing the boundaries. What I&#8217;ll do is I&#8217;ll try to find a link to something.</p>\n\n\n\n<p>[00:30:46] <strong>Charlotte Bax:</strong> There is a page on the website of the Green Web Foundation, and if you contact Fershad through LinkedIn or Mastodon, or I&#8217;m happy to link you with him. He is currently working on it and he is looking for people and websites to experiment with it. I think it&#8217;s a really nice experiment to see how much effect this can have. I&#8217;m really curious.</p>\n\n\n\n<p>[00:31:07] <strong>Nathan Wrigley:</strong> It kind feels like a technology which is going to be very difficult to pull off, but very profound if it is pulled off. You can imagine high traffic websites, and I&#8217;m thinking of news organisations, for example, the BBC or something like that, that just have millions of views every few minutes, I would&#8217;ve thought, and could really benefit from something like that. You know, showing a different website. I&#8217;d never heard of that. That&#8217;s fascinating.</p>\n\n\n\n<p>[00:31:29] <strong>Charlotte Bax:</strong> Yeah, it&#8217;s a really new project. He&#8217;s still developing the toolkit right now. I think it&#8217;s a really amazing project and that could be really impactful for, yeah, those really high traffic websites. I have seen, earlier this week I had a video call with Fershad, and he showed me a demo version on, oh, I don&#8217;t know the name, I can&#8217;t recall it, but it was like an online magazine.</p>\n\n\n\n<p>There was this menu, there was just this dropdown in the menu bar with four items, live low, medium, and high. So you could choose the settings yourself, or you just could go with the live thing, based on your own energy grid where you were localised.</p>\n\n\n\n<p>[00:32:08] <strong>Nathan Wrigley:</strong> So like a demo, and you can pick how you would like to see it in four different versions. Okay.</p>\n\n\n\n<p>[00:32:12] <strong>Charlotte Bax:</strong> Yeah, yeah. The live version is like how it is shown based on your energy grid. But as a visitor, you can also choose your own way if you want to see the more rich version or the more minimised version. And the information on the website, it just stays the same of course, but it shows less images and that kind of stuff. But if you view it in the, like the minimalist version, you can still opt to see images if you want to by just clicking on it. It&#8217;s a really smart way he does that.</p>\n\n\n\n<p>[00:32:43] <strong>Nathan Wrigley:</strong> Yeah, it&#8217;s fascinating. So in my email client, for example, I have it set up, the default is do not show me images, and I just click a button, display images, and they all come in. I can&#8217;t pick which images, they all just come. But there&#8217;s a decision there, you know, it is like I&#8217;ve decided not to see all the images off the bat. Click a button and in they come.</p>\n\n\n\n<p>That is really interesting. So I presume the text would stay the same, because that&#8217;s the core of what the website is probably offering, text. But, you know, do you want a heavy experience in terms of data? Well, there it is. There&#8217;s all the images and the videos. Yeah, okay, I will follow that up. That sounds fascinating.</p>\n\n\n\n<p>So we&#8217;re at we WordCamp EU. This is all about WordPress. How do you feel WordPress, by default, so ignoring any plugins, if I just chuck a default version of WordPress, a vanilla version of WordPress out there, how does it do in terms of sustainability compared to other things in the environment?</p>\n\n\n\n<p>[00:33:33] <strong>Charlotte Bax:</strong> Oh, that&#8217;s really funny because I haven&#8217;t really done any research into that. What I have done is I made, it&#8217;s some time ago, but I checked some of the WordPress vanilla themes against some of my favorite themes, just making a staging website with only lorem ipsum paragraph, and just the vanilla theme, and then checking how much page weight it is, and how much CO2 emissions on first load. But that&#8217;s ages ago. And I, maybe you just sort of started a new project in my head.</p>\n\n\n\n<p>[00:34:05] <strong>Nathan Wrigley:</strong> Ah, nice.</p>\n\n\n\n<p>[00:34:07] <strong>Charlotte Bax:</strong> Measure the CO2 emissions of WordPress themes and vanilla WordPress. I think that&#8217;s a good idea.</p>\n\n\n\n<p>[00:34:12] <strong>Nathan Wrigley:</strong> Yeah, because it feels to me, especially if you&#8217;re using a WordPress default theme, they do seem to be quite light, you know, there&#8217;s a lot of text and very, I mean, some of the themes that we&#8217;ve had in the past, I can&#8217;t remember, I&#8217;m just trying to conjure it up, it might have been 2021 or something like that. It was basically all text. And I just wondered if WordPress itself could be proud of its sustainability over time, or whether it was something that, you know, compared to other CMSs but, you know, if you don&#8217;t have that data, that&#8217;s okay.</p>\n\n\n\n<p>[00:34:40] <strong>Charlotte Bax:</strong> I don&#8217;t have the data, but I do think that maybe WordPress could be more of a front runner in terms of sustainability. For example, I learned that Drupal already has like a sustainability policy and they&#8217;re doing certain things on that. But unfortunately, our own sustainability team got canceled.</p>\n\n\n\n<p>But yesterday, during Contributor Day, there were like 10 people or something, they really wanted to do a sustainability table, so we just impromptu did that. The table cards, they were there. So we just did it and we formed a new team. Still unofficial. I have no idea how it happened, but apparently I&#8217;m a team rep now. There are some of the old sustainability team members that also want to continue their work. So we sort of started an impromptu petition to get the sustainability team their official status back, so it can become a core value of WordPress.</p>\n\n\n\n<p>And I think that it would really help WordPress to be a front runner, especially in Europe where sustainability is, as far as I know, sustainability is a bigger thing in Europe than in America or Asia. That&#8217;s how I feel it. And I think if we don&#8217;t jump on that sustainability bandwagon, we could really lose market share.</p>\n\n\n\n<p>[00:35:58] <strong>Nathan Wrigley:</strong> Yeah, I think you&#8217;re right. I&#8217;m curious about the sustainability team. So you are talking about Contrib Day yesterday?</p>\n\n\n\n<p>[00:36:03] <strong>Charlotte Bax:</strong> Yes.</p>\n\n\n\n<p>[00:36:05] <strong>Nathan Wrigley:</strong> An impromptu sustainability team sort of set itself up and just carried on as if nothing had happened. So that&#8217;s interesting.</p>\n\n\n\n<p>[00:36:11] <strong>Charlotte Bax:</strong> Yes. Not really as if nothing had happened. Most of the time we spent on like strategising how to get this back on the road again, and how to continue because the previous team, they did really great work and I just latched on a few weeks before they got closed down and I think it&#8217;s really sad.</p>\n\n\n\n<p>[00:36:29] <strong>Nathan Wrigley:</strong> Well, you&#8217;ve given us loads of really interesting tips. Hopefully the listeners to this have gathered some useful information. Realised that it&#8217;s a profoundly important and moral topic to be involved in.</p>\n\n\n\n<p>Should anybody wish to contact you and get into a conversation about how they could become involved, or just some tips or what have you, where do we find you, Charlotte?</p>\n\n\n\n<p>[00:36:48] <strong>Charlotte Bax:</strong> You can find me on LinkedIn. You can find Digihobbit on LinkedIn, and you can also find Digihobbit on Mastodon. I&#8217;m not really on like the regular social media channels, but that&#8217;s a whole different topic to discuss. I also have a personal LinkedIn profile, but if you want to link with me personally, just add a message to it so I sort of know the context.</p>\n\n\n\n<p>[00:37:08] <strong>Nathan Wrigley:</strong> Okay. So dear listener, I will put everything that we&#8217;ve talked about today, all of the Green Web Foundation&#8217;s, and other varied links into the show notes. Head to wptavern.com and search for the episode with Charlotte Bax.</p>\n\n\n\n<p>So Charlotte Bax, thank you very much for chatting to me today. I really appreciate it.</p>\n\n\n\n<p>[00:37:22] <strong>Charlotte Bax:</strong> Thank you very much, Nathan, for having me.</p>\n\n\n\n<p>[00:37:24] <strong>Nathan Wrigley:</strong> You&#8217;re most welcome.</p>\n</div></details>\n\n\n\n<p>On the podcast today we have <a href=\"https://www.linkedin.com/company/digihobbit/\">Charlotte Bax</a>.</p>\n\n\n\n<p>Charlotte is a sustainable web designer with a background in both environmentally conscious living and technology. Beginning her journey as a sustainable lifestyle blogger, she soon merged her passion for sustainability with her skills in web design, rebranding herself as Digihobbit. For several years now, Charlotte has been focused on building websites that prioritise low carbon footprints, and she is also the founder of the climate tech startup ENNOR Toolbox for Online Sustainability, which helps measure the CO2 emissions of websites and web applications.</p>\n\n\n\n<p>When we made this recording, Charlotte had just finished presenting at WordCamp Europe on the topic of how to make your website more sustainable, and her presentation is the topic of the podcast today.</p>\n\n\n\n<p>We talk about digital environmental impact, the hidden pollution our websites create through their energy use and infrastructure. Charlotte explains some striking facts about the carbon footprint of ICT, noting that if the internet were a country, it would be the seventh largest polluter globally.</p>\n\n\n\n<p>She shares a wide array of practical steps for web professionals to reduce the environmental impact of their sites. You’ll hear about the benefits of green web hosting, using modern image formats like WebP and AVIF, optimising architecture and UX to minimise unnecessary page loads, the crucial role of caching, as well as some new innovations like grid-aware websites which adapt themselves based on the renewable energy mix available to users in real time.</p>\n\n\n\n<p>The conversation also touches on Charlotte’s involvement in WordPress sustainability initiatives, the importance of multiplying small improvements across high-traffic sites, and the moral imperative web creators have to help shape a greener internet.</p>\n\n\n\n<p>If you’ve ever wondered how digital choices impact the planet, and what steps you can take today to help, this episode is for you.</p>\n\n\n\n<h2 class=\"wp-block-heading\">Useful links</h2>\n\n\n\n<p><a href=\"https://digihobbit.nl/\">Charlotte&#8217;s Digihobbit website</a></p>\n\n\n\n<p><a href=\"https://www.linkedin.com/company/digihobbit/\">Charlotte on LinkedIn</a></p>\n\n\n\n<p><a href=\"https://mastodon.social/@digihobbit\">Charlotte on Mastodon</a></p>\n\n\n\n<p><a href=\"https://www.websitecarbon.com/\"> Website Carbon calculator</a> by Whole Grain Digital</p>\n\n\n\n<p><a href=\"https://www.ennor.earth/ennor-for-web/\"> ENNOR Toolbox for Online Sustainability</a></p>\n\n\n\n<p><a href=\"https://abookapart.com/products/sustainable-web-design.html\"> Sustainable Web Design</a> by Tom Greenwood</p>\n\n\n\n<p><a href=\"https://www.thegreenwebfoundation.org/\"> Green Web Foundation</a></p>\n\n\n\n<p><a href=\"https://wordpress.org/plugins/safe-svg/\"> Safe SVG plugin</a></p>\n\n\n\n<p><a href=\"https://annmydice.nl/\">Charlotte&#8217;s website for the band Ann My Dice</a></p>\n\n\n\n<p><a href=\"https://www.linkedin.com/in/ramonfincken/\">Ramon Fincken</a> on LinkedIn</p>\n\n\n\n<p><a href=\"https://wordpress.tv/2022/11/17/joost-de-valk-improve-the-environment-start-with-your-website/\">Improve the environment. Start with your website!</a> Joost de Valk&#8217;s talk at WordCamp Nederland 2022</p>\n\n\n\n<p><a href=\"https://fershad.com/\">Fershad Irani&#8217;s website</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, 16 Jul 2025 14:00:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Nathan Wrigley\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:20;a:6:{s:4:\"data\";s:21:\"\n	\n	\n	\n	\n	\n	\n	\n	\n	\n	\n\";s: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:\"Open Channels FM: Fresh Series, New Names, and the Power of Repurposed Content\";s: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=102900\";s: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:83:\"https://openchannels.fm/fresh-series-new-names-and-the-power-of-repurposed-content/\";s: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:181:\"BobWP shares insights on the podcast’s rebrand, focusing on evolving content, elevating community voices, and repurposing past episodes, plus series changes aimed at storytelling.\";s: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, 16 Jul 2025 10:19:02 +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:21;a:6:{s:4:\"data\";s:21:\"\n	\n	\n	\n	\n	\n	\n	\n	\n	\n	\n\";s: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: Open Source Projects Can Benefit From Cross-pollination\";s: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=100598\";s: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/open-source-projects-can-benefit-from-cross-pollination/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:354:\"In open source communities, it’s easy to focus on just one platform. Whether you&#8217;re deep into WordPress, Drupal, or another CMS, it’s tempting to stay within your comfort zone. But stepping outside your usual ecosystem can offer valuable insights not just about other tools but about your own. One theme that emerged in a conversation [&#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, 16 Jul 2025 09: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: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:22;a:6:{s:4:\"data\";s:21:\"\n	\n	\n	\n	\n	\n	\n	\n	\n	\n	\n\";s: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:38:\"HeroPress: The Journey Of Pratik Bhatt\";s: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:56:\"https://heropress.com/?post_type=heropress-essays&p=8064\";s: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:128:\"https://heropress.com/essays/the-journey-of-pratik-bhatt/#utm_source=rss&utm_medium=rss&utm_campaign=the-journey-of-pratik-bhatt\";s: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:10481:\"<img alt=\"Pull Quote: You’re going to build not just websites but a life that helps others build theirs too.\" class=\"attachment-large size-large wp-post-image\" height=\"512\" src=\"https://heropress.com/wp-content/uploads/3025/07/071425-min.jpg\" width=\"1024\" /><p>Hello! I’m Pratik Bhatt — a WordPress developer, community contributor, a small-town dreamer, an open-heart surgery survivor, a gamer and someone who found meaning in life through code, community, and courage. My journey is one of resilience, gratitude and purpose — and I hope it inspires even one person who reads it.</p>\n\n\n\n<h2 class=\"kt-adv-heading8064_72e88e-eb wp-block-kadence-advancedheading\">Early Life in Bhavnagar: Born for Battles</h2>\n\n\n\n<p>I was born in a humble neighborhood of Bhavnagar, a small but vibrant coastal town in Gujarat. Life gave me my first challenge almost immediately. At the age of 3.5 years, I underwent open-heart surgery — a life-saving procedure that left its mark not only on my chest but on my soul. Even before I could understand what pain meant I had survived it.</p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Just two years later, I lost my father. I was only five.</p>\n</blockquote>\n\n\n\n<p>That loss could have broken me, but instead it introduced me to a hero — my mother. She worked tirelessly, day and night, playing both roles with fierce love and unimaginable strength. Her sacrifices were quiet, constant and invisible to the world, but they were the scaffolding on which my entire future was built. I owe everything I am today to her.</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-teenage-years-games-chess-and-growth\">Teenage Years: Games, Chess, and Growth</h2>\n\n\n\n<p>In my teens, I gravitated toward strategy games and problem-solving — perhaps a subconscious expression of navigating a complex life so early. I participated in Open Bhavnagar chess tournaments, developing a love for logic and structured thinking. That same mindset later translated perfectly into coding.</p>\n\n\n\n<p>Computers were rare, internet slower than a whisper and resources limited. Yet, I spent hours in cyber cafés, exploring the world behind the screen. Each click was a step toward a new identity — not as a survivor but as a builder.</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-college-at-pacific-university-udaipur-discovery-and-identity\">College at Pacific University, Udaipur: Discovery and Identity</h2>\n\n\n\n<p>I went on to pursue my Bachelor of Engineering at Pacific University in Udaipur, where I found more than just an education — I found my voice and versatility.</p>\n\n\n\n<p>I earned a strong reputation in quiz contests, debates, and elocution competitions. I enjoyed the thrill of standing on stage, thinking fast and expressing clearly — a skill that would later shape my professional communication and leadership.</p>\n\n\n\n<p>I was also a dedicated gamer and proudly won a Need for Speed: Most Wanted tournament during college. That rush of speed and control mirrored how I wanted to approach life — with confidence and calculated risk. I also ranked 3rd in the college chess championship, keeping my connection to strategic thinking alive.</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-wordpress-my-lifeline-my-living\">WordPress: My Lifeline, My Living</h2>\n\n\n\n<p>As I entered the professional world, I was introduced to WordPress — and everything changed.</p>\n\n\n\n<p>I still remember the moment I activated my first theme. The way an idea turned into a visual reality — with structure, responsiveness and purpose — was nothing sort of magic to me. That moment, I knew: this is what I want to do for the rest of my life.</p>\n\n\n\n<p>Over the time, WordPress became my bread and butter — quite literally. It provided me with the skills, opportunities and financial independence to build a life I never thought possible.</p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>But more than money, WordPress showed me the path to life.</p>\n</blockquote>\n\n\n\n<p>It empowered me to give businesses a voice, bring local shops online, connect NGOs to donors and allow countless creators to share their passion. Every site I built wasn’t just a project; it was a platform for someone’s dream.</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-12-years-of-development-amp-dedication\">12+ Years of Development &amp; Dedication</h2>\n\n\n\n<p>Today, with over 12 years of experience in the WordPress ecosystem, I have worked with global clients, built plugins and custom themes, contributed to enterprise sites and created solutions that matter. I have helped startups launch, helped NGOs amplify their causes, and empowered entrepreneurs from Tier-2 and Tier-3 cities to reach the world.</p>\n\n\n\n<p>Whether I’m architecting a complex WooCommerce store, writing a custom plugin, improving performance, or debugging client pain points, my goal is simple: to build things that are fast, reliable, and human-focused.</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-the-power-of-community-meetups-wordcamps-amp-more\">The Power of Community: Meetups, WordCamps &amp; More</h2>\n\n\n\n<p>While code gave me a career, it was the WordPress community that gave me connection, energy, and growth. I love attending local meetups and WordCamps, where ideas flow freely, support is abundant, and friendships are formed over coffee and code.</p>\n\n\n\n<p>In 2023, I was honored to be part of the organizing team for WordCamp Ahmedabad, one of the biggest community events in India. </p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Seeing hundreds of attendees come together to learn and celebrate open-source was a proud and emotional moment for me — especially knowing how far I had come from Bhavnagar to that stage.</p>\n</blockquote>\n\n\n\n<p>I also had the privilege of being a volunteer at WordCamp Asia, the flagship WordPress event for the entire continent. It was humbling to support an event of such magnitude, and heartening to see how diverse and inclusive the global WordPress family truly is. Being part of such efforts is not just service — it’s gratitude in action.</p>\n\n\n\n<p>For me, meetups and WordCamps aren’t just events — they’re where I recharge my soul, share my knowledge, and feel deeply connected to a global family.</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-hobbies-beyond-the-keyboard\">Hobbies Beyond the Keyboard</h2>\n\n\n\n<p>When I’m not writing code, I embrace life through small joys and soulful moments.</p>\n\n\n\n<p>I’m a nature lover and plant enthusiast. Gardening gives me peace, patience, and a quiet form of discipline.</p>\n\n\n\n<p>I’m a cricket fan — I love playing as much as watching, especially when Team India is in action. The game reflects my life: unpredictable, strategic, and driven by passion.</p>\n\n\n\n<p>I enjoy driving — especially night drives when the roads are empty and music flows freely.</p>\n\n\n\n<p>I’m also someone who loves being around animals. I find their presence grounding and healing. At home, I have a pet rabbit, who is more than a companion — he’s a part of my family and a source of daily joy.</p>\n\n\n\n<p>Speaking of joy, music is my biggest hobby. Whether I&#8217;m coding or relaxing, there’s always a soundtrack playing in the background. Songs help me express what words can’t.</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-giving-back-amp-building-others\">Giving Back &amp; Building Others</h2>\n\n\n\n<p>Having come from a small town with limited resources, I’m deeply passionate about helping others rise. I actively mentor young developers, especially those from underprivileged or non-metro backgrounds. I want them to know that success is possible — regardless of where you start.</p>\n\n\n\n<p>My dream is to one day launch a tech training program in Bhavnagar — to teach local youth about WordPress, freelancing and digital skills. </p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>If WordPress could change my life, it can certainly change theirs.</p>\n</blockquote>\n\n\n\n<p>I also regularly contribute to forums, help organize events, speak at community meetups and make time to guide freshers through their first steps in this amazing ecosystem.</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-what-life-has-taught-me\">What Life Has Taught Me</h2>\n\n\n\n<p>Here are some core beliefs that guide me every day:</p>\n\n\n\n<p>Heartbeats are precious — I don’t take a single one for granted.</p>\n\n\n\n<p>Struggle isn’t a setback — it’s a setup for something greater.</p>\n\n\n\n<p>Community is strength — whether in a family, a WordCamp or a GitHub issue thread.</p>\n\n\n\n<p>You can come from anywhere — what matters is where you’re going and how many you uplift on the way.</p>\n\n\n\n<p>Technology can heal, empower and connect — if used with empathy.</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-looking-forward-the-journey-ahead\">Looking Forward: The Journey Ahead</h2>\n\n\n\n<p>I’m excited about the future of WordPress — especially AI, full-site editing, headless architecture and performance innovations. I aim to stay at the forefront of these changes, continuing to build solutions that empower users and delight clients.</p>\n\n\n\n<p>I also plan to write a book one day — part memoir, part manual — about how open source, open hearts and open minds can transform even the most limited beginnings.</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-in-closing\">In Closing</h2>\n\n\n\n<p>If I could go back and speak to the younger version of myself — lying on a hospital bed at 3.5 years old or watching my mother&#8217;s struggle silently or feeling like the world was too big for a boy from Bhavnagar — I’d say:</p>\n\n\n\n<p>“You’re going to make it. You’re going to build not just websites but a life that helps others build theirs too.”</p>\n\n\n\n<p>I don’t just develop WordPress sites.</p>\n\n\n\n<p>I develop opportunities, relationships and meaningful digital footprints.</p>\n\n\n\n<p>And every time I hit &#8220;Activate Theme&#8221; or push a release, I think of the journey it took to get here — and the journey still ahead.</p>\n\n\n\n<p>If you&#8217;re someone who believes in purpose, people and potential — let&#8217;s connect. Let’s build. Let’s inspire</p>\n<p>The post <a href=\"https://heropress.com/essays/the-journey-of-pratik-bhatt/\">The Journey Of Pratik Bhatt</a> appeared first on <a href=\"https://heropress.com\">HeroPress</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, 16 Jul 2025 03: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:12:\"Pratik Bhatt\";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:\"\n	\n	\n	\n	\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:55:\"WordPress.org blog: WordPress 6.8.2 Maintenance Release\";s: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=18903\";s: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:71:\"https://wordpress.org/news/2025/07/wordpress-6-8-2-maintenance-release/\";s: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:10703:\"<h2 class=\"wp-block-heading\">WordPress 6.8.2 is now available!</h2>\n\n\n\n<p>This minor release includes fixes for <a href=\"https://core.trac.wordpress.org/query?resolution=fixed&amp;milestone=6.8.2&amp;group=component&amp;col=id&amp;col=summary&amp;col=milestone&amp;col=owner&amp;col=type&amp;col=status&amp;col=priority&amp;order=priority\">20 Core tickets</a> and <a href=\"https://github.com/WordPress/gutenberg/pull/70557\">15 Block Editor issues</a>. For a full list of bug fixes, please refer to the <a href=\"https://make.wordpress.org/core/2025/07/08/wordpress-6-8-2-rc1-is-now-available/\">release candidate announcement.</a></p>\n\n\n\n<p>WordPress 6.8.2 is a short-cycle maintenance release. More maintenance releases may be made available throughout 2025.</p>\n\n\n\n<p>If you have sites that support automatic background updates, the update process will begin automatically.</p>\n\n\n\n<p>You can <a href=\"https://wordpress.org/wordpress-6.8.2.zip\">download WordPress 6.8.2 from WordPress.org</a>, or visit your WordPress Dashboard, click “Updates”, and then click “Update Now”. For more information on this release, please <a href=\"https://wordpress.org/support/wordpress-version/version-6-8-2\">visit the HelpHub version page</a>.</p>\n\n\n\n<h2 class=\"wp-block-heading\">Dropping security updates for WordPress versions 4.1 through 4.6</h2>\n\n\n\n<p>This is not directly related to the 6.8.2 maintenance release, but <a href=\"https://wordpress.org/news/2025/06/dropping-security-updates-for-wordpress-versions-4-1-through-4-6/\">branches 4.1 to 4.6 had their final release today</a>. These branches won&#8217;t receive any security update anymore.</p>\n\n\n\n<h2 class=\"wp-block-heading\">Thank you to these WordPress contributors</h2>\n\n\n\n<p>WordPress 6.8.2 was led by <a href=\"https://profiles.wordpress.org/audrasjb/\">Jb Audras</a>, <a href=\"https://profiles.wordpress.org/estelaris/\">Estela Rueda</a> and <a href=\"https://profiles.wordpress.org/zunaid321/\">Zunaid Amin</a>.</p>\n\n\n\n<p>Special thanks to <a class=\"mention\" href=\"https://profiles.wordpress.org/davidbaumwald/\"><span class=\"mentions-prefix\">@</span>davidbaumwald</a>, <a class=\"mention\" href=\"https://profiles.wordpress.org/sergeybiryukov/\"><span class=\"mentions-prefix\">@</span>sergeybiryukov</a>, <a class=\"mention\" href=\"https://profiles.wordpress.org/mamaduka/\"><span class=\"mentions-prefix\">@</span>mamaduka</a>, <a class=\"mention\" href=\"https://profiles.wordpress.org/wildworks/\"><span class=\"mentions-prefix\">@</span>wildworks</a> and <a class=\"mention\" href=\"https://profiles.wordpress.org/jorbin/\"><span class=\"mentions-prefix\">@</span>jorbin</a> for their help on specific release tasks.</p>\n\n\n\n<p>WordPress 6.8.2 would not have been possible without the contributions of the following 96 people. Their asynchronous coordination to deliver maintenance fixes into a stable release is a testament to the power and capability of the WordPress community.</p>\n\n\n\n<p class=\"is-style-wporg-props-medium has-white-color has-midnight-gradient-background has-text-color has-background has-link-color has-normal-font-size wp-elements-2ad7deb15a87fd29427f001e4c18a1ac\"><a href=\"https://profiles.wordpress.org/jorbin\">Aaron Jorbin</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/wildworks\">Aki Hamano</a>, <a href=\"https://profiles.wordpress.org/alexstine\">Alex Stine</a>, <a href=\"https://profiles.wordpress.org/anatolbroder\">Anatol Broder</a>, <a href=\"https://profiles.wordpress.org/afercia\">Andrea Fercia</a>, <a href=\"https://profiles.wordpress.org/nacin\">Andrew Nacin</a>, <a href=\"https://profiles.wordpress.org/ankitkumarshah\">Ankit Kumar Shah</a>, <a href=\"https://profiles.wordpress.org/annezazu\">annezazu</a>, <a href=\"https://profiles.wordpress.org/azharderaiya\">Azhar Deraiya</a>, <a href=\"https://profiles.wordpress.org/benjamingosset\">Benjamin Gosset</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/brhodes\">brhodes</a>, <a href=\"https://profiles.wordpress.org/poena\">Carolina Nymark</a>, <a href=\"https://profiles.wordpress.org/czarate\">Chris Zarate</a>, <a href=\"https://profiles.wordpress.org/courane01\">Courtney Robertson</a>, <a href=\"https://profiles.wordpress.org/talldanwp\">Daniel Richards</a>, <a href=\"https://profiles.wordpress.org/darshitrajyaguru97\">Darshit Rajyaguru</a>, <a href=\"https://profiles.wordpress.org/davidbaumwald\">David Baumwald</a>, <a href=\"https://profiles.wordpress.org/dmsnell\">Dennis Snell</a>, <a href=\"https://profiles.wordpress.org/dhruvang21\">Dhruvang21</a>, <a href=\"https://profiles.wordpress.org/dilipbheda\">Dilip Bheda</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/dustintechsmith\">dustintechsmith</a>, <a href=\"https://profiles.wordpress.org/ericlewis\">Eric Andrew Lewis</a>, <a href=\"https://profiles.wordpress.org/im3dabasia1\">Eshaan Dabasiya</a>, <a href=\"https://profiles.wordpress.org/estelaris\">Estela Rueda</a>, <a href=\"https://profiles.wordpress.org/eherman24\">Evan Herman</a>, <a href=\"https://profiles.wordpress.org/fabiankaegy\">Fabian Kägy</a>, <a href=\"https://profiles.wordpress.org/faisalahammad\">Faisal Ahammad</a>, <a href=\"https://profiles.wordpress.org/flixos90\">Felix Arntz</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/mamaduka\">George Mamadashvili</a>, <a href=\"https://profiles.wordpress.org/gernberg\">gernberg</a>, <a href=\"https://profiles.wordpress.org/gziolo\">Greg Ziółkowski</a>, <a href=\"https://profiles.wordpress.org/harshgajipara\">Harsh Gajipara</a>, <a href=\"https://profiles.wordpress.org/helgatheviking\">HelgaTheViking</a>, <a href=\"https://profiles.wordpress.org/abcd95\">Himanshu Pathak</a>, <a href=\"https://profiles.wordpress.org/audrasjb\">Jb Audras</a>, <a href=\"https://profiles.wordpress.org/JeffPaul\">Jeffrey Paul</a>, <a href=\"https://profiles.wordpress.org/jdy68\">Jenny Dupuy</a>, <a href=\"https://profiles.wordpress.org/luminuu\">Jessica Lyschik</a>, <a href=\"https://profiles.wordpress.org/jigarpanchal\">Jigar Panchal</a>, <a href=\"https://profiles.wordpress.org/joedolson\">Joe Dolson</a>, <a href=\"https://profiles.wordpress.org/joemcgill\">Joe McGill</a>, <a href=\"https://profiles.wordpress.org/johnbillion\">John Blackbourn</a>, <a href=\"https://profiles.wordpress.org/mindctrl\">John Parris</a>, <a href=\"https://profiles.wordpress.org/jonsurrell\">Jon Surrell</a>, <a href=\"https://profiles.wordpress.org/desrosj\">Jonathan Desrosiers</a>, <a href=\"https://profiles.wordpress.org/spacedmonkey\">Jonny Harris</a>, <a href=\"https://profiles.wordpress.org/kausaralm\">Kausar Alam</a>, <a href=\"https://profiles.wordpress.org/kishanjasani\">Kishan Jasani</a>, <a href=\"https://profiles.wordpress.org/tyxla\">Marin Atanasov</a>, <a href=\"https://profiles.wordpress.org/matt\">Matt Mullenweg</a>, <a href=\"https://profiles.wordpress.org/pfefferle\">Matthias Pfefferle</a>, <a href=\"https://profiles.wordpress.org/megane9988\">megane9988</a>, <a href=\"https://profiles.wordpress.org/mosescursor\">Moses Cursor Ssebunya</a>, <a href=\"https://profiles.wordpress.org/mukesh27\">Mukesh Panchal</a>, <a href=\"https://profiles.wordpress.org/mwillman1991\">mwillman1991</a>, <a href=\"https://profiles.wordpress.org/bugnumber9\">Nazar Hotsa</a>, <a href=\"https://profiles.wordpress.org/nidhidhandhukiya\">nidhidhandhukiya</a>, <a href=\"https://profiles.wordpress.org/nikunj8866\">Nikunj Hatkar</a>, <a href=\"https://profiles.wordpress.org/oferlaor\">oferlaor</a>, <a href=\"https://profiles.wordpress.org/oglekler\">Olga Gleckler</a>, <a href=\"https://profiles.wordpress.org/swissspidy\">Pascal Birchler</a>, <a href=\"https://profiles.wordpress.org/paulstanos\">paulstanos</a>, <a href=\"https://profiles.wordpress.org/peterwilsoncc\">Peter Wilson</a>, <a href=\"https://profiles.wordpress.org/puggan\">puggan</a>, <a href=\"https://profiles.wordpress.org/ravigadhiyawp\">Ravi Gadhiya</a>, <a href=\"https://profiles.wordpress.org/youknowriad\">Riad Benguella</a>, <a href=\"https://profiles.wordpress.org/rollybueno\">Rolly Bueno</a>, <a href=\"https://profiles.wordpress.org/room34\">room34</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/Sam_a\">sam_a</a>, <a href=\"https://profiles.wordpress.org/sandeepdahiya\">Sandeep Dahiya</a>, <a href=\"https://profiles.wordpress.org/SergeyBiryukov\">Sergey Biryukov</a>, <a href=\"https://profiles.wordpress.org/shanemuir\">Shane Muirhead</a>, <a href=\"https://profiles.wordpress.org/siliconforks\">siliconforks</a>, <a href=\"https://profiles.wordpress.org/sirlouen\">SirLouen</a>, <a href=\"https://profiles.wordpress.org/sabernhardt\">Stephen Bernhardt</a>, <a href=\"https://profiles.wordpress.org/sukhendu2002\">Sukhendu Sekhar Guria</a>, <a href=\"https://profiles.wordpress.org/karmatosed\">Tammie Lister</a>, <a href=\"https://profiles.wordpress.org/TobiasBg\">Tobias Bäthge</a>, <a href=\"https://profiles.wordpress.org/wpsmith\">Travis Smith</a>, <a href=\"https://profiles.wordpress.org/ugyensupport\">Ugyen Dorji</a>, <a href=\"https://profiles.wordpress.org/uxl\">uxl</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/getsyash\">Yash B</a>, <a href=\"https://profiles.wordpress.org/yogeshbhutkar\">Yogesh Bhutkar</a>, and <a href=\"https://profiles.wordpress.org/zunaid321\">Zunaid Amin</a></p>\n\n\n\n<h2 class=\"wp-block-heading\">How to contribute</h2>\n\n\n\n<p>To get involved in WordPress core development, head over to Trac, <a href=\"https://core.trac.wordpress.org/report/6\">pick a ticket</a>, and join the conversation on Slack, in the <a href=\"https://wordpress.slack.com/archives/C02RQBWTW\">#core</a> and <a href=\"https://wordpress.slack.com/archives/C080HLPP2Q6\">#6-8-release-leads</a> channels. Need help? Check out the <a href=\"https://make.wordpress.org/core/handbook/\">Core Contributor Handbook</a>.</p>\n\n\n\n<p class=\"has-text-align-right\"><em>Thanks to <a class=\"mention\" href=\"https://profiles.wordpress.org/estelaris/\"><span class=\"mentions-prefix\">@</span>estelaris</a> and <a class=\"mention\" href=\"https://profiles.wordpress.org/zunaid321/\"><span class=\"mentions-prefix\">@</span>zunaid321</a> for proofreading.</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:\"Tue, 15 Jul 2025 15:41:50 +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:9:\"Jb Audras\";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:\"\n	\n	\n	\n	\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:76:\"Open Channels FM: Rethinking Global Remote Work Opportunities in 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:33:\"https://openchannels.fm/?p=100594\";s: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:83:\"https://openchannels.fm/rethinking-global-remote-work-opportunities-in-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:383:\"Remote work has been a defining feature of tech culture for years, but it has become especially prominent in open source communities. As more professionals build careers within globally distributed teams, the conversation around cross-border employment has grown more relevant than ever. One insight that stands out is the potential for developers and digital professionals [&#8230;]\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 15 Jul 2025 09:48:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"BobWP\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:25;a:6:{s:4:\"data\";s:21:\"\n	\n	\n	\n	\n	\n	\n	\n	\n	\n	\n\";s: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:91:\"WordPress.org blog: Celebrating Kim Parsell: 2025 WordCamp US Scholarship Applications Open\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"https://wordpress.org/news/?p=18911\";s: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:87:\"https://wordpress.org/news/2025/07/kim-parsell-2025-wcus-scholarship-applications-open/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:4936:\"<p>The WordPress Foundation is pleased to announce the return of the <strong>Kim Parsell Memorial Scholarship</strong> for WordCamp US 2025. Applications are being accepted until <strong>July 25, 2025</strong>.</p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full has-custom-border\"><img alt=\"\" class=\"wp-image-18912\" height=\"370\" src=\"https://i0.wp.com/wordpress.org/news/files/2025/07/wpdocs-team-1.webp?resize=604%2C370&#038;ssl=1\" style=\"border-width: 25px; border-radius: 40px;\" width=\"604\" /></figure>\n\n\n\n<div class=\"wp-block-group has-off-white-2-background-color has-background is-layout-constrained wp-container-core-group-is-layout-6cbf45de wp-block-group-is-layout-constrained\" style=\"margin-top: 48px; margin-bottom: 48px; padding-top: 24px; padding-bottom: 24px;\">\n<div class=\"wp-block-columns is-not-stacked-on-mobile is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"></div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h2 class=\"wp-block-heading\">Remembering Kim Parsell</h2>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><img alt=\"\" class=\"wp-image-18956\" height=\"400\" src=\"https://i0.wp.com/wordpress.org/news/files/2025/07/Kim-parsell-twitter-image-2.jpeg?resize=400%2C400&#038;ssl=1\" width=\"400\" /></figure>\n</div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p>Kim Parsell was a dedicated contributor and a beloved member of the WordPress community. Her passion for open source and her welcoming spirit inspired many, both online and in person. Each year at WordCamp US, the WordPress Foundation celebrates Kim’s legacy by supporting contributors who share her commitment and enthusiasm. The Kim Parsell Memorial Scholarship aims to make it easier for deserving community members to attend WordCamp US, reflecting Kim’s belief in making WordPress accessible and inclusive for all.</p>\n</div>\n</div>\n\n\n\n<p>If you’re unfamiliar with Kim’s story or her invaluable role in the community, we encourage you to <a href=\"https://us.wordcamp.org/2019/memories-of-kim-parsell/\">read these heartfelt tributes</a> collected from friends and colleagues.</p>\n</div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"></div>\n</div>\n</div>\n\n\n\n<h2 class=\"wp-block-heading\">Scholarship Eligibility</h2>\n\n\n\n<p>This year, a single scholarship will be awarded. To qualify, applicants must:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Identify as a woman</li>\n\n\n\n<li>Be actively involved as a contributor to WordPress</li>\n\n\n\n<li>Have never attended WordCamp US before</li>\n\n\n\n<li>Demonstrate a need for financial support to attend the event</li>\n</ul>\n\n\n\n<p>If you meet these qualifications, we invite you to apply before the July 25 deadline. All applicants will be notified of the decision by August 7, 2025.</p>\n\n\n\n<p>For additional information, visit the <a href=\"https://wordpressfoundation.org/projects/kim-parsell-memorial-scholarship/\">Kim Parsell Memorial Scholarship page</a> hosted by the WordPress Foundation.</p>\n\n\n\n<div class=\"wp-block-group has-off-white-2-background-color has-background is-layout-constrained wp-container-core-group-is-layout-8503c47b wp-block-group-is-layout-constrained\">\n<div class=\"wp-block-spacer\" style=\"height: 50px;\"></div>\n\n\n\n<p class=\"has-text-align-center has-large-font-size\"><strong>Ready to Apply?</strong></p>\n\n\n\n<div class=\"wp-block-spacer\" style=\"height: 25px;\"></div>\n\n\n\n<div class=\"wp-block-buttons is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-a89b3969 wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link has-text-align-center wp-element-button\" href=\"https://wordcampcentral.survey.fm/wcus-2025-kim-parsell-scholarship-application\">Submit Your Application Today</a></div>\n</div>\n\n\n\n<div class=\"wp-block-spacer\" style=\"height: 50px;\"></div>\n</div>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full has-custom-border\"><img alt=\"\" class=\"wp-image-18917\" height=\"333\" src=\"https://i0.wp.com/wordpress.org/news/files/2025/07/kim-jose.jpeg?resize=500%2C333&#038;ssl=1\" style=\"border-width: 25px; border-radius: 40px;\" width=\"500\" /></figure>\n\n\n\n<h2 class=\"wp-block-heading\">Join the Celebration</h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Tickets for WordCamp US 2025 are now available—secure yours soon!</li>\n\n\n\n<li>Volunteer applications are open until July 11, 2025</li>\n\n\n\n<li>Interested in supporting the event? Explore our <a>sponsorship opportunities</a></li>\n</ul>\n\n\n\n<p>Help us spread the word about this opportunity and make WordCamp US 2025 even more special.</p>\n\n\n\n<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:\"Mon, 14 Jul 2025 18:57:47 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Brett McSherry\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:26;a:6:{s:4:\"data\";s:21:\"\n	\n	\n	\n	\n	\n	\n	\n	\n	\n	\n\";s: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:99:\"Open Channels FM: What Investors Really Want: Funding Insights for Digital and Open Source Founders\";s: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=100588\";s: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:105:\"https://openchannels.fm/what-investors-really-want-funding-insights-for-digital-and-open-source-founders/\";s: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:234:\"In the evolving digital commerce landscape, successful funding requires strong founder-investor relationships, clear problem-solving focus, and ethical considerations, emphasizing collaborative growth and effective product strategies.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Mon, 14 Jul 2025 09: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:5:\"BobWP\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:27;a:6:{s:4:\"data\";s:21:\"\n	\n	\n	\n	\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:68:\"Gravatar: What is Federated Identity Management and How Does it Work\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:32:\"http://blog.gravatar.com/?p=3371\";s: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:67:\"https://blog.gravatar.com/2025/07/11/federated-identity-management/\";s: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:15494:\"<p>You know that moment when you breeze into a new app by clicking “Sign in with Google”? That’s not magic. It’s federated identity management (FIM). </p>\n\n\n\n<p>It lets you hop between apps and services using just one login, no password juggling required.</p>\n\n\n\n<p>You’ve likely got usernames and passwords scattered across what feels like half the internet. It’s a mess for users, and an even bigger migraine for developers trying to build secure login systems from scratch.</p>\n\n\n\n<p>FIM solves this core <a href=\"https://blog.gravatar.com/2024/08/01/why-digital-identity-management-is-crucial-for-modern-businesses/\">problem of digital identity management</a> by creating trusted links between different platforms. So instead of managing dozens of accounts, you just maintain one primary identity that does the heavy lifting across multiple services.</p>\n\n\n\n<p>In this article, we’ll unpack:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>How identity providers and service providers team up to make login friction-free.</li>\n\n\n\n<li>The protocols behind the magic – SAML, OAuth, OpenID Connect.</li>\n\n\n\n<li>Why FIM systems are more secure <em>and</em> more user-friendly than the old-school alternatives.</li>\n\n\n\n<li>How tools like Gravatar bring federated identity to the everyday user, not just the enterprise crowd.</li>\n</ul>\n\n\n\n<p>So, let’s dig into how federated identity is rewriting the rules of online access.</p>\n\n\n\n<h2 class=\"wp-block-heading\">What is federated identity management?</h2>\n\n\n\n<p>Federated identity management lets users log into multiple services with just one set of credentials – even if those services belong to entirely different organizations or live in separate security realms.</p>\n\n\n\n<p>In short: One login, many doors.</p>\n\n\n\n<p>The clever part? While users enjoy the simplicity of a single sign-in, each organization still keeps tight control over its own systems and data. Everyone wins – convenience for users, boundaries for businesses.</p>\n\n\n\n<p>At its heart, FIM solves a very modern dilemma: Too many passwords, not enough patience. By reducing login clutter whilst safeguarding security, it keeps systems streamlined and users sane.</p>\n\n\n\n<p>For example:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A university student signs into their campus portal with their regular uni login.</li>\n\n\n\n<li>From there, they can hop into a <a href=\"https://workspace.google.com/\">Google Workspace</a> to submit assignments, dive into academic databases, or access publishing platforms with no additional accounts.</li>\n\n\n\n<li>Their university identity just&#8230; goes with them.</li>\n</ul>\n\n\n\n<p>This all works thanks to behind-the-scenes handshake deals called <a href=\"https://blog.gravatar.com/2024/08/01/why-digital-identity-management-is-crucial-for-modern-businesses/#:~:text=5.%20Federation,across%20multiple%20systems.%20With%20technologies\"><em>federated identity agreements</em></a>. The university acts as the identity provider, backing the student’s identity. Services like Google Workspace act as service providers, trusting that endorsement and granting access accordingly.</p>\n\n\n\n<p>It all works through carefully coordinated <a href=\"https://blog.gravatar.com/2024/05/04/authentication-protocols/\">authentication protocols</a> working behind the scenes. These standards let systems talk to each other securely. Only the essentials get shared, passwords never stray from their home base, and users keep control of their data.</p>\n\n\n\n<p>Now, let’s dig into how those protocols do their thing.</p>\n\n\n\n<h3 class=\"wp-block-heading\">Key protocols and standards: SAML, OAuth, and OpenID Connect</h3>\n\n\n\n<p>Federated identity might sound like something dreamt up in a sci-fi novel, but it’s really just about helping different services trust each other enough to vouch for <em>you</em>. </p>\n\n\n\n<p>That way, you’re not logging in twelve times before breakfast. Instead, a handful of protocols quietly do the work to keep things smooth, secure, and repeat-login free.</p>\n\n\n\n<p>Here are the big three making that happen:</p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>SAML (Security Assertion Markup Language)</strong></h4>\n\n\n\n<p>SAML is basically the corporate go-to when it comes to easy sign-ins. It’s what lets employees hop between internal tools (HR systems, dashboards, intranets etc.) without juggling five passwords and a daily identity crisis.</p>\n\n\n\n<p>Here’s the gist:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>You try to access a service (say, the company HR portal).</li>\n\n\n\n<li>You’re bounced over to the company’s identity provider.</li>\n\n\n\n<li>You log in with your usual details.</li>\n\n\n\n<li>The service gets a SAML assertion – a signed digital nod that says, “Yep, this person checks out”.</li>\n</ul>\n\n\n\n<p>It’s especially handy in enterprise and B2B settings, where you need airtight security and rich user data. If you’re into technical deep dives, the <a href=\"https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=security\">OASIS SAML Technical Committee</a> has the specs.</p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>OAuth 2.0</strong></h4>\n\n\n\n<p>OAuth isn’t really about proving <em>who</em> you are; it’s about saying <em>what</em> an app can do on your behalf.</p>\n\n\n\n<p>That moment when you “Sign in with Google”, OAuth is just passing a temporary access token that tells the app, “This person’s cool with you looking at their calendar (but hands off their emails).” It’s <a href=\"https://blog.gravatar.com/2024/05/10/oauth-2-0-simplified-unraveling-authorization-protocols/\">identity permission management</a>, not identity confirmation.</p>\n\n\n\n<p>It’s like handing out a key that only opens one room in the house, and only for a short time. You can learn more about it on <a href=\"https://oauth.net/2/\">the OAuth 2.0 site</a>.</p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>OpenID Connect</strong></h4>\n\n\n\n<p>OpenID Connect builds on OAuth 2.0 by enabling proper ID verification. It’s what makes one-click logins like “Sign in with Apple” or “Sign in with Google” actually log you <em>in</em>, not just hand out permissions.</p>\n\n\n\n<p>It works by adding an identity token that securely shares who you are with the service. So now, it’s not just “this person said yes,” it’s “this person is Alice, email verified, and here’s the proof.”</p>\n\n\n\n<p>Want to build with it? The <a href=\"https://openid.net/connect/\">OpenID Connect specs</a> are the go-to guide for implementation.</p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img alt=\"Federated identity management systems comparison\" class=\"wp-image-3379\" height=\"360\" src=\"https://blog.gravatar.com/wp-content/uploads/2025/06/federated-identity-management-systems.png?w=660\" width=\"660\" /></figure>\n\n\n\n<h3 class=\"wp-block-heading\">Identity providers vs. service providers: Roles in the FIM ecosystem</h3>\n\n\n\n<p>In federated identity management (FIM), two main players run the show: The identity provider (IdP) and the service provider (SP). Knowing what each does is key to understanding how FIM works.</p>\n\n\n\n<p>Identity providers handle the login. They verify who you are; whether that’s Google, Microsoft, your university, or your company’s system. The IdP stores your credentials and confirms your identity to other services.</p>\n\n\n\n<p>Service providers are the apps and platforms you want to access using that login, like <a href=\"https://www.zoom.com/\">Zoom</a>, <a href=\"https://www.dropbox.com/\">Dropbox</a>, or academic databases.</p>\n\n\n\n<p>Here’s what happens when you click “Sign in with Google”:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Google (the IdP) checks your credentials.</li>\n\n\n\n<li>It tells the service provider you’re authenticated.</li>\n\n\n\n<li>The service provider grants access without ever seeing your password.</li>\n</ul>\n\n\n\n<p>This split keeps things secure. Your passwords stay with trusted IdPs, so you’re not juggling new logins for every service. And if a service provider is breached, your credentials are still safe.</p>\n\n\n\n<p>For organizations, it simplifies access control. IT teams can grant or revoke access from the IdP side, managing all connected services in one go when people join or leave.</p>\n\n\n\n<h2 class=\"wp-block-heading\">FIM vs. single sign-on: Key differences explained</h2>\n\n\n\n<p><a href=\"https://blog.gravatar.com/2024/05/09/single-sign-on-solutions/\">Single sign-on</a> (SSO) is the big crowd-pleaser: One login, and you’re in. Email, HR tools, task boards, wiki rabbit holes – it’s all yours, no repeated password dance required. </p>\n\n\n\n<p>The catch is it all lives within the borders of your organization. Handy, yes. But fenced in.</p>\n\n\n\n<p>Federated identity management (FIM) takes things a step further. Same single login magic, but this time the credentials can travel. Across platforms. Across orgs. Across ecosystems. It’s SSO with a passport.</p>\n\n\n\n<p>Here’s how that plays out:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>With SSO, a university student signs in once and gets access to campus email, class materials, and the meal plan portal.<br /></li>\n\n\n\n<li>With FIM, that same login gets them into external research libraries, academic collaboration tools, and third-party cloud drives, all run by different providers.</li>\n</ul>\n\n\n\n<p>Both SSO and FIM save you from juggling five logins and twenty browser tabs. Both boost security by keeping authentication centralised. The difference? FIM doesn’t stop at the edge of your organization, it builds trust between systems that aren’t under the same roof.</p>\n\n\n\n<p>To make this work, FIM needs a little extra backend choreography. To work smoothly across domains, it relies on protocols like SAML, OAuth, or OpenID Connect (the same ones we unpacked earlier). </p>\n\n\n\n<p>SSO inside a single org skips the extra tech since everything’s already playing on the same team.</p>\n\n\n\n<p>So: SSO keeps things simple within your four walls. FIM gets you past the gates.</p>\n\n\n\n<h2 class=\"wp-block-heading\">Gravatar&#8217;s profiles-as-a-service: A simplified approach to federated identity</h2>\n\n\n\n<p><a href=\"https://gravatar.com/\">Gravatar</a> makes federated identity feel less like an enterprise buzzword and more like something regular people can actually use. It takes the big, often baffling ideas behind FIM and packages them into something simple, familiar, and weirdly elegant.</p>\n\n\n\n<p>Let’s start with the magic trick: <em>Update once, sync everywhere</em>. </p>\n\n\n\n<p>Change your photo or bio on Gravatar and – ta-da – it updates across every platform that supports it, from WordPress comment sections to your GitHub commits. No faff. No repeat uploads. Just instant consistency, quietly flexing the whole “federated identity” concept in real life.</p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img alt=\"Gravatar - a primer for federated identity management\" class=\"wp-image-3380\" height=\"358\" src=\"https://blog.gravatar.com/wp-content/uploads/2025/06/federated-identity-management-gravatar-update-once.gif?w=660\" width=\"660\" /></figure>\n\n\n\n<p>What really makes it click, though, is how Gravatar ties your identity to your email address instead of your name. That lets you switch gears effortlessly:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>One email for your work persona.</li>\n\n\n\n<li>Another for hobby projects.</li>\n\n\n\n<li>A third for your incognito forum life.</li>\n</ul>\n\n\n\n<p>Each one becomes its own lightweight identity provider. And because Gravatar plays nicely with WordPress, GitHub, Slack, OpenAI (and plenty more), your profile travels with you like a loyal companion.</p>\n\n\n\n<p>Gravatar skips the corporate complexity in favor of something far more accessible, especially for solo operators and smaller teams.</p>\n\n\n\n<p>Best of all? It’s free. And since it’s backed by <a href=\"https://automattic.com/\">Automattic</a>, Gravatar takes ideas that used to live inside enterprise IT departments and hands them over to the rest of us.</p>\n\n\n\n<h3 class=\"wp-block-heading\">How developers can leverage Gravatar&#8217;s API for cross-domain identity</h3>\n\n\n\n<p>If you’re a developer staring down the barrel of yet <em>another</em> user profile system, take a breath. Gravatar’s got your back. Our API is basically a plug-and-play shortcut to “<a href=\"https://blog.gravatar.com/2024/06/03/profiles-as-a-service/\">profiles-as-a-service</a>,” and integrating it is almost suspiciously easy.</p>\n\n\n\n<p>Instead of wrestling with databases, uploads, and custom logic, you can hook into Gravatar’s infrastructure with just a few lines of code. Here’s what you get:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https://docs.gravatar.com/sdk/images/\">Avatars in all the sizes</a> you’ll need.</li>\n\n\n\n<li>Verified social links.</li>\n\n\n\n<li>User bios and display names.</li>\n\n\n\n<li>Professional details, neatly packaged.</li>\n</ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img alt=\"Avatar sizes with Gravatar for identity management\" class=\"wp-image-3381\" height=\"177\" src=\"https://blog.gravatar.com/wp-content/uploads/2025/06/federated-identity-management-avatar-size-gravatar.png?w=660\" width=\"660\" /></figure>\n\n\n\n<p>It’s a clean fix for the mess of cross-domain identity. One Gravatar profile works across <em>every</em> platform that supports the API. No more begging users to upload the same photo (again). No more duplicated effort.</p>\n\n\n\n<p>And here’s what makes things even better: the docs are actually helpful. Whether you’re calling our REST API or grabbing an SDK, <a href=\"https://docs.gravatar.com/\">our Gravatar tutorials</a> walk you through everything from basic avatar fetching to pulling in full profiles.</p>\n\n\n\n<p>Building your own profile system could eat up weeks or months. With Gravatar, you’ll be done before your coffee goes cold. Plus, you skip the long-term headaches: Maintenance, security patches, user complaints – all gone.</p>\n\n\n\n<p>If you&#8217;re working on a comment thread, a full-blown app, or anything in between, Gravatar delivers a clean, federated identity solution minus the enterprise bloat.</p>\n\n\n\n<h2 class=\"wp-block-heading\">Create your digital passport today</h2>\n\n\n\n<p>Gravatar makes federated identity simple and available to everyone, whether you&#8217;re a solo creator or a full-stack developer. </p>\n\n\n\n<p>One profile, thousands of platforms: WordPress, GitHub, Slack, OpenAI… all covered.</p>\n\n\n\n<p>You simply update your profile once, and it syncs <em>everywhere</em>. No more hunting down forgotten logins just to swap out a profile pic or tweak a bio.</p>\n\n\n\n<p>For developers, it’s a breeze: Just a few lines of code, and your users get a polished, cross-platform experience without the headache of building your own identity infrastructure.</p>\n\n\n\n<p>Gravatar’s been trusted by millions for over a decade, and it’s backed by <a href=\"https://automattic.com/\">Automattic</a>, the same folks behind WordPress.com and a whole suite of web heavyweights. </p>\n\n\n\n<p>It’s free, privacy-conscious, and puts you firmly in control.</p>\n\n\n\n<p>Ready to streamline your online presence? <a href=\"https://gravatar.com/\">Set up your free Gravatar</a> and make profile chaos a thing of the past.</p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https://gravatar.com/connect/?gravatar_from=blog\"><img alt=\"\" class=\"wp-image-2616\" height=\"729\" src=\"https://blog.gravatar.com/wp-content/uploads/2024/12/free_profile_cta.png\" width=\"3243\" /></a></figure>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 11 Jul 2025 18:30:51 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:11:\"Ronnie Burt\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:28;a:6:{s:4:\"data\";s:21:\"\n	\n	\n	\n	\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:59:\"Jonathan Desrosiers: The Ghosts of Unactivated Contributors\";s: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=5954\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:78:\"https://jonathandesrosiers.com/2025/07/the-ghosts-of-unactivated-contributors/\";s: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:15053:\"<p class=\"\">I’m so glad <a href=\"https://binatethoughts.com/\">Tammie</a> was (partially) inspired to <a href=\"https://binatethoughts.com/first-props-and-contribution-journeys/\">reflect on the beginning of her contribution journey </a>after reading my <a href=\"https://jonathandesrosiers.com/2025/07/12-years-contributing-to-wordpress/\">12 year first contribution anniversary post</a>. I love reading these stories! They really ignite a meditative mindset.</p>\n\n\n\n<p class=\"\">I’m currently up in the <a href=\"https://en.wikipedia.org/wiki/White_Mountains_(New_England)\">White Mountains</a> on a family vacation. I read her post with my morning coffee before my wife and I set out to hike <a href=\"https://www.visitwhitemountains.com/listing/mount-willard-trailhead/143/\">Mount Willard</a> as part of our attempt to tackle the <a href=\"https://www.kenmacgray.org/52/\">52 With A View</a>. I know, I should be better about disconnecting, but her reflections had me thinking on the trail.</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-everyone-is-just-figuring-it-out-whatever-that-means\">Everyone is just “figuring it out” (whatever that means)</h2>\n\n\n\n<p class=\"\">It’s interesting how the contributors you looked up to when getting started that you assumed were well established were actually still finding their way.</p>\n\n\n\n<p class=\"\">Tammie is a great example of this. I remember looking at comments she made and thinking they were insightful and based on lots of experience. They were and still are, but her experience was not what I had assumed. Her experience at the time was just not yet from contributing to WordPress. She too was wandering around looking for the path that looked just right at the same time as me.</p>\n\n\n\n<p class=\"\">“Figuring it out” also means something different to everyone. And “it” can also change over time. The best path today will likely not be a good fit in 10 years, 5 years, or even 6 months.</p>\n\n\n\n<figure class=\"wp-block-image alignwide size-full wp-lightbox-container\"><img alt=\"\" class=\"wp-image-5965 not-transparent\" height=\"1920\" src=\"https://jonathandesrosiers.com/wp-content/uploads/2025/07/img_1969-scaled.jpg\" width=\"2560\" /><button class=\"lightbox-trigger\" type=\"button\">\n			<svg fill=\"none\" height=\"12\" viewBox=\"0 0 12 12\" width=\"12\" xmlns=\"http://www.w3.org/2000/svg\">\n				<path d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" fill=\"#fff\">\n			</svg>\n		</button><figcaption class=\"wp-element-caption\">An increasingly foggy part of the trail on Mount Willard in the White Mountain National Forest.<br /></figcaption></figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-activating-observers\">Activating Observers</h2>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"\">“A simple code review or “great job” can be the difference between a one-time contributor and a future maintainer. You never know what someone needs to hear, so be generous with feedback.”</p>\n</blockquote>\n\n\n\n<p class=\"\">This is something I <a href=\"https://maintaine.rs/desrosj\">included in my essay</a> for the <a href=\"https://maintaine.rs\">Maintaine.rs</a> book. In Tammie’s post, she interestingly had a sentence that struck me as the exact opposite of that statement.</p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"\">“Our projects are full of the ghosts of contributors we never activated, and that fuels me to see potential in every person who gives up their time.”</p>\n</blockquote>\n\n\n\n<p class=\"\">What happens when we don’t put our best forward, if it wasn’t enough, or wasn’t what someone needed to hear? Obviously we can’t (and shouldn’t) attract or keep everyone who passes by the communities we care for to join in our efforts. But what about those who <em>were</em> good fits but just weren’t engaged with in the right way?</p>\n\n\n\n<p class=\"\">Maybe documentation was lacking. Maybe expectations were unclear. Or maybe they sensed a maintainer was being territorial towards an area of the project they look after. This excerpt from <a href=\"https://producingoss.com\">Producing Open Source Software</a> is relevant here:</p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"\">Watch out for participants who try to stake out exclusive ownership of certain areas of the project, and who seem to want to do all the work in those areas, to the extent of aggressively taking over work that others start. Such behavior may even seem healthy at first. After all, on the surface it looks like the person is taking on more responsibility, and showing increased activity within a given area. But in the long run, it is destructive. When people sense a &#8220;no trespassing&#8221; sign, they stay away. This results in reduced review in that area, and greater fragility, because the lone developer becomes a single point of failure. Worse, it fractures the cooperative, egalitarian spirit of the project.</p>\n\n\n\n<p class=\"\"><a href=\"https://producingoss.com/en/producingoss.html#territoriality\">Karl Fogel. Producing Open Source Software. Chapter 8: Preventing Territoriality</a></p>\n</blockquote>\n\n\n\n<p class=\"\">Sometimes letting people find their way means not engaging at all. Not every contributor requires an eager welcome or hand-holding. Over-engaging can also be a bad thing. Knowing how to gauge the appropriate level of interaction is a skill that comes with time.</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-different-paths-for-different-people\">Different Paths For Different People</h2>\n\n\n\n<p class=\"\">On our hike, I noticed that the route my wife took was almost never the same as the one I took on the same exact path. I wasn’t intentionally avoiding her footprints, I was just subconsciously choosing what looked best to me.</p>\n\n\n\n<p class=\"\">The same is true in a large community. Instead of rigid groupings with strict criteria that must be met, establish decision-making frameworks that encourage flexibility guided in foundational principles.</p>\n\n\n\n<p class=\"\">I sometimes observe new contributors trying to make sense of activity by forcing everything into specific categories, paths, or types. While it makes a lot of sense as a first step, that can quickly lead to frustration and burn out because it just doesn’t work like that at scale.</p>\n\n\n\n<p class=\"\">Paths also manifest to individuals differently. Sometimes they’re rocky and sometimes not. Sometimes it’s rocky but one giant smooth rock instead of many little ones, and occasionally the surface is just a little slippery. Everyone proceeds at their own pace. If you believe in the mission and have purpose, continue on despite the form the path takes in front of you. </p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-avoid-congregating-at-the-top\">Avoid Congregating At The Top</h2>\n\n\n\n<p class=\"\">Two Summers ago while also in New Hampshire, we took the <a href=\"https://mt-washington.com/?gad_source=1&amp;gad_campaignid=20890652283&amp;gbraid=0AAAAApFtTRv45-wTrqsc07TBDgP6gkw8H&amp;gclid=EAIaIQobChMI-KP6vamzjgMVmVhHAR1NZQFMEAAYASAAEgJBF_D_BwE\">Mount Washington Auto Road</a> to the top of the <a href=\"https://en.m.wikipedia.org/wiki/Mount_Washington\">6,288 foot highest point in New England</a>. When we reached the summit, the weather was drastically different (30-40MPH gusts, cloudy, and 35°F) than at the base (high 80°s F, calm, clear and sunny).</p>\n\n\n\n<p class=\"\">Besides the weather, something else stood out.  There was a line ~100 people long waiting for a chance to take a photo in front of the summit sign.</p>\n\n\n\n<figure class=\"wp-block-image size-full wp-lightbox-container\"><img alt=\"A long line of people at the top of Mount Washington lined up to take a photo with the summit sign.\" class=\"wp-image-5962 not-transparent\" height=\"2560\" src=\"https://jonathandesrosiers.com/wp-content/uploads/2025/07/img_1681-scaled.jpg\" width=\"1920\" /><button class=\"lightbox-trigger\" type=\"button\">\n			<svg fill=\"none\" height=\"12\" viewBox=\"0 0 12 12\" width=\"12\" xmlns=\"http://www.w3.org/2000/svg\">\n				<path d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" fill=\"#fff\">\n			</svg>\n		</button><figcaption class=\"wp-element-caption\">The line at the top of Mount Washington. </figcaption></figure>\n\n\n\n<p class=\"\">When everyone crowds toward the “top,” we risk losing the balance and continuity that healthy communities need. It’s not about reaching the summit. Rather, it’s about ensuring the entire path is well-traveled, well-marked, and connected.</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-don-t-meet-at-the-top\">Don’t Meet At The Top</h2>\n\n\n\n<p class=\"\">We never truly make it to the “top” because it’s not a static thing. This is especially true in technology where everything is constantly changing and evolving. Thus, “getting to the top” is the wrong goal. Instead, our goal should be to connect with as many people as we can at the many points paths intersect along the way. Put differently, we should be building connections between as many paths as possible.</p>\n\n\n\n<figure class=\"wp-block-image alignwide size-full wp-lightbox-container\"><img alt=\"A bed of ferns in the foreground at the peak of Mount Willard.  It’s foggy, but a highway can be seen in the background almost 3,000 feet below.\" class=\"wp-image-5972 not-transparent\" height=\"1920\" src=\"https://jonathandesrosiers.com/wp-content/uploads/2025/07/img_2017-scaled.jpg\" width=\"2560\" /><button class=\"lightbox-trigger\" type=\"button\">\n			<svg fill=\"none\" height=\"12\" viewBox=\"0 0 12 12\" width=\"12\" xmlns=\"http://www.w3.org/2000/svg\">\n				<path d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" fill=\"#fff\">\n			</svg>\n		</button><figcaption class=\"wp-element-caption\">The view from the peak of Mount Willard at 2,865 feet.</figcaption></figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-those-who-predate-us\">Those Who Predate Us</h2>\n\n\n\n<p class=\"\">There was a very old stone wall covered in moss on the hike and I found myself thinking: how many others had used the same path before me? How many people <em>lived</em> on this mountain before the trail existed? There’s no true way to know, especially if everyone is respecting the <a href=\"https://www.forestsociety.org/forest-journal-column/carrying-about-carry-carry-out\">carry in, carry out</a> mindset. Instead, the signs will be very subtle and require an astute eye.</p>\n\n\n\n<p class=\"\">Footprints, paths worn down from traffic, and in more obvious cases, others actually passing you on your way. While each path is unique, <em>where</em> your path takes you is rarely untraveled. Learn to spot the differences and adjust accordingly.</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-many-small-trickles-fill-a-basin\">Many Small Trickles Fill A Basin</h2>\n\n\n\n<p class=\"\">When you drink from the fire hose of a large Open Source project like WordPress, it’s easy to lose sight of the cumulative efforts that are required to create such a strong and steady flow. But like basins and streams, it takes many small trickles to fill them.</p>\n\n\n\n<figure class=\"wp-block-gallery alignwide has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-full wp-lightbox-container\"><img alt=\"\" class=\"wp-image-5974 not-transparent\" height=\"2560\" src=\"https://jonathandesrosiers.com/wp-content/uploads/2025/07/img_2033-scaled.jpg\" width=\"1920\" /><button class=\"lightbox-trigger\" type=\"button\">\n			<svg fill=\"none\" height=\"12\" viewBox=\"0 0 12 12\" width=\"12\" xmlns=\"http://www.w3.org/2000/svg\">\n				<path d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" fill=\"#fff\">\n			</svg>\n		</button><figcaption class=\"wp-element-caption\">A small trickle of water halfway up Mount Willard.</figcaption></figure>\n\n\n\n<figure class=\"wp-block-image size-full wp-lightbox-container\"><img alt=\"\" class=\"wp-image-5964 not-transparent\" height=\"1920\" src=\"https://jonathandesrosiers.com/wp-content/uploads/2025/07/img_1960-scaled.jpg\" width=\"2560\" /><button class=\"lightbox-trigger\" type=\"button\">\n			<svg fill=\"none\" height=\"12\" viewBox=\"0 0 12 12\" width=\"12\" xmlns=\"http://www.w3.org/2000/svg\">\n				<path d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" fill=\"#fff\">\n			</svg>\n		</button><figcaption class=\"wp-element-caption\">Centennial Pool found near the start of the trail on Mount Willard.</figcaption></figure>\n</figure>\n\n\n\n<p class=\"\">Our work isn’t measured only by the splash of large contributions, but by the steady trickle of small acts that feed a thriving ecosystem. If we want future contributors to drink from the same basin, we need to show them how every small drop matters.</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-judging-effectiveness-by-noise\">Judging Effectiveness By Noise</h2>\n\n\n\n<p class=\"\">As we got close to the end of the hike, we started hearing cars on the highway again. The trail we took was an out and back loop. In this situation, it meant we were in the right place. But when we started the hike, the opposite was true.</p>\n\n\n\n<p class=\"\">When participating in a community, the level of “noise” can be used to gauge whether your work is on target. </p>\n\n\n\n<p class=\"\">When beginning to work on a foundational task that only a few people can advise on, that often means you’re in the right space. But once you’ve shared that idea with the wider community, silence could mean you’ve missed the mark.</p>\n\n\n\n<p class=\"\">Still, silence isn’t always failure. Sometimes it’s just the sound of others listening, considering, and preparing to walk their own part of the trail that you’ve created.</p>\n\n\n\n<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/1056619c2d/\">photo</a> by <a href=\"https://wordpress.org/photos/author/soycelycruz/\">soycelycruz</a> from the <a href=\"https://wordpress.org/photos/\">WordPress Photo Directory</a>.</em></p>\n<p>The post <a href=\"https://jonathandesrosiers.com/2025/07/the-ghosts-of-unactivated-contributors/\">The Ghosts of Unactivated Contributors</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:\"Fri, 11 Jul 2025 01:55:36 +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:29;a:6:{s:4:\"data\";s:21:\"\n	\n	\n	\n	\n	\n	\n	\n	\n	\n	\n\";s: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:\"WordPress.org blog: Introducing WordPress Credits: A New Contribution Internship Program for University Students\";s: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=18913\";s: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:127:\"https://wordpress.org/news/2025/07/introducing-wordpress-credits-a-new-contribution-internship-program-for-university-students/\";s: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:4768:\"<p>The WordPress Foundation is proud to launch WordPress Credits, a contribution-focused internship program that brings university students into the heart of the WordPress open source project. While WordPress thrives on contributions from a global volunteer community, many students and newcomers face barriers to entry, such as a lack of structured guidance or real-world experience in open source projects. This new program is designed to bridge that gap, nurturing future contributors and ensuring WordPress remains innovative, inclusive, and sustainable for years to come.</p>\n\n\n\n<p>The <a href=\"https://gamma.app/docs/EN-WordPress-Credits-vz0k2vr1ulg91qq?mode=doc\">pilot program</a>, developed in partnership with the University of Pisa, was announced on stage at WordCamp Europe 2025 by Matt Mullenweg and Mary Hubbard. Since then, it has attracted interest from students across various fields of study, including humanities, computer science, and communication. Companies in the WordPress ecosystem have also expressed support and interest in contributing to the project. In response to the growing interest from both community members and academic institutions, we are now inviting more universities to join the initiative.</p>\n\n\n\n<p>Open to students from all fields of study, the program blends structured onboarding with a personalized contribution project. Activities are adapted to each student’s degree program and familiarity with WordPress, aiming to develop transferable skills, academic-related competencies, and active participation in the WordPress community. Internship durations may vary depending on the university or educational institution. Some may align with academic semesters (typically 3–4 months), while others, like the University of Pisa, allow students to sign up year-round with a requirement to complete a set number of contribution hours (e.g. 150 hours). Flexible arrangements can be discussed to meet the specific requirements of each institution.</p>\n\n\n\n<p>Foundational Training includes:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>An introduction to open source principles and the WordPress Foundation</li>\n\n\n\n<li>Getting familiar with community tools (Slack, Make blogs, Learn platform, GitHub)</li>\n\n\n\n<li>Setting up a personal WordPress site and publishing content</li>\n</ul>\n\n\n\n<p>Each student will choose a contribution area and design their own personal project within that area. Examples of possible projects include:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Translating interfaces or documentation</li>\n\n\n\n<li>Creating multilingual subtitles for educational videos</li>\n\n\n\n<li>Contributing code or performing testing</li>\n\n\n\n<li>Supporting product development or design</li>\n\n\n\n<li>Writing or editing content</li>\n\n\n\n<li>Assisting with community event organization</li>\n\n\n\n<li>Developing training materials for Learn WordPress</li>\n\n\n\n<li>Creating open source tools</li>\n\n\n\n<li>And much more…<br /></li>\n</ul>\n\n\n\n<p>Interns are guided by an experienced mentor specific to their chosen area and supported by a dedicated WordPress Foundation contact person throughout the program. All student contributions, whether code, translations, documentation, or educational materials, will be publicly visible and integrated into official WordPress projects and resources, directly benefiting the wider community.</p>\n\n\n\n<p><strong>Interested universities and educational institutions</strong> interested in participating can reach out by filling <a href=\"https://wordpressdotorg.survey.fm/wordpress-credits-educational-institution-interest-form\">the interest form</a>.</p>\n\n\n\n<p>We also invite companies in the WordPress ecosystem to support this initiative by sponsoring mentors who will guide and empower the next generation of contributors, or by providing tools and resources that help students succeed in their contribution journey. </p>\n\n\n\n<p><strong>If your company is interested in getting involved</strong>, please visit the <a href=\"https://make.wordpress.org/handbook/wordpress-credits-contribution-internship-program/get-involved-company-guide/\">Company Guide</a> to learn more and <a href=\"https://wordpressdotorg.survey.fm/wordpress-credits-%E2%80%93-company-interest-form\">fill out the form</a> to join the program.</p>\n\n\n\n<p><em>By welcoming students, mentors, sponsors, and volunteers into this initiative, we are building a stronger and more connected WordPress community. Each person who takes part, whether they guide a student, share their experiences, provide sponsorship, or simply help spread the word, helps ensure that open source remains vibrant and accessible for all. Together, we are not just supporting individual contributors; we are shaping the future of WordPress and open source itself.</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:\"Thu, 10 Jul 2025 16:56:52 +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:12:\"Isotta Peira\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:30;a:6:{s:4:\"data\";s:21:\"\n	\n	\n	\n	\n	\n	\n	\n	\n	\n	\n\";s: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:77:\"Open Channels FM: Generalists, Pricing Advice, and AI’s Role in Development\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:33:\"https://openchannels.fm/?p=101131\";s: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:94:\"https://openchannels.fm/beyond-hosting-generalists-pricing-advice-and-ais-role-in-development/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:197:\"In this episode of Dev Pulse, hosts chat with Jason Cosper about the challenges and humor in infrastructure, consulting rates, communication, and the evolving role of AI in tech work and workflows.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 10 Jul 2025 10:54:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"BobWP\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:31;a:6:{s:4:\"data\";s:21:\"\n	\n	\n	\n	\n	\n	\n	\n	\n	\n	\n\";s: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:52:\"Tammie Lister: First props and contribution journeys\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"https://binatethoughts.com/?p=2374\";s: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:65:\"https://binatethoughts.com/first-props-and-contribution-journeys/\";s: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:7370:\"<p>This post was inspired by the awesome posts from <a href=\"https://jonathandesrosiers.com/2025/07/12-years-contributing-to-wordpress/\">Jonathan Desrosiers</a> and <a href=\"https://felix-arntz.me/blog/10-lessons-from-10-years-of-contributing-to-wordpress-core/\">Felix Arntz</a>, who celebrated their contribution anniversaries with reflection. It made me muse on how critical those first points, the initial steps in a contribution journey, are. I began reflecting on my own &#8216;firsts&#8217; and the people who helped me achieve them.</p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img alt=\"\" class=\"wp-image-2379\" height=\"1024\" src=\"https://binatethoughts.com/wp-content/uploads/2025/07/openart-ea520274-880f-4365-ac51-784abc7802b1.png\" width=\"1024\" /></figure>\n\n\n\n<h2 class=\"wp-block-heading\">Reflecting</h2>\n\n\n\n<p>I am never one to celebrate anniversaries in general, and as a result, I admit I let my slide, both personally and professionally. That isn&#8217;t a pattern I suggest anyone should follow, though; it&#8217;s essential to acknowledge where you have been and who helped you get there.</p>\n\n\n\n<p>In open source, those who have been involved in the project for a longer time may have always known what they are doing. This is far from the truth. Those who enabled my first props also had their own. Often, though, the first prop isn&#8217;t the first entrance into the project. It can be an incredible moment that empowers someone, though, by recognising their work. Often, props can come after a few stages in a contribution journey, and we might forget that. That path was one I followed, taking time to explore adjacent spaces before even finding my way around the space.</p>\n\n\n\n<h2 class=\"wp-block-heading\">My first props</h2>\n\n\n\n<p>I admit I don&#8217;t recall ever looking up my first props before and I found mine this time but it took a bit. It was a nice moment that aligned with my contribution story to see my props split across core and BuddyPress. It also reflected how I took time before props to get settled in.</p>\n\n\n\n<p>My first appearance in this space was in core, and then I rapidly ended up in adjacent areas, such as the theme review team and BuddyPress. On reflection, this could have been a different story. It could have been one of the contributor who pivoted out, never finding their space. So, I am grateful for finding a space and to those contributors who caught me.</p>\n\n\n\n<p>My first BuddyPress props was by <a href=\"https://profiles.wordpress.org/djpaul/\">Paul Gibbs</a>, and it was on <a href=\"https://buddypress.trac.wordpress.org/changeset/3462\">11/12/2010</a>. My first core props came a few years later, and it was by <a href=\"https://profiles.wordpress.org/helen/\">Helen Hou-Sandi</a> on <a href=\"https://binatethoughts.com/?page_id=2375\">03/01/2013</a>. By each of these props, I was already settled into those spaces as a contributor. Props might come later because you&#8217;re working on other things or the role you&#8217;re contributing.</p>\n\n\n\n<h2 class=\"wp-block-heading\">A welcome</h2>\n\n\n\n<p>I had the pleasure of being asked to share my thoughts on contributing to <a href=\"https://maintaine.rs\">maintaine.rs</a>, along with other open source contributors, including the ever-awesome <a href=\"https://jonathandesrosiers.com\">Jonathan Desrosiers</a>. This is an incredible project telling stories across open source, and I encourage checking it out. In it, I was asked about welcoming contributors and how to see value.</p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>If you want contributions, be sure to show how and where they are wanted. It&#8217;s one thing to say &#8216;all contributions are welcome&#8217;, but that&#8217;s open-source theatre because honestly, it&#8217;s likely not all are in every area as welcome as others. There are always more areas needed than some. Highlight these and make sure someone gets off to a contribution success from the start.</p>\n</blockquote>\n\n\n\n<p>My journey could have been very different if I hadn&#8217;t found a place to contribute. Empowered by those people, I was led to the props and supported in my first tickets. Our projects are full of the ghosts of contributors we never activated, and that fuels me to see potential in every person who gives up their time.</p>\n\n\n\n<p>When I arrived at the project, I wasn&#8217;t sponsored; I was giving my own time because this project was providing me with a blog and client work. My journey in open source began before WordPress, starting with Linux. When I joined the project, I already understood the concept of contribution and came to it with that in mind, looking to find a way to balance what I was gaining.</p>\n\n\n\n<p>I wasn&#8217;t aware of all the options to contribute to the project; there were fewer than there are today. I had to be shown my options, where I could be helpful. My path was one so many have followed. I ended up staying here for so long because of the people who caught up with me along the way and helped empower me as a contributor, so thank you.</p>\n\n\n\n<h2 class=\"wp-block-heading\">Props is just one of the firsts</h2>\n\n\n\n<p>Whilst these are &#8216;first&#8217;, they are just the public ones. There are so many firsts in a contribution journey. I was in these projects before my props. My first experience with core was that it was too overwhelming, which is why my first props is in BuddyPress. My first solo theme review was also pivotal to my journey <a href=\"https://themes.trac.wordpress.org/ticket/3022\">14 years ago</a>. </p>\n\n\n\n<p>Every conversation, particularly in the first few stages, was pivotal to my journey as it set the tone for where I ended up adventuring. They could also have been points that led me to leave the project because I couldn&#8217;t find a way to contribute. I hold onto this point when interacting with others, as each contribution is so significant. You never know what someone will do in a project if they are given the opportunity, and it starts with them knowing they can do things. It&#8217;s essential always to acknowledge and recognise everyone who contributed. You never know whose first props those might be and what impact each of us might have on someone&#8217;s journey of contribution. </p>\n\n\n\n<p>Someone might also travel this project and never get props, because perhaps of the contribution area they are in or the work they are doing. That&#8217;s a key thing to consider, and actually, my own journey has public and non-public recognition due to different roles. As a project, WordPress needs to be better at recognising and measuring all types of contributions so the pride we all feel in props can be given to anyone contributing significantly.</p>\n\n\n\n<p>If open source contribution works, it&#8217;s a journey. This point is demonstrated by the adventures I have travelled and those of others within these projects. We have grown up, changed jobs, and moved locations, but we stayed with the project and our contributions. You do that because you want to, because you are getting something from doing it, as contribution has to be a two-way street to become a part of someone&#8217;s life. Props and other recognition are a boost to help you on that journey. It works because it acknowledges the work being done, and in its simplest form, it is a way of saying thank 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:\"Thu, 10 Jul 2025 09:14:26 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:18:\"binatethoughts.com\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:32;a:6:{s:4:\"data\";s:21:\"\n	\n	\n	\n	\n	\n	\n	\n	\n	\n	\n\";s: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:\"Open Channels FM: The Future of WordPress and AI: Open Protocols, Agentic Workflows, and Industry Transformation\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:32:\"https://openchannels.fm/?p=99251\";s: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:116:\"https://openchannels.fm/the-future-of-wordpress-and-ai-open-protocols-agentic-workflows-and-industry-transformation/\";s: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:220:\"As AI advances, WordPress must choose between cloud-based tools or local agent workflows. Emerging protocols allow dynamic communication, influencing automation, privacy, and the future control of web content management.\";s: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, 10 Jul 2025 09:01:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"BobWP\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:33;a:6:{s:4:\"data\";s:21:\"\n	\n	\n	\n	\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:40:\"HeroPress: The Remote Team Who Raised Me\";s: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:56:\"https://heropress.com/?post_type=heropress-essays&p=8032\";s: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:132:\"https://heropress.com/essays/the-remote-team-who-raised-me/#utm_source=rss&utm_medium=rss&utm_campaign=the-remote-team-who-raised-me\";s: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:11486:\"<img alt=\"Pull Quote: Through WordPress, I learned that staying — quietly, kindly, steadily — can be its own kind of success.\" class=\"attachment-large size-large wp-post-image\" height=\"512\" src=\"https://heropress.com/wp-content/uploads/3025/07/070825-min.jpg\" width=\"1024\" /><section class=\"wp-block-newsletterglue-group\" style=\"padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; margin-top: 0px; margin-bottom: 0px;\">\n<figure class=\"wp-block-audio\"><audio controls=\"controls\" src=\"https://heropress.com/wp-content/uploads/3025/07/cathy_mitchell_heropress.mp3\"></audio><figcaption class=\"wp-element-caption\">Here is Cathy reading her own story aloud.</figcaption></figure>\n</section>\n\n\n\n\n<p>In 2004, I was at home with one baby, having just left a career that I loved. Being at home with a baby full-time was shriveling up my brain. Before WordPress I tried gardening, sewing, painting, preserving and cooking. I was desperate to fill the void left by my career. </p>\n\n\n\n<p>My husband at the time, was a tech genius and had heard of a new get rich quick scheme: &#8220;blogging&#8221;.</p>\n\n\n\n<p>I didn’t know what that meant &#8211; I had to research what the internet was! But I was desperate and the evening news was featuring these &#8220;mommy bloggers&#8221; who were making small fortunes!</p>\n\n\n\n<p>&#8220;If they can do it&#8221;, I thought, &#8220;So can I!&#8221;</p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>I made a whole $0.82 that year.</p>\n</blockquote>\n\n\n\n<p>I am not easily dissuaded though. I decided that a new theme would get me more revenue.</p>\n\n\n\n<p>To build themes circa 2007, you had to learn the template system, the file structure, and the hooks baked into WordPress. </p>\n\n\n\n<p>It was like a giant puzzle and I was so excited to be using my brain &#8211; I jumped in.</p>\n\n\n\n<h3 class=\"kt-adv-heading8032_2a57d0-1a wp-block-kadence-advancedheading\">Learning to Swim</h3>\n\n\n\n<p>I read every single page in the WordPress.org docs. I spent 10–20 hours a week in the support forums, mostly asking for help &#8211; not giving much! </p>\n\n\n\n<p>I learned to code by fixing real problems &#8211; it was challenging and the internet was full of quality resources.</p>\n\n\n\n<p>I made big mistakes &#8211; I crashed countless sites! And in doing so, I learned what not to do. </p>\n\n\n\n<p>I was in heaven. </p>\n\n\n\n<p>Except for those all-nighters trying to fix something that I broke on a client&#8217;s site. </p>\n\n\n\n<p>I learned from the best in the community &#8211; because back then, they were in the forums with me. I learned from friends and other bloggers. I learned from online articles (pre-YouTube days).</p>\n\n\n\n<p>Along the way, I met a fellow mommy blogger who had a side business called Desperately Seeking WordPress. (Her blog was Desperately Seeking Sanity and she has the best sense of humour!) She needed help. I was available. </p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>At the time, our offer was simple: we would install WordPress, a theme, and a few plugins &#8211; and make it look nice &#8211; for $20. </p>\n</blockquote>\n\n\n\n<p>Eventually, she stepped back, and I got to take the reins. </p>\n\n\n\n<p>That’s when I realized I hadn&#8217;t the foggiest idea how to run a real business. I started reading books like *E-Myth*, *Duct Tape Marketing*, and *Purple Cow*. I had no MBA, no startup capital. Just the desire to help other mommy bloggers not get ripped off by tech &#8216;gurus&#8217;.</p>\n\n\n\n<h3 class=\"kt-adv-heading8032_f21016-32 wp-block-kadence-advancedheading\">Building a Business While Falling Apart</h3>\n\n\n\n<p>I’ve struggled with depression for my entire adult life. By 2006, I had three young children. By 2012, I was divorced. The work that had been a fun puzzle, now had to pay the bills.</p>\n\n\n\n<p>I couldn’t disappear on bad days &#8211; my fledgling company had to be reliable! The clients needed stuff. So I hired my first contractor. She made more than I did most months.</p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>But I needed to know someone would be there for my clients when I couldn’t be. That was the first step toward building a team that would be better than any of us could have imagined.</p>\n</blockquote>\n\n\n\n<p>The behind-the-scenes work we do stays the same whether it is for celebrities or tiny fledgeling bloggers. And when we were kind, didn&#8217;t talk down to them, and were honestly helpful, they talked about us. And we became 100% referral-based.</p>\n\n\n\n<p>So how do YOU get referrals? </p>\n\n\n\n<p>I can&#8217;t tell you that &#8211; but &#8211; I know what works for us: radical honesty (even when it hurts our bottom line), genuine kindness and respect, and being the best at what we do. I believe with all my heart that our clients are in good hands.</p>\n\n\n\n<p>And that honesty requires owning my mistakes. I wish I could say I don&#8217;t make them anymore but… radical honesty! </p>\n\n\n\n<p>We always do what’s in the client’s best interest, even when it costs us money.</p>\n\n\n\n<h3 class=\"kt-adv-heading8032_612593-f3 wp-block-kadence-advancedheading\">The Invisible Work</h3>\n\n\n\n<p>After about seven years, I made an intentional decision to hire women. I grew up in West Africa, and I’ve seen firsthand how empowering women lifts entire families and communities. </p>\n\n\n\n<p>So we began funding microloans for women entrepreneurs in developing countries. The research shows that supporting women has a multiplier effect &#8211; and I’ve always had a soft spot for hard-working entrepreneurial free spirits.</p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>From the very beginning, we were a remote team. I&#8217;ve never been on my own &#8211; being reliable is a non-negotiable &#8211; I need the team.</p>\n</blockquote>\n\n\n\n<p>One of those teammates is Diane. I met her 14 years ago, just after she got married. She’s quiet, steady, avoids the spotlight &#8211; and she’s been one of the most important people in my life. We’ve built a business together through births, illness, life transitions &#8211; and I trust her completely.</p>\n\n\n\n<p>That trust, that stability, is part of what we offer our clients. And it’s rooted in one simple idea: be kind. Treat everyone with dignity. Respect whatever expertise they bring, even if it’s not technical. Our job is to help their business succeed &#8211; not to impress them with ours.</p>\n\n\n\n<h3 class=\"kt-adv-heading8032_4343ee-e9 wp-block-kadence-advancedheading\">Burnout, Boundaries, and Pricing with Purpose</h3>\n\n\n\n<p>In 2014, I burned out — hard. I had thrown myself into social media marketing. I spent $1000&#8217;s on courses and really tried to implement the suggestions. Guest post twice a month? Check. Two hours connecting on Facebook every day? Check. Write three posts a week? Check. </p>\n\n\n\n<p>I did all the things. &#8216;Cause they told me to.</p>\n\n\n\n<p>I think it only took me three months to crash and burn. I got so sick, my body was done. I spent two full weeks in bed.</p>\n\n\n\n<p>That’s when I learned my limits. And it’s when I learned to stay focused. </p>\n\n\n\n<p>Today, all decisions go through a, &#8220;What does this do to the bottom line?&#8221; framework. And by bottom line &#8211; I mean money, of course, but without sacrificing service, honesty or the trust of our clients.</p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Part of our growth meant making pricing decisions that felt terrifying. </p>\n</blockquote>\n\n\n\n<p>We raised prices from $20/setup to $40/hour. We lost 20% of our clients — and I expected to lose more. But the ones who stayed? They valued us. They paid happily. They referred us to others.</p>\n\n\n\n<p>Later, we raised it again — to $75/hour. I braced for another drop. It never came. </p>\n\n\n\n<p>Instead, I got emails thanking me! Clients said they were glad we were finally charging what we were worth! I&#8217;m still shocked about it. Who knew I&#8217;d have warm fuzzy stories on the day we raised our prices?</p>\n\n\n\n<p>Eventually, we raised it to $89/hour. Still below the $110–$120 that custom coders charge. Because we’re not &#8220;true coders.&#8221; We’re *practical coders.* We solve real problems, fast, for people who trust us.</p>\n\n\n\n<p>And that trust is priceless.</p>\n\n\n\n<h3 class=\"kt-adv-heading8032_3e2391-b7 wp-block-kadence-advancedheading\">On Staying True in a Shifting World</h3>\n\n\n\n<p>Through all of this &#8211; the growth, the pivots, the grief and healing &#8211; this little WordPress agency has offered me survival.</p>\n\n\n\n<p>The ability to work from home. To be present for my kids. To build something real while living with depression. To build a team based on trust, not hustle.</p>\n\n\n\n<p>I can only recommend something that I truly believe is the best option for my clients. That’s why WordPress matters to me. It’s extensible, open-source, secure, supported, owned and portable. Currently it is the best option for my clients. And I can stand behind that.</p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>A sign sits on my desk. It reads: &#8220;Who can I serve today?&#8221;</p>\n</blockquote>\n\n\n\n<p>That’s the constant. That’s the compass.</p>\n\n\n\n<p>Today, I volunteer in the WordPress support forums &#8211; the same ones I learned from. I volunteer in the community to give back. I’m sharing my story, not to teach anyone how to succeed, but to say: it’s okay to build slow. To price based on value, not hype. To grow into leadership without chasing fortune.</p>\n\n\n\n<p>There are still chapters unfolding in my story. Some endings haven’t revealed themselves yet. But I know this much:</p>\n\n\n\n<p>I stayed.</p>\n\n\n\n<p>And through WordPress, I learned that staying — quietly, kindly, steadily — can be its own kind of success.</p>\n\n\n<section class=\"wp-block-newsletterglue-group\" style=\"padding-top: 10px; padding-bottom: 10px; padding-left: 20px; padding-right: 20px; margin-top: 0px; margin-bottom: 0px;\"><div class=\"kb-row-layout-wrap kb-row-layout-id8032_debf65-8f alignnone kt-row-has-bg wp-block-kadence-rowlayout\"><div class=\"kt-row-column-wrap kt-has-1-columns kt-row-layout-equal kt-tab-layout-inherit kt-mobile-layout-row kt-row-valign-top\">\n\n<div class=\"wp-block-kadence-column kadence-column8032_e460f1-bd\"><div class=\"kt-inside-inner-col\">\n<h2 class=\"kt-adv-heading8032_9cab8b-2f wp-block-kadence-advancedheading\" id=\"work-environment\">Cathy&#8217;s Work Environment</h2>\n\n\n\n<p>We asked Cathy for a view into her development life and this is what she sent!</p>\n\n\n	<div class=\"hotspots-image-container\">\n		<img alt=\"Cathy&#8217;s Desktop\" class=\"hotspots-image skip-lazy\" height=\"1540\" src=\"https://heropress.com/wp-content/uploads/2025/07/cathy_mitchell_desk.webp\" width=\"2330\" />\n	</div>\n\n\n\n\n<p class=\"kt-adv-heading8032_4d55ad-0f wp-block-kadence-advancedheading has-theme-palette-9-background-color has-background\">HeroPress would like to thank <a href=\"https://wpdrawattention.com/\">Draw Attention</a> for their donation of the plugin to make this interactive image!</p>\n</div></div>\n\n</div></div></section>\n\n<p>The post <a href=\"https://heropress.com/essays/the-remote-team-who-raised-me/\">The Remote Team Who Raised Me</a> appeared first on <a href=\"https://heropress.com\">HeroPress</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, 09 Jul 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:\"Cathy Mitchell\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:34;a:6:{s:4:\"data\";s:21:\"\n	\n	\n	\n	\n	\n	\n	\n	\n	\n	\n\";s: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:98:\"WPTavern: #176 – Héctor de Prada on the Power of Local WordPress Meetups in Community Building\";s: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=197433\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:110:\"https://wptavern.com/podcast/176-hector-de-prada-on-the-power-of-local-wordpress-meetups-in-community-building\";s: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:45483:\"<details>Transcript<div>\n<p>[00:00:19] <strong>Nathan Wrigley:</strong> Welcome to the Jukebox Podcast from WP Tavern. My name is Nathan Wrigley.</p>\n\n\n\n<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 the power of local WordPress Meetups in community building in Spain.</p>\n\n\n\n<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>\n\n\n\n<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>\n\n\n\n<p>So on the podcast today we have Héctor de Prada.</p>\n\n\n\n<p>Héctor is one of the founders of Modular DS, a tool for managing multiple WordPress websites. But his contributions to the WordPress community go far beyond his day job. Based in Spain, he&#8217;s been involved in creating and developing websites for years, and has immersed himself in the WordPress community, attending numerous WordCamps and Meetups in various cities.</p>\n\n\n\n<p>More recently, he&#8217;s been co-organizing the WordPress Meetup in Leon, a city in northern Spain, which has seen impressive growth and engagement since its revival after the pandemic.</p>\n\n\n\n<p>Héctor shares why he volunteers his free time to organize these community events, and the impact Meetups can have, not only for individual learning, but for revitalizing local tech ecosystems.</p>\n\n\n\n<p>We discuss what makes a successful Meetup, how his team approaches event planning, rotating roles so nobody feels the pressure to attend every time, and how sponsors and local venues help make it all happen.</p>\n\n\n\n<p>Héctor explains how their Meetup group draws diverse attendees, from students and marketeers, to business owners and agencies. And how they&#8217;ve experimented with differing formats and topics to keep things fresh and inclusive. Whether it&#8217;s inviting guest speakers from digital businesses, running panel forums, or focusing on networking opportunities for job seekers and entrepreneurs, he highlights the power of community in building connections that exist beyond WordPress.</p>\n\n\n\n<p>We cover everything from the practicalities of finding venues and sponsors, to managing team workflows and keeping the events welcoming and approachable.</p>\n\n\n\n<p>If you ever thought about starting a WordPress Meetup in your city, or want to bring new energy to an existing group, this episode is for you.</p>\n\n\n\n<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>\n\n\n\n<p>And so without further delay, I bring you Héctor de Prada.</p>\n\n\n\n<p>I am joined on the podcast by Héctor de Prada. Hello, Héctor.</p>\n\n\n\n<p>[00:03:20] <strong>Héctor de Prada:</strong> Hello, Nathan. A pleasure to be here.</p>\n\n\n\n<p>[00:03:22] <strong>Nathan Wrigley:</strong> We&#8217;re at WordCamp EU. It is in Basel. We are on the contributor day. And you are going to be giving a presentation about an experience that you have, I guess, on a monthly basis running an event. Let&#8217;s get into that in a moment. First of all, just introduce yourself, who you work for, what you do in the WordPress community outside of Meetups.</p>\n\n\n\n<p>[00:03:41] <strong>Héctor de Prada:</strong> Okay, so I am Héctor de Prada. I am one of the founders of Modular DS, which is a tool to manage multiple WordPress websites. So that&#8217;s like my main occupation. But thanks to that, and also since way before, I have been involved with WordPress, creating websites, developing websites.</p>\n\n\n\n<p>And for the past couple of years, or three years I could say, I have been also involved in the community. I&#8217;ve been in many WordCamps in Spain because as you know, in Spain, we have a lot of WordCamps. I&#8217;ve also been in many Meetups in different cities. I try to stay as much connected as I can to the community.</p>\n\n\n\n<p>I also write a newsletter about the WordPress ecosystem in Spanish. And since a year and a half ago, I am also one of the co-organisers of the Meetup, and that&#8217;s what I&#8217;m going to talk about, well, Saturday in the WordCamp Europe in the talk I have.</p>\n\n\n\n<p>[00:04:39] <strong>Nathan Wrigley:</strong> This is going to seem like a strange question because you know, on a very visceral level, you really understand why you do it, but I&#8217;m kind of keen to explain that to the audience. Why do you use up your free time organising WordPress events on a sort of voluntary basis? You know, you&#8217;ve given up lots of your free time, there&#8217;s no financial gain, you&#8217;re just doing it. Why do you do that?</p>\n\n\n\n<p>[00:05:02] <strong>Héctor de Prada:</strong> Okay, well, I was thinking a lot about this question before and I came up with two different answers.</p>\n\n\n\n<p>The first one is that since, like I said, I have been kind of part of the community for a few years, and I have been in many events outside of my city. I saw how the WordPress communities, how it feels, all the good things that come out of it. And then one of the main things I was always thinking when I was going to these events was like, why can&#8217;t we have this in our city for the people in our city to experience this, to have this type of connections, inspiration, learning, and so on? So that&#8217;s one of the first things.</p>\n\n\n\n<p>And then it was also mixed with, I come from a small city in the north of Spain, and one of the things, many people say inside the city and outside of the city is that we don&#8217;t have many things anymore, okay. So it&#8217;s hard to explain, but like there is not much to do, a lot of young people leaves the city. So it&#8217;s kind of like depressing mood a little bit.</p>\n\n\n\n<p>So it was also like, why don&#8217;t we try to do something in our city to try to start creating an ecosystem? And WordPress gave us the perfect excuse to also do that. Try to get people together, people in the tech world, which is what we do, talking about me and my partner, my friends, we are always talking about websites, technology, design. So it kind of all got together and we said, okay, let&#8217;s start doing the WordPress Meetups. And it&#8217;s been great so far.</p>\n\n\n\n<p>[00:06:31] <strong>Nathan Wrigley:</strong> How long have you been actually involved in the one that you&#8217;re doing now?</p>\n\n\n\n<p>[00:06:34] <strong>Héctor de Prada:</strong> The meet up in our city, we have been doing it for around year and a half now. So after the summer, we&#8217;ll do two years.</p>\n\n\n\n<p>[00:06:40] <strong>Nathan Wrigley:</strong> I should probably say to the listeners that a Meetup, if you&#8217;ve never attended one, WordPress has a whole community outside of the software, who help create the software, but they also show up for social events and things like that. And the ones that you may have heard of are WordCamps, and they&#8217;re the big ones. That&#8217;s where we&#8217;re at right now. So they tend to be an annual thing, perhaps in a city or, we are at WordCamp Europe, which is an annual thing, which moves around Europe.</p>\n\n\n\n<p>But the Meetups, which is what we&#8217;re talking about, that&#8217;s usually bound to a city or a town or something like that, and it&#8217;s much more regular and it&#8217;s probably happening in an evening. It&#8217;s not a whole day. It&#8217;s maybe, I don&#8217;t know, six o&#8217;clock till nine o&#8217;clock, something along those lines. And presumably using local talent, using the people in the community that you&#8217;ve got, drawing them in and trying to get them to do the presentations and all of the bits and pieces.</p>\n\n\n\n<p>So if you don&#8217;t know anything about that dear listener, now you do. If there&#8217;s something close to you, if you actually log into your WordPress dashboard, there will be an area in the dashboard, if you put all of the panels on, if you turn them on, you&#8217;ll be able to see, hopefully it will geographically locate you and give you some intel as to that.</p>\n\n\n\n<p>So tell us a little bit about the one that you&#8217;ve been doing. You said it&#8217;s been going for 18 months, or at least you have been involved for 18 months.</p>\n\n\n\n<p>[00:07:53] <strong>Héctor de Prada:</strong> Actually it was already working before Covid, so for a couple of years before Covid. Then it was shut down. I wasn&#8217;t involved before Covid. I didn&#8217;t even know the WordPress community before Covid. And then it was like three years stopped. Yeah, like 18 months ago, we kind of restarted the Meetup.</p>\n\n\n\n<p>[00:08:13] <strong>Nathan Wrigley:</strong> So how many people typically would attend your Meetup? Because yours is quite a big one. The one that we are at at the moment is ridiculously big. You know, it&#8217;s going to have several thousand. Nobody can expect those kind of attendance numbers. That would be extraordinary. What are the kind of numbers that you are seeing on a monthly basis?</p>\n\n\n\n<p>[00:08:28] <strong>Héctor de Prada:</strong> Yes, so I was checking this for the presentation I&#8217;m giving on Saturday, and we have, in this 18 months, we don&#8217;t do it every month, okay, it is more like every couple of months, because we don&#8217;t do it in the summer or during Christmas, for example, in December. So it&#8217;s kind of like six, eight, a year. And we have an average attendance of 60 people.</p>\n\n\n\n<p>I know it&#8217;s pretty big because like I said, I&#8217;ve been in many other places where having like 25 people, 30 people, is already like a huge success. And that&#8217;s what we were trying to accomplish at the beginning. Like, okay, let&#8217;s try to get 20 people here, 25 people, get together. And since the beginning it&#8217;s been like, yeah, like sometimes it&#8217;s 50 people, sometimes it&#8217;s like 75 people. And for us it&#8217;s like, sometimes we don&#8217;t even know, how is it possible? But sure, it&#8217;s very fulfilling and we&#8217;re very happy about it of course.</p>\n\n\n\n<p>[00:09:16] <strong>Nathan Wrigley:</strong> And how do you sort of account for that? Do you email people? Do you have like a system? So for example, a lot of the Meetups will use a platform, which is called Meetup. You can go to meetup.com, and figure all of that out. But do you use a system like that to keep in touch with people and notify them that there&#8217;s a new one coming in June or July or whatever it may be?</p>\n\n\n\n<p>[00:09:35] <strong>Héctor de Prada:</strong> Yeah, we use meetup.com to create the events and send the email communications to all the people that is subscribed to the group, or has been in one of the previous Meetups. And also, we always try to get people to follow us on social media because it is where, we have like a Twitter and Instagram account. It&#8217;s where we try to advance the new Meetups and give all the information and stuff.</p>\n\n\n\n<p>And then we try different things also to get more people to come in. For example, we go kind of old school and we print some big flyers, okay, to put it on the walls. And we put it, for example, in the university, in the buildings the city hall has for technology companies. So we put them over there just for people, when they go to work or students, when they go to the university, they will just check it out. And maybe they will feel like going. So that&#8217;s also something we do.</p>\n\n\n\n<p>[00:10:25] <strong>Nathan Wrigley:</strong> And where do you actually do it? Do you have the same venue every single time, or do you tend to move around?</p>\n\n\n\n<p>[00:10:30] <strong>Héctor de Prada:</strong> No, we move around. This is very important because it, I think it&#8217;s one of the most important things when you are organising any kind of event, the venue where you&#8217;re actually doing it. And we are very lucky because, even when I was telling you that in our city it seems like not many things are being done. When you actually try to do something, everybody tries to help you.</p>\n\n\n\n<p>So we have been offered many different venues from City Hall, from the university, from private companies, from the government, public buildings they have. So what we have tried to do is to do the Meetup in different places. So in case, at some point, we can do it in one of them, we will always be able to go to any of the other ones. And that has worked very well for us.</p>\n\n\n\n<p>[00:11:12] <strong>Nathan Wrigley:</strong> Oh, nice, yeah. I think that&#8217;s not typical. I think usually it&#8217;s done in kind of the same venue and what have you.</p>\n\n\n\n<p>My understanding also, and I could be wrong about this, but my understanding is that the Spanish WordPress community is actually one of the healthier ones, for want of a better word. It seems to be kind of thriving. I don&#8217;t know if I&#8217;ve just heard a story and that&#8217;s not true, but is that true?</p>\n\n\n\n<p>[00:11:33] <strong>Héctor de Prada:</strong> No, I think it is. I think it is definitely, well, I was talking with somebody that is organising here at WordCamp Europe, and we were accounting for WordCamps made in Spain last year. And I think it was like 12 WordCamps in one year, only in Spain, which I could say is what the rest of Europe has in one year.</p>\n\n\n\n<p>So it&#8217;s like pretty crazy. I think, we Spanish people, we just like to gather a lot and just meet each other. But also I think there are many Meetup groups in Spain that are doing a great job and have great numbers and do a lot of Meetups with really great speakers. So yeah, I would say in Spain there is a lot of community movement.</p>\n\n\n\n<p>[00:12:14] <strong>Nathan Wrigley:</strong> I&#8217;m quite jealous. The part of the world where I live in the UK, Covid really had a profound impact. The Meetups kind of disappeared, and in some cases came back, but in most cases they didn&#8217;t. I think maybe the year 2025 was a bit of a watershed. There&#8217;s a few I think that maybe are on the cusp of returning.</p>\n\n\n\n<p>So it can&#8217;t just be you. I&#8217;m presuming that there&#8217;s a whole bunch of people, a team, if you like. And how does that work? How many people regularly are helping you out, and do you have, I don&#8217;t know, different roles that you perform? Like, you&#8217;re in charge of the emails, you&#8217;re in charge of the venue, you&#8217;re in charge of the snacks and whatever it may be. How many people on the team and how do you manage all that?</p>\n\n\n\n<p>[00:12:49] <strong>Héctor de Prada:</strong> We are six people currently, and what we tried since the beginning was to find other people that could be complimentary to us. And like you said, we try to split responsibilities. So one of us, who is very good with social media, is the one taking charge of posting everything in social media so everybody sees what we are doing.</p>\n\n\n\n<p>Other person is always in charge of the networking we do afterwards to get the catering, even the venue we have to change somewhere, because it&#8217;s somebody who has a lot of contacts in that space.</p>\n\n\n\n<p>Also somebody&#8217;s in charge of sponsors. Somebody&#8217;s in charge of creating the Meetups. Somebody&#8217;s in charge of the design.</p>\n\n\n\n<p>Okay, so we try to split the responsibilities, but at the same time, and this is not so obvious, I think what we have also found very important is that, even when each one has a responsibility, we also try to rotate every once in a while. So, for example, when we started, everybody thought or supposed I was always going to be the one presenting, because I&#8217;m kind of more used to speaking in public. One of the first things we decide is that every day one of us was going to present the Meetup. So in case I&#8217;m missing or anybody else is missing, the Meetup will work exactly the same.</p>\n\n\n\n<p>Because we don&#8217;t want this to feel like an obligation, like every member of the team has to