any pre-existing blocks are considered bugs to be fixed.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Matt Mullenweg\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:40:\"http://purl.org/rss/1.0/modules/content/\";a:1:{s:7:\"encoded\";a:1:{i:0;a:5:{s:4:\"data\";s:298:\"\n<p>As I said, we&#8217;re dropping all the human blocks. Community guidelines, directory guidelines, and such will need to be followed going forward, but whatever blocks were in place before are now cleared. It may take a few days, but any pre-existing blocks are considered bugs to be fixed.</p>\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:30:\"com-wordpress:feed-additions:1\";a:1:{s:7:\"post-id\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"18716\";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:66:\"\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:4:{s:0:\"\";a:6:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:25:\"WordPress 6.8 “Cecil”\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:41:\"https://wordpress.org/news/2025/04/cecil/\";s: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 Apr 2025 17:00:45 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"category\";a:4:{i:0;a:5:{s:4:\"data\";s:7:\"General\";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:5:{s:4:\"data\";s:8:\"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:\"\";}i:2;a:5:{s:4:\"data\";s:3:\"6.8\";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:5:{s:4:\"data\";s:8:\"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:35:\"https://wordpress.org/news/?p=18701\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}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:395:\"WordPress 6.8, code-named “Cecil,” refines your creative workflow with a streamlined Style Book, now available in select Classic themes. Enjoy faster navigation via speculative loading, stronger security with bcrypt password hashing, and over 100 accessibility improvements. With thoughtful editor upgrades and behind-the-scenes performance boosts, 6.8 delivers polish, power, and precision.\";s: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:\"Jeffrey Paul\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:40:\"http://purl.org/rss/1.0/modules/content/\";a:1:{s:7:\"encoded\";a:1:{i:0;a:5:{s:4:\"data\";s:80564:\"\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"535\" src=\"https://i0.wp.com/wordpress.org/news/files/2025/04/WordPress-6-8-Cecil.png?resize=1024%2C535&#038;ssl=1\" alt=\"Simulated record album featuring a grid of brightly-colored duotone portraits of Cecil Taylor\" class=\"wp-image-18708\" srcset=\"https://i0.wp.com/wordpress.org/news/files/2025/04/WordPress-6-8-Cecil.png?resize=1024%2C535&amp;ssl=1 1024w, https://i0.wp.com/wordpress.org/news/files/2025/04/WordPress-6-8-Cecil.png?resize=300%2C157&amp;ssl=1 300w, https://i0.wp.com/wordpress.org/news/files/2025/04/WordPress-6-8-Cecil.png?resize=768%2C401&amp;ssl=1 768w, https://i0.wp.com/wordpress.org/news/files/2025/04/WordPress-6-8-Cecil.png?resize=1536%2C802&amp;ssl=1 1536w, https://i0.wp.com/wordpress.org/news/files/2025/04/WordPress-6-8-Cecil.png?resize=2048%2C1070&amp;ssl=1 2048w, https://i0.wp.com/wordpress.org/news/files/2025/04/WordPress-6-8-Cecil.png?w=3000&amp;ssl=1 3000w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" /></figure>\n\n\n\n<p>Each WordPress release celebrates an artist who has left an indelible mark on music.&nbsp; WordPress 6.8, code-named “Cecil,” honors the legendary pianist and jazz pioneer Cecil Taylor.</p>\n\n\n\n<p>Classically trained yet relentlessly unconventional, Taylor reimagined the piano as a percussive instrument—layering tone clusters, polyphony, and rhythm into a sound both chaotic and precise. His music defied expectation, finding form in disorder and harmony in dissonance.</p>\n\n\n\n<p>That same spirit drives WordPress 6.8. Embrace its bold new features with the same curiosity and experimentation that defined Cecil’s sound.</p>\n\n\n\n<h2 class=\"wp-block-heading\">Welcome to WordPress 6.8!</h2>\n\n\n\n<p>WordPress 6.8 polishes and refines the tools that you use every day, making your site faster, more secure, and easier to manage.&nbsp; The Style Book now has a structured layout and works with Classic themes, giving you more control over global styles. Speculative loading speeds up navigation by preloading links before users navigate to them, bcrypt hashing strengthens password security automatically, and database optimizations improve performance.</p>\n\n\n\n<p><a href=\"https://wordpress.org/wordpress-6.8.zip\">Download WordPress 6.8 “Cecil”</a></p>\n\n\n\n<h2 class=\"wp-block-heading\">A release polished to a high sheen.</h2>\n\n\n\n<h3 class=\"wp-block-heading\">The Style Book gets a cleaner look—and a few new tricks.</h3>\n\n\n\n<p>The Style Book has a new, structured layout and clearer labels, to make it even easier to edit colors, typography—almost all your site styles—in one place.</p>\n\n\n\n<p>Plus, now you can see it in Classic themes that have editor-styles or a theme.json file.&nbsp; Find the Style Book under Appearance &gt; Design and use it to preview your theme’s evolution, as you edit CSS or make changes in the Customizer.</p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"900\" height=\"900\" src=\"https://i0.wp.com/wordpress.org/news/files/2025/04/6-8-style-book.png?resize=900%2C900&#038;ssl=1\" alt=\"\" class=\"wp-image-18703\" srcset=\"https://i0.wp.com/wordpress.org/news/files/2025/04/6-8-style-book.png?w=900&amp;ssl=1 900w, https://i0.wp.com/wordpress.org/news/files/2025/04/6-8-style-book.png?resize=300%2C300&amp;ssl=1 300w, https://i0.wp.com/wordpress.org/news/files/2025/04/6-8-style-book.png?resize=150%2C150&amp;ssl=1 150w, https://i0.wp.com/wordpress.org/news/files/2025/04/6-8-style-book.png?resize=768%2C768&amp;ssl=1 768w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" /></figure>\n\n\n\n<h3 class=\"wp-block-heading\">Editor improvements</h3>\n\n\n\n<p>Easier ways to see your options in Data Views, and you can exclude sticky posts from the Query Loop.&nbsp; Plus, you’ll find lots of little improvements in the editor that smooth your way through everything you build.</p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"900\" height=\"900\" src=\"https://i0.wp.com/wordpress.org/news/files/2025/04/6-8-editor-improvements.png?resize=900%2C900&#038;ssl=1\" alt=\"\" class=\"wp-image-18705\" srcset=\"https://i0.wp.com/wordpress.org/news/files/2025/04/6-8-editor-improvements.png?w=900&amp;ssl=1 900w, https://i0.wp.com/wordpress.org/news/files/2025/04/6-8-editor-improvements.png?resize=300%2C300&amp;ssl=1 300w, https://i0.wp.com/wordpress.org/news/files/2025/04/6-8-editor-improvements.png?resize=150%2C150&amp;ssl=1 150w, https://i0.wp.com/wordpress.org/news/files/2025/04/6-8-editor-improvements.png?resize=768%2C768&amp;ssl=1 768w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" /></figure>\n\n\n\n<h3 class=\"wp-block-heading\">Near-instant page loads, thanks to Speculative Loading</h3>\n\n\n\n<p>In WordPress 6.8, pages load faster than ever.&nbsp; When you or your user hovers over or clicks a link, WordPress may preload the next page, for a smoother, near-instant experience. The system balances speed and efficiency, and you can control how it works, with a plugin or your own code.&nbsp; This feature only works in modern browsers—older ones will simply ignore it without any impact.</p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"900\" height=\"900\" src=\"https://i0.wp.com/wordpress.org/news/files/2025/04/6-8-speculative-loading-1.png?resize=900%2C900&#038;ssl=1\" alt=\"\" class=\"wp-image-18706\" srcset=\"https://i0.wp.com/wordpress.org/news/files/2025/04/6-8-speculative-loading-1.png?w=900&amp;ssl=1 900w, https://i0.wp.com/wordpress.org/news/files/2025/04/6-8-speculative-loading-1.png?resize=300%2C300&amp;ssl=1 300w, https://i0.wp.com/wordpress.org/news/files/2025/04/6-8-speculative-loading-1.png?resize=150%2C150&amp;ssl=1 150w, https://i0.wp.com/wordpress.org/news/files/2025/04/6-8-speculative-loading-1.png?resize=768%2C768&amp;ssl=1 768w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" /></figure>\n\n\n\n<h3 class=\"wp-block-heading\">Stronger password security with bcrypt</h3>\n\n\n\n<p>Now passwords are harder to crack with bcrypt hashing, which takes a lot more computing power to break.&nbsp; This strengthens overall security, as do other encryption improvements across WordPress.&nbsp; You don’t need to do anything—everything updates automatically.</p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"900\" height=\"900\" src=\"https://i0.wp.com/wordpress.org/news/files/2025/04/6-8-stronger-password-security-bcrypt.png?resize=900%2C900&#038;ssl=1\" alt=\"\" class=\"wp-image-18707\" srcset=\"https://i0.wp.com/wordpress.org/news/files/2025/04/6-8-stronger-password-security-bcrypt.png?w=900&amp;ssl=1 900w, https://i0.wp.com/wordpress.org/news/files/2025/04/6-8-stronger-password-security-bcrypt.png?resize=300%2C300&amp;ssl=1 300w, https://i0.wp.com/wordpress.org/news/files/2025/04/6-8-stronger-password-security-bcrypt.png?resize=150%2C150&amp;ssl=1 150w, https://i0.wp.com/wordpress.org/news/files/2025/04/6-8-stronger-password-security-bcrypt.png?resize=768%2C768&amp;ssl=1 768w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" /></figure>\n\n\n\n<h3 class=\"wp-block-heading\">Accessibility improvements</h3>\n\n\n\n<p>100+ accessibility fixes and enhancements touch a broad spectrum of the WordPress experience.&nbsp; This release includes fixes to every bundled theme, improvements to the navigation menu management, the customizer, and simplified labeling.&nbsp; The Block Editor has over 70 improvements to blocks, DataViews, and to its overall user experience.</p>\n\n\n\n<h3 class=\"wp-block-heading\">Performance updates</h3>\n\n\n\n<p>WordPress 6.8 packs a wide range of performance fixes and enhancements to speed up everything from editing to browsing.&nbsp; Beyond speculative loading, WordPress 6.8 pays special attention to the block editor, block type registration, and query caching.&nbsp; Plus, imagine never waiting longer than 50 milliseconds—for any interaction.&nbsp; In WordPress 6.8, the Interactivity API takes a first step toward that goal.</p>\n\n\n\n<h3 class=\"wp-block-heading\">And much more</h3>\n\n\n\n<p>For a comprehensive overview of all the new features and enhancements in WordPress 6.8, please visit the feature-showcase website.</p>\n\n\n\n<p><a href=\"https://wordpress.org/download/releases/6-8/\">Check out what’s new</a></p>\n\n\n\n<h2 class=\"wp-block-heading\">Learn more about WordPress 6.8</h2>\n\n\n\n<p><a href=\"https://learn.wordpress.org/\">Learn WordPress</a> is a free resource for new and experienced WordPress users.&nbsp; Learn is stocked with how-to videos on using various features in WordPress, <a href=\"https://learn.wordpress.org/social-learning/\">interactive workshops</a> for exploring topics in-depth, and lesson plans for diving deep into specific areas of WordPress.</p>\n\n\n\n<p>Read the <a href=\"https://wordpress.org/documentation/wordpress-version/version-6.8\">WordPress 6.8 Release Notes</a> for information on installation, enhancements, fixed issues, release contributors, learning resources, and the list of file changes.</p>\n\n\n\n<p>Explore the <a href=\"https://make.wordpress.org/core/2025/03/28/wordpress-6-8-field-guide/\">WordPress 6.8 Field Guide</a>.&nbsp; Learn about the changes in this release with detailed developer notes to help you build with WordPress.</p>\n\n\n\n<h2 class=\"wp-block-heading\">The 6.8 release squad</h2>\n\n\n\n<p>Every release comes to you from a dedicated team of enthusiastic contributors who help keep things on track and moving smoothly.&nbsp; The team that has led 6.8 is a cross-functional group of contributors who are always ready to champion ideas, remove blockers, and resolve issues.</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Release Lead: <a href=\"https://profiles.wordpress.org/matt/\">Matt Mullenweg</a></li>\n\n\n\n<li>Release Coordination: <a href=\"https://profiles.wordpress.org/jeffpaul/\">Jeffrey Paul</a> and <a href=\"https://profiles.wordpress.org/michelleames/\">Michelle Frechette</a></li>\n\n\n\n<li>Tech Leads: <a href=\"https://profiles.wordpress.org/joemcgill/\">Joe McGill</a>, <a href=\"https://profiles.wordpress.org/desrosj/\">Jonathan Desrosiers</a>, and <a href=\"https://profiles.wordpress.org/mamaduka/\">George Mamadashvili</a></li>\n\n\n\n<li>Triage Lead: <a href=\"https://profiles.wordpress.org/audrasjb/\">Jb Audras</a></li>\n\n\n\n<li>Design Lead: <a href=\"https://profiles.wordpress.org/karmatosed/\">Tammie Lister</a></li>\n\n\n\n<li>Performance Lead: <a href=\"https://profiles.wordpress.org/flixos90/\">Felix Arntz</a></li>\n\n\n\n<li>Test Lead: <a href=\"https://profiles.wordpress.org/krupajnanda/\">Krupa Nanda</a></li>\n</ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Thank you, contributors</strong></h2>\n\n\n\n<p>The mission of WordPress is to <a href=\"https://wordpress.org/about/\">democratize publishing</a> and embody the <a href=\"https://opensource.org/osd-annotated\">freedoms that come with open source</a>.&nbsp; A global and diverse community of people collaborating to strengthen the software supports this effort.</p>\n\n\n\n<p>WordPress 6.8 reflects the tireless efforts and passion of more than 900 contributors in more than 60 countries all over the world. This release also welcomed over 250 first-time contributors!&nbsp;</p>\n\n\n\n<p>Their collaboration delivered more than 320 enhancements and fixes, ensuring a stable release for all—a testament to the power and capability of the WordPress open source community.</p>\n\n\n<p class=\"has-small-font-size\"><a href=\"https://profiles.wordpress.org/jorbin/\">Aaron Jorbin</a> · <a href=\"https://profiles.wordpress.org/aaronrobertshaw/\">Aaron Robertshaw</a> · <a href=\"https://profiles.wordpress.org/thehercules/\">Aashish Sharma</a> · <a href=\"https://profiles.wordpress.org/webcommsat/\">Abha Thakor</a> · <a href=\"https://profiles.wordpress.org/hiabhaykulkarni/\">Abhay Kulkarni</a> · <a href=\"https://profiles.wordpress.org/abhi3315/\">Abhishek Sharma</a> · <a href=\"https://profiles.wordpress.org/adakaleh/\">AdaKaleh</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/adhun/\">Adhun Anand</a> · <a href=\"https://profiles.wordpress.org/adityab98/\">Aditya Bansode</a> · <a href=\"https://profiles.wordpress.org/stromhalm/\">Adrian Jagusch</a> · <a href=\"https://profiles.wordpress.org/aduth/\">aduth</a> · <a href=\"https://profiles.wordpress.org/hemant-ahir/\">Ahir Hemant</a> · <a href=\"https://profiles.wordpress.org/ahmarzaidi/\">Ahmar Zaidi</a> · <a href=\"https://profiles.wordpress.org/chaion07/\">Ahmed Kabir Chaion</a> · <a href=\"https://profiles.wordpress.org/engahmeds3ed/\">Ahmed Saeed</a> · <a href=\"https://profiles.wordpress.org/ahsankhan316/\">Ahsan Khan</a> · <a href=\"https://profiles.wordpress.org/aishwarryapande/\">Aishwarrya Pande</a> · <a href=\"https://profiles.wordpress.org/ajayghaghretiya1/\">Ajay Ghaghretiya</a> · <a href=\"https://profiles.wordpress.org/ajmaurya/\">Ajay Maurya</a> · <a href=\"https://profiles.wordpress.org/ajitbohra/\">Ajit Bohra</a> · <a href=\"https://profiles.wordpress.org/akanshusingh/\">Akanshu Singh</a> · <a href=\"https://profiles.wordpress.org/wildworks/\">Aki Hamano</a> · <a href=\"https://profiles.wordpress.org/atachibana/\">Akira Tachibana</a> · <a href=\"https://profiles.wordpress.org/aks30498/\">aks30498</a> · <a href=\"https://profiles.wordpress.org/akshat2802/\">Akshat Kakkad</a> · <a href=\"https://profiles.wordpress.org/akshaydhere/\">Akshay Dhere</a> · <a href=\"https://profiles.wordpress.org/aljullu/\">Albert Juh&#233; Lluveras</a> · <a href=\"https://profiles.wordpress.org/ralessio/\">Alessio</a> · <a href=\"https://profiles.wordpress.org/xknown/\">Alex Concha</a> · <a href=\"https://profiles.wordpress.org/alexflorisca/\">Alex Florisca</a> · <a href=\"https://profiles.wordpress.org/ajlende/\">Alex Lende</a> · <a href=\"https://profiles.wordpress.org/alexstine/\">Alex Stine</a> · <a href=\"https://profiles.wordpress.org/albigdd/\">Alexander Bigga</a> · <a href=\"https://profiles.wordpress.org/alexandrebuffet/\">Alexandre Buffet</a> · <a href=\"https://profiles.wordpress.org/alexus450/\">Alexei Samarschi</a> · <a href=\"https://profiles.wordpress.org/alexschmitz/\">alexschmitz</a> · <a href=\"https://profiles.wordpress.org/alireyad/\">Ali Akbar Reyad</a> · <a href=\"https://profiles.wordpress.org/firewatch/\">allilevine</a> · <a href=\"https://profiles.wordpress.org/alpipego/\">alpipego</a> · <a href=\"https://profiles.wordpress.org/mrfoxtalbot/\">Alvaro G&#243;mez</a> · <a href=\"https://profiles.wordpress.org/akrocks/\">Amaan Khan</a> · <a href=\"https://profiles.wordpress.org/alh0319/\">Amber Hinds</a> · <a href=\"https://profiles.wordpress.org/amimulihsanmahdi/\">Amimul Ihsan</a> · <a href=\"https://profiles.wordpress.org/amin7/\">Amin</a> · <a href=\"https://profiles.wordpress.org/amincharoliya/\">Amin Charoliya</a> · <a href=\"https://profiles.wordpress.org/amitbhosale/\">Amit Bhosale</a> · <a href=\"https://profiles.wordpress.org/amitraj2203/\">Amit Raj</a> · <a href=\"https://profiles.wordpress.org/ammarmassoud/\">Ammar Mohamed Fath Allah Abd-Elaaty Massoud</a> · <a href=\"https://profiles.wordpress.org/amolebonde/\">amolebonde</a> · <a href=\"https://profiles.wordpress.org/anandraj346/\">Anand Raj</a> · <a href=\"https://profiles.wordpress.org/anlino/\">Anders Nor&#233;n</a> · <a href=\"https://profiles.wordpress.org/afercia/\">Andrea Fercia</a> · <a href=\"https://profiles.wordpress.org/awetz583/\">Andrea Roenning</a> · <a href=\"https://profiles.wordpress.org/bowedk/\">Andreas Pedersen</a> · <a href=\"https://profiles.wordpress.org/andraganescu/\">Andrei Draganescu</a> · <a href=\"https://profiles.wordpress.org/euthelup/\">Andrei Lupu</a> · <a href=\"https://profiles.wordpress.org/nacin/\">Andrew Nacin</a> · <a href=\"https://profiles.wordpress.org/azaozz/\">Andrew Ozz</a> · <a href=\"https://profiles.wordpress.org/andrewserong/\">Andrew Serong</a> · <a href=\"https://profiles.wordpress.org/andrewssanya/\">Andrew Ssanya</a> · <a href=\"https://profiles.wordpress.org/rarst/\">Andrey \"Rarst\" Savchenko</a> · <a href=\"https://profiles.wordpress.org/oandregal/\">André Maneiro</a> · <a href=\"https://profiles.wordpress.org/afragen/\">Andy Fragen</a> · <a href=\"https://profiles.wordpress.org/rilwis/\">Anh Tran</a> · <a href=\"https://profiles.wordpress.org/wpgurudev/\">Ankit Gade</a> · <a href=\"https://profiles.wordpress.org/ankit-k-gupta/\">Ankit K Gupta</a> · <a href=\"https://profiles.wordpress.org/ankitkumarshah/\">Ankit Kumar Shah</a> · <a href=\"https://profiles.wordpress.org/ankitmaru/\">Ankit Panchal</a> · <a href=\"https://profiles.wordpress.org/ankitpatel1578/\">Ankit Patel</a> · <a href=\"https://profiles.wordpress.org/anmolverma404/\">Anmol Verma</a> · <a href=\"https://profiles.wordpress.org/annchichi/\">annchichi</a> · <a href=\"https://profiles.wordpress.org/annebovelett/\">Anne-Mieke Bovelett</a> · <a href=\"https://profiles.wordpress.org/annezazu/\">annezazu</a> · <a href=\"https://profiles.wordpress.org/antpb/\">Anthony Burchell</a> · <a href=\"https://profiles.wordpress.org/ahortin/\">Anthony Hortin</a> · <a href=\"https://profiles.wordpress.org/antonvlasenko/\">Anton Vlasenko</a> · <a href=\"https://profiles.wordpress.org/anujrathore24/\">Anuj Singh</a> · <a href=\"https://profiles.wordpress.org/anveshika/\">Anveshika Srivastava</a> · <a href=\"https://profiles.wordpress.org/aristath/\">Ari Stathopoulos</a> · <a href=\"https://profiles.wordpress.org/arielmaidana/\">Ariel Maidana</a> · <a href=\"https://profiles.wordpress.org/arnaudbroes/\">arnaudbroes</a> · <a href=\"https://profiles.wordpress.org/arnoutblueshell/\">arnoutblueshell</a> · <a href=\"https://profiles.wordpress.org/artemiosans/\">Artemio Morales</a> · <a href=\"https://profiles.wordpress.org/mrashishjain/\">Ashish Jain</a> · <a href=\"https://profiles.wordpress.org/mohonchandra/\">Asish Chandra Mohon</a> · <a href=\"https://profiles.wordpress.org/auareyou/\">Au</a> · <a href=\"https://profiles.wordpress.org/autotutorial/\">autotutorial</a> · <a href=\"https://profiles.wordpress.org/ayeshrajans/\">Ayesh Karunaratne</a> · <a href=\"https://profiles.wordpress.org/azharderaiya/\">Azhar Deraiya</a> · <a href=\"https://profiles.wordpress.org/beryldlg/\">B&#233;ryl de La Grandi&#232;re</a> · <a href=\"https://profiles.wordpress.org/back2backdvm/\">back2backdvm</a> · <a href=\"https://profiles.wordpress.org/neo2k23/\">BackuPs</a> · <a href=\"https://profiles.wordpress.org/balub/\">Balu B</a> · <a href=\"https://profiles.wordpress.org/barry/\">Barry</a> · <a href=\"https://profiles.wordpress.org/bayejid00/\">Bayejid Ahmed</a> · <a href=\"https://profiles.wordpress.org/beafialho/\">Beatriz Fialho</a> · <a href=\"https://profiles.wordpress.org/benharri/\">ben</a> · <a href=\"https://profiles.wordpress.org/scruffian/\">Ben Dwyer</a> · <a href=\"https://profiles.wordpress.org/bsutcliffe/\">Ben Sutcliffe</a> · <a href=\"https://profiles.wordpress.org/benazeer/\">Benazeer</a> · <a href=\"https://profiles.wordpress.org/benniledl/\">Benedikt Ledl</a> · <a href=\"https://profiles.wordpress.org/benjamin_zekavica/\">Benjamin Zekavica</a> · <a href=\"https://profiles.wordpress.org/benoitchantre/\">Benoit Chantre</a> · <a href=\"https://profiles.wordpress.org/bernhard-reiter/\">bernhard-reiter</a> · <a href=\"https://profiles.wordpress.org/berislavgrgicak/\">Bero</a> · <a href=\"https://profiles.wordpress.org/bgermann/\">bgermann</a> · <a href=\"https://profiles.wordpress.org/albatross10/\">Bhavik Kalpesh</a> · <a href=\"https://profiles.wordpress.org/bijit027/\">Bijit Deb</a> · <a href=\"https://profiles.wordpress.org/birgire/\">Birgir Erlendsson (birgire)</a> · <a href=\"https://profiles.wordpress.org/bph/\">Birgit Pauli-Haack</a> · <a href=\"https://profiles.wordpress.org/rainynewt/\">Bishal Shrestha</a> · <a href=\"https://profiles.wordpress.org/bjornw/\">BjornW</a> · <a href=\"https://profiles.wordpress.org/bluantinoo/\">bluantinoo</a> · <a href=\"https://profiles.wordpress.org/bogdanungureanu/\">BogdanUngureanu</a> · <a href=\"https://profiles.wordpress.org/bor0/\">Boro Sitnikovski</a> · <a href=\"https://profiles.wordpress.org/veryard/\">Brad</a> · <a href=\"https://profiles.wordpress.org/bjorsch/\">Brad Jorsch</a> · <a href=\"https://profiles.wordpress.org/bradleyt/\">Bradley Taylor</a> · <a href=\"https://profiles.wordpress.org/bhubbard/\">Brandon Hubbard</a> · <a href=\"https://profiles.wordpress.org/bpayton/\">Brandon Payton</a> · <a href=\"https://profiles.wordpress.org/brettsmason/\">brettsmason</a> · <a href=\"https://profiles.wordpress.org/brevilo/\">brevilo</a> · <a href=\"https://profiles.wordpress.org/ironprogrammer/\">Brian Alexander</a> · <a href=\"https://profiles.wordpress.org/bacoords/\">Brian Coords</a> · <a href=\"https://profiles.wordpress.org/masteradhoc/\">Brian Haas</a> · <a href=\"https://profiles.wordpress.org/bronsonquick/\">Bronson Quick</a> · <a href=\"https://profiles.wordpress.org/bschneidewind/\">Bryan Schneidewind</a> · <a href=\"https://profiles.wordpress.org/burakkaptan/\">burak</a> · <a href=\"https://profiles.wordpress.org/burnuser/\">burnuser</a> · <a href=\"https://profiles.wordpress.org/snicco/\">Calvin Alkan</a> · <a href=\"https://profiles.wordpress.org/calvinalkan/\">Calvin Alkan</a> · <a href=\"https://profiles.wordpress.org/cbravobernal/\">Carlos Bravo</a> · <a href=\"https://profiles.wordpress.org/poena/\">Carolina Nymark</a> · <a href=\"https://profiles.wordpress.org/cbirdsong/\">cbirdsong</a> · <a href=\"https://profiles.wordpress.org/cgastrell/\">cgastrell</a> · <a href=\"https://profiles.wordpress.org/charleslf/\">charleslf</a> · <a href=\"https://profiles.wordpress.org/mel_cha/\">chiilog (Chiaki Okamoto)</a> · <a href=\"https://profiles.wordpress.org/chintanmachhi207/\">chintanmachhi207</a> · <a href=\"https://profiles.wordpress.org/chrico/\">ChriCo</a> · <a href=\"https://profiles.wordpress.org/chriscct7/\">chriscct7</a> · <a href=\"https://profiles.wordpress.org/chrisdotdotdot/\">chrisdotdotdot</a> · <a href=\"https://profiles.wordpress.org/apermo/\">Christoph Daum</a> · <a href=\"https://profiles.wordpress.org/claimableperch/\">claimableperch</a> · <a href=\"https://profiles.wordpress.org/claudiulodro/\">Claudiu Lodromanean</a> · <a href=\"https://profiles.wordpress.org/codeamp/\">Code Amp</a> · <a href=\"https://profiles.wordpress.org/codebymikey/\">codebymikey</a> · <a href=\"https://profiles.wordpress.org/codersantosh/\">codersantosh</a> · <a href=\"https://profiles.wordpress.org/costdev/\">Colin Stewart</a> · <a href=\"https://profiles.wordpress.org/colind/\">ColinD</a> · <a href=\"https://profiles.wordpress.org/colinleroy/\">colinleroy</a> · <a href=\"https://profiles.wordpress.org/coreyw/\">Corey Worrell</a> · <a href=\"https://profiles.wordpress.org/courane01/\">Courtney Robertson</a> · <a href=\"https://profiles.wordpress.org/cbusquets1989/\">Cris Busquets</a> · <a href=\"https://profiles.wordpress.org/mitogh/\">Crisoforo Gaspar</a> · <a href=\"https://profiles.wordpress.org/ctienshi/\">ctienshi</a> · <a href=\"https://profiles.wordpress.org/cweiske/\">cweiske</a> · <a href=\"https://profiles.wordpress.org/didierjm/\">cybeardjm</a> · <a href=\"https://profiles.wordpress.org/coquardcyr/\">Cyrille</a> · <a href=\"https://profiles.wordpress.org/css31/\">Cyrille Sanson</a> · <a href=\"https://profiles.wordpress.org/daedalon/\">Daedalon</a> · <a href=\"https://profiles.wordpress.org/acketon/\">Dakota Chichester</a> · <a href=\"https://profiles.wordpress.org/dalleyne/\">Damien Alleyne</a> · <a href=\"https://profiles.wordpress.org/colorful-tones/\">Damon Cook</a> · <a href=\"https://profiles.wordpress.org/dpknauss/\">Dan Knauss</a> · <a href=\"https://profiles.wordpress.org/danht/\">danht</a> · <a href=\"https://profiles.wordpress.org/daniguardiola/\">Dani Guardiola</a> · <a href=\"https://profiles.wordpress.org/danielbachhuber/\">Daniel Bachhuber</a> · <a href=\"https://profiles.wordpress.org/danielpost/\">Daniel Post</a> · <a href=\"https://profiles.wordpress.org/talldanwp/\">Daniel Richards</a> · <a href=\"https://profiles.wordpress.org/mte90/\">Daniele Scasciafratte</a> · <a href=\"https://profiles.wordpress.org/danielpataki/\">danielpataki</a> · <a href=\"https://profiles.wordpress.org/danielvann/\">danielvann</a> · <a href=\"https://profiles.wordpress.org/dkotter/\">Darin Kotter</a> · <a href=\"https://profiles.wordpress.org/dhewercorus/\">Darren Hewer</a> · <a href=\"https://profiles.wordpress.org/davelo/\">Dave Loodts</a> · <a href=\"https://profiles.wordpress.org/davilera/\">David Aguilera</a> · <a href=\"https://profiles.wordpress.org/darerodz/\">David Arenas</a> · <a href=\"https://profiles.wordpress.org/darnado/\">David Arnado</a> · <a href=\"https://profiles.wordpress.org/davidbaumwald/\">David Baumwald</a> · <a href=\"https://profiles.wordpress.org/davidbinda/\">David Biňovec</a> · <a href=\"https://profiles.wordpress.org/davidabowman/\">David Bowman</a> · <a href=\"https://profiles.wordpress.org/dpcalhoun/\">David Calhoun</a> · <a href=\"https://profiles.wordpress.org/dafargier/\">David FARGIER</a> · <a href=\"https://profiles.wordpress.org/dlh/\">David Herrera</a> · <a href=\"https://profiles.wordpress.org/david-innes/\">David Innes</a> · <a href=\"https://profiles.wordpress.org/justlevine/\">David Levine</a> · <a href=\"https://profiles.wordpress.org/daviedr/\">David Rozando</a> · <a href=\"https://profiles.wordpress.org/dshanske/\">David Shanske</a> · <a href=\"https://profiles.wordpress.org/get_dave/\">David Smith</a> · <a href=\"https://profiles.wordpress.org/daymobrew/\">daymobrew</a> · <a href=\"https://profiles.wordpress.org/deadduck169/\">deadduck169</a> · <a href=\"https://profiles.wordpress.org/dsas/\">Dean Sas</a> · <a href=\"https://profiles.wordpress.org/dkarfa/\">Debabrata Karfa</a> · <a href=\"https://profiles.wordpress.org/debarghyabanerjee/\">DEBARGHYA BANERJEE</a> · <a href=\"https://profiles.wordpress.org/deeppatel8950/\">Deep Patel</a> · <a href=\"https://profiles.wordpress.org/deepakrohilla/\">Deepak Rohilla</a> · <a href=\"https://profiles.wordpress.org/realloc/\">Dennis Ploetner</a> · <a href=\"https://profiles.wordpress.org/dmsnell/\">Dennis Snell</a> · <a href=\"https://profiles.wordpress.org/densinakum/\">Densi Nakum</a> · <a href=\"https://profiles.wordpress.org/designsimply/\">designsimply</a> · <a href=\"https://profiles.wordpress.org/devansh2002/\">Devansh Chaudhary</a> · <a href=\"https://profiles.wordpress.org/dhananjaykuber/\">Dhananjay Kuber</a> · <a href=\"https://profiles.wordpress.org/dharm1025/\">Dharmesh Patel</a> · <a href=\"https://profiles.wordpress.org/dhavalkapadane/\">Dhaval Kapadane</a> · <a href=\"https://profiles.wordpress.org/dheeraj2995/\">Dheeraj Bhosale</a> · <a href=\"https://profiles.wordpress.org/dhrumilk/\">Dhrumil Kumbhani</a> · <a href=\"https://profiles.wordpress.org/dhruvang21/\">Dhruvang21</a> · <a href=\"https://profiles.wordpress.org/dhruvishah2203/\">Dhruvi Shah</a> · <a href=\"https://profiles.wordpress.org/dhruvik18/\">Dhruvik Malaviya</a> · <a href=\"https://profiles.wordpress.org/diguj/\">Digvijay Zite</a> · <a href=\"https://profiles.wordpress.org/dilipom13/\">dilip</a> · <a href=\"https://profiles.wordpress.org/dilipbheda/\">Dilip Bheda</a> · <a href=\"https://profiles.wordpress.org/diliphingarajiya/\">Dilip Hingarajiya</a> · <a href=\"https://profiles.wordpress.org/dilip2615/\">Dilip Modhavadiya</a> · <a href=\"https://profiles.wordpress.org/dingguodong/\">DingGuodong</a> · <a href=\"https://profiles.wordpress.org/dd32/\">Dion Hulse</a> · <a href=\"https://profiles.wordpress.org/divyeshk71/\">Divyesh_kakrecha</a> · <a href=\"https://profiles.wordpress.org/djcowan/\">dj.cowan</a> · <a href=\"https://profiles.wordpress.org/mediaformat/\">Django</a> · <a href=\"https://profiles.wordpress.org/dnnsjsk/\">dnnsjsk</a> · <a href=\"https://profiles.wordpress.org/doekenorg/\">Doeke Norg</a> · <a href=\"https://profiles.wordpress.org/dogee/\">dogee</a> · <a href=\"https://profiles.wordpress.org/domenicdenicola/\">domenicdenicola</a> · <a href=\"https://profiles.wordpress.org/ocean90/\">Dominik Schilling</a> · <a href=\"https://profiles.wordpress.org/donalirl/\">donalirl</a> · <a href=\"https://profiles.wordpress.org/dooperweb/\">dooperweb</a> · <a href=\"https://profiles.wordpress.org/dougwollison/\">Doug Wollison</a> · <a href=\"https://profiles.wordpress.org/dretzlaff/\">dretzlaff</a> · <a href=\"https://profiles.wordpress.org/drewapicture/\">Drew Jaynes</a> · <a href=\"https://profiles.wordpress.org/drivingralle/\">Drivingralle</a> · <a href=\"https://profiles.wordpress.org/dsawyers/\">dsawyers</a> · <a href=\"https://profiles.wordpress.org/dwainm/\">Dwain Maralack</a> · <a href=\"https://profiles.wordpress.org/earthman100/\">Earthman Media</a> · <a href=\"https://profiles.wordpress.org/eclev91/\">eclev91</a> · <a href=\"https://profiles.wordpress.org/eddystile/\">Eddy</a> · <a href=\"https://profiles.wordpress.org/eduwass/\">eduwass</a> · <a href=\"https://profiles.wordpress.org/cais/\">Edward Caissie</a> · <a href=\"https://profiles.wordpress.org/eceleste/\">efc</a> · <a href=\"https://profiles.wordpress.org/talksina/\">Elena Brescacin</a> · <a href=\"https://profiles.wordpress.org/elizaan36/\">elizaan36</a> · <a href=\"https://profiles.wordpress.org/ellatrix/\">Ella van Durpe</a> · <a href=\"https://profiles.wordpress.org/codex-m/\">Emerson Maningo</a> · <a href=\"https://profiles.wordpress.org/emlebrun/\">Emilie LEBRUN</a> · <a href=\"https://profiles.wordpress.org/eatse/\">Emmanuel Ats&#233;</a> · <a href=\"https://profiles.wordpress.org/lopo/\">Enrico Battocchi</a> · <a href=\"https://profiles.wordpress.org/ericdye/\">Eric Dye</a> · <a href=\"https://profiles.wordpress.org/ethitter/\">Erick Hitter</a> · <a href=\"https://profiles.wordpress.org/codekraft/\">Erik</a> · <a href=\"https://profiles.wordpress.org/kebbet/\">Erik</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/etobiesen/\">Even Tobiesen</a> · <a href=\"https://profiles.wordpress.org/fabiankaegy/\">Fabian Kägy</a> · <a href=\"https://profiles.wordpress.org/gaambo/\">Fabian Todt</a> · <a href=\"https://profiles.wordpress.org/faisalahammad/\">Faisal Ahammad</a> · <a href=\"https://profiles.wordpress.org/faisal03/\">Faisal Alvi</a> · <a href=\"https://profiles.wordpress.org/fazyshah/\">Faizan Nabi</a> · <a href=\"https://profiles.wordpress.org/flixos90/\">Felix Arntz</a> · <a href=\"https://profiles.wordpress.org/ffffelix/\">Felix Renicks</a> · <a href=\"https://profiles.wordpress.org/finntown/\">finntown</a> · <a href=\"https://profiles.wordpress.org/firoz2456/\">Firoz Sabaliya</a> · <a href=\"https://profiles.wordpress.org/francina/\">Francesca Marano</a> · <a href=\"https://profiles.wordpress.org/franciscabusas22/\">Francis Cabusas</a> · <a href=\"https://profiles.wordpress.org/fcoveram/\">Francisco</a> · <a href=\"https://profiles.wordpress.org/frankbiganski/\">Frank B.</a> · <a href=\"https://profiles.wordpress.org/frank-klein/\">Frank Klein</a> · <a href=\"https://profiles.wordpress.org/franz00/\">Fransisca H</a> · <a href=\"https://profiles.wordpress.org/frkly/\">frkly</a> · <a href=\"https://profiles.wordpress.org/fushar/\">fushar</a> · <a href=\"https://profiles.wordpress.org/fxbenard/\">FX B&#233;nard</a> · <a href=\"https://profiles.wordpress.org/gaellebesson/\">gaellebesson</a> · <a href=\"https://profiles.wordpress.org/gajendrasingh/\">Gajendra Singh</a> · <a href=\"https://profiles.wordpress.org/galibh/\">Galib Hayder</a> · <a href=\"https://profiles.wordpress.org/ecgan/\">Gan Eng Chin</a> · <a href=\"https://profiles.wordpress.org/garrett-eclipse/\">Garrett Hyder</a> · <a href=\"https://profiles.wordpress.org/garyj/\">Gary Jones</a> · <a href=\"https://profiles.wordpress.org/pento/\">Gary Pendergast</a> · <a href=\"https://profiles.wordpress.org/soulseekah/\">Gennady Kovshenin</a> · <a href=\"https://profiles.wordpress.org/mamaduka/\">George Mamadashvili</a> · <a href=\"https://profiles.wordpress.org/geriux/\">Gerardo Pacheco</a> · <a href=\"https://profiles.wordpress.org/ghinamt/\">ghinamt</a> · <a href=\"https://profiles.wordpress.org/girishpanchal/\">Girish Panchal</a> · <a href=\"https://profiles.wordpress.org/giuriani/\">giuriani</a> · <a href=\"https://profiles.wordpress.org/glendaviesnz/\">Glen Davies</a> · <a href=\"https://profiles.wordpress.org/glynnquelch/\">Glynn Quelch</a> · <a href=\"https://profiles.wordpress.org/ingeniumed/\">Gopal Krishnan</a> · <a href=\"https://profiles.wordpress.org/grantmkin/\">Grant M. Kinney</a> · <a href=\"https://profiles.wordpress.org/gziolo/\">Greg Ziółkowski</a> · <a href=\"https://profiles.wordpress.org/gregbenz/\">gregbenz</a> · <a href=\"https://profiles.wordpress.org/grgarside/\">grgarside</a> · <a href=\"https://profiles.wordpress.org/growwbuddy/\">GrowwBuddy</a> · <a href=\"https://profiles.wordpress.org/guido07111975/\">Guido</a> · <a href=\"https://profiles.wordpress.org/guillaumeturpin/\">Guillaume TURPIN</a> · <a href=\"https://profiles.wordpress.org/gulamdastgir04/\">Gulamdastgir Momin</a> · <a href=\"https://profiles.wordpress.org/priethor/\">H&#233;ctor Prieto</a> · <a href=\"https://profiles.wordpress.org/kabir93/\">H. Kabir</a> · <a href=\"https://profiles.wordpress.org/gencmedya/\">Halil Kaya</a> · <a href=\"https://profiles.wordpress.org/yahaly/\">Halyna Yampolska</a> · <a href=\"https://profiles.wordpress.org/hameem1102/\">Hameem Mahdad Kader</a> · <a href=\"https://profiles.wordpress.org/hanneslsm/\">Hannes Leismann</a> · <a href=\"https://profiles.wordpress.org/hage/\">Hans-Gerd Gerhards</a> · <a href=\"https://profiles.wordpress.org/hardipparmar/\">Hardip Parmar</a> · <a href=\"https://profiles.wordpress.org/hareesh-pillai/\">Hareesh S</a> · <a href=\"https://profiles.wordpress.org/harishanker/\">Hari Shanker R</a> · <a href=\"https://profiles.wordpress.org/harrym/\">harrym</a> · <a href=\"https://profiles.wordpress.org/harshalkadu/\">Harshal Kadu</a> · <a href=\"https://profiles.wordpress.org/hazdiego/\">Haz</a> · <a href=\"https://profiles.wordpress.org/hekuranredev/\">hekuranredev</a> · <a href=\"https://profiles.wordpress.org/helen/\">Helen Hou-Sandi</a> · <a href=\"https://profiles.wordpress.org/hdkothari81/\">Hemant Kothari</a> · <a href=\"https://profiles.wordpress.org/iamarinoh/\">Henrique Iamarino</a> · <a href=\"https://profiles.wordpress.org/henrywright/\">Henry Wright</a> · <a href=\"https://profiles.wordpress.org/rvouill/\">Herve THOMAS</a> · <a href=\"https://profiles.wordpress.org/kurudrive/\">Hidekazu Ishikawa</a> · <a href=\"https://profiles.wordpress.org/hideishi/\">Hidenori ISHIKAWA</a> · <a href=\"https://profiles.wordpress.org/hilayt24/\">Hilay Trivedi</a> · <a href=\"https://profiles.wordpress.org/panchalhimani711/\">Himani Panchal</a> · <a href=\"https://profiles.wordpress.org/abcd95/\">Himanshu Pathak</a> · <a href=\"https://profiles.wordpress.org/hbhalodia/\">Hit Bhalodia</a> · <a href=\"https://profiles.wordpress.org/hitendra-chopda/\">Hitendra Chopda</a> · <a href=\"https://profiles.wordpress.org/hiteshhuptechweb/\">Hitesh Dhokai</a> · <a href=\"https://profiles.wordpress.org/hovhanneshovakimyan/\">Hovhannes Hovakimyan</a> · <a href=\"https://profiles.wordpress.org/hueitan/\">hueitan</a> · <a href=\"https://profiles.wordpress.org/humanify/\">humanify</a> · <a href=\"https://profiles.wordpress.org/hussain896/\">hussain896</a> · <a href=\"https://profiles.wordpress.org/huubl/\">huubl</a> · <a href=\"https://profiles.wordpress.org/huzaifaalmesbah/\">Huzaifa Al Mesbah</a> · <a href=\"https://profiles.wordpress.org/iandunn/\">Ian Dunn</a> · <a href=\"https://profiles.wordpress.org/ilovecats7/\">ilovecats7</a> · <a href=\"https://profiles.wordpress.org/imranhasanraaz/\">Imran</a> · <a href=\"https://profiles.wordpress.org/imranh920/\">Imran Hossain (a11n)</a> · <a href=\"https://profiles.wordpress.org/indirabiswas27/\">Indira Biswas</a> · <a href=\"https://profiles.wordpress.org/indithemes/\">indithemes</a> · <a href=\"https://profiles.wordpress.org/isabel_brison/\">Isabel Brison</a> · <a href=\"https://profiles.wordpress.org/iseulde/\">iseulde</a> · <a href=\"https://profiles.wordpress.org/isuke01/\">Isu</a> · <a href=\"https://profiles.wordpress.org/ivankristianto/\">Ivan Kristianto</a> · <a href=\"https://profiles.wordpress.org/moxie/\">Jack</a> · <a href=\"https://profiles.wordpress.org/jagirbahesh/\">Jagir Bahesh</a> · <a href=\"https://profiles.wordpress.org/jainil07/\">Jainil Shah</a> · <a href=\"https://profiles.wordpress.org/whyisjake/\">Jake Spurlock</a> · <a href=\"https://profiles.wordpress.org/jameskoster/\">James Koster</a> · <a href=\"https://profiles.wordpress.org/jhmonroe/\">James Monroe</a> · <a href=\"https://profiles.wordpress.org/jopdop30/\">James Payne</a> · <a href=\"https://profiles.wordpress.org/imaginarymedia/\">James Robinson</a> · <a href=\"https://profiles.wordpress.org/q0rban/\">James Sansbury</a> · <a href=\"https://profiles.wordpress.org/jamieblomerus/\">Jamie Blomerus</a> · <a href=\"https://profiles.wordpress.org/jammycakes/\">jammycakes</a> · <a href=\"https://profiles.wordpress.org/lysyjan87/\">Jan Lys&#253;</a> · <a href=\"https://profiles.wordpress.org/janak007/\">janak Kaneriya</a> · <a href=\"https://profiles.wordpress.org/janusdev/\">janusdev</a> · <a href=\"https://profiles.wordpress.org/jsnajdr/\">Jarda Snajdr</a> · <a href=\"https://profiles.wordpress.org/jarekmorawski/\">jarekmorawski</a> · <a href=\"https://profiles.wordpress.org/boogah/\">Jason Cosper</a> · <a href=\"https://profiles.wordpress.org/madtownlems/\">Jason LeMahieu (MadtownLems)</a> · <a href=\"https://profiles.wordpress.org/jasonsa19/\">Jason Sauerwald</a> · <a href=\"https://profiles.wordpress.org/javiercasares/\">Javier Casares</a> · <a href=\"https://profiles.wordpress.org/shovan_jaya/\">Jayaram</a> · <a href=\"https://profiles.wordpress.org/jdahir0789/\">Jaydip Ahir</a> · <a href=\"https://profiles.wordpress.org/jdnd/\">jdnd</a> · <a href=\"https://profiles.wordpress.org/audrasjb/\">Jean-Baptiste Audras</a> · <a href=\"https://profiles.wordpress.org/krokodok/\">Jeff Chi</a> · <a href=\"https://profiles.wordpress.org/maverick3x6/\">Jeff Golenski</a> · <a href=\"https://profiles.wordpress.org/jffng/\">Jeff Ong</a> · <a href=\"https://profiles.wordpress.org/jeffpaul/\">Jeff Paul</a> · <a href=\"https://profiles.wordpress.org/jeffr0/\">Jeffro</a> · <a href=\"https://profiles.wordpress.org/jeflopodev/\">jeflopo</a> · <a href=\"https://profiles.wordpress.org/jdy68/\">Jenny Dupuy</a> · <a href=\"https://profiles.wordpress.org/jepperask/\">jepperask</a> · <a href=\"https://profiles.wordpress.org/jeremyfelt/\">Jeremy Felt</a> · <a href=\"https://profiles.wordpress.org/jeremy80/\">jeremy80</a> · <a href=\"https://profiles.wordpress.org/jeremyroman/\">jeremyroman</a> · <a href=\"https://profiles.wordpress.org/jeryj/\">jeryj</a> · <a href=\"https://profiles.wordpress.org/jessedyck/\">jessedyck</a> · <a href=\"https://profiles.wordpress.org/luminuu/\">Jessica Lyschik</a> · <a href=\"https://profiles.wordpress.org/jigar-bhanushali/\">Jigar Bhanushali</a> · <a href=\"https://profiles.wordpress.org/jigar9998/\">Jigar Panchal</a> · <a href=\"https://profiles.wordpress.org/jnweaver/\">jnweaver</a> · <a href=\"https://profiles.wordpress.org/jartes/\">Joan Artes</a> · <a href=\"https://profiles.wordpress.org/jodamo5/\">jodamo5</a> · <a href=\"https://profiles.wordpress.org/joedolson/\">Joe Dolson</a> · <a href=\"https://profiles.wordpress.org/joehoyle/\">Joe Hoyle</a> · <a href=\"https://profiles.wordpress.org/joemcgill/\">Joe McGill</a> · <a href=\"https://profiles.wordpress.org/joecsmalley/\">joecsmalley</a> · <a href=\"https://profiles.wordpress.org/joen/\">Joen Asmussen</a> · <a href=\"https://profiles.wordpress.org/timse201/\">Johannes J&#252;lg</a> · <a href=\"https://profiles.wordpress.org/johnbillion/\">John Blackbourn</a> · <a href=\"https://profiles.wordpress.org/johnjamesjacoby/\">John James Jacoby</a> · <a href=\"https://profiles.wordpress.org/johnregan3/\">John Regan</a> · <a href=\"https://profiles.wordpress.org/arrcorona/\">Jomar Jay Corona</a> · <a href=\"https://profiles.wordpress.org/jomonthomaslobo1/\">Jomon Thomas Lobo</a> · <a href=\"https://profiles.wordpress.org/jonsurrell/\">Jon Surrell</a> · <a href=\"https://profiles.wordpress.org/psykro/\">Jonathan Bossenger</a> · <a href=\"https://profiles.wordpress.org/desrosj/\">Jonathan Desrosiers</a> · <a href=\"https://profiles.wordpress.org/jongycastillo/\">Jong</a> · <a href=\"https://profiles.wordpress.org/n2erjo00/\">Joni Erkkil&#228;</a> · <a href=\"https://profiles.wordpress.org/spacedmonkey/\">Jonny Harris</a> · <a href=\"https://profiles.wordpress.org/jonnyauk/\">jonnyauk</a> · <a href=\"https://profiles.wordpress.org/joomskys/\">joomskys</a> · <a href=\"https://profiles.wordpress.org/joostdevalk/\">Joost de Valk</a> · <a href=\"https://profiles.wordpress.org/jordesign/\">jordesign</a> · <a href=\"https://profiles.wordpress.org/jorgefilipecosta/\">Jorge Costa</a> · <a href=\"https://profiles.wordpress.org/josvelasco/\">Jos Velasco</a> · <a href=\"https://profiles.wordpress.org/josevarghese/\">Jose Varghese</a> · <a href=\"https://profiles.wordpress.org/blogitsolutions/\">Josef Seidl</a> · <a href=\"https://profiles.wordpress.org/josephscott/\">Joseph Scott</a> · <a href=\"https://profiles.wordpress.org/verygoode/\">Joshua Goode</a> · <a href=\"https://profiles.wordpress.org/joshuawold/\">Joshua Wold</a> · <a href=\"https://profiles.wordpress.org/jottevanger/\">jottevanger</a> · <a href=\"https://profiles.wordpress.org/jokanane/\">Jouni Kananen</a> · <a href=\"https://profiles.wordpress.org/joyously/\">Joy</a> · <a href=\"https://profiles.wordpress.org/juanfra/\">Juan Aldasoro</a> · <a href=\"https://profiles.wordpress.org/juanbuis/\">juanbuis</a> · <a href=\"https://profiles.wordpress.org/juanmaguitar/\">JuanMa Garrido</a> · <a href=\"https://profiles.wordpress.org/juanwp22/\">juanwp22</a> · <a href=\"https://profiles.wordpress.org/jules-colle/\">Jules Colle</a> · <a href=\"https://profiles.wordpress.org/julianmar/\">julianmar</a> · <a href=\"https://profiles.wordpress.org/juliemoynat/\">Julie Moynat</a> · <a href=\"https://profiles.wordpress.org/jrf/\">Juliette Reinders Folmer</a> · <a href=\"https://profiles.wordpress.org/juliobox/\">Julio Potier</a> · <a href=\"https://profiles.wordpress.org/greenshady/\">Justin Tadlock</a> · <a href=\"https://profiles.wordpress.org/juzar/\">Juzar</a> · <a href=\"https://profiles.wordpress.org/kadamwhite/\">K. Adam White</a> · <a href=\"https://profiles.wordpress.org/kafleg/\">KafleG</a> · <a href=\"https://profiles.wordpress.org/kevin940726/\">Kai Hao</a> · <a href=\"https://profiles.wordpress.org/kaitohm/\">Kaito Hanamori</a> · <a href=\"https://profiles.wordpress.org/ikamal/\">Kamal Hosen</a> · <a href=\"https://profiles.wordpress.org/kapasias/\">KAP ASIAs</a> · <a href=\"https://profiles.wordpress.org/kapilpaul/\">Kapil Paul</a> · <a href=\"https://profiles.wordpress.org/karlgroves/\">karlgroves</a> · <a href=\"https://profiles.wordpress.org/karolmanijak/\">Karol Manijak</a> · <a href=\"https://profiles.wordpress.org/karthickmurugan/\">Karthick Murugan</a> · <a href=\"https://profiles.wordpress.org/thekt12/\">Karthik Thayyil</a> · <a href=\"https://profiles.wordpress.org/karthikeya01/\">Karthikeya Bethu</a> · <a href=\"https://profiles.wordpress.org/kasparsd/\">Kaspars</a> · <a href=\"https://profiles.wordpress.org/zoonini/\">Kathryn Presner</a> · <a href=\"https://profiles.wordpress.org/kausaralm/\">Kausar Alam</a> · <a href=\"https://profiles.wordpress.org/keithdevon/\">keithdevon</a> · <a href=\"https://profiles.wordpress.org/kel-dc/\">Kel Santiago-Pilarski</a> · <a href=\"https://profiles.wordpress.org/ryelle/\">Kelly Choyce-Dwan</a> · <a href=\"https://profiles.wordpress.org/tinypixel/\">Kelly Mears</a> · <a href=\"https://profiles.wordpress.org/keoshi/\">keoshi</a> · <a href=\"https://profiles.wordpress.org/ketanniruke/\">Ketan Niruke</a> · <a href=\"https://profiles.wordpress.org/patelketan/\">Ketan Patel</a> · <a href=\"https://profiles.wordpress.org/kevinlearynet/\">Kevin Leary</a> · <a href=\"https://profiles.wordpress.org/kharisblank/\">Kharis Sulistiyono</a> · <a href=\"https://profiles.wordpress.org/iamkingsleyf/\">Kingsley Felix</a> · <a href=\"https://profiles.wordpress.org/kirasong/\">Kira Schroder</a> · <a href=\"https://profiles.wordpress.org/kjroelke/\">KJ Roelke</a> · <a href=\"https://profiles.wordpress.org/kkmuffme/\">kkmuffme</a> · <a href=\"https://profiles.wordpress.org/knutsp/\">Knut Sparhell</a> · <a href=\"https://profiles.wordpress.org/kohheepeace/\">kohheepeace</a> · <a href=\"https://profiles.wordpress.org/obenland/\">Konstantin Obenland</a> · <a href=\"https://profiles.wordpress.org/kmgalanakis/\">Konstantinos Galanakis</a> · <a href=\"https://profiles.wordpress.org/xkon/\">Konstantinos Xenos</a> · <a href=\"https://profiles.wordpress.org/kristastevens/\">kristastevens</a> · <a href=\"https://profiles.wordpress.org/krupajnanda/\">Krupa Nanda</a> · <a href=\"https://profiles.wordpress.org/krupaly2k/\">Krupal Lakhia</a> · <a href=\"https://profiles.wordpress.org/laurelfulford/\">laurelfulford</a> · <a href=\"https://profiles.wordpress.org/lakshmananphp/\">Lax Mariappan</a> · <a href=\"https://profiles.wordpress.org/laxman-prajapati/\">Laxman Prajapati</a> · <a href=\"https://profiles.wordpress.org/lcarevic/\">lcarevic</a> · <a href=\"https://profiles.wordpress.org/leecollings/\">Lee</a> · <a href=\"https://profiles.wordpress.org/leewillis77/\">Lee Willis</a> · <a href=\"https://profiles.wordpress.org/leedxw/\">leedxw</a> · <a href=\"https://profiles.wordpress.org/0mirka00/\">Lena Morita</a> · <a href=\"https://profiles.wordpress.org/lenasterg/\">lenasterg</a> · <a href=\"https://profiles.wordpress.org/leszeks/\">leszeks</a> · <a href=\"https://profiles.wordpress.org/leup/\">leup</a> · <a href=\"https://profiles.wordpress.org/levskipg/\">levskipg</a> · <a href=\"https://profiles.wordpress.org/lgladdy/\">Liam Gladdy</a> · <a href=\"https://profiles.wordpress.org/lilgames/\">LilGames</a> · <a href=\"https://profiles.wordpress.org/louislaugesen/\">Louis</a> · <a href=\"https://profiles.wordpress.org/louwie17/\">Lourens</a> · <a href=\"https://profiles.wordpress.org/lovesoni1999/\">Love Soni</a> · <a href=\"https://profiles.wordpress.org/thelovekesh/\">Lovekesh Kumar</a> · <a href=\"https://profiles.wordpress.org/lovewpmu/\">lovewpmu</a> · <a href=\"https://profiles.wordpress.org/lovor/\">Lovro Hrust</a> · <a href=\"https://profiles.wordpress.org/dreadlox/\">Lox</a> · <a href=\"https://profiles.wordpress.org/ltrihan/\">ltrihan</a> · <a href=\"https://profiles.wordpress.org/gigitux/\">Luigi Teschio</a> · <a href=\"https://profiles.wordpress.org/zaguiini/\">Luis Felipe Zaguini</a> · <a href=\"https://profiles.wordpress.org/luisherranz/\">luisherranz</a> · <a href=\"https://profiles.wordpress.org/wpfed/\">Lukasz</a> · <a href=\"https://profiles.wordpress.org/lukecavanagh/\">Luke Cavanagh</a> · <a href=\"https://profiles.wordpress.org/gadelhas/\">M&#225;rio Santos</a> · <a href=\"https://profiles.wordpress.org/maciejmackowiak/\">maciejmackowiak</a> · <a href=\"https://profiles.wordpress.org/madhudollu/\">Madhu Dollu</a> · <a href=\"https://profiles.wordpress.org/madpeter/\">madpeter</a> · <a href=\"https://profiles.wordpress.org/magdarogier/\">Magda Rogier</a> · <a href=\"https://profiles.wordpress.org/onemaggie/\">Maggie Cabrera</a> · <a href=\"https://profiles.wordpress.org/mp518/\">Mahesh Prajapati</a> · <a href=\"https://profiles.wordpress.org/mai21/\">Mai</a> · <a href=\"https://profiles.wordpress.org/maikelraow/\">maikelraow</a> · <a href=\"https://profiles.wordpress.org/travel_girl/\">Maja Benke</a> · <a href=\"https://profiles.wordpress.org/mkrndmane/\">Makarand G. Mane</a> · <a href=\"https://profiles.wordpress.org/tomdxw/\">mallorydxw-old</a> · <a href=\"https://profiles.wordpress.org/manfcarlo/\">manfcarlo</a> · <a href=\"https://profiles.wordpress.org/manojmaharrshi/\">Manoj Maharrshi</a> · <a href=\"https://profiles.wordpress.org/manzoorwanijk/\">Manzoor Wani</a> · <a href=\"https://profiles.wordpress.org/mdxfr/\">Marc</a> · <a href=\"https://profiles.wordpress.org/fullofcaffeine/\">Marcelo de Moraes Serpa</a> · <a href=\"https://profiles.wordpress.org/marchalyoan/\">marchalyoan</a> · <a href=\"https://profiles.wordpress.org/afmarchetti/\">Marchetti Design</a> · <a href=\"https://profiles.wordpress.org/mciampini/\">Marco Ciampini</a> · <a href=\"https://profiles.wordpress.org/mariayohana/\">Maria Yohana</a> · <a href=\"https://profiles.wordpress.org/marian1/\">marian1</a> · <a href=\"https://profiles.wordpress.org/nuryko/\">Marianna</a> · <a href=\"https://profiles.wordpress.org/plari/\">Marie</a> · <a href=\"https://profiles.wordpress.org/tyxla/\">Marin Atanasov</a> · <a href=\"https://profiles.wordpress.org/marineevain/\">Marine EVAIN</a> · <a href=\"https://profiles.wordpress.org/nofearinc/\">Mario Peshev</a> · <a href=\"https://profiles.wordpress.org/santosguillamot/\">Mario Santos</a> · <a href=\"https://profiles.wordpress.org/clorith/\">Marius L. J.</a> · <a href=\"https://profiles.wordpress.org/markhowellsmead/\">Mark Howells-Mead</a> · <a href=\"https://profiles.wordpress.org/mapk/\">Mark Uraine</a> · <a href=\"https://profiles.wordpress.org/mark-k/\">Mark-k</a> · <a href=\"https://profiles.wordpress.org/martinkrcho/\">martin.krcho</a> · <a href=\"https://profiles.wordpress.org/marybaum/\">Mary Baum</a> · <a href=\"https://profiles.wordpress.org/4thhubbard/\">Mary Hubbard</a> · <a href=\"https://profiles.wordpress.org/immasud/\">Masud Rana</a> · <a href=\"https://profiles.wordpress.org/paapst/\">Mathieu Paapst</a> · <a href=\"https://profiles.wordpress.org/mmaattiiaass/\">Matias Benedetto</a> · <a href=\"https://profiles.wordpress.org/matveb/\">Matias Ventura</a> · <a href=\"https://profiles.wordpress.org/iammattthomas/\">Matt (Thomas) Miklic</a> · <a href=\"https://profiles.wordpress.org/matt/\">Matt Mullenweg</a> · <a href=\"https://profiles.wordpress.org/mattyrob/\">Matt Robinson</a> · <a href=\"https://profiles.wordpress.org/mattwest/\">Matt West</a> · <a href=\"https://profiles.wordpress.org/matteoenna/\">Matteo Enna</a> · <a href=\"https://profiles.wordpress.org/kinggmobb/\">Matthew</a> · <a href=\"https://profiles.wordpress.org/mboynes/\">Matthew Boynes</a> · <a href=\"https://profiles.wordpress.org/mattryanwalker/\">mattryanwalker</a> · <a href=\"https://profiles.wordpress.org/azouamauriac/\">Mauriac AZOUA</a> · <a href=\"https://profiles.wordpress.org/maximemeganck/\">Maxime Meganck</a> · <a href=\"https://profiles.wordpress.org/maximebj/\">maximebj</a> · <a href=\"https://profiles.wordpress.org/mayanktripathi32/\">Mayank Tripathi</a> · <a href=\"https://profiles.wordpress.org/mayur8991/\">Mayur Prajapati</a> · <a href=\"https://profiles.wordpress.org/faithcoder/\">Md Abdullah Al Arif</a> · <a href=\"https://profiles.wordpress.org/hmbashar/\">Md Abul Bashar</a> · <a href=\"https://profiles.wordpress.org/itsmhrahman/\">Md Hafijur Rahman</a> · <a href=\"https://profiles.wordpress.org/kawsar007/\">MD Kawsar Chowdhury</a> · <a href=\"https://profiles.wordpress.org/mehdi01/\">Md Mahdi Hasan</a> · <a href=\"https://profiles.wordpress.org/mdibrahimk48/\">Md. Ibrahim Khalil</a> · <a href=\"https://profiles.wordpress.org/najmulsaju/\">Md. Najmul Islam</a> · <a href=\"https://profiles.wordpress.org/mehedi_csit/\">Md.Mehedi Hasan</a> · <a href=\"https://profiles.wordpress.org/mdviralsampat/\">mdviralsampat</a> · <a href=\"https://profiles.wordpress.org/megane9988/\">megane9988</a> · <a href=\"https://profiles.wordpress.org/leeseoftbc/\">MelissaH</a> · <a href=\"https://profiles.wordpress.org/metropolis_john/\">metropolis_john</a> · <a href=\"https://profiles.wordpress.org/mdawaffe/\">Michael Adams (mdawaffe)</a> · <a href=\"https://profiles.wordpress.org/mburridge/\">Michael Burridge</a> · <a href=\"https://profiles.wordpress.org/websiteredev/\">Michael Willman</a> · <a href=\"https://profiles.wordpress.org/czapla/\">Michal Czaplinski</a> · <a href=\"https://profiles.wordpress.org/michelleames/\">Michelle Frechette</a> · <a href=\"https://profiles.wordpress.org/marktimemedia/\">Michelle Schulp Hunt</a> · <a href=\"https://profiles.wordpress.org/micromadness/\">micromadness</a> · <a href=\"https://profiles.wordpress.org/mcsf/\">Miguel Fonseca</a> · <a href=\"https://profiles.wordpress.org/mmtr86/\">Miguel Torres</a> · <a href=\"https://profiles.wordpress.org/mijotj/\">Mijo T J</a> · <a href=\"https://profiles.wordpress.org/simison/\">Mikael Korpela</a> · <a href=\"https://profiles.wordpress.org/mbijon/\">Mike Bijon</a> · <a href=\"https://profiles.wordpress.org/ritterml/\">Mike Ritter</a> · <a href=\"https://profiles.wordpress.org/mikinc860/\">Mikin Chauhan</a> · <a href=\"https://profiles.wordpress.org/milana_cap/\">Milana Cap</a> · <a href=\"https://profiles.wordpress.org/milindmore22/\">Milind More</a> · <a href=\"https://profiles.wordpress.org/mimitips/\">mimi</a> · <a href=\"https://profiles.wordpress.org/369work/\">miroku</a> · <a href=\"https://profiles.wordpress.org/presstoke/\">Mitchell Austin</a> · <a href=\"https://profiles.wordpress.org/modi2918/\">Modi Sahil</a> · <a href=\"https://profiles.wordpress.org/antwortzeit/\">modulbuero</a> · <a href=\"https://profiles.wordpress.org/aboelfotoh/\">Mohamed Aboelfotoh Mohamed</a> · <a href=\"https://profiles.wordpress.org/mohitdadhich10/\">Mohit Dadhich</a> · <a href=\"https://profiles.wordpress.org/mojorob/\">mojorob</a> · <a href=\"https://profiles.wordpress.org/jucaduca/\">Morais Junior</a> · <a href=\"https://profiles.wordpress.org/mosescursor/\">Moses Cursor Ssebunya</a> · <a href=\"https://profiles.wordpress.org/mosne/\">Mosne / Paolo Tesei</a> · <a href=\"https://profiles.wordpress.org/mr660/\">mr660</a> · <a href=\"https://profiles.wordpress.org/mreishus/\">mreishus</a> · <a href=\"https://profiles.wordpress.org/mrunalkulkarni/\">mrunalkulkarni</a> · <a href=\"https://profiles.wordpress.org/mrwweb/\">mrwweb</a> · <a href=\"https://profiles.wordpress.org/mtdkei/\">mt</a> · <a href=\"https://profiles.wordpress.org/devmuhib/\">Muhibul Haque</a> · <a href=\"https://profiles.wordpress.org/mujuonly/\">mujuonly</a> · <a href=\"https://profiles.wordpress.org/mukesh27/\">Mukesh Panchal</a> · <a href=\"https://profiles.wordpress.org/mukulsingh27/\">Mukul Singh</a> · <a href=\"https://profiles.wordpress.org/my1xt/\">My1</a> · <a href=\"https://profiles.wordpress.org/n8finch/\">n8finch</a> · <a href=\"https://profiles.wordpress.org/assassinateur/\">Nadir Seghir</a> · <a href=\"https://profiles.wordpress.org/nandow/\">nandow</a> · <a href=\"https://profiles.wordpress.org/nanisamireddy/\">NANI SAMIREDDY</a> · <a href=\"https://profiles.wordpress.org/narenin/\">Narendra Sishodiya</a> · <a href=\"https://profiles.wordpress.org/nareshbheda/\">Naresh Bheda</a> · <a href=\"https://profiles.wordpress.org/muddassirnasim/\">Nasim Miah</a> · <a href=\"https://profiles.wordpress.org/nataliat2004/\">Natalia T</a> · <a href=\"https://profiles.wordpress.org/nathanatmoz/\">Nathan Johnson</a> · <a href=\"https://profiles.wordpress.org/navneet/\">navneet</a> · <a href=\"https://profiles.wordpress.org/navi161/\">Navneet Kaur</a> · <a href=\"https://profiles.wordpress.org/nhrrob/\">Nazmul Hasan Robin</a> · <a href=\"https://profiles.wordpress.org/greatislander/\">Ned Zimmerman</a> · <a href=\"https://profiles.wordpress.org/neotrope/\">neotrope</a> · <a href=\"https://profiles.wordpress.org/mcqueen22/\">NerQuiles</a> · <a href=\"https://profiles.wordpress.org/krstarica/\">net</a> · <a href=\"https://profiles.wordpress.org/ndiego/\">Nick Diego</a> · <a href=\"https://profiles.wordpress.org/nickgalvez/\">nickgalvez</a> · <a href=\"https://profiles.wordpress.org/nickwilmot/\">nickwilmot</a> · <a href=\"https://profiles.wordpress.org/undefinedfr/\">Nicolas RIVIERE</a> · <a href=\"https://profiles.wordpress.org/nicolasleroy/\">nicolasleroy</a> · <a href=\"https://profiles.wordpress.org/nidhidhandhukiya/\">nidhidhandhukiya</a> · <a href=\"https://profiles.wordpress.org/ntsekouras/\">Nik Tsekouras</a> · <a href=\"https://profiles.wordpress.org/smushytaco/\">Nikan Radan</a> · <a href=\"https://profiles.wordpress.org/nikitasolanki1812/\">Nikita Solanki</a> · <a href=\"https://profiles.wordpress.org/nikunj8866/\">Nikunj Hatkar</a> · <a href=\"https://profiles.wordpress.org/snilesh/\">Nilesh Shiragave</a> · <a href=\"https://profiles.wordpress.org/nirajgirixd/\">Niraj Giri</a> · <a href=\"https://profiles.wordpress.org/nithins53/\">Nithin SreeRaj</a> · <a href=\"https://profiles.wordpress.org/mrtortai/\">Noam Eppel</a> · <a href=\"https://profiles.wordpress.org/othernoel/\">Noel Santos</a> · <a href=\"https://profiles.wordpress.org/noruzzaman/\">Noruzzaman</a> · <a href=\"https://profiles.wordpress.org/nosilver4u/\">nosilver4u</a> · <a href=\"https://profiles.wordpress.org/oceantober/\">oceantober</a> · <a href=\"https://profiles.wordpress.org/finalwebsites/\">Olaf Lederer</a> · <a href=\"https://profiles.wordpress.org/oglekler/\">Olga Gleckler</a> · <a href=\"https://profiles.wordpress.org/domainsupport/\">Oliver Campion</a> · <a href=\"https://profiles.wordpress.org/jbkkd/\">Omer Korner</a> · <a href=\"https://profiles.wordpress.org/arzola/\">Oscar Arzola</a> · <a href=\"https://profiles.wordpress.org/groenroos/\">Oskari Groenroos</a> · <a href=\"https://profiles.wordpress.org/ov3rfly/\">Ov3rfly</a> · <a href=\"https://profiles.wordpress.org/paaljoachim/\">Paal Joachim Romdahl</a> · <a href=\"https://profiles.wordpress.org/pampfelimetten/\">pampfelimetten</a> · <a href=\"https://profiles.wordpress.org/parinpanjari/\">Parin Panjari</a> · <a href=\"https://profiles.wordpress.org/dparthj/\">Parth Dodiya</a> · <a href=\"https://profiles.wordpress.org/parthvataliya/\">Parth vataliya</a> · <a href=\"https://profiles.wordpress.org/swissspidy/\">Pascal Birchler</a> · <a href=\"https://profiles.wordpress.org/casiepa/\">Pascal Casier</a> · <a href=\"https://profiles.wordpress.org/pateljaymin/\">Patel Jaymin</a> · <a href=\"https://profiles.wordpress.org/patricia70/\">Patricia BT</a> · <a href=\"https://profiles.wordpress.org/lumiblog/\">Patrick Lumumba</a> · <a href=\"https://profiles.wordpress.org/eartboard/\">Paul</a> · <a href=\"https://profiles.wordpress.org/pbearne/\">Paul Bearne</a> · <a href=\"https://profiles.wordpress.org/pbiron/\">Paul Biron</a> · <a href=\"https://profiles.wordpress.org/bbpaule/\">Paul English</a> · <a href=\"https://profiles.wordpress.org/paulkevan/\">Paul Kevan</a> · <a href=\"https://profiles.wordpress.org/paullb/\">paullb</a> · <a href=\"https://profiles.wordpress.org/psrpinto/\">Paulo Pinto</a> · <a href=\"https://profiles.wordpress.org/paulopmt1/\">Paulo Trentin</a> · <a href=\"https://profiles.wordpress.org/pavanpatil1/\">Pavan Patil</a> · <a href=\"https://profiles.wordpress.org/creadordev/\">Pawan Kumar</a> · <a href=\"https://profiles.wordpress.org/pedromendonca/\">Pedro Mendon&#231;a</a> · <a href=\"https://profiles.wordpress.org/provenself/\">Peter Rubin</a> · <a href=\"https://profiles.wordpress.org/westi/\">Peter Westwood</a> · <a href=\"https://profiles.wordpress.org/peterwilsoncc/\">Peter Wilson</a> · <a href=\"https://profiles.wordpress.org/peter8nss/\">peter8nss</a> · <a href=\"https://profiles.wordpress.org/peterdavehello/\">peterdavehello</a> · <a href=\"https://profiles.wordpress.org/petitphp/\">petitphp</a> · <a href=\"https://profiles.wordpress.org/philliproth/\">philliproth</a> · <a href=\"https://profiles.wordpress.org/philwebs/\">philwebs</a> · <a href=\"https://profiles.wordpress.org/pitamdey/\">Pitam Dey</a> · <a href=\"https://profiles.wordpress.org/pixlpirate/\">pixlpirate</a> · <a href=\"https://profiles.wordpress.org/podpirate/\">podpirate</a> · <a href=\"https://profiles.wordpress.org/poojabhimani/\">Pooja Bhimani</a> · <a href=\"https://profiles.wordpress.org/pooja1210/\">Pooja Killekar (Muchandikar)</a> · <a href=\"https://profiles.wordpress.org/pooja9712/\">pooja9712</a> · <a href=\"https://profiles.wordpress.org/praful2111/\">Praful Patel</a> · <a href=\"https://profiles.wordpress.org/prasadkarmalkar/\">Prasad Karmalkar</a> · <a href=\"https://profiles.wordpress.org/prashant/\">prashant</a> · <a href=\"https://profiles.wordpress.org/pmbaldha/\">Prashant Baldha</a> · <a href=\"https://profiles.wordpress.org/contactprashantpp/\">Prashant Patil</a> · <a href=\"https://profiles.wordpress.org/prathamesh24/\">Prathamesh Shirke</a> · <a href=\"https://profiles.wordpress.org/prathameshbhagat1511/\">prathameshbhagat1511</a> · <a href=\"https://profiles.wordpress.org/pkbhatt/\">Pratik Bhatt</a> · <a href=\"https://profiles.wordpress.org/pratikgandhi/\">Pratik Gandhi</a> · <a href=\"https://profiles.wordpress.org/pratiklondhe/\">Pratik Londhe</a> · <a href=\"https://profiles.wordpress.org/presskopp/\">Presskopp</a> · <a href=\"https://profiles.wordpress.org/digitalpritam/\">Pritam Sonone</a> · <a href=\"https://profiles.wordpress.org/priyank9033/\">Priyank Vadhavana</a> · <a href=\"https://profiles.wordpress.org/pushpenderindia/\">Pushpender Singh</a> · <a href=\"https://profiles.wordpress.org/itsjonq/\">Q</a> · <a href=\"https://profiles.wordpress.org/qhaensler/\">qhaensler</a> · <a href=\"https://profiles.wordpress.org/rfischmann/\">Rafael Fischmann</a> · <a href=\"https://profiles.wordpress.org/rahulsprajapati/\">Rahul Prajapati</a> · <a href=\"https://profiles.wordpress.org/imrraaj/\">Raj Patel</a> · <a href=\"https://profiles.wordpress.org/rajat1192/\">Rajat Patel</a> · <a href=\"https://profiles.wordpress.org/raj198/\">Rajendra Patel</a> · <a href=\"https://profiles.wordpress.org/rajendrapatilraj/\">Rajendra Patil</a> · <a href=\"https://profiles.wordpress.org/rkradadiya/\">Rajesh Radadiya</a> · <a href=\"https://profiles.wordpress.org/rajeshrathodwp/\">Rajesh Rathod</a> · <a href=\"https://profiles.wordpress.org/rajinsharwar/\">Rajin Sharwar</a> · <a href=\"https://profiles.wordpress.org/rahmohn/\">Ramon Ahnert</a> · <a href=\"https://profiles.wordpress.org/rcorrales/\">Ramon Corrales</a> · <a href=\"https://profiles.wordpress.org/ramonopoly/\">Ramon James</a> · <a href=\"https://profiles.wordpress.org/ravigadhiyawp/\">Ravi Gadhiya</a> · <a href=\"https://profiles.wordpress.org/redkite/\">redkite</a> · <a href=\"https://profiles.wordpress.org/rehanali/\">Rehan Ali</a> · <a href=\"https://profiles.wordpress.org/rejaulalomkhan/\">Rejaul Alom Khan</a> · <a href=\"https://profiles.wordpress.org/rembem/\">Remco</a> · <a href=\"https://profiles.wordpress.org/renathoc/\">Renatho</a> · <a href=\"https://profiles.wordpress.org/ooraiser69/\">Renz Jay Sanchez</a> · <a href=\"https://profiles.wordpress.org/youknowriad/\">Riad Benguella</a> · <a href=\"https://profiles.wordpress.org/richtabor/\">Rich Tabor</a> · <a href=\"https://profiles.wordpress.org/riddhidave/\">Riddhi Dave</a> · <a href=\"https://profiles.wordpress.org/rinkalpagdar/\">Rinkal Pagdar</a> · <a href=\"https://profiles.wordpress.org/rishavdutta/\">Rishav Dutta</a> · <a href=\"https://profiles.wordpress.org/rcreators/\">Rishi Mehta</a> · <a href=\"https://profiles.wordpress.org/rishishah/\">Rishi Shah</a> · <a href=\"https://profiles.wordpress.org/rishit30g/\">Rishit Gupta</a> · <a href=\"https://profiles.wordpress.org/rkyburz/\">rkyburz</a> · <a href=\"https://profiles.wordpress.org/noisysocks/\">Robert Anderson</a> · <a href=\"https://profiles.wordpress.org/miqrogroove/\">Robert Chapin</a> · <a href=\"https://profiles.wordpress.org/robertghetau/\">Robert Ghetau</a> · <a href=\"https://profiles.wordpress.org/harmr/\">Robert Seyfriedsberger</a> · <a href=\"https://profiles.wordpress.org/robertstaddon/\">robertstaddon</a> · <a href=\"https://profiles.wordpress.org/robinmartijn/\">Robin Martijn</a> · <a href=\"https://profiles.wordpress.org/kreppar/\">Rodrigo Arias</a> · <a href=\"https://profiles.wordpress.org/rodrigosprimo/\">Rodrigo Primo</a> · <a href=\"https://profiles.wordpress.org/rogierlankhorst/\">Rogier Lankhorst</a> · <a href=\"https://profiles.wordpress.org/geekofshire/\">Rohan Jha</a> · <a href=\"https://profiles.wordpress.org/rohitmathur7/\">rohitmathur7</a> · <a href=\"https://profiles.wordpress.org/rohjay/\">rohjay</a> · <a href=\"https://profiles.wordpress.org/room34/\">room34</a> · <a href=\"https://profiles.wordpress.org/rotemg/\">Rotem Gelbart</a> · <a href=\"https://profiles.wordpress.org/lev0/\">Roy Orbitson</a> · <a href=\"https://profiles.wordpress.org/roytanck/\">Roy Tanck</a> · <a href=\"https://profiles.wordpress.org/roybellingan/\">roybellingan</a> · <a href=\"https://profiles.wordpress.org/ruchirj/\">Ruchir Goswami</a> · <a href=\"https://profiles.wordpress.org/rudrakshigupta/\">Rudrakshi Gupta</a> · <a href=\"https://profiles.wordpress.org/rupesh5438/\">Rupesh Patil</a> · <a href=\"https://profiles.wordpress.org/rupw/\">rupw</a> · <a href=\"https://profiles.wordpress.org/ruturajraval2305/\">Ruturaj Raval</a> · <a href=\"https://profiles.wordpress.org/rvoigt/\">rvoigt</a> · <a href=\"https://profiles.wordpress.org/bookdude13/\">Ryan Fredlund</a> · <a href=\"https://profiles.wordpress.org/ryanhellyer/\">Ryan Hellyer</a> · <a href=\"https://profiles.wordpress.org/rmccue/\">Ryan McCue</a> · <a href=\"https://profiles.wordpress.org/welcher/\">Ryan Welcher</a> · <a href=\"https://profiles.wordpress.org/looswebstudio/\">Ryo</a> · <a href=\"https://profiles.wordpress.org/sppramodh/\">S P Pramodh</a> · <a href=\"https://profiles.wordpress.org/sebastienserre/\">S&#233;bastien SERRE</a> · <a href=\"https://profiles.wordpress.org/sergiomdgomes/\">S&#233;rgio Gomes</a> · <a href=\"https://profiles.wordpress.org/soean/\">S&#246;ren W&#252;nsch</a> · <a href=\"https://profiles.wordpress.org/sabbir1991/\">Sabbir Ahmed</a> · <a href=\"https://profiles.wordpress.org/sabrineg/\">sabrineg</a> · <a href=\"https://profiles.wordpress.org/isaeedam/\">Saeed Piri</a> · <a href=\"https://profiles.wordpress.org/sagarlakhani/\">Sagar Lakhani</a> · <a href=\"https://profiles.wordpress.org/sagarprajapati/\">Sagar Prajapati</a> · <a href=\"https://profiles.wordpress.org/mi5t4n/\">Sagar Tamang</a> · <a href=\"https://profiles.wordpress.org/sailpete/\">sailpete</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/sallyruchman/\">sally</a> · <a href=\"https://profiles.wordpress.org/samiamnot/\">samiamnot</a> · <a href=\"https://profiles.wordpress.org/viralsampat/\">Sampat Viral</a> · <a href=\"https://profiles.wordpress.org/ranafge/\">Samsul Islam Rana</a> · <a href=\"https://profiles.wordpress.org/otto42/\">Samuel Wood (Otto)</a> · <a href=\"https://profiles.wordpress.org/codexdemon/\">Sanyogg Shelar</a> · <a href=\"https://profiles.wordpress.org/mikachan/\">Sarah Norris</a> · <a href=\"https://profiles.wordpress.org/sarathar/\">Sarath AR</a> · <a href=\"https://profiles.wordpress.org/sarthaknagoshe2002/\">Sarthak Nagoshe</a> · <a href=\"https://profiles.wordpress.org/sathyapulse/\">Sathiya Venkatesan</a> · <a href=\"https://profiles.wordpress.org/sfougnier/\">Saul Fougnier</a> · <a href=\"https://profiles.wordpress.org/saurabhdhariwal/\">saurabh.dhariwal</a> · <a href=\"https://profiles.wordpress.org/saxonafletcher/\">Saxon Fletcher</a> · <a href=\"https://profiles.wordpress.org/infosatech/\">Sayan Datta</a> · <a href=\"https://profiles.wordpress.org/sayedulsayem/\">Sayedul Sayem</a> · <a href=\"https://profiles.wordpress.org/sbathompson/\">sbathompson</a> · <a href=\"https://profiles.wordpress.org/paragoninitiativeenterprises/\">Scott Arciszewski</a> · <a href=\"https://profiles.wordpress.org/sc0ttkclark/\">Scott Kingsley Clark</a> · <a href=\"https://profiles.wordpress.org/coffee2code/\">Scott Reilly</a> · <a href=\"https://profiles.wordpress.org/scribu/\">scribu</a> · <a href=\"https://profiles.wordpress.org/sean212/\">Sean Fisher</a> · <a href=\"https://profiles.wordpress.org/seanlanglands/\">seanlanglands</a> · <a href=\"https://profiles.wordpress.org/sebastianpisula/\">Sebastian Pisula</a> · <a href=\"https://profiles.wordpress.org/seifradwane/\">Seif Radwane</a> · <a href=\"https://profiles.wordpress.org/sergeybiryukov/\">Sergey Biryukov</a> · <a href=\"https://profiles.wordpress.org/sergiogutierrez/\">sergiogutierrez</a> · <a href=\"https://profiles.wordpress.org/smrubenstein/\">Seth Rubenstein</a> · <a href=\"https://profiles.wordpress.org/severinepozzo/\">Severine Pozzo</a> · <a href=\"https://profiles.wordpress.org/shadialaghbari/\">Shadi G شادي جـ</a> · <a href=\"https://profiles.wordpress.org/shailu25/\">Shail Mehta</a> · <a href=\"https://profiles.wordpress.org/sh4lin/\">Shalin Shah</a> · <a href=\"https://profiles.wordpress.org/shanemuir/\">Shane Muirhead</a> · <a href=\"https://profiles.wordpress.org/spdft/\">Shoe</a> · <a href=\"https://profiles.wordpress.org/shraddhagore/\">Shraddha Gore</a> · <a href=\"https://profiles.wordpress.org/shreyashd21/\">shreyashd21</a> · <a href=\"https://profiles.wordpress.org/shub07/\">Shubham Kumar Bansal</a> · <a href=\"https://profiles.wordpress.org/iamshubhamsp/\">Shubham Patil</a> · <a href=\"https://profiles.wordpress.org/shulard/\">shulard</a> · <a href=\"https://profiles.wordpress.org/shyamkariya/\">Shyam Kariya</a> · <a href=\"https://profiles.wordpress.org/nomnom99/\">Siddharth Thevaril</a> · <a href=\"https://profiles.wordpress.org/siliconforks/\">siliconforks</a> · <a href=\"https://profiles.wordpress.org/simo_m/\">Simone Maranzana</a> · <a href=\"https://profiles.wordpress.org/sirlouen/\">SirLouen</a> · <a href=\"https://profiles.wordpress.org/sjefen6/\">sjefen6</a> · <a href=\"https://profiles.wordpress.org/slaffik/\">Slava Abakumov</a> · <a href=\"https://profiles.wordpress.org/mslavco/\">Slavco Mihajloski</a> · <a href=\"https://profiles.wordpress.org/smerriman/\">smerriman</a> · <a href=\"https://profiles.wordpress.org/snehapatil02/\">Sneha Patil</a> · <a href=\"https://profiles.wordpress.org/snehal5774/\">snehal5774</a> · <a href=\"https://profiles.wordpress.org/sohamjoshi8275/\">Soham sham joshi</a> · <a href=\"https://profiles.wordpress.org/sourabhjain/\">Sourabh Jain</a> · <a href=\"https://profiles.wordpress.org/sourav08/\">Sourav Pahwa</a> · <a href=\"https://profiles.wordpress.org/soyebsalar/\">soyeb salar</a> · <a href=\"https://profiles.wordpress.org/spencerfinnell/\">Spencer Finnell</a> · <a href=\"https://profiles.wordpress.org/spenserhale/\">Spenser Hale</a> · <a href=\"https://profiles.wordpress.org/spmultidots/\">spmultidots</a> · <a href=\"https://profiles.wordpress.org/spncr/\">spncr</a> · <a href=\"https://profiles.wordpress.org/srikat/\">Sridhar Katakam</a> · <a href=\"https://profiles.wordpress.org/stefahn/\">Stefan Seidner-Britting</a> · <a href=\"https://profiles.wordpress.org/ryokuhi/\">Stefano Minoia</a> · <a href=\"https://profiles.wordpress.org/stein2nd/\">stein2nd</a> · <a href=\"https://profiles.wordpress.org/sabernhardt/\">Stephen Bernhardt</a> · <a href=\"https://profiles.wordpress.org/netweb/\">Stephen Edgar</a> · <a href=\"https://profiles.wordpress.org/dufresnesteven/\">Steve Dufresne</a> · <a href=\"https://profiles.wordpress.org/stimul/\">stimul</a> · <a href=\"https://profiles.wordpress.org/strarsis/\">strarsis</a> · <a href=\"https://profiles.wordpress.org/stuartmcalpine/\">Stuart McAlpine</a> · <a href=\"https://profiles.wordpress.org/subodhrajpopat/\">Subodh Rajpopat</a> · <a href=\"https://profiles.wordpress.org/subrataemfluence/\">Subrata Sarkar</a> · <a href=\"https://profiles.wordpress.org/sketchboy/\">SUHAS SUTAR</a> · <a href=\"https://profiles.wordpress.org/sukhendu2002/\">Sukhendu Sekhar Guria</a> · <a href=\"https://profiles.wordpress.org/sumitbagthariya16/\">Sumit Bagthariya</a> · <a href=\"https://profiles.wordpress.org/sumitsingh/\">Sumit Singh</a> · <a href=\"https://profiles.wordpress.org/csesumonpro/\">Sumon Sarker</a> · <a href=\"https://profiles.wordpress.org/sunil25393/\">SunilPrajapati</a> · <a href=\"https://profiles.wordpress.org/surajswalstar/\">Suraj Sutar</a> · <a href=\"https://profiles.wordpress.org/swalkinshaw/\">swalkinshaw</a> · <a href=\"https://profiles.wordpress.org/cybr/\">Sybre Waaijer</a> · <a href=\"https://profiles.wordpress.org/synchro/\">Synchro</a> · <a href=\"https://profiles.wordpress.org/tschwarz-1/\">t.schwarz</a> · <a href=\"https://profiles.wordpress.org/tacoverdo/\">Taco Verdonschot</a> · <a href=\"https://profiles.wordpress.org/gonom9/\">Taegon Kim</a> · <a href=\"https://profiles.wordpress.org/iamtakashi/\">Takashi Irie</a> · <a href=\"https://profiles.wordpress.org/inc2734/\">Takashi Kitajima</a> · <a href=\"https://profiles.wordpress.org/takayukister/\">Takayuki Miyoshi</a> · <a href=\"https://profiles.wordpress.org/takuword/\">Takuro</a> · <a href=\"https://profiles.wordpress.org/karmatosed/\">Tammie Lister</a> · <a href=\"https://profiles.wordpress.org/devtanbir/\">Tanbir Ahmod</a> · <a href=\"https://profiles.wordpress.org/voboghure/\">Tapan Kumer Das</a> · <a href=\"https://profiles.wordpress.org/th23/\">th23</a> · <a href=\"https://profiles.wordpress.org/thakordarshil/\">Thakor Darshil</a> · <a href=\"https://profiles.wordpress.org/thelmachido/\">thelmachido a11n</a> · <a href=\"https://profiles.wordpress.org/themebeans/\">ThemeBeans</a> · <a href=\"https://profiles.wordpress.org/thomaswm/\">thomaswm</a> · <a href=\"https://profiles.wordpress.org/threadi/\">threadi</a> · <a href=\"https://profiles.wordpress.org/thrijith/\">Thrijith Thankachan</a> · <a href=\"https://profiles.wordpress.org/tiagogoncalves/\">tiago</a> · <a href=\"https://profiles.wordpress.org/tigriweb/\">TigriWeb</a> · <a href=\"https://profiles.wordpress.org/tillkruess/\">Till Kr&#252;ss</a> · <a href=\"https://profiles.wordpress.org/tb1909/\">Tim Brath&#228;rig</a> · <a href=\"https://profiles.wordpress.org/dontfeedthecode/\">Tim Sheehan</a> · <a href=\"https://profiles.wordpress.org/timwhitlock/\">Tim W</a> · <a href=\"https://profiles.wordpress.org/sippis/\">Timi Wahalahti</a> · <a href=\"https://profiles.wordpress.org/spaceshipone/\">Timoth&#233;e Brosille</a> · <a href=\"https://profiles.wordpress.org/timothyblynjacobs/\">Timothy Jacobs</a> · <a href=\"https://profiles.wordpress.org/tkama/\">Timur Kamaev</a> · <a href=\"https://profiles.wordpress.org/tirth03/\">Tirth Doshi</a> · <a href=\"https://profiles.wordpress.org/tjarrett/\">TJarrett</a> · <a href=\"https://profiles.wordpress.org/tobiasbg/\">Tobias B&#228;thge</a> · <a href=\"https://profiles.wordpress.org/tobifjellner/\">tobifjellner (Tor-Bjorn &#8220;Tobi&#8221; Fjellner)</a> · <a href=\"https://profiles.wordpress.org/tgsrvrs/\">Tom Gugel</a> · <a href=\"https://profiles.wordpress.org/tommusrhodus/\">Tom Rhodes</a> · <a href=\"https://profiles.wordpress.org/shimotomoki/\">Tomoki Shimomura</a> · <a href=\"https://profiles.wordpress.org/skithund/\">Toni Viemer&#246;</a> · <a href=\"https://profiles.wordpress.org/hellofromtonya/\">Tonya Mork</a> · <a href=\"https://profiles.wordpress.org/toro_unit/\">Toro_Unit (Hiroshi Urabe)</a> · <a href=\"https://profiles.wordpress.org/zodiac1978/\">Torsten Landsiedel</a> · <a href=\"https://profiles.wordpress.org/tropicalista/\">tropicalista</a> · <a href=\"https://profiles.wordpress.org/areziaal/\">Troy Chaplin</a> · <a href=\"https://profiles.wordpress.org/truptikanzariya/\">Trupti Kanzariya</a> · <a href=\"https://profiles.wordpress.org/trushaamin/\">Trusha</a> · <a href=\"https://profiles.wordpress.org/tunetheweb/\">tunetheweb</a> · <a href=\"https://profiles.wordpress.org/dinhtungdu/\">Tung Du</a> · <a href=\"https://profiles.wordpress.org/tusharaddweb/\">Tushar Patel</a> · <a href=\"https://profiles.wordpress.org/tyb/\">TyB</a> · <a href=\"https://profiles.wordpress.org/tysonlmao/\">tysonlmao</a> · <a href=\"https://profiles.wordpress.org/ugyensupport/\">Ugyen Dorji</a> · <a href=\"https://profiles.wordpress.org/umeshsinghin/\">Umesh Singh</a> · <a href=\"https://profiles.wordpress.org/unsalkorkmaz/\">Unsal Korkmaz</a> · <a href=\"https://profiles.wordpress.org/up1512001/\">up1512001</a> · <a href=\"https://profiles.wordpress.org/upadalavipul/\">upadalavipul</a> · <a href=\"https://profiles.wordpress.org/utrenkner/\">utrenkner</a> · <a href=\"https://profiles.wordpress.org/eboxnet/\">Vagelis</a> · <a href=\"https://profiles.wordpress.org/vaibhavsweb/\">Vaibhav Singh Web</a> · <a href=\"https://profiles.wordpress.org/vaibhav2527/\">Vaibhav Tukaram Nawale</a> · <a href=\"https://profiles.wordpress.org/valer1e/\">Val&#233;rie Galassi</a> · <a href=\"https://profiles.wordpress.org/twvania/\">Vania</a> · <a href=\"https://profiles.wordpress.org/okvee/\">vee</a> · <a href=\"https://profiles.wordpress.org/vevas/\">Vegard S.</a> · <a href=\"https://profiles.wordpress.org/vgnavada/\">vgnavada</a> · <a href=\"https://profiles.wordpress.org/vcanales/\">Vicente Canales</a> · <a href=\"https://profiles.wordpress.org/fylgjur/\">Victoria - a11n</a> · <a href=\"https://profiles.wordpress.org/gvgvgvijayan/\">Vijayan</a> · <a href=\"https://profiles.wordpress.org/vijaysinh9094/\">Vijaysinh Zala</a> · <a href=\"https://profiles.wordpress.org/vikrampm/\">Vikram</a> · <a href=\"https://profiles.wordpress.org/szepeviktor/\">Viktor Sz&#233;pe</a> · <a href=\"https://profiles.wordpress.org/vineet2003/\">Vinit</a> · <a href=\"https://profiles.wordpress.org/vipulgupta003/\">Vipul Gupta</a> · <a href=\"https://profiles.wordpress.org/vipulpatil/\">Vipul Patil</a> · <a href=\"https://profiles.wordpress.org/virgildia/\">Virgildia</a> · <a href=\"https://profiles.wordpress.org/virgar/\">Virginie Garnier</a> · <a href=\"https://profiles.wordpress.org/virginienacci/\">virginienacci</a> · <a href=\"https://profiles.wordpress.org/vishy-moghan/\">Vishy Moghan</a> · <a href=\"https://profiles.wordpress.org/vivekawsm/\">vivekawsm</a> · <a href=\"https://profiles.wordpress.org/vrishabhsk/\">Vrishabh Jasani</a> · <a href=\"https://profiles.wordpress.org/vykesmac/\">vykesmac</a> · <a href=\"https://profiles.wordpress.org/wadowad/\">wadowad</a> · <a href=\"https://profiles.wordpress.org/pctevree/\">Web-Pepper</a> · <a href=\"https://profiles.wordpress.org/webmandesign/\">WebMan Design &#124; Oliver Juhas</a> · <a href=\"https://profiles.wordpress.org/west7/\">Wes Theron</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/skorasaurus/\">Will Skora</a> · <a href=\"https://profiles.wordpress.org/williampatton/\">williampatton</a> · <a href=\"https://profiles.wordpress.org/wongjn/\">wongjn</a> · <a href=\"https://profiles.wordpress.org/worldweb/\">World Web Technology</a> · <a href=\"https://profiles.wordpress.org/wpgerd/\">wpgerd</a> · <a href=\"https://profiles.wordpress.org/wplmillet/\">wplmillet</a> · <a href=\"https://profiles.wordpress.org/wprockstar2/\">wprockstar2</a> · <a href=\"https://profiles.wordpress.org/wwdes/\">wwdes</a> · <a href=\"https://profiles.wordpress.org/xate/\">xate</a> · <a href=\"https://profiles.wordpress.org/xavilc/\">xavilc</a> · <a href=\"https://profiles.wordpress.org/xpurichan/\">xpurichan</a> · <a href=\"https://profiles.wordpress.org/yahil/\">Yahil Madakiya</a> · <a href=\"https://profiles.wordpress.org/yaniiliev/\">Yani</a> · <a href=\"https://profiles.wordpress.org/yashrocz/\">Yash Kukreja</a> · <a href=\"https://profiles.wordpress.org/yellowafterlife/\">yellowafterlife</a> · <a href=\"https://profiles.wordpress.org/yogeshbhutkar/\">Yogesh Bhutkar</a> · <a href=\"https://profiles.wordpress.org/yudhisthirnahar/\">yudhisthirnahar</a> · <a href=\"https://profiles.wordpress.org/fierevere/\">Yui</a> · <a href=\"https://profiles.wordpress.org/yuliyan/\">Yuliyan Slavchev</a> · <a href=\"https://profiles.wordpress.org/omaeyusuke/\">yuu</a> · <a href=\"https://profiles.wordpress.org/zaoyao/\">zaoyao</a> · <a href=\"https://profiles.wordpress.org/zargarov/\">Zargarov</a> · <a href=\"https://profiles.wordpress.org/zebulan/\">Zebulan Stanphill</a> · <a href=\"https://profiles.wordpress.org/zeelthakkar/\">zeelthakkar</a> · <a href=\"https://profiles.wordpress.org/zunaid321/\">Zunaid Amin</a> · <a href=\"https://profiles.wordpress.org/haozi/\">耗子</a></p>\n\n\n\n<p>More than <a href=\"https://translate.wordpress.org/stats/\">60 locales have fully translated</a> WordPress 6.8 into their language making this one of the most translated releases ever on day one.&nbsp; Community translators are working hard to ensure more translations are on their way.&nbsp; Thank you to everyone who helps make WordPress available in 200 languages.</p>\n\n\n\n<p>Last but not least, thanks to the volunteers who contribute to the <a href=\"https://wordpress.org/support/\">support forums</a> by answering questions from WordPress users worldwide.</p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Get involved</strong></h2>\n\n\n\n<p>Participation in WordPress goes far beyond coding. And learning more and getting involved is easy.&nbsp; Discover the teams that come together to <a href=\"https://make.wordpress.org/\">Make WordPress</a> and use <a href=\"https://make.wordpress.org/contribute/\">this interactive tool</a> to help you decide which is right for you.</p>\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:30:\"com-wordpress:feed-additions:1\";a:1:{s:7:\"post-id\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"18701\";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:66:\"\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:4:{s:0:\"\";a:6:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"WordCamp Europe 2025: Sali, Basel!\";s: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://wordpress.org/news/2025/04/wordcamp-europe-2025-sali-basel/\";s: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 Apr 2025 19:16: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:8:\"category\";a:4:{i:0;a:5:{s:4:\"data\";s:6:\"Events\";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:5:{s:4:\"data\";s:8:\"WordCamp\";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:5:{s:4:\"data\";s:4:\"WCEU\";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:5:{s:4:\"data\";s:9:\"WordCamps\";s: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=18683\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}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:411:\"WordCamp Europe 2025 will be held in gorgeous Basel, Switzerland, from June 5 to 7. It will bring together open source enthusiasts, developers, and WordPress professionals from across the region—and the world! This year’s event offers fresh perspectives, engaging conversations, and countless opportunities to connect with the WordPress community, agencies, and innovators over three action-packed [&#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: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:\"\";}}}s:40:\"http://purl.org/rss/1.0/modules/content/\";a:1:{s:7:\"encoded\";a:1:{i:0;a:5:{s:4:\"data\";s:6552:\"\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"390\" src=\"https://i0.wp.com/wordpress.org/news/files/2025/04/473144529_985418666952827_8265761567676487048_n.png?resize=1024%2C390&#038;ssl=1\" alt=\"\" class=\"wp-image-18690\" srcset=\"https://i0.wp.com/wordpress.org/news/files/2025/04/473144529_985418666952827_8265761567676487048_n.png?resize=1024%2C390&amp;ssl=1 1024w, https://i0.wp.com/wordpress.org/news/files/2025/04/473144529_985418666952827_8265761567676487048_n.png?resize=300%2C114&amp;ssl=1 300w, https://i0.wp.com/wordpress.org/news/files/2025/04/473144529_985418666952827_8265761567676487048_n.png?resize=768%2C292&amp;ssl=1 768w, https://i0.wp.com/wordpress.org/news/files/2025/04/473144529_985418666952827_8265761567676487048_n.png?w=1230&amp;ssl=1 1230w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" /></figure>\n\n\n\n<p>WordCamp Europe 2025 will be held in gorgeous Basel, Switzerland, from June 5 to 7. It will bring together open source enthusiasts, developers, and WordPress professionals from across the region—and the world!</p>\n\n\n\n<p>This year’s event offers fresh perspectives, engaging conversations, and countless opportunities to connect with the WordPress community, agencies, and innovators over three action-packed days of learning, networking, and collaboration.</p>\n\n\n\n<div class=\"wp-block-group has-off-white-background-color has-background is-layout-constrained wp-container-core-group-is-layout-8503c47b wp-block-group-is-layout-constrained\">\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"></div>\n\n\n\n<p class=\"has-text-align-center has-large-font-size\"><img src=\"https://s.w.org/images/core/emoji/16.0.1/72x72/1f39f.png\" alt=\"🎟\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\" /> <strong>Tickets are limited—secure yours today!</strong></p>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"></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://europe.wordcamp.org/2025/tickets/\">Get your ticket now</a></div>\n</div>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"></div>\n</div>\n\n\n\n<h2 class=\"wp-block-heading\">Keynotes, panels, and deep dives</h2>\n\n\n\n<p>The main conference, which will be held on June 6th and 7th, will feature <a href=\"https://europe.wordcamp.org/2025/schedule/\">a lineup of notable keynote sessions</a>, including diverse sessions on business strategy and building innovative modern features, open-source advocacy, accessibility, and more. For those looking to sharpen their skills, presentations will dive deep into topics like SEO for WordPress, performance optimization, speed-builds, and leveraging AI.</p>\n\n\n\n<h2 class=\"wp-block-heading\">Q&amp;A Fireside Chat</h2>\n\n\n\n<p>You can join Mary Hubbard, the WordPress Executive Director, and Matt Mullenweg, co-founder of the WordPress project on June 7th to discuss WordPress and its community, followed by an in-person Q&amp;A session here in Basel.</p>\n\n\n\n<h2 class=\"wp-block-heading\">Explore Basel</h2>\n\n\n\n<p>Basel, the third-largest city in Switzerland, <a href=\"https://europe.wordcamp.org/2025/location/\">is filled with historical buildings, a cathedral, museums, and hidden gems</a>! You can get around Basel and experience it yourself using your BaselCard, which allows you to hop on and off all public transportation without a worry. A walk down Basel’s river Rhine could be the perfect evening during your visit to WordCamp Europe!</p>\n\n\n\n<p><img src=\"https://s.w.org/images/core/emoji/16.0.1/72x72/1f6cf.png\" alt=\"🛏\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\" /><a href=\"https://europe.wordcamp.org/2025/location/accommodation/\"> Find accommodations in Basel<br></a><img src=\"https://s.w.org/images/core/emoji/16.0.1/72x72/1f68c.png\" alt=\"🚌\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\" /><a href=\"https://europe.wordcamp.org/2025/location/getting-around-in-basel/\"> Learn about BaselCard benefits<br></a><img src=\"https://s.w.org/images/core/emoji/16.0.1/72x72/1f4c4.png\" alt=\"📄\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\" /><a href=\"https://europe.wordcamp.org/2025/location/visa/\"> Need a visa? Apply by May 10, 2025</a></p>\n\n\n\n<p><img src=\"https://s.w.org/images/core/emoji/16.0.1/72x72/1f4c5.png\" alt=\"📅\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\" /> <strong>Plan Your WordCamp Europe Experience</strong> See the <a href=\"https://europe.wordcamp.org/2025/schedule/\">full schedule</a>, plan your sessions, and maximize your time in Basel.</p>\n\n\n\n<h2 class=\"wp-block-heading\">Get WordCamp-ready</h2>\n\n\n\n<p><img src=\"https://s.w.org/images/core/emoji/16.0.1/72x72/1f39f.png\" alt=\"🎟\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\" /> <strong>Make sure to secure your <a href=\"https://europe.wordcamp.org/2025/tickets/\">WordCamp Europe 2025 tickets</a></strong> (if you haven’t already!)</p>\n\n\n\n<p>Follow WordCamp Europe news on <a href=\"https://bsky.app/profile/wordpress.org\">Bluesky</a>, <a href=\"https://instagram.com/wordpress/\">Instagram</a>, <a href=\"https://www.facebook.com/WordPress\">Facebook</a>, <a href=\"https://www.linkedin.com/company/wordpress/\">LinkedIn</a>, <a href=\"https://www.threads.net/@wordpress\">Threads</a>, <a href=\"https://mastodon.world/@wordpress\">Mastodon</a>, and <a href=\"https://twitter.com/WordPress\">X/Twitter</a> for real-time updates!</p>\n\n\n\n<p>You can also help us spread the word about WordCamp Europe this year! Post about your attendance <a href=\"https://europe.wordcamp.org/2025/press/spread-the-word/\">using our ready-made texts</a> or we also encourage you to use your own voice – you know your community best.</p>\n\n\n\n<p>And as always, be part of the conversation! Whether you’re attending in-person in Basel or following along online, share your experiences using the tags #WCEU and #WordPress on all social media networks!</p>\n\n\n\n<p>Basel is calling—see you at WordCamp Europe 2025! <img src=\"https://s.w.org/images/core/emoji/16.0.1/72x72/1f1e8-1f1ed.png\" alt=\"🇨🇭\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\" /></p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" />\n\n\n\n<p>Thank you to <a href=\"https://profiles.wordpress.org/dolgelukkig/\">@dolgelukkig</a> for drafting this copy.</p>\n\n\n\n<p></p>\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:30:\"com-wordpress:feed-additions:1\";a:1:{s:7:\"post-id\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"18683\";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:69:\"\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:4:{s:0:\"\";a:6:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:33:\"WordPress 6.8 Release Candidate 3\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:69:\"https://wordpress.org/news/2025/04/wordpress-6-8-release-candidate-3/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 08 Apr 2025 15:54:49 +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:8:\"category\";a:5:{i:0;a:5:{s:4:\"data\";s:11:\"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:\"\";}i:1;a:5:{s:4:\"data\";s:8:\"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:\"\";}i:2;a:5:{s:4:\"data\";s:3:\"6-8\";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:5:{s:4:\"data\";s:11:\"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:\"\";}i:4;a:5:{s:4:\"data\";s:8:\"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:35:\"https://wordpress.org/news/?p=18673\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}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:260:\"WordPress 6.8 RC 3 is ready for download and testing! The scheduled final release date for WordPress 6.8 is April 15, 2025. Your help testing over the next week is vital to ensuring the final release is everything it should be: stable, powerful, and intuitive.\";s: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:\"Jeffrey Paul\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:40:\"http://purl.org/rss/1.0/modules/content/\";a:1:{s:7:\"encoded\";a:1:{i:0;a:5:{s:4:\"data\";s:8765:\"\n<p>The third release candidate (“RC3”) for WordPress 6.8 is ready for download and testing!</p>\n\n\n\n<p><strong>This version of the WordPress software is under development</strong>.<strong>&nbsp; Please do not install, run, or test this version of WordPress on production or mission-critical websites.</strong>&nbsp; Instead, it’s recommended that you evaluate RC3 on a test server and site.</p>\n\n\n\n<p>Reaching this phase of the release cycle is an important milestone.&nbsp; While release candidates are considered ready for release, testing remains crucial to ensure that everything in WordPress 6.8 is the best it can be.</p>\n\n\n\n<p>You can test WordPress 6.8 RC3 in four ways:</p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Plugin</strong></td><td>Install and activate the <a href=\"https://wordpress.org/plugins/wordpress-beta-tester/\">WordPress Beta Tester</a> plugin on a WordPress install.&nbsp; (Select the “Bleeding edge” channel and “Beta/RC Only” stream).</td></tr><tr><td><strong>Direct Download</strong></td><td>Download the <a href=\"https://wordpress.org/wordpress-6.8-RC3.zip\">RC3 version (zip)</a> and install it on a WordPress website.</td></tr><tr><td><strong>Command Line</strong></td><td>Use the following <a href=\"https://make.wordpress.org/cli/\">WP-CLI</a> command: <code>wp core update --version=6.8-RC3</code></td></tr><tr><td><strong>WordPress Playground</strong></td><td>Use the <a href=\"https://playground.wordpress.net/?php=8.0&amp;wp=beta&amp;networking=no&amp;language=&amp;multisite=no&amp;random=y4q1rn88xn\">6.8 RC3 WordPress Playground instance</a> (available within 35 minutes after the release is ready) to test the software directly in your browser without the need for a separate site or setup.</td></tr></tbody></table></figure>\n\n\n\n<p>The current target for the WordPress 6.8 release is <strong>April 15, 2025</strong>. Get an overview of the <a href=\"https://make.wordpress.org/core/6-8/\">6.8 release cycle</a>, and check the <a href=\"https://make.wordpress.org/core/\">Make WordPress Core blog</a> for <a href=\"https://make.wordpress.org/core/tag/6-8/\">6.8-related posts</a> leading up to next week’s release for further details.</p>\n\n\n\n<h2 class=\"wp-block-heading\">What’s in WordPress 6.8 RC3?</h2>\n\n\n\n<p>Get a recap of WordPress 6.8’s highlighted features in the <a href=\"https://wordpress.org/news/2025/03/wordpress-6-8-beta-1/\">Beta 1 announcement</a>. For more technical information related to issues addressed since <a href=\"https://wordpress.org/news/2025/04/wordpress-6-8-release-candidate-2/\">RC2</a>, you can browse the following links:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https://github.com/WordPress/gutenberg/commits/wp/6.8?since=2025-04-02&amp;until=2025-04-08\">GitHub commits for 6.8</a> since April 1</li>\n\n\n\n<li><a href=\"https://core.trac.wordpress.org/log/branches/6.8?action=stop_on_copy&amp;mode=stop_on_copy&amp;rev=60145&amp;stop_rev=60125&amp;limit=100&amp;sfp_email=&amp;sfph_mail=\">Changes committed</a> since April 1</li>\n</ul>\n\n\n\n<h2 class=\"wp-block-heading\">How you can contribute</h2>\n\n\n\n<p>WordPress is open source software made possible by a passionate community that collaborates and contributes to its development. The resources below outline various ways you can help the world’s most popular open source web platform, regardless of your technical expertise.</p>\n\n\n\n<h3 class=\"wp-block-heading\">Get involved in testing</h3>\n\n\n\n<p>Testing for issues is critical to ensuring WordPress is performant and stable. It’s also a meaningful way for anyone to contribute. <a href=\"https://make.wordpress.org/test/2025/03/04/help-test-wordpress-6-8/\">This detailed guide</a> will walk you through testing features in WordPress 6.8.&nbsp; For those new to testing, follow <a href=\"https://make.wordpress.org/test/handbook/get-setup-for-testing/\">this general testing guide</a> for more details on getting set up.</p>\n\n\n\n<p>If you encounter an issue, please report it to the <a href=\"https://wordpress.org/support/forum/alphabeta/\">Alpha/Beta area</a> of the support forums or directly to <a href=\"https://core.trac.wordpress.org/newticket\">WordPress Trac</a> if you are comfortable writing a reproducible bug report. You can also check your issue against a list of <a href=\"https://core.trac.wordpress.org/tickets/major\">known bugs</a>.</p>\n\n\n\n<p>Curious about testing releases in general?&nbsp; Follow along with the <a href=\"https://make.wordpress.org/test/\">testing initiatives in Make Core</a> and join the <a href=\"https://wordpress.slack.com/messages/core-test/\">#core-test channel</a> on <a href=\"https://wordpress.slack.com/\">Making WordPress Slack</a>.</p>\n\n\n\n<h3 class=\"wp-block-heading\">Search for vulnerabilities</h3>\n\n\n\n<p>From now until the final release of WordPress 6.8 (scheduled for April 15, 2025), the <a href=\"https://make.wordpress.org/core/handbook/testing/reporting-security-vulnerabilities/#enhanced-bounty-rewards-during-beta-and-release-candidate-phases\">monetary reward for reporting new, unreleased security vulnerabilities</a> is doubled.&nbsp; Please follow responsible disclosure practices as detailed in the project’s security practices and policies outlined on the <a href=\"https://hackerone.com/wordpress\">HackerOne page</a> and in the <a href=\"https://wordpress.org/about/security/\">security white paper</a>.</p>\n\n\n\n<h3 class=\"wp-block-heading\">Update your theme or plugin</h3>\n\n\n\n<p>For plugin and theme authors, your products play an integral role in extending the functionality and value of WordPress for all users.&nbsp; For more details on developer-related changes in 6.8, please review the <a href=\"https://make.wordpress.org/core/2025/03/28/wordpress-6-8-field-guide/\">WordPress 6.8 Field Guide</a>.</p>\n\n\n\n<p>Thanks for continuing to test your themes and plugins with the WordPress 6.8 beta releases.&nbsp; With RC3, you’ll want to conclude your testing and update the <em>“Tested up to”</em> version in your <a href=\"https://developer.wordpress.org/plugins/wordpress-org/how-your-readme-txt-works/\">plugin’s readme file</a> to 6.8.</p>\n\n\n\n<p>If you find compatibility issues, please post detailed information to the <a href=\"https://wordpress.org/support/forum/alphabeta/\">support forum</a>.</p>\n\n\n\n<h3 class=\"wp-block-heading\">Help translate WordPress</h3>\n\n\n\n<p>Do you speak a language other than English?  <bdo lang=\"es\" dir=\"ltr\">¿Español?</bdo>  <bdo lang=\"fr\" dir=\"ltr\">Français?</bdo>  <bdo lang=\"ru\" dir=\"ltr\">Русский?</bdo>  <bdo lang=\"ja\" dir=\"ltr\">日本語?</bdo> <bdo lang=\"hi\" dir=\"ltr\">हिन्दी?</bdo> <bdo lang=\"mr\" dir=\"ltr\">मराठी?</bdo> <bdo lang=\"bn\" dir=\"ltr\">বাংলা?</bdo>  You can <a href=\"https://translate.wordpress.org/projects/wp/dev/\">help translate WordPress into more than 100 languages</a>.</p>\n\n\n\n<h2 class=\"wp-block-heading\">An RC3 haiku</h2>\n\n\n\n<p><em>The launch draws closer,</em><em><br></em><em>Six-eight sings through RC3,</em><em><br></em><em>Almost time to shine.</em></p>\n\n\n\n<p class=\"has-text-align-right\"><em>Thank you to the following contributors for collaborating on this post: <a href=\'https://profiles.wordpress.org/audrasjb/\' class=\'mention\'><span class=\'mentions-prefix\'>@</span>audrasjb</a>, <a href=\'https://profiles.wordpress.org/mamaduka/\' class=\'mention\'><span class=\'mentions-prefix\'>@</span>mamaduka</a>, <a href=\'https://profiles.wordpress.org/krupajnanda/\' class=\'mention\'><span class=\'mentions-prefix\'>@</span>krupajnanda</a>, <a href=\'https://profiles.wordpress.org/benjamin_zekavica/\' class=\'mention\'><span class=\'mentions-prefix\'>@</span>benjamin_zekavica</a>, <a href=\'https://profiles.wordpress.org/narenin/\' class=\'mention\'><span class=\'mentions-prefix\'>@</span>narenin</a>, <a href=\'https://profiles.wordpress.org/joedolson/\' class=\'mention\'><span class=\'mentions-prefix\'>@</span>joedolson</a>, <a href=\'https://profiles.wordpress.org/courane01/\' class=\'mention\'><span class=\'mentions-prefix\'>@</span>courane01</a>, <a href=\'https://profiles.wordpress.org/joemcgill/\' class=\'mention\'><span class=\'mentions-prefix\'>@</span>joemcgill</a>, <a href=\'https://profiles.wordpress.org/marybaum/\' class=\'mention\'><span class=\'mentions-prefix\'>@</span>marybaum</a>, <a href=\'https://profiles.wordpress.org/kmgalanakis/\' class=\'mention\'><span class=\'mentions-prefix\'>@</span>kmgalanakis</a>, <a href=\'https://profiles.wordpress.org/umeshsinghin/\' class=\'mention\'><span class=\'mentions-prefix\'>@</span>umeshsinghin</a>, <a href=\'https://profiles.wordpress.org/wildworks/\' class=\'mention\'><span class=\'mentions-prefix\'>@</span>wildworks</a>, <a href=\'https://profiles.wordpress.org/mkrndmane/\' class=\'mention\'><span class=\'mentions-prefix\'>@</span>mkrndmane</a>.</em></p>\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:30:\"com-wordpress:feed-additions:1\";a:1:{s:7:\"post-id\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"18673\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}}}s:27:\"http://www.w3.org/2005/Atom\";a:1:{s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:0:\"\";s:7:\"attribs\";a:1:{s:0:\"\";a:3:{s:4:\"href\";s:32:\"https://wordpress.org/news/feed/\";s:3:\"rel\";s:4:\"self\";s:4:\"type\";s:19:\"application/rss+xml\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:44:\"http://purl.org/rss/1.0/modules/syndication/\";a:2:{s:12:\"updatePeriod\";a:1:{i:0;a:5:{s:4:\"data\";s:9:\"\n	hourly	\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:15:\"updateFrequency\";a:1:{i:0;a:5:{s:4:\"data\";s:4:\"\n	1	\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:30:\"com-wordpress:feed-additions:1\";a:1:{s:4:\"site\";a:1:{i:0;a:5:{s:4:\"data\";s:8:\"14607090\";s: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:\"type\";i:128;s:7:\"headers\";O:48:\"WpOrg\\Requests\\Utility\\CaseInsensitiveDictionary\":1:{s:7:\"\0*\0data\";a:12:{s:6:\"server\";s:5:\"nginx\";s:4:\"date\";s:29:\"Tue, 01 Jul 2025 13:14:29 GMT\";s:12:\"content-type\";s:34:\"application/rss+xml; charset=UTF-8\";s:4:\"vary\";s:37:\"Accept-Encoding, accept, content-type\";s:25:\"strict-transport-security\";s:12:\"max-age=3600\";s:6:\"x-olaf\";s:3:\"⛄\";s:13:\"last-modified\";s:29:\"Fri, 27 Jun 2025 18:17:09 GMT\";s:4:\"link\";s:63:\"<https://wordpress.org/news/wp-json/>; rel=\"https://api.w.org/\"\";s:15:\"x-frame-options\";s:10:\"SAMEORIGIN\";s:16:\"content-encoding\";s:2:\"br\";s:7:\"alt-svc\";s:19:\"h3=\":443\"; ma=86400\";s:4:\"x-nc\";s:9:\"HIT ord 2\";}}s:5:\"build\";i:1739280794;s:21:\"cache_expiration_time\";i:1751418869;s:23:\"__cache_expiration_time\";i:1751418869;}', 'off');
INSERT INTO `wp_options` (`option_id`, `option_name`, `option_value`, `autoload`) VALUES
(420151, '_transient_timeout_feed_d117b5738fbd35bd8c0391cda1f2b5d9', '1751418869', 'off');
INSERT INTO `wp_options` (`option_id`, `option_name`, `option_value`, `autoload`) VALUES
(420152, '_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:97:\"Open Channels FM: WordPress Community Growth Through Alternative Gatherings and New Event Formats\";s: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=99281\";s: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:104:\"https://openchannels.fm/wordpress-community-growth-through-alternative-gatherings-and-new-event-formats/\";s: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:215:\"This episode of Open Event Talk discusses the significance of non-official WordPress events, emphasizing grassroots initiatives like Alt Ctrl Org that foster inclusive conversations and broaden community engagement.\";s: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, 01 Jul 2025 11:21:43 +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: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:23:\"Matt: Back on The Verge\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:23:\"https://ma.tt/?p=144271\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"https://ma.tt/2025/06/on-the-verge/\";s: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:2063:\"<p>In honor of Automattic&#8217;s 20th anniversary, and also since it&#8217;s <a href=\"https://ma.tt/2022/03/decoder-interview/\">been a few years</a>, <a href=\"https://www.theverge.com/decoder-podcast-with-nilay-patel/693052/automattic-ceo-matt-mullenweg-wordpress-drama-wp-engine-open-source\">I joined Nilay Patel the editor-in-chief of The Verge on their Decoder Podcast</a>. We talked about Tumblr and the Fediverse, how <a href=\"https://automattic.com\">Automattic</a> thinks about Ecosystem and Cosmos sides of the business, Automattic&#8217;s re-organization into cross-business functional teams and leadership, the vision of <a href=\"https://clay.earth\">Clay as a personal CRM</a> and <a href=\"https://www.beeper.com\">Beeper as the super-human messaging app that puts control in the hands of users</a>, <a href=\"https://newspack.com\">Newspack</a>, the future of websites, the obligatory coverage of <a href=\"https://ma.tt/2024/09/wordpress-engine/\">the alleged WP Engine trademark violations</a> and their subsequent preemptive suit, and much more. <a href=\"https://www.theverge.com/decoder-podcast-with-nilay-patel/693052/automattic-ceo-matt-mullenweg-wordpress-drama-wp-engine-open-source\">Please give it a listen! They chose the title “Why Automattic CEO Matt Mullenweg went to war over WordPress.”</a></p>\n\n\n\n<figure class=\"wp-block-embed is-type-rich is-provider-pocket-casts wp-block-embed-pocket-casts\"><div class=\"wp-block-embed__wrapper\">\n\n</div></figure>\n\n\n\n<p>Speaking of Beeper, we’re going to do a fun event for the next-gen version that’s launching on July 16 in New York City in NoHo. I’ll be there along with Beeper CEO <a href=\"https://kishan.org\">Kishan Bagaria</a> and some of the best and brightest in New York’s tech and creative class. If you’re a Beeper early adopter (or would like to be) and want to attend, leave a comment! We’ve held back some invites for cool folks like readers of ma.tt. <img alt=\"🙂\" class=\"wp-smiley\" src=\"https://s.w.org/images/core/emoji/16.0.1/72x72/1f642.png\" style=\"height: 1em;\" /></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, 30 Jun 2025 20:34: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:4:\"Matt\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:2;a:6:{s:4:\"data\";s:21:\"\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:125:\"Open Channels FM: OpenChannels.fm is Proud to Be a Media Partner of The State of the Future AI-Powered Cloud Philippines 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:32:\"https://openchannels.fm/?p=99261\";s: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://openchannels.fm/openchannels-fm-is-proud-to-be-a-media-partner-of-the-state-of-the-future-ai-powered-cloud-philippines-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:318:\"When we were first invited to be a media partner for this event, we were still known as Do the Woo. A lot has changed since then, including our name But what hasn’t changed is our excitement to support conversations that drive real impact in the open tech ecosystem. The Future Is Now—And the Philippines [&#8230;]\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Mon, 30 Jun 2025 08:40:43 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"BobWP\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:3;a:6:{s:4:\"data\";s:21:\"\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:71:\"Felix Arntz: 10 Lessons from 10 Years of Contributing to WordPress Core\";s: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=2156\";s: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://felix-arntz.me/blog/10-lessons-from-10-years-of-contributing-to-wordpress-core/\";s: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:20174:\"<p>Today marks a special anniversary for me: It has been exactly 10 years since I received my first props for a contribution to WordPress Core. And it was just a day before that I actually <em>worked</em> on that first contribution.</p>\n\n\n\n<p>You may know that I am a long-term WordPress Core contributor, having contributed ever since. To celebrate this 10-year milestone, I wanted to reflect on this journey and share the 10 most valuable lessons I learned along the way. But first, let me provide a bit of background about just how I started.</p>\n\n\n\n<span id=\"more-2156\"></span>\n\n\n\n<h2 class=\"wp-block-heading\">How I Started Contributing to WordPress Core</h2>\n\n\n\n<p>It all started at the <a href=\"https://europe.wordcamp.org/2015/\">WordCamp Europe 2015 Contributor Day</a>, an event I still remember fondly as my favorite Contributor Day experience. The atmosphere was incredibly welcoming and productive, largely thanks to the fantastic guidance of <a href=\"https://konstantin.obenland.it/\">Konstantin Obenland</a>, who was the Release Lead for the upcoming WordPress 4.3 release.</p>\n\n\n\n<p>While leading the Core table, he encouraged us to test the new Site Icon feature, which was nearly ready to be committed. I dove in with a few other contributors and started testing various scenarios. I managed to uncover a minor bug that only appeared when JavaScript was disabled in the browser. I worked on a patch to fix it, and a few days later, on June 29, 2015, the feature was <a href=\"https://core.trac.wordpress.org/changeset/32994\">committed to Core with my first props included</a>.</p>\n\n\n\n<p>That first small contribution was the starting point of my long and rewarding journey. After a few more months of occasional contributions, I began contributing heavily in early 2016, focusing on the Multisite component. Over time, my responsibilities increased, eventually running team meetings and becoming a component maintainer. In November 2016, just 17 months after I had started, I was honored to be named a WordPress Core committer. And little did I know, this would be just the first chapter of my ongoing journey as a WordPress Core contributor.</p>\n\n\n\n<p>Becoming a long-term WordPress Core contributor is not an easy task. But in some ways, it’s not as hard as it seems. You may think you need to be an incredible coder, and you may feel imposter syndrome. But that’s just a small part. The most important skills are interpersonal skills such as communication, flexibility, perseverance. To celebrate 10 years of contributing, I’m going to share with you 10 things that helped me in my journey the most.</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"communicate-well\">1. Communicate, and Communicate Well</h2>\n\n\n\n<p>As a good engineer, it is equally important to <strong>discuss and reason about code</strong> as it is to actually write the code. Proactively documenting what you’re doing goes a long way. Some examples:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>If you raise an issue, provide details and include context, including why you think it is a valid issue.</li>\n\n\n\n<li>If you open a pull request, use its description to explain at a high level the relevant technical choices you made in the code you wrote – unless it’s a typo fix of course.</li>\n\n\n\n<li>Unless the code is trivial or you <em>really</em> want to write it just to test whether it works, discuss what you’re proposing first, e.g. in a ticket. Spending hours on writing code that may not get merged can be frustrating. Gathering feedback on your idea from other contributors first will go a long way in avoiding that experience.</li>\n</ul>\n\n\n\n<p>Other than being able to discuss code, it’s equally important to <strong>ask questions</strong>. If you don’t understand the rationale behind a decision, kindly follow up on it. If you’re attending a Slack chat where someone shares something you are missing context on, inquire about it. Every question you ask and every answer you get will grow your understanding of the WordPress project – whether its overarching philosophies, strategic decisions, or deeply technical decisions.</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"assume-good-intent\">2. Assume Good Intent</h2>\n\n\n\n<p>Another important aspect of communication that is worth highlighting separately is to <strong>be respectful</strong>. Be respectful of your fellow contributors, even if you feel they weren’t. If someone disagrees with you or even if a ticket you proposed is closed without an explanation (which should not happen, but it can), don’t get angry. Don’t get defensive. Don’t get arrogant. Remain kind, and follow up. The other person probably didn’t mean any harm.</p>\n\n\n\n<p>Assuming good intent means to keep calm even when your initial reaction tells you not to. Sometimes, a reply that comes across as harsh may be the result of the other contributor lacking the time to reply, which is not necessarily an excuse. Other times, it may be the result of the other contributor being from another culture where communication norms are different to yours. In either scenario, the reply that came across as harsh most likely wasn’t meant to be harsh. If you feel yourself getting defensive or angry, maybe step away and come back later.</p>\n\n\n\n<p>Another way to say this is <strong>don’t take things personally</strong>. Your proposals and code may be rejected, sometimes wrongfully. Either way, this is entirely specific to the problem that you’re trying to solve. It has nothing to do with you as a person or your quality as a developer.</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"be-persistent-as-appropriate\">3. Be Persistent, As Long As Appropriate</h2>\n\n\n\n<p>As I previously mentioned, sometimes another contributor may have feedback or propose something you disagree with. And sometimes, even though that’s not ideal, they don’t provide adequate context – we all make mistakes. If you have taken the time to introspect and ensure your disagreement is valid, <strong>make sure to follow up</strong>. Ask the other contributor to share more context, or lay out clearly why you disagree.</p>\n\n\n\n<p>For example, it’s okay to reopen a ticket that you created when it’s closed but not resolved. Just keep in mind the previous points on communication and self-awareness.</p>\n\n\n\n<p>Sometimes you may be overruled, or a discussion continues back and forth a few too many times with seemingly no noticeable progress. Sometimes us humans, we simply disagree, and that’s okay. Take a moment to think how strongly you think your point is correct. Sometimes, it’s right to keep pushing. Other times, it’s right to give in. <strong>Don’t keep pushing excessively</strong>. It’s important to know when to accept another person’s decision and move on, even when you disagree. Especially in situations where several other Core contributors disagree with your point, think twice. There may be something they understand that you don’t, or you may be proposing something that is not aligned with the <a href=\"https://wordpress.org/about/philosophy/\">WordPress philosophy</a>. Simply remember, you can ask.</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"pay-attention-to-detail\">4. Pay Attention to Detail</h2>\n\n\n\n<p>The previous points primarily focused on communication and introspection. But now let’s talk a bit about code. I’m not going to talk about algorithms or code patterns though. Something that you can try to do, regardless of how experienced you are as a developer, is to pay attention to detail and go the extra mile. Your mindset should be to <strong>get it done </strong><strong><em>right</em></strong><strong>, not quickly</strong>.</p>\n\n\n\n<p>Sloppy code doesn’t get committed to WordPress Core. Some of the important things to look out for is code style, comprehensive inline code documentation and doc blocks, as well as test coverage. Proactively making sure your code is safe, documented, and tested shows that you care and is a great signal of a promising new contributor.</p>\n\n\n\n<p>Similar care is equally important when reviewing other people’s code. Point out when any of the above are lacking or inadequate. Think about edge cases the code may not be catering for yet. Ask questions if you’re unsure. Take the time to <strong>be a thorough reviewer</strong>.</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"think-at-scale\">5. Think at Scale</h2>\n\n\n\n<p>WordPress is not just used by millions of websites, it’s used by over a third of the web. I’m sure you already know that, but it’s crucial to remember that anytime you are thinking about technical solutions. Whenever you want to make a change in WordPress, <strong>consider the entire spectrum of WordPress sites</strong>. I already mentioned to think about edge cases, but here are some more examples for what to keep in mind:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>WordPress can run anywhere – $1000 premium hosting or a Raspberry Pi. Be especially mindful of the lower end here.</li>\n\n\n\n<li>WordPress can be used at any scale – a small business portfolio site with five pages, or a membership site with millions of user-generated posts from thousands of users. Be especially mindful of the higher end here.</li>\n\n\n\n<li>Many WordPress sites do not use an object cache, many are on older technologies, such as outdated versions of PHP or MySQL.</li>\n</ul>\n\n\n\n<p>Another important aspect of thinking at scale is the impact that WordPress has on the rest of the web. WordPress can influence the web to change. A new feature or API in WordPress could lead to other platforms or even browsers considering it. <strong>Use WordPress’s scale responsibly</strong> – it can be a lever for the web as a whole, but make sure you’re only proposing a new feature to be merged into WordPress Core once it is ready for its scale.</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"increase-scope-gradually\">6. Increase Scope Gradually</h2>\n\n\n\n<p>When you first start contributing to WordPress Core, it&#8217;s natural to have big ideas and see opportunities for major improvements, even complete rewrites of certain APIs. However, if you&#8217;re new to the project, <strong>pushing for a massive change or a brand-new feature right away is often going to result in resistance and likely won&#8217;t succeed</strong>. Believe me, I&#8217;ve been there. This can feel frustrating, but it&#8217;s a natural part of how open-source communities function.</p>\n\n\n\n<p>Established contributors need to &#8220;get to know you&#8221; first. They need to assess your expertise, your motivations, your communication style, and your willingness and availability to see complex ideas through to completion. This is simply a human element of collaboration. Your idea might be entirely valid, and you might be the perfect person to execute it. But others won&#8217;t know that until they&#8217;ve had the chance to work with you and observe your contributions over time.</p>\n\n\n\n<p>This doesn&#8217;t mean your valuable ideas will be rejected outright, but you might encounter hesitation or caution. A better approach is to increase your scope gradually. <strong>Start with smaller, more contained contributions: Fix bugs, improve documentation, or address minor enhancements.</strong> This helps you build trust and credibility within the community. Furthermore, by contributing to less complex endeavors first, you&#8217;ll gain additional expertise and a deeper understanding of the intricacies of WordPress Core development. This experience will likely enable you to approach those more complex ideas later with even greater insight and a stronger ability to execute them successfully than you would have had when you were completely new.</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"find-your-niche\">7. Find Your Niche</h2>\n\n\n\n<p>While it&#8217;s a great starting point to contribute to any random issues you find or care about in the beginning, it&#8217;s incredibly valuable to eventually find your niche within WordPress Core. After some initial contributions, ideally you&#8217;ll discover an area that genuinely interests you and where you feel you can make a sustained impact. To give some personal context, for me that initial niche was Multisite, as mentioned earlier. I focused on it largely because I was working with a client with a large Multisite installation at the time and wanted to improve some quirks I was encountering in the foundation. For you, it might be any of the other dozens of WordPress Core components.</p>\n\n\n\n<p>Perhaps it&#8217;s a component you frequently interact with in your own WordPress development work or hobby projects where you&#8217;ve identified opportunities for improvement. <strong>The more practical experience you have with a specific part of WordPress, the more likely you are to contribute valuable enhancements and fixes to it.</strong></p>\n\n\n\n<p>Finding your niche is also important because you simply cannot be an expert in everything. WordPress Core is vast, but there are many specialized areas where dedicated experts are needed, especially where original maintainers have moved on or reduced their contributions. However, at the end of the day, don&#8217;t solely define your niche based on perceived project needs. <strong>Define your niche based on what </strong><strong><em>you</em></strong><strong> truly care about and are passionate about.</strong> This will make your contributions more enjoyable and sustainable in the long run.</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"be-helpful\">8. Be Helpful</h2>\n\n\n\n<p>Contributing to WordPress Core isn&#8217;t just about pushing your own agenda or implementing the features you want to see. A crucial part of being a valuable contributor is actively being helpful to others. <strong>Being proactive and offering assistance demonstrates that you are a team player and a great collaborator</strong>, deeply invested in the project&#8217;s success. It also shows that you&#8217;re willing to take on work that might not be the most exciting for you personally, but is essential for the community as a whole.</p>\n\n\n\n<p>Here are some examples of such activities:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Make an effort to review other contributors’ tickets, discussing ideas and technical approaches beyond your own.</li>\n\n\n\n<li>Provide constructive feedback on pull requests, even if they&#8217;re not in your immediate area of expertise.</li>\n\n\n\n<li>Offer to run a bug scrub for a specific component, helping to triage and categorize issues.</li>\n\n\n\n<li>Volunteer to write summary posts for recurring team meetings, keeping everyone informed.</li>\n</ul>\n\n\n\n<p>These are just some ideas that will signal to other contributors that you are passionate, eager to work collaboratively, and not just in it for whatever <em>you</em> want to see added to WordPress Core. <strong>Being a helpful and supportive member of the community fosters a positive environment for everyone.</strong></p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"adapt-well\">9. Adapt Well</h2>\n\n\n\n<p>A common descriptor for the ideal mindset of a WordPress Core contributor is <strong>&#8220;Strong opinions, loosely held.&#8221;</strong> This highlights the importance of having conviction in your ideas while remaining open to changing them based on new information or different perspectives. Especially when you&#8217;re a new contributor, it&#8217;s easy to fall into the trap of thinking, &#8220;This is so straightforward, why wasn&#8217;t it added to Core years ago?&#8221; Usually, if it hasn&#8217;t been, it&#8217;s simply not as straightforward as it appears. This often relates back to the earlier points about understanding the WordPress philosophy, paying attention to detail, and thinking at scale.</p>\n\n\n\n<p>But even as you become a more established contributor, it will always remain crucial to adapt well. <strong>Approach different opinions with curiosity rather than adversity.</strong> Sometimes, additional learnings on your own end may genuinely change how you think about a technical approach. There will be times when you disagree with a decision that a majority of other contributors support. In these situations, it&#8217;s crucial to find the right balance: know when to keep pushing back if you genuinely believe in your stance, and when to acknowledge that this is not <em>your</em> decision alone, but a collective one that you should accept and move forward with for the good of the project. This goes back to the earlier point about being persistent as long as it’s appropriate. The flexibility and willingness to adapt are hallmarks of an effective and respected Core contributor.</p>\n\n\n\n<p>A great post that goes into more depth on this point, even though being old, is <a href=\"https://nacin.com/2014/02/07/how-wordpress-chooses-committers/\">Andrew Nacin’s “The qualities of a great WordPress contributor”</a>.</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"build-personal-relationships\">10. Build Personal Relationships</h2>\n\n\n\n<p>While online collaboration is the backbone of WordPress Core development, building personal relationships with other contributors is incredibly valuable. This isn&#8217;t just for your personal growth as a contributor; it also significantly enhances the enjoyment and effectiveness of your contributions. The connections you make can enrich your journey in unexpected ways, and you may make new real-life friends.</p>\n\n\n\n<p>Meeting other contributors at a WordCamp or similar event is an incredible experience. Go for a run together, have a beer, do a hacking session together – whatever is fun for your group. Whether it&#8217;s finally connecting in person with someone you&#8217;ve collaborated with online for months, or meeting a mentor you&#8217;ve looked up to since you started contributing, <strong>these face-to-face interactions foster a deeper sense of community</strong>. Hanging out, sharing meals, and catching up in person inevitably changes how people see you. Having met someone in person simply tends to change the dynamic, even in subsequent online interactions.</p>\n\n\n\n<p>It may not always be feasible for every contributor to attend a WordCamp or other event to meet fellow contributors in person, and that is certainly unfortunate. However, <strong>the unique understanding forged through in-person interactions is something a purely online community simply cannot fully replicate</strong>. If you have the opportunity to participate in such an event, I strongly encourage you to take it. The bonds you form will make your contribution journey even more rewarding.</p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" />\n\n\n\n<h2 class=\"wp-block-heading\">Looking Back and Moving Forward</h2>\n\n\n\n<p>This decade of contributing to WordPress has been a remarkable journey of both personal and professional growth. I can say with certainty that I am where I am today, in so many ways, thanks to contributing to WordPress Core. The lessons I&#8217;ve shared here are reflections of countless hours spent collaborating with other community contributors, solving complex problems, building powerful features, and helping to build the open web. Contributing to WordPress Core has taught me more than I could have ever imagined when I first uploaded that small patch back in 2015.</p>\n\n\n\n<p>I hope that these reflections are helpful, whether you are a seasoned committer or someone who is just considering making their first contribution. A large open-source project, especially at the scale of WordPress, is an excellent way to work on something bigger than (very likely) anything one of us could come up with by ourselves. I remain as excited and motivated as ever to continue playing my part in its future.</p>\n\n\n\n<p>What about you? If you’re a contributor, what are the biggest lessons you have learned on your journey? I’d love to read about your experiences in the comments below.</p>\n<p>The post <a href=\"https://felix-arntz.me/blog/10-lessons-from-10-years-of-contributing-to-wordpress-core/\">10 Lessons from 10 Years of Contributing to WordPress Core</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:\"Sun, 29 Jun 2025 14:21: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: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:51:\"Peter Wilson: 13 years of contributing to 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:30:\"https://peterwilson.cc/?p=6196\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:61:\"https://peterwilson.cc/13-years-of-contributing-to-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:4698:\"<figure class=\"wp-block-image size-large\"><img alt=\"Billiards balls on a billiards table. In the foreground is a while ball showing the number 13.\" class=\"wp-image-6200\" height=\"1081\" src=\"https://peterwilson.cc/uploads/2024/07/6516797893_07abb08162_h.jpg?fit=1200%2C811\" width=\"1600\" /><figcaption class=\"wp-element-caption\">&#8220;<a href=\"https://www.flickr.com/photos/69252250@N07/6516797893\">13</a>&#8221; by <a href=\"https://www.flickr.com/photos/69252250@N07\">Alexander Makarov</a> is licensed under <a href=\"https://creativecommons.org/licenses/by-sa/2.0/?ref=openverse\">CC BY-SA 2.0</a>.</figcaption></figure>\n\n\n\n<p>Inspired by <a href=\"https://jonathandesrosiers.com/2024/07/11-years-contributing-to-wordpress/\">Jonathan&#8217;s contribution anniversary post</a> of a few days ago, I decided to look up when I received my first props in WordPress.</p>\n\n\n\n<p>Coincidentally, I&#8217;m also a July props baby and received my first WordPress props thirteen years ago today, on July 11, 2011 (Australian time). It was for the second ticket I&#8217;d filed, <a href=\"https://core.trac.wordpress.org/ticket/18018\">#18018</a>, and <a href=\"https://nacin.com\">Andrew Nacin</a> <a href=\"https://core.trac.wordpress.org/changeset/18412\">committed</a> the patch I&#8217;d provided a few days later.</p>\n\n\n\n<span id=\"more-6196\"></span>\n\n\n\n<p>I clearly had no idea how to use version control at the time I filed the ticket. <a href=\"https://dd32.id.au/\">Dion Hulse</a> helped out by answering the question about the history of the code.</p>\n\n\n\n<p>My first props was a one off and I didn&#8217;t start regularly contributing to WordPress until 2014 before becoming a committer in 2016.</p>\n\n\n\n<p>I very clearly remember the day I got commit because <a href=\"https://helen.blog/\">Helen Hou-Sandí</a> messaged me unexpectedly in the WordPress Slack. My initial assumption was that I must have done something wrong and I began reviewing my interactions with people of the previous few weeks. I was astounded to be offered commit access.</p>\n\n\n\n<p>My contribution history includes</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>received props 1714 times across the <a href=\"https://github.com/WordPress/wordpress-develop/\">WordPress-Develop</a> and <a href=\"https://github.com/wordpress/gutenberg\">Gutenberg</a> repositories</li>\n\n\n\n<li>made 696 commits to the WordPress-Develop repository</li>\n\n\n\n<li>opened 247 tickets</li>\n\n\n\n<li>reviewed 487 pull requests</li>\n\n\n\n<li>release lead for WordPress 6.0</li>\n\n\n\n<li>contributed to 27 WordPress releases</li>\n\n\n\n<li>spoken at more WordCamps and meetups than I can remember. Mostly at the WordPress Melbourne Meetup and WordCamps Sydney and Brisbane</li>\n\n\n\n<li>organising committee member for WordCamp Melbourne 2013</li>\n</ul>\n\n\n\n<p>My most active day on the project was April 22, 2021 which involved:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>64 commits</li>\n\n\n\n<li>releasing 11 versions of WordPress</li>\n\n\n\n<li>releasing 25 editor NPM packages</li>\n</ul>\n\n\n\n<p>To my shame I&#8217;ve only been a release squad member once, WordPress 6.0, as I never felt ready. I&#8217;m beginning to improve on this and will be co-core tech lead on WordPress 6.7.</p>\n\n\n\n<p>I&#8217;ve been incredibly lucky with my WordPress journey as many of my contributions have been the result of employers sponsoring me to make them. This is a privilege that not many contributors have and is a significant reason some of the statistics above are so high.</p>\n\n\n\n<p>What isn&#8217;t reflected in the statistics is the number of friendships I have all around the world due to my WordPress contributions. I&#8217;m lucky enough to count dozens of WordPress contributors as friends all around the world.</p>\n\n\n\n<p>What I didn&#8217;t realise when I contributed my first patch and received my first props was the scale of WordPress. My patch was only two lines of code but within hours of the next release it was running on websites all around the world.</p>\n\n\n\n<p>When WordPress 6.4 was released, it was downloaded over 6.5 million times in the first six hours. There were 170 first time contributors to that release and I&#8217;d be surprised if any of them realised how widely and quickly their contribution would be distributed.</p>\n\n\n\n<p>One of the great pleasures as committer is to give someone their first props and to allow their contribution to power a significant portion of the web. Thirteen years later, it&#8217;s a true honour to be able to pass the experience along.</p>\n<p>The post <a href=\"https://peterwilson.cc/13-years-of-contributing-to-wordpress/\">13 years of contributing to WordPress</a> by <a href=\"https://peterwilson.cc\">Peter Wilson</a> first appeared on his blog.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Sun, 29 Jun 2025 00:50: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:12:\"Peter Wilson\";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:66:\"WordPress.org blog: WordCamp US 2025: See You in Portland, Oregon!\";s: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=18884\";s: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://wordpress.org/news/2025/06/wordcamp-us-2025-see-you-in-portland-oregon/\";s: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:6934:\"<figure class=\"wp-block-image size-large\"><img alt=\"\" class=\"wp-image-18885\" height=\"576\" src=\"https://i0.wp.com/wordpress.org/news/files/2025/06/wordcamp-us-2025-portland.png?resize=1024%2C576&#038;ssl=1\" width=\"1024\" /></figure>\n\n\n\n<p>WordCamp US 2025 is heading to vibrant Portland, Oregon, from August 26–29, 2025! Join fellow open source enthusiasts, developers, designers, and WordPress professionals from across the United States and around the world for four days of learning, networking, and collaboration at the Oregon Convention Center.</p>\n\n\n\n<p>Nestled in the Pacific Northwest, Portland is famous for its creative spirit, lush green spaces, and riverside trails, making it an inspiring backdrop for this year’s WordCamp. Whether building your first site or leading a digital agency, WordCamp US offers something for everyone, all set against the city’s stunning natural scenery.</p>\n\n\n\n<div class=\"wp-block-group has-off-white-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\"><img alt=\"🎟\" class=\"wp-smiley\" src=\"https://s.w.org/images/core/emoji/16.0.1/72x72/1f39f.png\" style=\"height: 1em;\" /> <strong>Tickets are limited—secure yours today!</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://us.wordcamp.org/2025/tickets/\">Get your ticket now</a></div>\n</div>\n\n\n\n<div class=\"wp-block-spacer\" style=\"height: 50px;\"></div>\n</div>\n\n\n\n<h2 class=\"wp-block-heading\">What to Expect</h2>\n\n\n\n<h3 class=\"wp-block-heading\">Contributor Day: August 26</h3>\n\n\n\n<p>Kick off your WordCamp US experience by giving back. Contributor Day welcomes all skill levels to collaborate on teams that help make WordPress better, from code to community to documentation. You can make a difference to the project, and build new friendships or rekindle old ones, perhaps even while enjoying views of Portland’s skyline and tree-lined streets.</p>\n\n\n\n<h3 class=\"wp-block-heading\">Main Conference: August 27–29</h3>\n\n\n\n<h4 class=\"wp-block-heading\">Showcase Day &#8211; August 27</h4>\n\n\n\n<p>As part of the main conference, day one will give us a look at project showcases, discover innovative uses of WordPress, see how people push the platform’s boundaries, and get inspired to try something new.</p>\n\n\n\n<h4 class=\"wp-block-heading\">Session Days + Expo Hall &#8211; August 28-29</h4>\n\n\n\n<p>Experience another two days filled with inspiring keynotes, practical sessions, and deep dives into the latest trends in web development, design, content, accessibility, and more. Hear from some of the brightest minds in the WordPress ecosystem and explore topics that get to the heart of what makes WordPress unique. Also, take some time to explore the main floors of WCUS, like the Sponsors Hall.</p>\n\n\n\n<h3 class=\"wp-block-heading\">Networking and Community</h3>\n\n\n\n<p>Meet WordPress friends new and old, exchange ideas with community leaders, and collaborate with people who share your passion for open source. Enjoy daily lunches and a memorable social event, all included with your ticket. Stroll along the Willamette River or explore nearby parks in between sessions.</p>\n\n\n\n<h3 class=\"wp-block-heading\">Venue &amp; Accommodations</h3>\n\n\n\n<p>This year, we’re gathering at the Oregon Convention Center in the heart of Portland—a city known for its vibrant neighborhoods and abundant green spaces. We’ve secured a special hotel block right across the street at the Hyatt Regency Portland for convenient, comfortable lodging during your stay.</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><img alt=\"🏢\" class=\"wp-smiley\" src=\"https://s.w.org/images/core/emoji/16.0.1/72x72/1f3e2.png\" style=\"height: 1em;\" /></strong> <strong>Oregon Convention Center<br /></strong>777 NE Martin Luther King Jr Blvd<br />Portland, OR 97232<br /></li>\n\n\n\n<li><img alt=\"🛏\" class=\"wp-smiley\" src=\"https://s.w.org/images/core/emoji/16.0.1/72x72/1f6cf.png\" style=\"height: 1em;\" /> <strong>Hyatt Regency Portland</strong><br />375 NE Holladay Street<br />Portland, OR 97232<br /><a href=\"https://www.hyatt.com/en-US/group-booking/PDXRP/G-CAMP\">Book your room!</a></li>\n</ul>\n\n\n\n<h2 class=\"wp-block-heading\">Registration and Tickets</h2>\n\n\n\n<p>Registration officially kicked off last month. Secure your spot early; tickets are selling quickly.</p>\n\n\n\n<div class=\"wp-block-group has-off-white-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\"><img alt=\"🎟\" class=\"wp-smiley\" src=\"https://s.w.org/images/core/emoji/16.0.1/72x72/1f39f.png\" style=\"height: 1em;\" /> <strong>Tickets are limited—secure yours today!</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://us.wordcamp.org/2025/tickets/\">Get your ticket now</a></div>\n</div>\n\n\n\n<div class=\"wp-block-spacer\" style=\"height: 50px;\"></div>\n</div>\n\n\n\n<h2 class=\"wp-block-heading\">Ready to Plan Your WordCamp US Experience?</h2>\n\n\n\n<p>Keep checking the <a href=\"https://us.wordcamp.org/2025/\">WordCamp US site</a> for travel tips, to book accommodations, and to watch for the whole event schedule—coming soon! While here, why not plan to take in some of Portland’s scenic hiking trails, bike-friendly streets, or local food scene?</p>\n\n\n\n<p>Stay tuned for updates and announcements on <a href=\"https://make.wordpress.org/marketing/handbook/social-media/\">WordPress social media channels</a>, and join the conversation.</p>\n\n\n\n<h3 class=\"wp-block-heading\">Help Us Spread the Word!</h3>\n\n\n\n<p>Whether attending in person or following along online, share your experience and help welcome others to the WordPress community. Use the #WCUS and #WordPress hashtags and tell your story on social!</p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img alt=\"\" class=\"wp-image-18898\" height=\"683\" src=\"https://i0.wp.com/wordpress.org/news/files/2025/06/wordcamp-us.jpg?resize=1024%2C683&#038;ssl=1\" width=\"1024\" /></figure>\n\n\n\n<p>Portland is calling—see you at WordCamp US 2025! <img alt=\"🌲\" class=\"wp-smiley\" src=\"https://s.w.org/images/core/emoji/16.0.1/72x72/1f332.png\" style=\"height: 1em;\" /></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:\"Fri, 27 Jun 2025 18:14:33 +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: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:26:\"Matt: Alpha School Insider\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:23:\"https://ma.tt/?p=143721\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"https://ma.tt/2025/06/alpha-school/\";s: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:4233:\"<p>Scott Alexander, of Slate Star Codex / Astral Codex Ten fame, ran <a href=\"https://www.astralcodexten.com/p/everything-except-book-review-contest\">an Everything-Except-Book Review Contest 2025 in February</a>. The prompt: &#8220;Submit an ACX-length post reviewing something, anything, <em>except</em> a book.&#8221; The submissions were collected anonymously in a giant 450-page Google Doc. I don&#8217;t think the winners have been chosen yet, but there is one essay that has been making the rounds and getting shared more, and that&#8217;s <a href=\"https://docs.google.com/document/d/1d0vRSj1E93joWWvbUen2XGuDjN_mM94ybMIAADzM2fo/edit?tab=t.0#heading=h.1n2243y7h4yv\">Alpha School and &#8220;2-hour Learning&#8221; powered by AI,</a> a parent&#8217;s perspective on <a href=\"https://alpha.school/\">Alpha School</a>, a set of &#8220;AI-powered&#8221; schools in Texas and Florida.</p>\n\n\n\n<p>It&#8217;s worth reading the entire essay, but I wanted to excerpt a few points I found interesting:</p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>After twelve months I’m persuaded that Alpha is doing something remarkable—but that almost everyone, including Alpha’s own copywriting team, is describing it wrong:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>It isn’t</strong> <strong>genuine two‑hour learning</strong>: most kids start school at 8:30am, start working on the “two-hour platform” sometime between 9am-930am and are occupied with academics until noon-1230pm. They also blend in “surges” from time to time to squeeze in more hours on the platform.<br /></li>\n\n\n\n<li><strong>It isn’t</strong> <strong>AI</strong> in the way we have been thinking about it since the “<a href=\"https://arxiv.org/abs/1706.03762\">Attention is all you need</a>” paper. There is no “generative AI” powered by OpenAI, Gemini or Claude in the platform the kids use – it is closer to “turbocharged spreadsheet checklist with a spaced‑repetition algorithm”<br /></li>\n\n\n\n<li><strong>It definitely isn’t</strong> <strong>teacher‑free</strong>: Teachers have been rebranded “guides”, and while their workload is different than a traditional school, they are very important – and both the quantity and quality are much higher than traditional schools.<br /></li>\n\n\n\n<li><strong>The bundle matters</strong>: it’s not just the learning platform on its own. A big part of the product’s success is how the school has set up student incentives and the culture they have built to make everything work together</li>\n</ul>\n\n\n\n<p>…Yet the core claim survives: Since they started in October my children have been marching through and mastering material roughly <em>three times</em> faster than their age‑matched peers (and their own speed prior to the program).</p>\n</blockquote>\n\n\n\n<p>One of the surprises doesn&#8217;t come until Part 4 of the essay:</p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><strong>Incentives</strong></p>\n\n\n\n<p>People REALLY don’t like the idea of incentivizing kids to learn.</p>\n\n\n\n<p>Roland Fryer, who has done extensive work on what works in incentivizing students, <a href=\"https://scholar.harvard.edu/files/fryer/files/092011_incentives_fryer_allen_paper2.pdf\">quotes a 2010 Gallup poll</a> that found that only 23% of American parents support the “idea of school districts paying small amount of money to students to, for example, read books, attend school or to get good grades” (76% opposed the idea with only 1% undecided).<br /><br />There are not many things that 76% of Americans agree on. Only <a href=\"https://www.cbsnews.com/pictures/surprising-things-americans-actually-agree-on/18/\">69% of Americans believe another Civil War</a> would be a bad thing. Only <a href=\"https://docs.cdn.yougov.com/crjq3mojm5/toplines_Views%20on%20Britain%20and%20the%20Monarchy.pdf\">78% agree that American independence from Britain</a> was the right choice. People REALLY don’t like paying kids to read books.</p>\n</blockquote>\n\n\n\n<p>I hope that gives you enough of a hook to read the entire essay, it was quite good and provocative to many assumptions I&#8217;ve had about education.</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, 26 Jun 2025 15:01: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:4:\"Matt\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:7;a:6:{s:4:\"data\";s:21:\"\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:85:\"Open Channels FM: The Evolving Landscape of Core Contribution and Company Sponsorship\";s: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=99183\";s: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-evolving-landscape-of-core-contribution-and-company-sponsorship/\";s: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:211:\"In Open Talk on Open Source, Adam Weeks, Tammy Lister, Zach Stepek, and Tim Monner discuss the importance of contributing to WordPress, exploring various forms of contributions and the idea of sponsored support.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 26 Jun 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: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:117:\"WPTavern: #174 – Joe Dolson and Jonathan Desrosiers on WordPress Accessibility: Core Commitment or Canonical Plugin\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:48:\"https://wptavern.com/?post_type=podcast&p=196977\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:130:\"https://wptavern.com/podcast/174-joe-dolson-and-jonathan-desrosiers-on-wordpress-accessibility-core-commitment-or-canonical-plugin\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:54978:\"<details>Transcript<div>\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 a debate about whether or not there&#8217;s a place for accessibility in a canonical plugin.</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 Joe Dolson and Jonathan Desrosiers. As you&#8217;ll hear in their podcast introductions, both Joe and Jonathan are veterans of WordPress, committing to Core in different ways. They&#8217;re deeply committed towards making the platform more useful for all users.</p>\n\n\n\n<p>This episode is all about exploration rather than answers. Joe and Jonathan discuss the world of canonical plugins, a special category of plugins maintained by the Core team. They&#8217;re designed to be as reliable and secure as features found in WordPress Core itself.</p>\n\n\n\n<p>The discussion unpacks exactly what defines a canonical plugin, how these plugins have evolved out of the traditional feature plugin model, and what it means for users and contributors alike.</p>\n\n\n\n<p>At the center of this episode is accessibility, should accessibility enhancements remain a primary concern within WordPress Core, or is it time to start developing them as canonical plugins? Joe and Jonathan discussed the pros and the cons of both options, referencing technical challenges, project philosophies, and the ever-changing legislative environment, especially with tough new regulations in Europe.</p>\n\n\n\n<p>They consider the discoverability of canonical plugins for non-technical users, potential overlaps and division of labour between plugins and Core, and the moral imperative of making websites accessible to all.</p>\n\n\n\n<p>We also touch upon practical examples, from the WordPress video block to the Performance Lab plugin, and weigh up how cadence, stability, and focus can differ outside the Core.</p>\n\n\n\n<p>The conversation also goes beyond theory, delving into the real life impact accessible technology has, from legal requirements, to personal stories and the broader mission of democratizing publishing.</p>\n\n\n\n<p>Whether you&#8217;re a developer, a site owner, or someone interested in the ethical questions at the heart of open source software, this episode is for you.</p>\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 Joe Dolson and Jonathan Desrosiers.</p>\n\n\n\n<p>I am joined on the podcast by Joe Dolson and Jonathan Desrosiers. Hello both.</p>\n\n\n\n<p>[00:03:35] <strong>Joe Dolson:</strong> Hello. I&#8217;m so glad to be here again.</p>\n\n\n\n<p>[00:03:37] <strong>Jonathan Desrosiers:</strong> Likewise.</p>\n\n\n\n<p>[00:03:38] <strong>Nathan Wrigley:</strong> We&#8217;ve had quite a preamble chat prior to recording this. This is going to be an exploration podcast. I don&#8217;t think we&#8217;re going to arrive at the destination. This is, I think about the journey.</p>\n\n\n\n<p>But it&#8217;s going to be a conversation about something called canonical plugins. Dear listener, if you don&#8217;t know what that means, hold on. But also about accessibility. Prior to that, probably a good idea to get both of your biographies so that we know a little bit about you, and your credentials in the areas under discussion. So should we start with you, Jonathan, just a little bio. Tell us who you are.</p>\n\n\n\n<p>[00:04:08] <strong>Jonathan Desrosiers:</strong> My name is Jonathan Desrosiers. I am a full-time sponsored Core contributor to the WordPress project from Bluehost. And I spend a lot of my time on the day to day, the work that keeps the project moving. That may be lesser seen, like our processes, our testing frameworks, helping the release squad with the resources, make sure they have the resources they need to do their jobs well, and ultimately produce good releases of WordPress every time.</p>\n\n\n\n<p>[00:04:35] <strong>Nathan Wrigley:</strong> Nice. Thank you so much. And Joe.</p>\n\n\n\n<p>[00:04:37] <strong>Joe Dolson:</strong> So I&#8217;m a part-time Core contributor to WordPress. I&#8217;m also a Core committer and I&#8217;m sponsored by GoDaddy and Kinsta. I mostly work on accessibility, so I help make all aspects of the project more accessible, including Core, Gutenberg, wordpress.org itself and all of those related bits and pieces.</p>\n\n\n\n<p>[00:04:56] <strong>Nathan Wrigley:</strong> Okay, so we&#8217;ve established your credentials. The topic under discussion, I&#8217;m going to try and find the post in the Slack channel, which kind of promoted this whole thing, but it goes back a few months now. And the topic under discussion today is about whether or not it would be a good idea, I&#8217;m going to say, let&#8217;s go with that, an interesting idea, a good experiment, who knows, to put accessibility work into a plugin of a special type called a canonical plugin. So we&#8217;re used to hearing about plugins, perhaps not so much canonical plugins. So let&#8217;s make that the first port of call. What is a canonical plugin?</p>\n\n\n\n<p>[00:05:34] <strong>Joe Dolson:</strong> I mean, I think we can kick this off with the idea that we don&#8217;t really know. But there is a long history in the project of essentially Core sponsored plugin projects that are used for specific features or provide various functionality. And then sometimes they get merged into Core and sometimes they don&#8217;t. It&#8217;s highly variable.</p>\n\n\n\n<p>So there is a deep reality that this particular proposal, we don&#8217;t have any clear idea of what it&#8217;s actually proposing. But I think it&#8217;s good to talk about some of the historical canonical plugins that have already been used.</p>\n\n\n\n<p>One great example I think is the WordPress Importer. It&#8217;s a plugin. It&#8217;s installed on demand into your dashboard when you decide to go to import something. And it&#8217;s an extremely standard tool. And it&#8217;s kind of the classic idea of something that isn&#8217;t needed in Core permanently, but is heavily used and really needs to be something that is maintained by the project.</p>\n\n\n\n<p>[00:06:29] <strong>Jonathan Desrosiers:</strong> Yeah, I think it goes back, like Joe said, pretty far in that in the past we&#8217;ve had this concept called feature plugins. And so the initial idea behind those was to begin work on a feature that would span many releases and to get it into a refined state where it was ready for primetime to be included, you know, and shipped to the world.</p>\n\n\n\n<p>So some good examples of this are the MP6 plugin which, re-skinned the dashboard in the modern way that we know today.</p>\n\n\n\n<p>The REST API started as a feature plugin project. There&#8217;s many more to that effect. Simple XML Sitemaps, I believe started as a plugin as well.</p>\n\n\n\n<p>I think of this in the way that canonical plugins are always feature plugins, but feature plugins are not always canonical. And so what I mean by that is a feature plugin can always become a canonical, but that may not be the case. It may end up in Core and we don&#8217;t need it long term. Or we could decide that it&#8217;s just not a good fit and it could become a canonical, and we maintain it long term as that add-on type plugin that you would use, that&#8217;s officially supported and maintained.</p>\n\n\n\n<p>And so even before the suggestion to put accessibility into a canonical plugin, there were a few posts from Matt that suggested that we revisit this concept of feature plugin. And I think it&#8217;s just, canonical is just in some ways a new name for it in the sense that, you know, an SEO, canonical is you put the canonical tag and it points to the one true page on the internet that represents that content, right?</p>\n\n\n\n<p>And so it&#8217;s similar to that, in that we want to have these canonical plugins that are the one true place you should be able to rely on for functionality that adheres to the project philosophies in the same way as if it were in Core itself.</p>\n\n\n\n<p>[00:08:07] <strong>Nathan Wrigley:</strong> I suppose my supposition about canonical plugins are that they encapsulate important things that could be in Core. You know, if the universe was slightly different, they could easily be rolled into Core. But also importantly, they receive security updates and the same kind of inspection that Core might have. So it&#8217;s not like they&#8217;re just sort of left to fester.</p>\n\n\n\n<p>On a regular basis, they would be inspected, updated in much the same way that Core would be. So it&#8217;s almost like Core, but kind of install it yourself. But the importance being that you can utterly rely on it, if you install it to be dependable, to be updated, to be secure. Have I misremembered, that or is that a part of the definition of a canonical plugin?</p>\n\n\n\n<p>[00:08:53] <strong>Jonathan Desrosiers:</strong> No, that&#8217;s accurate. We give you that same commitment to backwards compatibility. The project philosophies, as I mentioned, the plugins that are maintained that are released as community plugins are covered by the Bounty Program and our Hacker One program as well. So there&#8217;s incentive for people to find security vulnerabilities and responsibly report them and work with the security team to fix these for the community.</p>\n\n\n\n<p>That&#8217;s right in that you are getting kind of like that badge of honor, like we promise, guarantee type thing, that we&#8217;re going to do our best to give you the best plugin for this particular feature.</p>\n\n\n\n<p>And the importer I think is a great example of that, right? They&#8217;re not all great, in good shape, and part of that is because some of them are importing from software that&#8217;s also, that&#8217;s really old and outdated, right? And the concepts that they have and the data structures.</p>\n\n\n\n<p>But we have almost a dozen importer plugins that are, in a sense, canonical, and they are the go-to plugins to import your content into WordPress. I&#8217;m hopeful the Data Liberation Project will help make those more refined and make them easier to use and less prone to issues, yeah. But, yes, in theory we do give you that guarantee and that backing.</p>\n\n\n\n<p>[00:09:58] <strong>Joe Dolson:</strong> I mean, one of the reasons I did bring up the importers is because I think they&#8217;re actually a really good example of something that isn&#8217;t getting the care that it really needs. I mean, they&#8217;re stable and they&#8217;re functional, but there are certain things that they really don&#8217;t do very well.</p>\n\n\n\n<p>And one of them is, like if you&#8217;ve got a site with say, 10,000 users, you just can&#8217;t use the importer plugin. Because it generates these select dropdowns to assign your posts to a particular user, and the performance on those is ludicrous when you&#8217;ve got a page that has 100 dropdowns with 10,000 items in them.</p>\n\n\n\n<p>This is the sort of thing that I think everybody would like to see worked on more in the world of canonical plugins. And that&#8217;s, I think one of the fears that maybe some people have about moving more stuff into canonical plugins, is this idea that they might not get the care that we theoretically promise.</p>\n\n\n\n<p>Because I do think, the idea of canonical plugins, we absolutely do promise those security updates and making sure all of these things are solid, but I&#8217;m not sure we&#8217;ve always carried out on that as well as we could.</p>\n\n\n\n<p>[00:11:03] <strong>Jonathan Desrosiers:</strong> You said something that resonated too in that. So one of the Core philosophies is the 80 20 rule. And so we want to make sure that the things we merge into Core work for the majority of our users that use our software. And so the same kind of holds true for canonical plugins in some ways. Not that we want to plug in that 80% of people will use, because then it would belong in Core, but 80% of the people that want that feature, the plugin should be relevant to them, right?</p>\n\n\n\n<p>And so in the sense of imports being too large, the canonical plugin is a great tool and it&#8217;s the defacto recommended way, but it&#8217;s may not be the right tool for your instance. And so in that instance of a large import, WPCLI is probably more something that you would want to use in that case, because it&#8217;s not subject to timeouts and there&#8217;s just different technical boundaries that it works within.</p>\n\n\n\n<p>So we want these canonical plugins to be the defacto, but they&#8217;re not the end all be all, and they don&#8217;t cover every situation. But we want to cover the majority of situations for as many WordPress users as we can.</p>\n\n\n\n<p>[00:12:00] <strong>Nathan Wrigley:</strong> Okay. So I think we&#8217;ve established what a canonical plugin is, and I&#8217;m going to summarise it as follows, basically something that you can depend upon. I would summarise it just that.</p>\n\n\n\n<p>[00:12:08] <strong>Jonathan Desrosiers:</strong> Something that tackles a specific, or group of features.</p>\n\n\n\n<p>[00:12:10] <strong>Nathan Wrigley:</strong> Right. It&#8217;s got a specific feature. It could have gone into Core, but it was decided not to go into Core, but you can hopefully rely on it. Although, Joe made a very good point that, you know, reliance is an objective thing.</p>\n\n\n\n<p>However, what we&#8217;re talking about today is accessibility. We&#8217;re in the year 2025. It&#8217;s June, 2025. We&#8217;re at WordCamp Europe. And it feels like the train over the last few years has really pushed accessibility to the front. I think any web designer, developer, in the year 2025 who doesn&#8217;t have accessibility right at the front of their mind is kind of missing the point.</p>\n\n\n\n<p>The legislation in Europe is coming thick and fast, I imagine in other jurisdictions and other parts of the world, the same will be true. So I guess the question, and I&#8217;m going to ask this to Joe first, given his background of committing to Core in the accessibility arena. What do you make of this? The idea of pushing something to this canonical plugin that previously was the domain of Core.</p>\n\n\n\n<p>Does it feel a bit like it&#8217;s, I don&#8217;t know, that the importance of it is being relegated in some way? Do you feel it&#8217;s like undermining? Because we should all have an accessible approach to WordPress development, website development, but in this way, well, it&#8217;s not important enough, if you like, to be in Core?</p>\n\n\n\n<p>[00:13:30] <strong>Joe Dolson:</strong> So I think there&#8217;s a lot to unpack here. One of the first things I need to say is, first I&#8217;m going to, I have just a very slight quibble with your definition of a canonical plugin because there are kind of two different paths. There is the whole canonical plugin, which is intended to always stay outside of Core, but there&#8217;s also the canonical plugin, which is used for experimental progress.</p>\n\n\n\n<p>And that&#8217;s something like the Performance Lab plugin, where it&#8217;s a whole bunch of different pieces, and they&#8217;re targeted for probably being merged into Core, and this is an experiment ground where we can figure out, is this really working? Is this the best way to do it? Is this suitable for Core? Maybe it should be different in the plugin than it is in Core. Like, for example, what was it that was just shipped? Speculative loading.</p>\n\n\n\n<p>They used different rules in the plugin than they ultimately added to Core. It was just a less aggressive version of speculative loading. And I think that can be a very reasonable thing. And that can apply to accessibility too, as accessibility is a spectrum. We&#8217;re not talking necessarily about all accessibility is just, this is accessibility, it&#8217;s all required. Accessibility covers a gamut from, this is absolutely mandatory, basic level stuff, to this is pie in the sky. To even, basically there are some accessibility features that are literally contradictory to each other. In order to make something optimal for this population, you have to implement something that is actually not what this other population needs.</p>\n\n\n\n<p>So there&#8217;s a lot of complexity there. The idea of putting accessibility into a plugin can lead to some very negative consequences. It is not necessarily inevitable. So there&#8217;s a lot of difficulty in just determining what is an accessibility plugin? What is it supposed to do? Is this something that&#8217;s supposed to change the front end? Is it supposed to change the back end? Is it implementing editor tools? Is it implementing new features? Is it fixing things that already exist? And I think all of those are complicated unanswered questions.</p>\n\n\n\n<p>So kind of figuring out that path and, what is actually intended in this idea of an accessibility plugin? What are the problems it&#8217;s trying to solve? Is the first question mark. And we don&#8217;t really have that. That hasn&#8217;t been worked out in any way.</p>\n\n\n\n<p>[00:15:44] <strong>Nathan Wrigley:</strong> So the complexity, and thank you for the clarification, the complexity there, the devil is in the detail. I guess Core in a sense is, if it&#8217;s going to ship in Core, it&#8217;s there. There&#8217;s a menu for this and a toggle for that, and a switch for this, and what have you. What you are saying is the landscape of accessibility is much more complicated than that. And so maybe, in a way, if it was pushed over to a canonical plugin, you could have a more a la carte approach to it. I don&#8217;t know if that&#8217;s where you were going.</p>\n\n\n\n<p>[00:16:14] <strong>Joe Dolson:</strong> That&#8217;s conceivable. So, many years ago, Matt proposed the idea of an accessibility, it wasn&#8217;t a plugin at the time, but it was the concept of an alternate admin that would be a simplified admin. And, you know, I pushed back on that, and I still would if it was being marketed as an accessibility feature. There is a value to a simplified admin. It&#8217;s just that it can&#8217;t be considered accessibility focused unless it actually does achieve all goals. But simplification is in itself a goal. Making something easier to use, and having an option where somebody can do something in a simplified way, is extremely valuable.</p>\n\n\n\n<p>[00:16:52] <strong>Jonathan Desrosiers:</strong> Yeah, just some thoughts to that. So I&#8217;m a Core committer and I make changes to the software that everybody uses and needs to be compliant, right? I&#8217;m not an accessibility expert by any means, but I&#8217;m versed in the concepts.</p>\n\n\n\n<p>So one of the differences that could be in a canonical plugin for accessibility, Core, our coding standards for accessibility, we adhere to the web content accessibility guidelines, version 2.2 at Level AA, right?</p>\n\n\n\n<p>But there&#8217;s different levels, there&#8217;s different versions of that. And so with different levels come different requirements, and different strictness to how you approach different interfaces. And so maybe a canonical plugin could allow you to adhere to different levels that perhaps your organisation needs to adhere to, that the 80% of users don&#8217;t necessarily need to.</p>\n\n\n\n<p>Another thing that, I wanted to mention this because I always think of this. We, by default, think of accessibility as someone in a wheelchair or someone that&#8217;s blind, but you could break your hand, you could fall down the stairs, you could get eye surgery and have to wear a patch for a month. And so it&#8217;s not just permanent, it&#8217;s temporary disability as well. And I like to try to remind myself of that because you don&#8217;t need accessibility until you do, and then you&#8217;re glad it&#8217;s there when it&#8217;s there, right?</p>\n\n\n\n<p>My grandfather was legally blind and he was a veteran. So he went to school and he learned how to use a computer. And he had a computer with like JAWS on it, and it would read it to him, and we&#8217;d send each other emails and stuff. I always like to think of him too, because if you know someone in your life that has accessibility needs, it also raises that importance to you as well. So, if I don&#8217;t do this in the right way, my grandfather won&#8217;t be able to use this website, or communicate with the world in the same way that I can.</p>\n\n\n\n<p>And so finding those, I think that when you talk about accessibility, and this isn&#8217;t directly related to what you said, Joe, but I wanted to mention it. But if you can humanise it in some ways, in a way that&#8217;s in your life that you can relate to, it helps you find the reasoning in why it&#8217;s important, why these discussions are important, right? That we approach these problems in the right way, and that we meet the acceptable standard.</p>\n\n\n\n<p>[00:18:57] <strong>Nathan Wrigley:</strong> In the end, this will be a binary decision. It either will be a canonical thing at some point in the future or it won&#8217;t, I guess maybe.</p>\n\n\n\n<p>[00:19:05] <strong>Jonathan Desrosiers:</strong> Will it? I mean, we might merge some of it into Core or we might choose, it doesn&#8217;t fit in a plugin, right? And that&#8217;s kind of where that gray area is. And in some ways, canonical plugins take up a little more time because we are having these discussions. Like, we feel strongly this should go in, someone else may not. We have to work to get a consensus, and once we reach that consensus, we have to, I talk about this in my talk about how we make decisions, but we disagree and commit. And so you can state your disagreement, but then it&#8217;s important that we move forward together. Building that consensus and deciding on the right path, even if you disagree.</p>\n\n\n\n<p>[00:19:39] <strong>Nathan Wrigley:</strong> Does the canonical option then, does that allow for more flexibility? So as an example, you could release, I don&#8217;t know, every two weeks, or every month or something like that. Whereas at the moment, we&#8217;re recording it in June, we don&#8217;t need to get into it, but we&#8217;ve got a different, a very different cadence for how often Core is being updated. Maybe that will change in the future, maybe not.</p>\n\n\n\n<p>But with a canonical option, it would be possible to do any cadence you liked. And also, I suppose you could be a little bit more a la carte because you could have a variety of canonical plugins wrapped around the theme of accessibility. So, yeah, I guess what I&#8217;m asking there is really, does the cadence of a canonical plugin allow more flexibility?</p>\n\n\n\n<p>[00:20:21] <strong>Jonathan Desrosiers:</strong> Absolutely. Whether we&#8217;re releasing once a month, or we&#8217;re releasing once a year, you can release a canonical plugin as often as you want, whereas Core has a much more predictable, well, not that the canonical plugin releases won&#8217;t be predictable, but it has a much more standardised schedule, I guess.</p>\n\n\n\n<p>And so you could release once a week for your canonical plugin, and then if we have a Core release every three months, that&#8217;s 12 weeks, you have 12 releases of that canonical plugin that you could potentially refine issues. Whereas if you released it in the one Core release, you&#8217;d get all that feedback at once instead of dividing it up and making adjustments and going from there.</p>\n\n\n\n<p>[00:21:00] <strong>Joe Dolson:</strong> So just to pose an example of something that I think actually is extremely suitable for an accessible plugin, and this is because, you know, I actually have written this. So let&#8217;s take for an example, the WordPress video block. It is extremely basic. It produces a video element and it gives you options to upload various tracks that are used in that video element. It is just the raw HTML 5. That&#8217;s what WordPress produces in the block editor.</p>\n\n\n\n<p>Now, is it appropriate for WordPress Core to make a decision about how that video block is actually going to be rendered as it is with this raw HTML 5 element? It&#8217;s rendered differently by every browser. They have their own rules, their own way of doing it. That&#8217;s what it&#8217;s going to do. You can make it much more accessible, because there are a lot of things that those native blocks don&#8217;t support, the native video element doesn&#8217;t support.</p>\n\n\n\n<p>In the past, WordPress did use MediaElement.js to render videos. And I actually think getting rid of that, and just using the raw video element was a good thing. But it&#8217;s not the most accessible way of viewing video. So is it something that we should do in Core? Should we dictate a player interface, or should we leave that raw in Core? Core just produces a video element, and then a plugin can enhance that to make it more accessible.</p>\n\n\n\n<p>I&#8217;m also the lead developer for an accessible media player called Able Player. That&#8217;s a completely separate JavaScript project that has nothing to do with WordPress, but I have got a WordPress plugin for it, which basically just says, hey, here&#8217;s a video block, I&#8217;m going to re-render it using Able Player.</p>\n\n\n\n<p>[00:22:37] <strong>Jonathan Desrosiers:</strong> I think if you want another good example of what a canonical plugin can be in the framework it can operate within, look at the Performance Lab plugin. The Performance Team has this plugin, and initially it had all these different features in it, and then we were trying to merge in support for the WebP image format in Core, and we realised it needed a little bit more time. And Matt suggested that we break them out into more finite plugins.</p>\n\n\n\n<p>So the Performance Lab feature plugin has, or canonical plugin, has a framework and then there are sub plugins that you can install for modern image formats. Pre-loading the images, there&#8217;s an accessibility feature where it shows you the color, the dominant color of the image, and it&#8217;s there until the image loads. And so that way it&#8217;s visually represented. And so that&#8217;s another good example of that.</p>\n\n\n\n<p>And one example that I&#8217;m wondering may be a good use of canonical plugins is the new AI Team. And so we&#8217;re at a point where we need to do some research and figure out what, in the context of WordPress, is needed for AI to flourish, and WordPress to be AI friendly. And I think that in some way, that will end up being a base foundation, some classes and some ways to interact with your content and your site, that can communicate with different models.</p>\n\n\n\n<p>So perhaps some canonical plugins could be one for each of the popular models. And so you have this data transport layer that passes your site&#8217;s information to these plugins, and then it connects with ChatGPT, or whichever your preferred model is. And so within that you could have settings. The reason why I brought up the Performance Plugin is there&#8217;s settings within it. So for the modern image format, you could say, I only want WebP, or I only want JPEG XL or AVIF. You can decide which ones you want. But if that were to get into Core, that&#8217;s not the right thing to say like, I do or I don&#8217;t want this.</p>\n\n\n\n<p>Another philosophy is decisions not options. We don&#8217;t want to overwhelm users with this. And a good example of this is, should this site be indexed by search engines? And if you disable that, it also disables your sitemap. And so making those intuitive decisions on behalf of the user and what they&#8217;ve done, the actions they&#8217;ve taken, we don&#8217;t want to overload them with options.</p>\n\n\n\n<p>And so in canonical plugins, you can be more, you don&#8217;t have to follow that as strictly, because the point is that it&#8217;s a plugin that&#8217;s configurable, that we&#8217;re testing different things in different ways, and finding out what works for which groups of people, and in what ways, and gathering feedback around that.</p>\n\n\n\n<p>Back to the point about, one other thing I wanted to mention too, is that one complaint I&#8217;ve always had with canonical plugins is that it&#8217;s very difficult to know about the experiences of the people using them. So for example, we had a plugin for a while that they want to, thankfully they want to rekindle it, is the Design Experiments plugin.</p>\n\n\n\n<p>And you would install that, and there were, you know, at any given time, a couple of 2, 3, 4 different design experiments in the plugin. But we never knew who had which experiments active, which ones they disabled. Did they have bad experiences? And that&#8217;s why they turned it off. Did they like it? Did they prefer it?</p>\n\n\n\n<p>We almost need to have some type of either AB testing within the plugins themselves, or a way to gather that feedback from the people that are using these canonical plugins. This is especially true when it&#8217;s a feature plugin that we may want to emerge into Core.</p>\n\n\n\n<p>And so I did bring up to Matt in one of our recent meetings with the Core committers, and he was open to exploring the idea of better ways in canonical plugins to gather that feedback, because they&#8217;re now of a renewed importance in our community and how we foresee maintaining things.</p>\n\n\n\n<p>We&#8217;re quite large, and we need to start saying no to more things in some ways. And so this is a great way to push it to a canonical plugin. Like, we don&#8217;t think that&#8217;s a right fit in Core, it&#8217;s too much, we can&#8217;t handle it. But create a community maintain plugin and we&#8217;re happy to stand behind it with you.</p>\n\n\n\n<p>[00:26:32] <strong>Nathan Wrigley:</strong> I&#8217;m going to try and get this out. I&#8217;m not sure I&#8217;m going to encapsulate it right. I&#8217;m going to offer this one to Joe first. And that is the legislation in the landscape of 2025. And we know that in Europe in particular, a lot of this stuff is mandated. Obviously there&#8217;s degrees to that, but there&#8217;s a lot of mandatory stuff coming down very, very soon.</p>\n\n\n\n<p>Given that, putting things into a canonical plugin where you can pick and choose, I have not installed that, I have installed that, what are your feelings about that? Is there some, I&#8217;m going to use the word core, set of features around accessibility that really where we&#8217;re at now, there&#8217;s just no choice, it just has to be in Core?</p>\n\n\n\n<p>Because the concern that I have perhaps is, how will you discover this canonical plugin? How will it surface itself? The three of us will find it, because this is what we do. But the regular user who&#8217;s just got a brick and mortar store, they want to put a WooCommerce site out there, just something quick and easy, where are they going to even find out about these canonical plugins?</p>\n\n\n\n<p>[00:27:32] <strong>Joe Dolson:</strong> And I do think this is a big part of what comes down to that question of, what does the accessibility plugin, what does it do? Because that is where things can really go kind of horribly wrong.</p>\n\n\n\n<p>When we&#8217;re talking about the accessibility of existing WordPress interfaces, how you actually interact with the admin, I don&#8217;t think there&#8217;s anything there that should ever be in a plugin because the Core code has to be accessible.</p>\n\n\n\n<p>You know, Jonathan mentioned that we&#8217;ve got this commitment to WCAG 2.2 at Level AA. I would say that we haven&#8217;t quite achieved that. It&#8217;s a goal, but I mean, the reality is there&#8217;s still a lot of legacy interfaces that our, I find new things every day. It&#8217;s just the reality. But those need to be fixed in Core. They should not be part of a plugin.</p>\n\n\n\n<p>So, a plugin should be something that enhances something in a meaningful way that perhaps doesn&#8217;t apply to all situations. That&#8217;s one of the reasons I brought up the video element, because one of the interesting exceptions in WCAG is that you are not responsible for the accessibility of browser defaults. The browser is responsible for that.</p>\n\n\n\n<p>And so if you are using a video block, and it&#8217;s just the video element, that is actually something that should pass. It&#8217;s not necessarily accessible, that&#8217;s up to the browser, but it&#8217;s not the responsibility of your site. And that&#8217;s a really fuzzy area from the law because, yes, you should still fix it.</p>\n\n\n\n<p>[00:29:00] <strong>Nathan Wrigley:</strong> Imagine a scenario where we have a canonical plugin for accessibility. So we have WordPress Core, and then a canonical plugin for accessibility. WordPress Core is evolving all the time. No doubt missteps will be made. People like you, Joe, will be going in and saying, okay, this needs to be adapted, this needs to be amended.</p>\n\n\n\n<p>And then on top of that, we&#8217;ve also got this complete other path of developing the canonical plugin side of things. There&#8217;s two strains of work happening now. So that&#8217;s just interesting. I don&#8217;t know whether that&#8217;s good or bad.</p>\n\n\n\n<p>[00:29:30] <strong>Joe Dolson:</strong> So one thing I will say is, you know, the bulk of the new development in WordPress is in Gutenberg. There&#8217;s no need for a canonical plugin to handle accessibility things in Gutenberg because honestly, that should just go into the plugin Gutenberg. If there&#8217;s something in Core that needs to be fixed, you should be able to install Gutenberg and be able to move forward. I think that would be reasonable. I don&#8217;t think that&#8217;s a practical path to have a separate accessibility canonical plugin that fixes issues in Gutenberg problems for Core. I mean, I can&#8217;t see that as making any sense.</p>\n\n\n\n<p>[00:30:04] <strong>Jonathan Desrosiers:</strong> In some ways we have to just weigh the benefits with the effectiveness and the time and the resources available. Some other ways that you can find canonical plugins, when you click add plugin on your site, there&#8217;s different tabs at the top, like featured, popular. One of them is featured, and so that is one that when we have canonical plugins, we want people to adopt or use, we add plugins to that tab.</p>\n\n\n\n<p>So the performance plugin is there, Gutenberg is there because we want people to be testing those up and coming changes. To the point of the, we&#8217;re not being fully compliant with that standard, it&#8217;s, we have to remember that this constant churn going on with a code, right? There&#8217;s new code coming in, there&#8217;s old code being removed. And so in a way the goal line is still the same, but we&#8217;re getting peaks and valleys that we have to, they suddenly appear and we have to tackle them as we go.</p>\n\n\n\n<p>I think for discoverability, it depends on the ecosystem in some ways. For example, as an American, you know, I&#8217;m not always, sometimes I hear of new legislations from EU and I say, oh, what are they up to now, right? It&#8217;s more things I have to do to follow the rules. But I think about maybe an American business owner, or American site owner, and sometimes it&#8217;s not clear. What happens if I&#8217;m in Europe and then I visit my site when I&#8217;m traveling, right? Does that open me up for legal action. If someone happens, if I make a very specific or rare type of trinket, and people in the EU find it, does that open me up to legal problems?</p>\n\n\n\n<p>And so these are things that the normal site owner, I just want a website, I just write on it, right? They don&#8217;t think about this stuff. And so, in addition to being compliant with these guidelines that we strive to achieve, we need to think about those decisions, not options type things.</p>\n\n\n\n<p>Another philosophy is to be simple, strive for simplicity. Most people don&#8217;t know what an XML sitemap specification is, or how to implement it, or what should go in it. And so we just make the decision to handle that stuff on their behalf. And if they need to, they can install a plugin to customise it, right?</p>\n\n\n\n<p>So the same is kind of true in this sense. And if the world is susceptible to, or responsible for adhering to certain things, and we can reasonably help them without them having to find certain things to install or configure, then maybe it&#8217;s the right thing to put that thing into Core, right?</p>\n\n\n\n<p>Perhaps it falls on the shoulders of hosts, where if the customer has an EU address, they install the accessibility canonical plugin, depending on what&#8217;s in it and what&#8217;s not. It&#8217;s likely not. We should be deliberate about what goes in Core and what goes into the accessibility plugin and for what reasons. But we also should be conscious that, as a community, we have to also help these non-technical users by making decisions for them when we know that it&#8217;s a problem.</p>\n\n\n\n<p>Like, our legal team says, yep, any site that potentially gets EU traffic, they have to have this, or they have to block EU or whatever it is. We can outline these situations and make the best decisions for our customers and our users, given those criteria that we are aware of.</p>\n\n\n\n<p>[00:33:07] <strong>Joe Dolson:</strong> It&#8217;s interesting you say that because one of the things you particularly dove into there is the idea of an accessibility plugin being something for the front end. And that is something that is actually fundamentally challenging. Because when it comes right down to it, we don&#8217;t know what&#8217;s on the front end. And accessibility is an incredibly difficult problem to solve when you&#8217;re kind of just trying to do automation on something that you don&#8217;t know.</p>\n\n\n\n<p>You know, there&#8217;s a lot of accessibility plugins out there that are already doing that sort of thing. Overlay plugins. They are famously iffy, because they really don&#8217;t solve most of the problems. And some of them actually introduce more. And that is the thing that I most want to avoid, is that we create our canonical plugin and it&#8217;s just screwing up people&#8217;s websites.</p>\n\n\n\n<p>[00:33:59] <strong>Jonathan Desrosiers:</strong> We&#8217;ve all installed a plugin that has way too many options, way too many features, and it doesn&#8217;t do any of them well, right? That&#8217;s not what a canonical plugin should be. In instances where there are many features, like the Performance Lab, there&#8217;s a framework perhaps, and then there&#8217;s sub plugins that do it, right? We don&#8217;t have an importer plugin that has every importer in the same plugin. They&#8217;re in specific plugins so that it can be more targeted, more focused on that specific outlined goal or focus area.</p>\n\n\n\n<p>And so that, yeah, that speaks to me, because we definitely don&#8217;t want to mimic some of the plugins that are out there where they try to adhere to cookie laws, and then they also try to adhere to popups and, you know, Consent API and all that type of stuff. And so we want to make sure that we&#8217;re dividing those problems up into meaningful chunks, but chunks that we can manage reasonably and not be a runaway train in some ways.</p>\n\n\n\n<p>[00:34:47] <strong>Nathan Wrigley:</strong> I was thinking about this last night and I was thinking, why does this conversation matter to me so much? And it came down to the fact that if we were having this conversation about a canonical plugin for, let&#8217;s say, performance or SEO, it would be intriguing, but there&#8217;s no moral component to it. You&#8217;re just serving a bunch of people who would like a more performant website. Well, that&#8217;s great. That will increase your SEO. No doubt, more traffic will come to your website.</p>\n\n\n\n<p>But there is a moral component here, and there are people whose lives will be immeasurably better if WordPress is, and I&#8217;m doing air quotes, accessible. And so that just makes this whole thing so much more important and impactful. So there&#8217;s no question there, it&#8217;s just an observation.</p>\n\n\n\n<p>There&#8217;s a different wrinkle here. There&#8217;s just some other thing. You know, you can imagine the panoply of different people trying to use websites. The frustration, the endless frustration that&#8217;s being caused by things because they&#8217;re not configured in a way that they can use them. And it would be a shame to miss this opportunity. And I don&#8217;t know what the right answer is here. I just know that there&#8217;s this moral component that makes this much more of a hot button topic than anything else. So that&#8217;s my piece, but if you want to respond to that.</p>\n\n\n\n<p>[00:36:03] <strong>Jonathan Desrosiers:</strong> I just left the keynote this morning by Noel Tock, and he spoke a lot about the impact. I try to illustrate this often, and he did a much better job than I&#8217;ve done before. He&#8217;s involved with a lot of organisations in the war affected Ukraine. And so he covered a half dozen organisations that are saving lives, rescuing animals, providing humanitarian relief, and they run on WordPress. And so accessibility lends to that in some ways, because you don&#8217;t know where a group is that has a need, and the free software could help them with that need, and in what ways and what impact that could have on them.</p>\n\n\n\n<p>Sometimes I think about how certain things overlap. And so I picture two circles, one for accessibility, and if you were to make a diagram of how it overlaps with democratising publishing. In many ways, it almost completely overlaps that circle. There&#8217;s something democratising with being accessible. I mean, it&#8217;s in the name, it&#8217;s accessible to as many people as possible. And so I think that, whether you know it or not, that probably in some ways is eliciting that feeling, right, of we all believe in this project where we all want to do good in the world. We want our software, and our community, to have an impact. And in many ways, accessibility leads to that mission that we all have.</p>\n\n\n\n<p>[00:37:26] <strong>Joe Dolson:</strong> And I do want to say that, as it stands right now, when we&#8217;re talking about the admin of WordPress, it&#8217;s already one of the most accessible content management systems out there. We have done very good work there.</p>\n\n\n\n<p>The front end is kind of a completely different story, and that ultimately is the fact that Core doesn&#8217;t control very much of front end, which is both one of the incredible powers of WordPress. It&#8217;s got this amazing degree of flexibility, and you can do almost anything with it. And it&#8217;s also one of the curses, because if we want to globally make the front end of everybody&#8217;s website better, there is very little we can do.</p>\n\n\n\n<p>That&#8217;s where I kind of feel like our accessibility efforts most are needed right now is just kind of getting plugin developers, getting theme developers, to be better. Make better choices and provide better options in their tools.</p>\n\n\n\n<p>[00:38:18] <strong>Jonathan Desrosiers:</strong> It is true that we don&#8217;t control the front end, but one of the features I love in Gutenberg is when you&#8217;re selecting the text colour and the background colour of a block. If you select light blue and dark blue, it says, hey, this is not accessible, it doesn&#8217;t meet the guidelines. People are going to have a hard time reading this.</p>\n\n\n\n<p>I often think about ways that maybe, one I had suggested before which hasn&#8217;t been implemented yet, some issues take many years to flesh out and be adopted, if at all. But one of them is perhaps we do another notice like that when someone is entering an alternate text for their image. You know, maybe they just put jpeg 123, right? That&#8217;s not what alt text is meant for. It&#8217;s meant to describe what&#8217;s in the picture in case someone can&#8217;t see it, or it&#8217;s not visible.</p>\n\n\n\n<p>And so it should be, Nathan Wrigley holding his microphone, sitting at a table, talking to Jonathan and Joe, who also have a microphone. Stuff like that. He&#8217;s got a red shirt. Things that illustrate what&#8217;s in the image. And so what are opportunities that we can take to guide our users to produce better content on the front ends?</p>\n\n\n\n<p>And I think there&#8217;s a particularly large opportunity for that in block themes, because the nature of block themes is very structured. It starts with a theme.json file, and it&#8217;s gobbledegook for a lot of people. They don&#8217;t understand what the JSON is, how to read it. But it&#8217;s structured data that&#8217;s extrapolated into the editor to apply the default margin for your blocks. To apply the default labels, the colours, all those different things that are configurable in a block theme.</p>\n\n\n\n<p>And so like, what&#8217;s missing from that that we can add that will lend to better visual representations of your content? There&#8217;s the HTML API behind the scenes that manipulates HTML strings in the context of WordPress. So how can we make sure that we&#8217;re generating accessible markup, those building blocks?</p>\n\n\n\n<p>A lot of times we run into issues where there&#8217;s no good solution for a specific accessibility problem because the foundational elements, were not taking that into consideration when it was built. And so oftentimes it&#8217;s hard to get backing for those changes, because it&#8217;s such a big undertaking because it wasn&#8217;t a part of the the initial discussion and consideration.</p>\n\n\n\n<p>And so how can we replace these over time, but also as we build new things, take those things into consideration so that the things that get expanded into the user experience and exposed in the site editor, result in better front end experiences for everyone, that are more accessible?</p>\n\n\n\n<p>[00:40:50] <strong>Joe Dolson:</strong> Yeah, I think that&#8217;s a really great thing to call out is those places in the authoring process where we provide accessibility feedback. There&#8217;s a whole set of guidelines that are specific to that. That&#8217;s the Authoring Tool Accessibility Guidelines. And I love everything we do to try and implement those.</p>\n\n\n\n<p>I will say that the colour contrast one, it was implemented very, very early on. There are a number of things that are in Core now that it actually just isn&#8217;t able to handle. Some layering things that it&#8217;s just like, oh, I don&#8217;t know what&#8217;s going on here. So that needs work. But that&#8217;s just kind of the constant process. At least it does exist and it can cover a lot of the most common use cases.</p>\n\n\n\n<p>But, yeah, that alt text one, that&#8217;s also a really valuable thing to be able to have some checks on. It&#8217;s a hard thing, and I think one precursor change we actually need to be able to make that possible is we need to make some revisions to how alt text is stored in the database.</p>\n\n\n\n<p>Because the reality is, right now WordPress stores alt text as a meta field that&#8217;s tied to the attachment, tied to the image. But alt text actually is context sensitive. And so really there shouldn&#8217;t be one canonical alt text for an image. There could be a canonical description of that image, but the alt text itself should always be context sensitive.</p>\n\n\n\n<p>On the other hand, if we just removed that field and didn&#8217;t save it, which is something that the block editor has kind of taken that path, when you change it in the block editor, it does not save to the media library, that&#8217;s also flawed, because sometimes you do actually want to use that, or at least want to use it as the basis for the next version of that alt text you write. So what I&#8217;d like to see is that we could actually save multiple alt text fields and have that managed.</p>\n\n\n\n<p>[00:42:33] <strong>Jonathan Desrosiers:</strong> There&#8217;s all these great ideas, and great things, but we also need to strive for simplicity. We don&#8217;t want them overwhelmed with a hundred different accessibility notices of how they could improve to the point where they say, I&#8217;m going to somewhere else, this website&#8217;s too confusing.</p>\n\n\n\n<p>This is potentially also another opportunity for AI. Perhaps AI could be used to suggest what accessible alt text should be in the context of the article you&#8217;re writing, or the page you&#8217;re authoring. You know, maybe AI can be trained in a way to audit your page for accessibility and make suggestions.</p>\n\n\n\n<p>AI is really exciting. I often sit back and watch and just observe because there&#8217;s so many models and you never know which ones to use. And unless you&#8217;re really deeply involved, it&#8217;s hard to know the best model for certain tasks.</p>\n\n\n\n<p>But I definitely like to think about, it&#8217;s helped me be more organised for sure. I have a hard time sometimes when I am creating a talk, getting my thoughts into an organised deck. And so by putting all my thoughts into AI, I&#8217;m able to better organise it and then I can drop my notes and my thoughts in the structured outline that it kind of organises for me, right?</p>\n\n\n\n<p>But, in what ways can that be applied in the editing process within WordPress under the lens of accessibility? And we could have SEO, we could have, Yoast has a lot of SEO tools that makes SEO recommendations. And we could have our canonical plugin perhaps has an AI interface and we go from there.</p>\n\n\n\n<p>So, yeah, there&#8217;s many different ways we can tackle these accessibility issues. It&#8217;s exciting to have these types of discussions and consider what could be.</p>\n\n\n\n<p>[00:44:05] <strong>Nathan Wrigley:</strong> Sadly, I think time is going to get the better of us. But I would like to say thank you, both of you, for your intelligent commentary on this. I don&#8217;t know which way it&#8217;ll go.</p>\n\n\n\n<p>[00:44:15] <strong>Jonathan Desrosiers:</strong> And there&#8217;s no right way necessarily.</p>\n\n\n\n<p>[00:44:16] <strong>Nathan Wrigley:</strong> That&#8217;s right. And it seems like there&#8217;s benefits in both possibilities. I&#8217;m not going to put you on the spot and ask you which your preferred one is. I have suspicions. Let&#8217;s keep this debate going I suppose. Let&#8217;s see which way it falls out. And, yeah, Joe and Jonathan, thank you so much for chatting to me today.</p>\n\n\n\n<p>[00:44:33] <strong>Jonathan Desrosiers:</strong> Of course. Perhaps we could do like a six month check-in on the state of canonical plugins.</p>\n\n\n\n<p>[00:44:38] <strong>Joe Dolson:</strong> Yeah, it&#8217;ll be interesting to see what happens next. Thanks so much.</p>\n\n\n\n<p>[00:44:40] <strong>Nathan Wrigley:</strong> I honestly think that we could have gone in a hundred different directions here. I think there&#8217;s bits of this podcast, which we could have opened up and probably spoken for many, many more hours. But, yeah, thank you both.</p>\n</div></details>\n\n\n\n<p>On the podcast today we have <a href=\"https://www.joedolson.com/\">Joe Dolson</a> and <a href=\"https://jonathandesrosiers.com/\">Jonathan Desrosiers</a>.</p>\n\n\n\n<p>As you’ll hear in their podcast introductions, both Joe and Jonathan are veterans of WordPress, committing to Core in different ways. They’re deeply committed towards making the platform more useful for all users.</p>\n\n\n\n<p>This episode is all about exploration rather than answers. Joe and Jonathan discuss the world of canonical plugins, a special category of plugins maintained by the Core team. They are designed to be as reliable and secure as features found in WordPress Core itself. The discussion unpacks what exactly defines a canonical plugin, how these plugins have evolved out of the traditional feature plugin model, and what it means for users and contributors alike.</p>\n\n\n\n<p>At the center of this episode is accessibility: should accessibility enhancements remain a primary concern within WordPress Core, or is it time to start developing them as canonical plugins? Joe and Jonathan discuss the pros and cons of both options, referencing technical challenges, project philosophies, and the ever-changing legislative environment, especially with tough new regulations in Europe.</p>\n\n\n\n<p>They consider the discoverability of canonical plugins for non-technical users, potential overlaps and division of labour between plugins and Core, and the moral imperative of making websites  accessible to all.</p>\n\n\n\n<p>We also touch upon practical examples, from the WordPress video block, to the Performance Lab plugin, and weigh up how cadence, stability, and focus can differ outside the Core. The conversation also goes beyond theory, delving into the real-life impact accessible technology has, from legal requirements to personal stories and the broader mission of democratising publishing.</p>\n\n\n\n<p>Whether you&#8217;re a developer, a site owner, or someone interested in the ethical questions at the heart of open-source software, this episode is for you.</p>\n\n\n\n<h2 class=\"wp-block-heading\">Useful links</h2>\n\n\n\n<p><a href=\"https://wordpress.org/news/2009/12/canonical-plugins/\">Canonical Plugins (Say What?)</a></p>\n\n\n\n<p><a href=\"https://wordpress.org/plugins/wordpress-importer/\">WordPress Importer</a> plugin</p>\n\n\n\n<p><a href=\"https://wordpress.org/plugins/mp6/\">mp6</a> plugin</p>\n\n\n\n<p><a href=\"https://hackerone.com/wordpress?type=team\">WordPress HackerOne program</a></p>\n\n\n\n<p><a href=\"https://wordpress.org/data-liberation/\">Data Liberation Project</a></p>\n\n\n\n<p><a href=\"https://jonathandesrosiers.com/2018/10/accessibility-a-developers-pledge/\">Accessibility: A Developer’s Pledge</a></p>\n\n\n\n<p><a href=\"https://www.freedomscientific.com/products/software/jaws/\">JAWS</a></p>\n\n\n\n<p><a href=\"https://www.mediaelementjs.com/\"> MediaElement.js</a></p>\n\n\n\n<p><a href=\"https://ableplayer.github.io/ableplayer/\"> Able Player</a></p>\n\n\n\n<p><a href=\"https://github.com/WordPress/design-experiments\"> Design Experiments plugin</a></p>\n\n\n\n<p><a href=\"https://europe.wordcamp.org/2025/speaker/noel-tock/\">WordCamp Europe 2025  keynote with Noel Tock</a></p>\n\n\n\n<p><a href=\"https://www.w3.org/WAI/standards-guidelines/atag/\">Authoring Tool Accessibility Guidelines</a></p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 25 Jun 2025 14:00:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Nathan Wrigley\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i: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:85:\"Open Channels FM: Measuring Success in Video Marketing: Why Views Aren’t Everything\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:47:\"https://openchannels.fm/?post_type=blog&p=97509\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:88:\"https://openchannels.fm/measuring-success-in-video-marketing-why-views-arent-everything/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:192:\"View counts aren\'t definitive for video marketing success. Focus on quality viewers, conversion-oriented content, and long-term impact instead of just numbers for achieving meaningful results.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 25 Jun 2025 11:47:18 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"BobWP\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i: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:62:\"Gravatar: Mobile SDKs Now Edit Full Profiles, Not Just Avatars\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:32:\"http://blog.gravatar.com/?p=3338\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:89:\"https://blog.gravatar.com/2025/06/24/mobile-sdks-now-edit-full-profiles-not-just-avatars/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:3665:\"<p>Got users stuck with outdated Gravatars or profile info in your mobile app? Your Gravatar integration just became a lot more powerful.</p>\n\n\n\n<p>Tens of thousands of apps and sites pull in Gravatars for a better user experience. But when someone wants to update their avatar or profile details, they&#8217;re usually stuck hunting for settings — or worse, they can&#8217;t update them at all.</p>\n\n\n\n<p>With our Quick Editor and Mobile SDKs, problem solved!</p>\n\n\n\n<h2 class=\"wp-block-heading\">One Tap to Update Everything</h2>\n\n\n\n<p>Our Mobile SDKs have always made avatar updates simple. Users tap their avatar, make changes, and boom – it&#8217;s updated everywhere. But avatars are just part of your digital identity.</p>\n\n\n\n<p>The latest SDK releases bring full profile editing to your mobile app. Now users can update their entire Gravatar – display name, about info, location, pronouns, and more – right from within your app.</p>\n\n\n\n<h2 class=\"wp-block-heading\">What&#8217;s New</h2>\n\n\n\n<h3 class=\"wp-block-heading\">Profile Editing Beyond Avatars</h3>\n\n\n\n<p>Users can now edit their complete Gravatar profile without leaving your app. </p>\n\n\n\n<p>This includes:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Display name</li>\n\n\n\n<li>About/bio information</li>\n\n\n\n<li>Location</li>\n\n\n\n<li>Job title</li>\n\n\n\n<li>And more</li>\n</ul>\n\n\n\n<h3 class=\"wp-block-heading\">iOS 3.4.0 Improvements</h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Smoother animations on the SwiftUI sheet</li>\n\n\n\n<li>Better VoiceOver support for accessibility</li>\n\n\n\n<li>Performance optimizations throughout</li>\n</ul>\n\n\n\n<h3 class=\"wp-block-heading\">Android 2.5.0 Updates</h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Removed Retrofit dependency from core module (cleaner, lighter integration)</li>\n\n\n\n<li>New API endpoints for expanded functionality</li>\n\n\n\n<li>Bug fixes for improved stability</li>\n</ul>\n\n\n\n<h2 class=\"wp-block-heading\">See It in Action</h2>\n\n\n\n<p>The editing flow feels native to each platform. On iOS, it&#8217;s a sleek SwiftUI sheet. On Android, it follows Material Design patterns. Your users get a familiar experience while managing their universal web identity.</p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img alt=\"\" class=\"wp-image-3343\" height=\"1260\" src=\"https://blog.gravatar.com/wp-content/uploads/2025/06/cleanshot-2025-06-24-at-16.21.33.gif\" style=\"width: 300px;\" width=\"580\" /></figure>\n\n\n\n<h2 class=\"wp-block-heading\">Why This Matters</h2>\n\n\n\n<p>Think about it: someone downloads your app, signs up, and their Gravatar automatically fills in their avatar and profile details. Later, when they get a new headshot or job title, they can update it right there in your app.</p>\n\n\n\n<p>No hunting through settings. No switching between apps. One tap, and they&#8217;re current everywhere.</p>\n\n\n\n<p>You get happier users with fresh, accurate profiles. They get a seamless experience that just works.</p>\n\n\n\n<p>We know it works because we dogfood our SDKs in our sister apps <a href=\"https://jetpack.com/mobile/\">Jetpack</a> and <a href=\"https://pocketcasts.com\">Pocket Casts</a>, powering avatars and profile details millions of users monthly.</p>\n\n\n\n<h2 class=\"wp-block-heading\">Developers: Ready to Upgrade?</h2>\n\n\n\n<p>The updated SDKs are available now for both iOS and Android. Adding profile editing to your existing Gravatar integration takes just a few lines of code.</p>\n\n\n\n<p>Check out our <a href=\"https://docs.gravatar.com/mobile-sdk/\">developer documentation</a> for platform-specific guides, code examples, and migration instructions.</p>\n\n\n\n<p>Your users deserve to control their digital identity. Now you can help them do it.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 24 Jun 2025 16:07:19 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:11:\"Ronnie Burt\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i: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:110:\"Open Channels FM: New, Open Channels Dispatch: Rebranding, Site Updates, and What’s Next for OpenChannels FM\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:32:\"https://openchannels.fm/?p=99138\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:110:\"https://openchannels.fm/new-open-channels-dispatch-rebranding-site-updates-and-whats-next-for-openchannels-fm/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:108:\"BobWP kicks off Open Channels Dispatch to share quick updates and news about the rebranded Open Channels FM.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 24 Jun 2025 11:41:30 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"BobWP\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i: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:106:\"Open Channels FM: How Non-Developers Can Start Contributing to WordPress Translations (And Why It Matters)\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:47:\"https://openchannels.fm/?post_type=blog&p=97421\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:111:\"https://openchannels.fm/how-non-developers-can-start-contributing-to-wordpress-translations-and-why-it-matters/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:354:\"One of the most inspiring aspects of the WordPress ecosystem is its commitment to making the web accessible in every language. In a recent episode from the series The WordPress Way,” hosts Abha Thakor, Pascal Birchler, and Robert Windisch dove deep into the world of translations and multilingual WordPress and revealed just how much everyday [&#8230;]\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Mon, 23 Jun 2025 09:23:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"BobWP\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i: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:23:\"Matt: Automattic Twenty\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:23:\"https://ma.tt/?p=143509\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:40:\"https://ma.tt/2025/06/automattic-twenty/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:4771:\"<p><a href=\"https://automattic.com/2025/06/20/automattic-20-years/\">We&#8217;re celebrating a fun anniversary at Automattic today, our 20th, with a fun look-back</a>. Gosh, it&#8217;s been quite a journey, and it still feels like we&#8217;re just getting started in so many areas.</p>\n\n\n\n<p>In 2005, being a remote-first company was anathema to investors and business leaders* at the time; it was a scarlet letter that combined with our embrace of Open Source and the relative inexperience got us some funny looks and a lot of skepticism. I will be forever grateful to the true contrarians who bet on Automattic in our earliest days. </p>\n\n\n\n<p>Even when it was clearly working the first few years, there was always the dismissal of &#8220;that won&#8217;t scale&#8221; that loomed like a remote startup <a href=\"https://en.wikipedia.org/wiki/Great_Filter\">Great Filter</a>. These days I hear from friends who run incubators or do seed investing that almost every company they look at taps into remote talent.</p>\n\n\n\n<p>It makes me think about what uncommon things Automattic does today that will be standard in the coming decades. We do our best to balance idealism with pragmatism, because even if you are on the right side of history, being too early can be as bad as being wrong.</p>\n\n\n\n<p>I can&#8217;t predict everything that will change over the coming decades, especially with AI making the next few years particularly hard to predict. Still, I do know a few things that <em>won&#8217;t</em> change: everything flows from our people, open source is still the most powerful idea of our generation, growth is the best feedback loop, and no matter how far away the goal is, the only way to get there is by putting one foot in front of another every day. People will always want fast, bug-free software; instant, omniscient customer service when they need it; and experiences so intuitive that they usually don&#8217;t. And once they&#8217;ve had a taste of freedom, it&#8217;s hard to return to their previous state. (For more, <a href=\"https://automattic.com/creed/\">see our creed</a>.)</p>\n\n\n\n<p>Our industry is highly cyclical, and I feel fortunate to have gained the perspective of a few bubbles and crashes, along with all the emotions that go with them. It&#8217;s undeniable we&#8217;re in the very early days — the command-line times — of an AI era, and though it will probably have its own bubble and crash cycles, it feels as significant to me as anything since we started. It&#8217;s more important than ever that we fight for open source and the freedom-enhancing side of technology. I&#8217;m committed to doing whatever I can to democratize publishing, commerce, and messaging, but there are many other areas of the human experience to cover&#8230; pick one to work on! It&#8217;s hard and rewarding work. </p>\n\n\n\n<p>When I was working on an early version of one of our internal stats systems, it was really important to me that it showed rolling windows of the last 24 hours (daily), 168 hours, 4 weeks, and of course yearly. The rolling was important so you could see the impact of your changes as soon as possible. Then I felt called to add another: decade.</p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img alt=\"\" class=\"wp-image-143529\" height=\"113\" src=\"https://i0.wp.com/ma.tt/files/2025/06/mc-rolling-stats-1024x191.png?resize=604%2C113&#038;quality=80&#038;ssl=1\" width=\"604\" /></figure></div>\n\n\n<p>Some thought it was silly at the time, and it&#8217;s true that it initially served mainly as a way to display the cumulative number. But I wanted every time someone looked at one of these stats pages that they were reminded that <strong>we&#8217;re building for the long term</strong>. Our users and customers deserve nothing less. And now we have some statistics with 20 years of history, it has some useful comparisons as well! </p>\n\n\n\n<p>In <a href=\"https://ma.tt/2015/06/ten-years-of-automattic/\">Ten Years of Automattic, I wrote</a>:</p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>There’s a lot more to do, and I can’t wait to see what a “20 Years of Automattic” post says. I’m a lucky guy.</p>\n</blockquote>\n\n\n\n<p>Now we know! I&#8217;m still a very lucky guy, and can&#8217;t wait to build, learn, and share alongside a talented crew of like-minded hackers, dreamers, and doers.</p>\n\n\n\n<p><em>* I&#8217;ll note that pioneers like Bob Young (Red Hat), Stephen Wolfram (Wolfram Research), Jason Fried (37Signals), and Mårten Mickos (MySQL) were big inspirations. Also, the entire Open Source community and most projects operated at least partially this way, which is why it seemed so natural to us as a second-generation Open Source company.</em></p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Sat, 21 Jun 2025 02:59:54 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:4:\"Matt\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i: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:115:\"Gutenberg Times: Interactivity API, WordPress 6.8.2, Transitions API and Pride Photo Drive — Weekend Edition #333\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"https://gutenbergtimes.com/?p=40735\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:119:\"https://gutenbergtimes.com/interactivity-api-wordpress-6-8-2-transitions-api-and-pride-photo-drive-weekend-edition-333/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:20878:\"<p>Hi there, </p>\n\n\n\n<p>Are you ready for a summer break of the Gutenberg Times? I am definitely ready for a vacation. It&#8217;s been a fabulous first half of the year with plenty of new experiences, and reconnecting with friends in the WordPress community. There is soo much inspiring creativity in the community around block editor, Playground and AI. I am curious what the second half of year will bring.</p>\n\n\n\n<p>As for WordCamps, I am considering going to WordCamps, <a href=\"https://gdynia.wordcamp.org/2025/\">Gyndia</a>, <a href=\"https://verona.wordcamp.org/2025/\">Verona</a>,  and <a href=\"https://pisa.wordcamp.org/2025/\">Pisa</a>. Once the decisions are made, I, of course, will let you know. Do you have any WordCamp plans?</p>\n\n\n\n<p>Enjoy the summer and I&#8217;ll be back. </p>\n\n\n\n<p>Yours, <img alt=\"💕\" class=\"wp-smiley\" src=\"https://s.w.org/images/core/emoji/15.1.0/72x72/1f495.png\" style=\"height: 1em;\" /><br /><em>Birgit</em></p>\n\n\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\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/interactivity-api-wordpress-6-8-2-transitions-api-and-pride-photo-drive-weekend-edition-333/#0-word-press-release-information\">Developing Gutenberg and WordPress</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/interactivity-api-wordpress-6-8-2-transitions-api-and-pride-photo-drive-weekend-edition-333/#0-p\">Plugins, Themes, and Tools for #nocode site builders and owners</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/interactivity-api-wordpress-6-8-2-transitions-api-and-pride-photo-drive-weekend-edition-333/#2-word-press-6-0-1-and-6-1-scheduled\">Theme Development for Full Site Editing and Blocks</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/interactivity-api-wordpress-6-8-2-transitions-api-and-pride-photo-drive-weekend-edition-333/#3-building-themes-for-fse-and-word-press\">Building Blocks and Tools for the Block editor</a></li></ol></nav>\n</div></div>\n</section>\n\n<div class=\"wp-block-newsletterglue-showhide ng-block\" width=\"100%\"></div>\n\n\n<p>In their post, <a href=\"https://lgbtqpress.com/2025/05/share-your-pride-photo-drive-is-back-for-2025/\"><strong>Share your Pride Photo Drive is back for 2025</strong></a>,  <strong>Anne McCarthy</strong> invites you to  an open photo submission event to boost LGBTQ+ representation in the WordPress Photo Directory. The initiative encourages everyone (not just the LGBTQ+ community) to contribute, with fun incentives and cash prizes, emphasizing the importance of diverse, high-quality imagery for web creators. <strong>The deadline is July 1st 2025. </strong></p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"0-word-press-release-information\">Developing Gutenberg and WordPress</h2>\n\n\n\n<p><strong>Jean-Baptiste Audras</strong> just dropped the schedule for <a href=\"https://make.wordpress.org/core/2025/06/17/wordpress-6-8-2-release-schedule/\"><strong>WordPress 6.8.2 Release Schedule</strong></a>. There are a few bug scrub sessions coming up, with the first release candidate (RC1) out on July 8, 2025, and the final version landing a week later on July 15. He also shared some handy links to the list of fixes they’re hoping to squeeze into this update.</p>\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/15.1.0/72x72/1f399.png\" style=\"height: 1em;\" /> The latest episode <a href=\"https://gutenbergtimes.com/podcast/gutenberg-changelog-118-wordpress-new-ai-team-the-pride-photo-drive/\">Gutenberg Changelog 118 – WordCamp Europe, WordPress New AI Team, the Pride Photo Drive, Gutenberg 20.9 and 21.0 </a> <strong>Anne McCarthy</strong> is back from sabbatical and we talked about WordCamp Europe, the new WordPress AI team, the Pride Photo Drive, and Gutenberg 20.9 and 21.0 . </p>\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 post <a href=\"https://felix-arntz.me/blog/introducing-view-transitions-wordpress-plugin/\"><strong>Introducing the View Transitions Plugin for WordPress</strong></a>, <strong>Felix Arntz <br /></strong>announced a new plugin that brings smooth, animated transitions between pages to WordPress sites. He explains that <a href=\"https://wordpress.org/plugins/view-transitions/\">the plugin</a> uses the <a href=\"https://developer.mozilla.org/en-US/docs/Web/API/View_Transition_API\">View Transitions API</a> to create seamless visual effects, making navigation feel more modern and app-like without the complexity of single-page applications. Arntz described how the plugin works out of the box, offers customization through both the WordPress admin and theme code, and supports various animation styles. The goal is to improve user experience and perceived performance with minimal setup.<strong> </strong></p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p>In his latest video, <a href=\"https://www.youtube.com/watch?v=s9vt5skaTfw\"><strong>The Secret to Client-Proof WordPress Sites</strong></a>, <strong>Wes Theron</strong> shows how to let clients safely update content while keeping a consistent design. He demonstrates using synced patterns with editable overrides. Global design changes to a pattern update all instances on the site. He explains how clients can modify specific elements without disrupting the layout. This method simplifies site management and maintains design integrity, making WordPress sites easier to manage and grow.</p>\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\n<p><br /><strong>Claire Brotherton</strong> reviewed the Twenty Twenty-Five WordPress theme, highlighting its flexibility and modern design.  Brotherton details its customizable templates, diverse style variations, and extensive block patterns, making it easy to create unique layouts. She notes the theme’s accessibility features, international typography options, and compatibility with the latest WordPress tools. The guide also covers practical tips for editing menus, headers, and footers, and encourages users to experiment with the theme’s many design possibilities. The post <a href=\"https://www.abrightclearweb.com/twenty-twenty-five-theme-the-ultimate-guide/\"><strong>Twenty Twenty-Five Theme: the Ultimate Guide</strong></a> definitely lives up to its promise. </p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p><strong>Johanne Courtright</strong> <a href=\"https://groundworx.dev/blog/introducing-groundworx-navigation/\"><strong>introduced the Groundworx Navigation plugin</strong></a>, a flexible, block-based navigation tool for WordPress. After years of building custom menus, she created this plugin to streamline features like accordions, slide-ins, sticky headers, and responsive toggles. Designed for Full Site Editing, it fits modern WordPress workflows and eliminates the need to rebuild navigation logic for each project, making advanced menu patterns easier for both developers and site owners. <a href=\"https://github.com/groundworx-dev/groundworx-navigation\">Check it out from GitHub</a>. Once it goes through the approval process, it will also be available for download from the WordPress repository.</p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p>In his post <a href=\"https://publishpress.com/blog/publishpress-blocks/find-all-gutenberg-blocks/\"><strong>What&#8217;s the plan for PublishPress Blocks</strong></a>? <strong>Steve Burge</strong> mentions the new Block Usage Screen. It shows you any usage of blocks on your site or search for blocks. For example, it will show how many paragraph blocks you used throughout all blog posts. He also shows the new menu from within the plugin and lists six more features: control on who can use each block, additional blocks like accordion, galleries, tabs etc. I am excited about the feature to create my own Block Styles right from the interface without code. In the video on YouTube, Burge shows off how to  <a href=\"https://www.youtube.com/watch?v=ZMgZ3JiNl1Y&amp;t=16s\">find your WordPress Blocks with the PublishPress Blocks Plugin</a>. </p>\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>A common solution to make a sticky header is to wrap the template part in a group block and set the Position to &#8220;sticky&#8221;. <strong>Mike McAlister</strong> has more elegant solutions to  <a href=\"https://olliewp.com/fixing-the-sticky-header-bug-in-the-wordpress-site-editor/\"><strong>Fixing the sticky header bug in the WordPress site editor</strong></a>. </p>\n\n\n\n<p><strong>Hans-Gerd Gerhards</strong> has also tackled this problem with his plugin <strong><a href=\"https://wordpress.org/plugins/shrinking-logo-sticky-header/\">Dynamic Header &amp; Navigation for Block Themes</a></strong>, that also, among a few other things, it gives you settings to shrink the header on scroll, so it doesn&#8217;t take up too much real-estate. </p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p><br />In her post, <strong><a href=\"https://www.askdesign.biz/blog/2025/06/layout-and-design-with-the-grid-block/\">Layout and Design with the Grid Block</a>,</strong> <strong>Anne Katzeff</strong> explains how the grid block can help make web pages look cleaner and more organized. She gives simple advice for setting up columns, spacing, and alignment, and encourages people to play around with different layouts to find what looks and works best. It might just be the manual you have been looking for. </p>\n\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: #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>In this high-level post, <a href=\"https://wp.gallery/themes/wordpress-block-theme/\" rel=\"noreferrer noopener\" target=\"_blank\"></a><a href=\"https://wp.gallery/wordpress-interactivity-api/\" rel=\"noreferrer noopener\" target=\"_blank\"><strong>15 WordPress Interactivity API examples &#8211; WP Gallery</strong></a><br />Diane Collet, co-founder of Twentig and WP Gallery, explains how the new WordPress Interactivity API empowers developers to create dynamic, interactive front-end experiences without relying on heavy JavaScript frameworks. She highlights how the API enables seamless, reactive user interfaces directly within WordPress blocks, making it easier to build features like live search, filters, and instant feedback. Collet emphasizes the API’s simplicity, performance benefits, and its alignment with WordPress’s vision for a more interactive and modern web, encouraging developers to explore its capabilities for enhancing user engagement. </p>\n\n\n\n<p>To get started with the Interactivity API, you can work through this list of resources:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https://wordpress.tv/2025/06/07/wordpress-gems-for-devs-interactivity-api-2/\">WordPress Gems around the Interactivity API</a> (Workshop recording) </li>\n\n\n\n<li><a href=\"https://developer.wordpress.org/news/2024/04/a-first-look-at-the-interactivity-api/\">A first look at the Interactivity API</a> </li>\n\n\n\n<li><a href=\"https://developer.wordpress.org/news/2024/02/an-introduction-to-block-based-mega-menus/\">An introduction to block-based mega menus</a></li>\n\n\n\n<li><a href=\"https://developer.wordpress.org/block-editor/reference-guides/packages/packages-interactivity/packages-interactivity-api-reference/#list-of-directives\" rel=\"noreferrer noopener\" target=\"_blank\">Interactivity API Reference</a> </li>\n\n\n\n<li><a href=\"https://github.com/WordPress/gutenberg/discussions/55642\">Interactivity API showcase</a></li>\n\n\n\n<li><a href=\"https://www.youtube.com/watch?v=ndW-Kz0iDdY&amp;list=PL1pJFUVKQ7ETApyQQlt3pLNjPx2HrQwl5&amp;index=18\">Developer Hours: Building custom blocks in WordPress with the Interactivity API</a></li>\n\n\n\n<li><a href=\"https://www.youtube.com/watch?v=Sl6nqGN8YVQ&amp;list=PL1pJFUVKQ7ETApyQQlt3pLNjPx2HrQwl5&amp;index=19\">Developer Hours: Exploring the Interactivity API in WordPress 6.5</a></li>\n</ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p><strong>JuanMa Garrido </strong>was inspired by Igor Benić&#8217;s <a href=\"https://wpchallenges.beehiiv.com/.\">list of <strong>WordPress challenges</strong></a>. In his live stream he ventured to solve some of them. <a href=\"https://www.youtube.com/watch?v=DgB5M5ameUs\">The recording is on YouTube</a>. The first challenge was: <em>Create a block that fetches and displays posts from a specific category dynamically (using ServerSideRender component).</em></p>\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-4-3 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n\n</div></figure>\n</div>\n\n\n<p><strong>In his live stream<a href=\"https://www.youtube.com/watch?v=ABfMFB5s_TA\">, WCEU workshop code along</a></strong>, <strong>Ryan Welcher</strong> followed Bero&#8217;s WCEU workshop on setting up automatic testing with Playwright and Playground. </p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\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\n<p>This week, <strong>Jonathan Bossenger</strong> updates us about <strong><a href=\"https://www.youtube.com/watch?v=_q-1aGvHfqo\">WordPress MCP &amp; Feature API</a> </strong>on his live stream. </p>\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\" />\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<p>Featured Image: Photo by Polesie Toys on Pexel</p>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity is-style-wide\" />\n\n\n\n<p class=\"has-text-align-left\"><strong>Don&#8217;t want to miss the next Weekend Edition? </strong></p>\n\n\n<form action=\"https://gutenbergtimes.com/feed/\" autocomplete=\"on\" class=\"wp-block-newsletterglue-form ngl-form ngl-portrait\" method=\"post\"><div class=\"ngl-form-container\"><div class=\"ngl-form-field\" style=\"margin-bottom: 25px;\"><label class=\"ngl-form-label\" for=\"ngl_email\"><br />Type in your Email address to subscribe.</label><div class=\"ngl-form-input\"><input autocomplete=\"email\" class=\"ngl-form-input-text\" id=\"ngl_email\" name=\"ngl_email\" required=\"required\" style=\"border-radius: 21px;\" type=\"email\" /></div></div><button class=\"ngl-form-button\" style=\"background-color: #005075; border-color: #005075; border-width: 1px; border-style: solid; color: #ffffff; border-radius: 21px;\" type=\"submit\">Subscribe</button><p class=\"ngl-form-text\">We hate spam, too, and won&#8217;t give your email address to anyone <br />except Mailchimp to send out our Weekend Edition</p></div><div class=\"ngl-message-overlay\"><div class=\"ngl-message-svg-wrap\"><svg fill=\"none\" height=\"24\" stroke=\"#fff\" stroke-width=\"2\" viewBox=\"0 0 24 24\" width=\"24\" xmlns=\"http://www.w3.org/2000/svg\"><polyline points=\"20 6 9 17 4 12\"></polyline></svg></div><div class=\"ngl-message-overlay-text\">Thanks for subscribing.</div></div><input id=\"ngl_list_id\" name=\"ngl_list_id\" type=\"hidden\" value=\"26f81bd8ae\" /><input id=\"ngl_double_optin\" name=\"ngl_double_optin\" type=\"hidden\" value=\"yes\" /></form>\n\n\n<hr class=\"wp-block-separator has-css-opacity is-style-wide\" />\n</section>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Sat, 21 Jun 2025 00:40:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:18:\"Birgit Pauli-Haack\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i: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:65:\"Gravatar: How to Build Trust Online With Professional Credibility\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:32:\"http://blog.gravatar.com/?p=3280\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:59:\"https://blog.gravatar.com/2025/06/20/building-trust-online/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:17008:\"<p>Here’s the deal: Every time you pop up online with a different headshot, a tweaked job title, or a bio that sounds like it was written by three different people on three different days, you’re not just being quirky. You’re quietly <em>chipping away</em> at your credibility.</p>\n\n\n\n<p>Those little inconsistencies create one big problem: Cognitive friction. And cognitive friction = second-guessing. Not ideal when you’re trying to win hearts, minds, or contracts.</p>\n\n\n\n<p>Unlike the good old days of handshakes and conference rooms, building trust online isn’t natural or automatic. It’s something you have to <em>design</em> carefully, deliberately, across every touchpoint where your name shows up.</p>\n\n\n\n<p>And if you’re new to the game without a reputation to fall back on? The stakes are even higher. </p>\n\n\n\n<p>But here’s the good news: Trust is buildable – and way more under your control than you think.</p>\n\n\n\n<p>In this guide, you’ll learn how to: </p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>centralize your online identity so you look polished and cohesive everywhere.</li>\n\n\n\n<li>use social proof like a pro to boost instant credibility.</li>\n\n\n\n<li>communicate authentically without feeling like you’re &#8220;branding&#8221; yourself to death.</li>\n</ul>\n\n\n\n<p>By the time we&#8217;re done, you&#8217;ll know exactly how to build a digital presence that feels genuine, trustworthy, and ready to convert curious visitors into loyal fans, wherever they find you.</p>\n\n\n\n<h2 class=\"wp-block-heading\">Why professional credibility isn’t just “nice to have” anymore</h2>\n\n\n\n<p>Thinking professional credibility online is just about having a typo-free website and a decent logo is like saying a handshake is only about touching another person’s hand. Important, yes – but nowhere near the full story.</p>\n\n\n\n<p>Today, trust online demands way more than surface polish. It’s about creating a <em>coherent, recognizable presence</em> that follows you everywhere your audience might stumble across you.</p>\n\n\n\n<p>A <a href=\"https://eujournal.org/index.php/esj/article/view/17729\">January 2024 study</a> from the Digital Identity Institute nailed it down to four essentials:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Your <strong>identifiers</strong> (name, handle, URL).</li>\n\n\n\n<li>Your <strong>content</strong> (what you post and share).</li>\n\n\n\n<li>Your <strong>profile photos</strong> (how you visually show up).</li>\n\n\n\n<li>Your <strong>personal images</strong> (those behind-the-scenes moments that humanize you).</li>\n</ul>\n\n\n\n<p>Get these aligned? You’re golden. Mix them up? You undermine the very trust and credibility you’re aiming for.</p>\n\n\n\n<p>Every time someone jumps from your Twitter to your LinkedIn to your personal blog and spots a disconnect, a little voice whispers: <em>&#8220;Wait, is this even the same person?&#8221;</em></p>\n\n\n\n<p>Cue doubt. Cue hesitation. Cue lost opportunity.</p>\n\n\n\n<p>And just a heads-up: Your digital reputation isn’t <em>just</em> about what you put out there. It’s also:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>What people say about you on review sites.</li>\n\n\n\n<li>How (and whether) you respond to comments.</li>\n\n\n\n<li>Where your name pops up in industry chatter.</li>\n\n\n\n<li>Those forgotten forum posts from 2018 (yes, even the cringey ones).</li>\n</ul>\n\n\n\n<p>For newcomers, this can feel wildly overwhelming. But don’t panic – there’s a system for building trust that works whether you’re a total newbie or a seasoned pro.</p>\n\n\n\n<p>And it all starts with something deceptively simple: Making it <em>crystal clear</em> that it’s actually <em>you</em>, wherever you show up.</p>\n\n\n\n<p>Let’s dig into how to make that happen.</p>\n\n\n\n<h2 class=\"wp-block-heading\">Establishing your verified identity online</h2>\n\n\n\n<p>Let’s talk about the sneaky tax no one warns you about: <strong>Digital fragmentation</strong>. </p>\n\n\n\n<p>Every time you spin up a new <a href=\"https://github.com/\">GitHub</a> profile, tweak your <a href=\"https://wordpress.com/\">WordPress.com</a> bio, or casually update your <a href=\"https://slack.com/\">Slack</a> status, you’re basically creating another branch of your professional identity.</p>\n\n\n\n<p>Each one demands attention; otherwise, it leaves behind tiny cracks in your credibility that clients will notice (even if they don’t realize it).</p>\n\n\n\n<p>Trust is built silently through strategic verification signals. Things like:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Verified email domains:</strong> Yourname@yourcompany.com trumps hotmaillegend1995@gmail.com (every time).</li>\n\n\n\n<li><strong>Consistent usernames:</strong> When &#8220;jane-smith-designer&#8221; shows up everywhere, recognition is effortless.</li>\n\n\n\n<li><strong>Linked professional accounts:</strong> Connecting your LinkedIn, Twitter, and portfolio into a neat trust web.</li>\n\n\n\n<li><strong>Visual continuity:</strong> That profile photo is important, it’s a visual anchor that screams &#8220;yep, this is me&#8221;.</li>\n</ul>\n\n\n\n<p>But the brutal truth is that keeping it all polished and synced can feel like a part-time job. And the longer you’re online, the more ancient breadcrumbs (and outdated bios) you scatter across the internet like digital confetti.</p>\n\n\n\n<p><strong>Enter Gravatar.</strong></p>\n\n\n\n<p>Instead of <em>another</em> profile to manage, <a href=\"https://gravatar.com/\">Gravatar is the solution</a> <em>to</em> profile management by connecting your professional identity to something you already use everywhere: Your email address.</p>\n\n\n\n<p>Gravatar becomes your single source of truth, rippling updated credibility across the web with zero extra work.</p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>How Gravatar keeps your digital identity (and sanity) intact</strong></h3>\n\n\n\n<p>Gravatar’s magic trick is simple but game-changing: <strong>Update once. Sync everywhere</strong></p>\n\n\n\n<p>Here’s how it works:</p>\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-large\"><img alt=\"Gravatar profile example\" class=\"wp-image-3282\" height=\"774\" src=\"https://blog.gravatar.com/wp-content/uploads/2025/05/gravatar-profile.png?w=660\" width=\"660\" /></figure>\n</div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<ol class=\"wp-block-list\">\n<li>You sign up once using your email address.</li>\n\n\n\n<li>Gravatar then pushes your profile info – your headshot, your bio, your portfolio links – across any platform that has Gravatar integrated.</li>\n\n\n\n<li>Instantly recognizable. No manual updates. No weird gaps.</li>\n</ol>\n</div>\n</div>\n\n\n\n<div class=\"wp-block-spacer\" style=\"height: 20px;\"></div>\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>\n\n\n\n<p>Gravatar plugs into heavy-hitters like:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https://wordpress.org/\"><strong>WordPress</strong></a> (hello, <a href=\"https://en-gb.wordpress.org/about/features/\">43% of the internet</a>)</li>\n\n\n\n<li><a href=\"https://github.com/\"><strong>GitHub</strong></a> (where devs prove their chops)</li>\n\n\n\n<li><a href=\"https://slack.com/\"><strong>Slack</strong></a> (where teams live)</li>\n\n\n\n<li><a href=\"https://openai.com/\"><strong>OpenAI</strong></a> (yep, even the AI world knows your face)</li>\n\n\n\n<li><a href=\"https://www.atlassian.com/\"><strong>Atlassian</strong></a><strong>, </strong><a href=\"https://www.figma.com/\"><strong>Figma</strong></a><strong>, </strong><a href=\"https://mailchimp.com/\"><strong>Mailchimp</strong></a><strong>, </strong><a href=\"https://stackoverflow.com/\"><strong>Stack Overflow</strong></a><strong>, </strong><a href=\"https://www.coinbase.com/\"><strong>Coinbase</strong></a> – and the list keeps growing</li>\n</ul>\n\n\n\n<p>It’s like a <a href=\"https://blog.gravatar.com/2024/11/08/creating-a-digital-business-card/\">digital business card</a>, but one that updates itself, multiplies itself, and hands itself out for you.</p>\n\n\n\n<p>When you update your Gravatar, you’re refreshing your professional image across a whole ecosystem without lifting another finger.</p>\n\n\n\n<p>And even on platforms that don’t plug directly into Gravatar (looking at you, X and Instagram), your Gravatar profile still works as a rock-solid <a href=\"https://blog.gravatar.com/2024/04/12/maximize-your-instagram-bio-the-top-tools-to-consider/\">bio link</a> destination. A central hub that confirms, &#8220;Yes, I’m legit.&#8221;</p>\n\n\n\n<p>Let’s get into how to set it up.</p>\n\n\n\n<h2 class=\"wp-block-heading\">How to showcase expertise that actually converts (not just impresses)</h2>\n\n\n\n<p>Having a verified, consistent digital identity is a great first step. But if you want to turn casual visitors into paying clients, you need more than legitimacy. You need to <em>flex</em> your expertise in ways that actually move people to act.</p>\n\n\n\n<p>Here’s the difference between professionals who quietly exist online and those who consistently <a href=\"https://www.business.com/articles/9-steps-to-lead-conversion-success/\">rack up conversions</a>: They don’t just <em>say</em> they’re good. They <em>prove</em> it – strategically.</p>\n\n\n\n<p>Here’s how to build serious trust <em>and</em> trigger buying decisions at the same time:</p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Content that builds (and measures) trust</strong></h3>\n\n\n\n<p>Not all content earns trust equally. Here are the formats that drive the biggest trust-to-conversion ROI:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Case studies with real results:</strong> Proving you&#8217;ve solved <em>this exact problem</em> before removes the risk for new clients.</li>\n\n\n\n<li><strong>Original research with downloadable assets:</strong> Publishing fresh findings no one else has? Authority unlocked (not to mention backlinks).</li>\n\n\n\n<li><strong>Video demonstrations:</strong> Watching you in action builds confidence <em>fast</em>.</li>\n\n\n\n<li><strong>Step-by-step tutorials:</strong> Breaking down complex processes shows mastery <em>and</em> your ability to guide others.</li>\n</ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Credentials that appear </strong><strong><em>exactly</em></strong><strong> where they matter</strong></h3>\n\n\n\n<p><em>Having</em> credentials is great, but <em>placing</em> them where they crush doubt is the difference.</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Certification logos</strong> near pricing tables instantly calm “Is this worth it?” nerves.</li>\n\n\n\n<li><strong>Industry awards</strong> on service pages make your premium offer feel like a no-brainer.</li>\n\n\n\n<li><strong>Testimonials</strong> right beside CTA buttons? Ideal for that final, reassuring nudge.</li>\n</ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Thought leadership that stands out (not blends in)</strong></h3>\n\n\n\n<p>Vanilla expertise doesn’t convert. You need a clear, memorable POV that plants your flag.</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Challenge industry norms</strong> (backed by real evidence, not just hot takes).</li>\n\n\n\n<li><strong>Create your own frameworks</strong> that only <em>you</em> offer.</li>\n\n\n\n<li><strong>Take thoughtful stands</strong> on key industry debates (without turning your audience into enemies).</li>\n</ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Trusted platforms that amplify your expertise</strong></h3>\n\n\n\n<p>Sometimes it’s not just what you say – it’s <em>where</em> you say it. That’s why Gravatar’s integrations create trust-by-proxy opportunities you can’t buy:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>WordPress comments:</strong> Your verified Gravatar shows up and instantly builds recognition.</li>\n\n\n\n<li><strong>GitHub contributions:</strong> Your Gravatar profile signals serious technical chops.</li>\n\n\n\n<li><strong>Slack communities:</strong> Your Gravatar credentials put you right inside trusted expert circles.</li>\n</ul>\n\n\n\n<p>Stack these strategies, and not only are you building a reputation, you’re removing every obstacle between curiosity and conversion. When prospects can instantly answer both <em>&#8220;Can they help me?&#8221;</em> and <em>&#8220;Can I trust them?&#8221;</em>, signing on becomes the obvious next step.</p>\n\n\n\n<p>Let’s move on to putting all of this into action.</p>\n\n\n\n<h2 class=\"wp-block-heading\">Building trust through authentic communication</h2>\n\n\n\n<p>A fascinating <a href=\"https://pmc.ncbi.nlm.nih.gov/articles/PMC6961857/\">2020 University of Missouri study</a> found that <em>sharing the story behind why you do what you do</em> skyrockets your perceived authenticity.</p>\n\n\n\n<p>Turns out, people don’t just trust the expert with the most credentials. They trust the expert who lets them in on <em>why it matters</em> to them <em>personally</em>.</p>\n\n\n\n<p>In other words, explaining why you <em>care</em> can be just as powerful as proving you’re <em>qualified</em>.</p>\n\n\n\n<p>This research shatters the old-school myth that professional communication should stay cold, detached, and full of corporate buzzwords. Storytelling – real, personal, first-person storytelling – builds deeper trust than any third-person “Our team is passionate about solutions” fluff ever could.</p>\n\n\n\n<p>Here’s what that looks like in action:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>&#8220;I built this workflow after nearly burning out during my first agency job.&#8221; is more effective than &#8220;Our optimized workflow increases efficiency by 27%.”<br /></li>\n\n\n\n<li>&#8220;The software crashed on me three times before I figured out this workaround.&#8221; will win people over above &#8220;Our team has extensive troubleshooting experience.&#8221;</li>\n</ul>\n\n\n\n<p>See the difference? One makes you nod and feel something. The other makes you… skim.</p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>How Gravatar supercharges your authenticity</strong></h3>\n\n\n\n<p><a href=\"https://gravatar.com/\">Gravatar</a> is your secret weapon for broadcasting authenticity everywhere you show up. </p>\n\n\n\n<p>Inside your Gravatar profile, you’ve got space to tell the story:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The hurdles you’ve faced.</li>\n\n\n\n<li>The experiences that shaped your expertise.</li>\n\n\n\n<li>The <em>real reasons</em> behind what you do.</li>\n</ul>\n\n\n\n<p>And the beauty of this is you only have to do it once. Gravatar pushes that authentic narrative across every platform where your profile appears – so you’re building trust <em>automatically</em> without tailoring a new story for every single site.</p>\n\n\n\n<p>When you combine that authenticity signal with your hard-earned credentials, you create a full, irresistible trust picture: Qualified. Relatable. Human.</p>\n\n\n\n<p>Exactly what today’s clients are looking for. </p>\n\n\n\n<h2 class=\"wp-block-heading\">Create your Gravatar profile today and start boosting your professional credibility</h2>\n\n\n\n<p>If there’s one thing this guide has made crystal clear, it’s that <strong>consistency = credibility</strong>.</p>\n\n\n\n<p>When potential clients see the <em>same</em> professional presence across every platform, their trust barriers don’t just lower; they practically melt away.</p>\n\n\n\n<p>And that trust is what turns casual browsers into paying customers.</p>\n\n\n\n<p><a href=\"https://gravatar.com/\">Gravatar</a> solves the messy fragmentation that trips up even the savviest digital pros. Instead of chasing down a dozen outdated bios and rogue headshots, Gravatar syncs your professional image, links, and story across <em>hundreds </em>of platforms automatically.</p>\n\n\n\n<p>One update. Endless consistency. Zero stress.</p>\n\n\n\n<p>And it’s not just a time-saver. It’s a <em>trust amplifier </em>that strengthens everything you’ve worked to build. As we’ve seen, Gravatar:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Anchors</strong> your visual identity wherever you show up</li>\n\n\n\n<li><strong>Connects</strong> people directly to your best case studies, thought leadership, and portfolio</li>\n\n\n\n<li><strong>Tells</strong> your authentic professional story, not just your title</li>\n\n\n\n<li><strong>Reinforces</strong> every layer of social proof you’ve earned</li>\n</ul>\n\n\n\n<p>And the best part? Setting up your Gravatar profile takes <em>five minutes, </em>so <a href=\"https://gravatar.com/\">create your free Gravatar profile today</a> and start turning trust into conversions.</p>\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, 20 Jun 2025 17:38:25 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:11:\"Ronnie Burt\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i: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:84:\"Open Channels FM: Transparency, Community, and the Human Touch When Selling Products\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:32:\"https://openchannels.fm/?p=99083\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:86:\"https://openchannels.fm/transparency-community-and-the-human-touch-with-miriam-schwab/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:222:\"In this episode of \"Woo Product Chat,\" co-hosts James and Katie chat with Miriam Schwab from Elementor about transparency in software, community engagement, and the balance of openness while navigating business strategies.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 20 Jun 2025 09:56:48 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"BobWP\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i: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:65:\"Open Channels FM: The Value of Starting Over in the Tech Industry\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:47:\"https://openchannels.fm/?post_type=blog&p=97478\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:72:\"https://openchannels.fm/the-value-of-starting-over-in-the-tech-industry/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:151:\"A journey shows that success isn\'t a straight path. Embrace resilience, self-reflection, and the courage to reinvent yourself in a changing tech world.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 20 Jun 2025 08:28:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"BobWP\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i: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:84:\"WordPress.org blog: Dropping security updates for WordPress versions 4.1 through 4.6\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"https://wordpress.org/news/?p=18872\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:100:\"https://wordpress.org/news/2025/06/dropping-security-updates-for-wordpress-versions-4-1-through-4-6/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:1781:\"<p>As of July 2025, the WordPress Security Team will no longer provide security updates for WordPress versions 4.1 through 4.6.</p>\n\n\n\n<p>These versions were first released nine or more years ago and over 99% of WordPress installations run a more recent version. The chances this will affect your site, or sites, is very small.</p>\n\n\n\n<p>If you are unsure if you are running an up-to-date version of WordPress, please log in to your site’s dashboard. Out of date versions will display a notice that looks like this:</p>\n\n\n\n<figure class=\"wp-block-image size-full has-custom-border\"><img alt=\"Dashboard notice: &quot;WordPress 6.8.1 is available! Please update now.&quot;\" class=\"has-border-color has-luminous-vivid-amber-border-color wp-image-18873\" height=\"122\" src=\"https://i0.wp.com/wordpress.org/news/files/2022/09/WordPress-681-update-notice.png?resize=1048%2C122&#038;ssl=1\" width=\"1048\" /></figure>\n\n\n\n<p>The version you are running is displayed in the bottom of the “At a Glance” section of the dashboard.</p>\n\n\n\n<figure class=\"wp-block-image size-large has-custom-border\"><img alt=\"At a glance widget showing a site running WordPress 4.1.41\" class=\"has-border-color has-cyan-bluish-gray-border-color wp-image-18875\" height=\"281\" src=\"https://i0.wp.com/wordpress.org/news/files/2022/09/at-a-glance-wp-4141.png?resize=1024%2C281&#038;ssl=1\" width=\"1024\" /></figure>\n\n\n\n<p>As a reminder, the only <em>actively</em> supported version of WordPress is the most recent one. Security updates are only backported to older branches as a courtesy.</p>\n\n\n\n<p>The Make WordPress Security blog has further details about <a href=\"https://make.wordpress.org/security/2025/06/18/security-updates-will-cease-for-wordpress-versions-4-1-through-4-6/\">the process to end support</a>.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 19 Jun 2025 15:26:06 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:15:\"John Blackbourn\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i: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:89:\"Felix Arntz: Migrating Your JavaScript Codebase to TypeScript with Cline &amp;amp; Gemini\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:30:\"https://felix-arntz.me/?p=2141\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:85:\"https://felix-arntz.me/blog/migrating-javascript-codebase-to-typescript-cline-gemini/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:16985:\"<p>I recently undertook a significant project: migrating the entire JavaScript codebase of my<a href=\"https://wordpress.org/plugins/ai-services/\"> AI Services plugin for WordPress</a> (<a href=\"https://github.com/felixarntz/ai-services\">GitHub repository</a>) to TypeScript.</p>\n\n\n\n<p>Why is that significant?</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>We&#8217;re talking about over 80 JavaScript files, so it’s by no means a small project. Not gigantic like e.g. Gutenberg, but certainly a substantial amount of code.</li>\n\n\n\n<li>Additionally, that JavaScript code is powering a plugin with a fairly unique feature set. This uniqueness often makes it harder for Large Language Models (LLMs) to assist, as there&#8217;s likely less similar code in their training data.</li>\n</ul>\n\n\n\n<p>The process taught me a lot about the synergy between a well-structured codebase and LLMs. It also strengthened my belief that, while an LLM isn&#8217;t magically going to solve complex development tasks for you, it can be a massive productivity booster when you prepare your project and guide it effectively.</p>\n\n\n\n<p>This post will walk you through how I used Cline in VS Code together with Google&#8217;s Gemini models to get it done efficiently and why I think this migration was worthwhile.</p>\n\n\n\n<span id=\"more-2141\"></span>\n\n\n\n<h2 class=\"wp-block-heading\">Why Bother with TypeScript? (Hint: LLMs Love Structure)</h2>\n\n\n\n<p>If you&#8217;re a developer who hasn&#8217;t yet embraced TypeScript, I get the hesitation. You might be annoyed by the seemingly verbose syntax, or perhaps you&#8217;ve heard that it slows down development. Let&#8217;s address those points.</p>\n\n\n\n<p>The idea that TypeScript slows you down couldn&#8217;t be further from the truth in the long run. Using TypeScript allows you to ship safer code by preventing many potential bugs during development that plain JavaScript would miss. This makes complex projects easier to understand and ultimately faster to iterate on. The only scenario where TypeScript might genuinely get in the way is with quick prototypes, especially when dealing with dependencies that aren&#8217;t typed. I&#8217;d argue this is the only case where sticking with plain JavaScript is more reasonable today.</p>\n\n\n\n<p>And if you&#8217;re turned away by the syntax? Don&#8217;t worry, I definitely was in the same boat myself. But after writing about five TypeScript files, I found it started to feel very natural.</p>\n\n\n\n<p>Beyond the general benefits, there&#8217;s a modern, compelling reason to adopt it: <strong>TypeScript provides structure, and LLMs thrive on structure.</strong> By providing the clear, explicit types of TypeScript, you give the LLM a much more detailed and unambiguous map of your codebase. This helps it understand context and your intent, leading to far more accurate and helpful suggestions.</p>\n\n\n\n<p>A few weeks ago, I posted on social media: “Learn TypeScript deeply.” And I truly think you should.</p>\n\n\n\n<div class=\"linkedin-embed\"></div>\n\n\n\n<h2 class=\"wp-block-heading\">My Migration Strategy: A Human-in-the-Loop Approach</h2>\n\n\n\n<p>My goal wasn&#8217;t to have an LLM do all the work, but to have it act as a super-powered assistant. I used<a href=\"https://cline.bot/\"> Cline</a> in VS Code, primarily with the Gemini 2.5 Pro model via the <a href=\"https://ai.google.dev/api\">Gemini API</a>. I&#8217;m a fan of Cline because of its customizability and its &#8220;Plan&#8221; vs. &#8220;Act&#8221; modes, through which you can force the model to collaborate with you on defining the approach before writing any code.</p>\n\n\n\n<p>Here&#8217;s the step-by-step process I followed.</p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 1: Laying the Groundwork</h3>\n\n\n\n<p>Before letting the LLM loose, some manual preparation is essential.</p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Start with the Most Foundational Package:</strong> My plugin consists of several JavaScript packages. I began with the package that had no dependencies on the others. It’s crucial to migrate packages in order of their dependency graph.</li>\n\n\n\n<li><strong>Define Core Types Manually:</strong> This is the most critical manual step. I went through the foundational package and defined the core TypeScript types myself, e.g., in a types.ts file at the root of the package. While an LLM can sometimes help, doing this manually ensures accuracy and aligns the data structures perfectly with my intent.</li>\n\n\n\n<li><strong>Migrate a Few Files Yourself:</strong> I manually migrated 3-5 files to TypeScript. This served two purposes. First, it created &#8220;perfect&#8221; examples of my desired coding patterns—including code style, JSDoc comments, and variable naming. Second, it helped me get reacquainted with TypeScript within the specific context of this project.</li>\n</ol>\n\n\n\n<h3 class=\"wp-block-heading\">Step 2: Defining the Workflow (and Relevant Rules)</h3>\n\n\n\n<p>To ensure consistency, I leveraged two key features: custom rules and reusable workflows.</p>\n\n\n\n<p>First, I established <strong>custom rules</strong> that define the TypeScript coding standards for the project. This helps the LLM generate code that is consistent with my best practices. This concept is supported by many AI code assistants, including Cline. As an example, you can see the<a href=\"https://github.com/felixarntz/ai-services/blob/main/.clinerules/coding-standards.md\"> coding standards I defined for the AI Services plugin here</a>.</p>\n\n\n\n<p>Next, I created a reusable prompt, which Cline calls a &#8220;workflow.&#8221; This saves me from re-typing a complex prompt for every single file. Here is the workflow I created, saved as <code><a href=\"https://github.com/felixarntz/ai-services/blob/main/.clinerules/workflows/migrate-typescript.md\">migrate-typescript.md</a></code>:</p>\n\n\n<pre class=\"wp-block-code alignwide\"><span><code class=\"hljs language-markdown shcb-wrap-lines\">You need to migrate specific JavaScript files to be valid TypeScript.\n\nConcretely, you need to migrate the JavaScript code in <span class=\"xml\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">file</span>&gt;</span></span> to TypeScript. There are three possible scenarios:\n<span class=\"hljs-bullet\">\n- </span>If the file is already using the extension <span class=\"hljs-code\">`.ts`</span> or <span class=\"hljs-code\">`.tsx`</span>, it may have already been renamed from <span class=\"hljs-code\">`.js`</span>. You MUST make the changes to migrate the code to TypeScript directly within the file.\n<span class=\"hljs-bullet\">- </span>Otherwise, if the file is using the extension <span class=\"hljs-code\">`.js`</span> and it contains React components (JSX), you must create a new file of the same name but with the <span class=\"hljs-code\">`.tsx`</span> extension and write the code migrated to TypeScript in there.\n<span class=\"hljs-bullet\">- </span>Otherwise, if the file is using the extension <span class=\"hljs-code\">`.js`</span> and it does not contain any JSX, you must create a new file of the same name but with the <span class=\"hljs-code\">`.ts`</span> extension and write the code migrated to TypeScript in there.\n\nFirst, use the <span class=\"hljs-code\">`read_file`</span> tool to collect sufficient relevant context. Some of the files the user may have already provided to you. In that case, DO NOT READ THEM AGAIN.\n<span class=\"hljs-bullet\">\n- </span>Search for <span class=\"hljs-code\">`tsconfig.json`</span>, <span class=\"hljs-code\">`.eslintrc.json`</span>, and <span class=\"hljs-code\">`.eslintrc.js`</span> files in the project root directory. Read all of them that you find, to know which TypeScript and TSDoc configuration requirements the migrated TypeScript code must follow.\n<span class=\"hljs-bullet\">- </span>Search the current directory and any parent directories <span class=\"hljs-emphasis\">_within_</span> the project for <span class=\"hljs-code\">`types.ts`</span> files. You MUST read all of these files to understand the project-specific types.\n<span class=\"hljs-bullet\">- </span>Look for other TypeScript files in the same directory or a sibling directory. Read 1-3 files to learn about the project-specific TypeScript conventions and best practices, e.g. regarding specific type imports, code style, documentation, or file structure.\n<span class=\"hljs-bullet\">    - </span>If you are writing a <span class=\"hljs-code\">`.ts`</span> file, you must ONLY consider existing <span class=\"hljs-code\">`.ts`</span> files for this contextual research.\n<span class=\"hljs-bullet\">    - </span>If you are writing a <span class=\"hljs-code\">`.tsx`</span> file, you must ONLY consider existing <span class=\"hljs-code\">`.tsx`</span> files for this contextual research.\n\nWith that context in mind, you MUST follow the following steps in order to migrate the <span class=\"xml\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">file</span>&gt;</span></span> to TypeScript:\n<span class=\"hljs-bullet\">\n1. </span>Migrate the JavaScript code from <span class=\"xml\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">file</span>&gt;</span></span> to TypeScript, following the patterns learned from ALL previous context.\n<span class=\"hljs-bullet\">    - </span>NEVER change any names, e.g. of variables or functions.\n<span class=\"hljs-bullet\">    - </span>NEVER change any logic.\n<span class=\"hljs-bullet\">    - </span>In addition to the TypeScript code itself, you MUST also ensure to update any JavaScript doc blocks to follow TSDoc syntax, according to project configuration.\n<span class=\"hljs-bullet\">    - </span>If any usage of the obsolete <span class=\"hljs-code\">`PropTypes`</span> (<span class=\"hljs-code\">`prop-types`</span>) is present, you MUST remove it. Using TypeScript itself is a sufficient replacement.\n<span class=\"hljs-bullet\">2. </span>Read the <span class=\"hljs-code\">`package.json`</span> file in the root directory to check which <span class=\"hljs-code\">`\"scripts\"`</span> are available. Identify any relevant lint, build, and format scripts, which you can use to verify whether the TypeScript code you wrote is accurate.\n<span class=\"hljs-bullet\">    - </span>To find the relevant lint script, look for names like \"lint-js\", \"lint-ts\", or \"lint\" for example.\n<span class=\"hljs-bullet\">    - </span>To find the relevant build script, look for names like \"build:dev\", or \"build\" for example.\n<span class=\"hljs-bullet\">    - </span>To find the relevant format script, look for names like \"format-js\", \"format-ts\", or \"format\" for example.\n<span class=\"hljs-bullet\">    - </span>Remember the exact names of these scripts that you found.\n<span class=\"hljs-bullet\">3. </span>If you found a relevant build script, RUN IT in the command line via NPM and check the output. Here is an example how to run it:\n<span class=\"hljs-bullet\">    - </span>If the script name is \"build\", execute <span class=\"hljs-code\">`npm run build`</span> in the command line.\n<span class=\"hljs-bullet\">4. </span>If the build script you ran reported TypeScript errors, inspect them carefully. Then review the TypeScript you wrote to see how you can fix the errors. Update the previously generated TypeScript code to fix the reported errors.\n<span class=\"hljs-bullet\">5. </span>If you found a relevant lint script, RUN IT in the command line via NPM and check the output. Here is an example how to run it:\n<span class=\"hljs-bullet\">    - </span>If the script name is \"lint-js\", execute <span class=\"hljs-code\">`npm run lint-js`</span> in the command line.\n<span class=\"hljs-bullet\">6. </span>If the lint script you ran reported errors, inspect them carefully.\n<span class=\"hljs-bullet\">    - </span>For any Prettier errors, DO NOT try to fix them manually. Instead, run the format script you previously found if one exists.\n<span class=\"hljs-bullet\">    - </span>For any errors other than Prettier, review the TypeScript you wrote to see how you can fix the errors. Update the previously generated TypeScript code to fix the reported errors.\n<span class=\"hljs-bullet\">7. </span>If you found a relevant build script before, RUN IT again and check the output. Afterwards, YOU MUST STOP.\n<span class=\"hljs-bullet\">    - </span>If the scripts no longer report TypeScript errors, all is well.\n<span class=\"hljs-bullet\">    - </span>If the scripts still report TypeScript errors, please share the feedback with the user, to let them decide on the next steps.</code></span></pre>\n\n\n<p>Note: You may wonder about common prompting best practices like “You are a senior web engineer” etc. being missing from this workflow. This is because Cline already has its own built-in system instruction, so adding something like that here would likely be unnecessary or even confusing. Keep in mind that this workflow runs in combination with any built-in system instructions from your tooling as well as any custom rules you defined.</p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 3: Executing the Migration, File by File</h3>\n\n\n\n<p>With the groundwork laid, I began the migration. I preferred to first manually rename a file from <code>.js</code> to <code>.ts</code> or <code>.tsx</code>. Then, I&#8217;d invoke my workflow in Cline like this:</p>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">/migrate-typescript.md @src/ai/classes/browser-generative-ai-model.ts</code></span></pre>\n\n\n<p>By renaming the file first, Cline provides a convenient diff view against the original JavaScript code, making it much easier to spot changes. If I let the workflow create the new file, it would be treated as a brand-new file with no history to compare against.</p>\n\n\n\n<p>I started with the most capable model, <strong>Gemini 2.5 Pro</strong>. After confirming its quality, I experimented with the faster and cheaper <strong>Gemini 2.5 Flash</strong>. However, the results were notably worse, so I switched back to Pro. This highlights a key lesson: always start with the most powerful model available, and only downgrade if you can confirm it meets your quality bar for the specific task.</p>\n\n\n\n<p>While I&#8217;m using Cline, this approach should be adaptable to other tools like Cursor with only minor adjustments. As long as you can define custom rules and use reusable prompts (even if it&#8217;s just by copy-pasting), you can achieve similar results.</p>\n\n\n\n<h2 class=\"wp-block-heading\">The Results: Time, Cost, and Effort</h2>\n\n\n\n<p>So, was it worth it? Absolutely.</p>\n\n\n\n<p>My experience was that for some simpler files, Gemini got the migration 100% correct on the first try. For more complex files, I typically needed to spend 5-10 minutes on review and corrections. However, migrating those same files manually would have likely taken around 25-30 minutes each.</p>\n\n\n\n<p>Let&#8217;s talk numbers:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Total Cost:</strong> The entire migration of over 80 files cost me about $20 in Gemini API credits.</li>\n\n\n\n<li><strong>Time Spent:</strong> I spent approximately 3 hours on the migration, including setup, execution, and review.</li>\n\n\n\n<li><strong>Estimated Time Saved:</strong> I estimate that doing this manually would have taken at least 8 hours.</li>\n</ul>\n\n\n\n<p><strong>Spending $20 to save 5 hours of focused development work is a trade I will happily make any day.</strong> And beyond that, now I have a reusable workflow that I can use to do the same for my other existing projects in the future.</p>\n\n\n\n<p>Last but not least, LLMs will only get better with time. If you notice that the results you get for your use-case are rather poor even though you’ve set up the project and prompts in an ideal way, don’t give up for good. It can certainly be frustrating, but there’s a good chance that in a few months, or even a few weeks, the latest LLM will do better. And always keep in mind that the LLM is there to help you, not to replace you.</p>\n\n\n\n<h2 class=\"wp-block-heading\">Questions &amp; Feedback</h2>\n\n\n\n<p>This project was a powerful demonstration of how to partner with an LLM effectively. It underscores that the role of the developer is shifting—we are not just writers of code, but also architects of systems and directors of our LLM assistants.</p>\n\n\n\n<p>That said, I&#8217;m always learning.</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>I am by no means a TypeScript expert. If you are, you may find code patterns in the AI Services codebase that you consider suboptimal. Please<a href=\"https://github.com/felixarntz/ai-services\"> let me know in the repository</a>!</li>\n\n\n\n<li>Obviously, when it comes to using LLMs for code assistance, the field is changing daily. If you&#8217;ve found success with other approaches or if your efforts have mostly led to disappointment, I&#8217;d love to hear from you and learn from your experiences in the comments below.</li>\n</ul>\n<p>The post <a href=\"https://felix-arntz.me/blog/migrating-javascript-codebase-to-typescript-cline-gemini/\">Migrating Your JavaScript Codebase to TypeScript with Cline &amp; Gemini</a> appeared first on <a href=\"https://felix-arntz.me\">felix-arntz.me</a>.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 19 Jun 2025 13:48:55 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"Felix\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i: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:40:\"Matt: Alfred-like Shortcuts in Spotlight\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:23:\"https://ma.tt/?p=143388\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:41:\"https://ma.tt/2025/06/macos-26-spotlight/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:4211:\"<p>I&#8217;ve been testing the developer previews of all the new Apple 26 operating systems, which I don&#8217;t recommend this early in the cycle, but I like to live dangerously. I&#8217;ve quickly become accustomed to Liquid Glass. The iPad windowing enhancements do make it feel more like a real computer, but I usually run things in full-screen mode. My favorite thing to play with so far has been the new Spotlight (what pops up when you press Command + Space) and related shortcuts.</p>\n\n\n\n<p>I loved <a href=\"https://www.alfredapp.com/\">Alfred</a>, I tried <a href=\"https://www.raycast.com/\">Raycast</a>, but a general life goal this year is to simplify wherever I can, so I&#8217;ve been exploring the enhancements in the new Spotlight.</p>\n\n\n\n<p>What I&#8217;ve found the most useful in the past is <a href=\"https://www.alfredapp.com/help/workflows/actions/open-url/\">Alfred&#8217;s Open URL Action</a>, which basically lets you type something like &#8220;gm united reservation&#8221; and it translates that into opening a Gmail search in your browser, with &#8220;united reservation&#8221; put in the URL in the right place to run a search.</p>\n\n\n\n<p>The Shortcuts app in MacOS and iOS is amazing, which I&#8217;ve always known, but I haven&#8217;t played with it much. This was my chance! After a bit of tinkering, I got it to pop up an input form and then run the search. <a href=\"https://www.google.com/search?q=macos+26+shortcuts+%22receive+input+from+search%22\">I Googled a lot to see if it could take input</a> from the Spotlight search bar and every place said no, I&#8217;m not sure if this is new in MacOS 26 or not but I found the button that makes it work. It&#8217;s not as smooth as Alfred, but it&#8217;s pretty decent. I&#8217;m going to share a screenshot that shows my Gmail search shortcut that takes input from Spotlight — the key breakthrough was clicking the (i) menu on the right and finding the checkbox for &#8220;Receive Input from Search.&#8221;</p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img alt=\"\" class=\"wp-image-143391\" height=\"309\" src=\"https://i0.wp.com/ma.tt/files/2025/06/gmail-shortcut-1024x524.jpeg?resize=604%2C309&#038;quality=89&#038;ssl=1\" width=\"604\" /></figure>\n\n\n\n<p>I gave it a &#8220;gm&#8221; hotkey, pressed enter, and you get this in Spotlight.</p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img alt=\"\" class=\"wp-image-143395\" height=\"122\" src=\"https://i0.wp.com/ma.tt/files/2025/06/spotlight-with-shortcut-1024x207.png?resize=604%2C122&#038;quality=80&#038;ssl=1\" width=\"604\" /></figure>\n\n\n\n<p class=\"is-style-default\">Tada! Not as nice as Alfred but it gets the job done. My other shortcuts that people might find useful are LI for LinkedIn search, PY is Perplexity, YT for searching the history of YouTube videos I&#8217;ve watched, and AM for searching my Amazon order history. (Because I&#8217;m usually trying to find a link for something I&#8217;m recommending, or re-order an item.) Here are the search URLs for everything I&#8217;ve mentioned:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https://mail.google.com/mail/u/3/#search/\">https://mail.google.com/mail/u/0/#search/</a> (If you have multiple Google accounts, change the number in the URL to go to the one you want, and then login in that same order every time.)</li>\n\n\n\n<li><a href=\"https://www.linkedin.com/search/results/index/?keywords=\">https://www.linkedin.com/search/results/index/?keywords=</a></li>\n\n\n\n<li><a href=\"https://www.perplexity.ai/search/\">https://www.perplexity.ai/search/</a></li>\n\n\n\n<li><a href=\"https://www.youtube.com/feed/history?query=\">https://www.youtube.com/feed/history?query=</a></li>\n\n\n\n<li><a href=\"https://www.amazon.com/your-orders/search/?search=\">https://www.amazon.com/your-orders/search/?search=</a></li>\n</ul>\n\n\n\n<p>If you dug this, did you know WordPress also has a cool popup shortcut feature?<a href=\"https://wordpress.org/documentation/article/site-editor-command-palette/\"> In 2023, we introduced the Command Palette in the Gutenberg block editor and site editor</a>. To access it on Mac, you press Command + k. I&#8217;d like to bring it to every admin page so it can function more like Spotlight or Raycast for WordPress.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 18 Jun 2025 16:55:25 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:4:\"Matt\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i: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:76:\"WPTavern: #173 – Tom Willmot and Jon Ang on Building a Global Bank Website\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:48:\"https://wptavern.com/?post_type=podcast&p=196672\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:89:\"https://wptavern.com/podcast/173-tom-wilmot-and-jon-ang-on-building-a-global-bank-website\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:57580:\"<details>Transcript<div>\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 Human Made have built WordPress at the scale of a global bank.</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 Tom Willmot and Jon Ang.</p>\n\n\n\n<p>Tom is the co-founder of Human Made, an enterprise WordPress agency that&#8217;s been pushing the boundaries of what WordPress can do since its inception. Jon is also with Human Made, and together they bring a huge amount of experience working with major clients on large scale projects.</p>\n\n\n\n<p>At this year&#8217;s WordCamp Europe in Basel, they presented a case study, their long-term, continually evolving work, with the global banking giant Standard Chartered. Most listeners might not be working at the scale of 85,000 employees, 70 countries, and hundreds of millions of page views a month, but Tom and Jon are here to share insights from the top end of WordPress implementation.</p>\n\n\n\n<p>They explain how Human Made helped Standard Chartered shift from a proprietary CMS lock-in, to a flexible, open source Gutenberg powered WordPress solution that serves as the main web platform for the bank across all its markets.</p>\n\n\n\n<p>We talk about the unique compliance and security challenges of working in the banking sector. What it takes to persuade giant enterprises that WordPress is not a toy, and how to support hundreds of CMS users with custom workflows and integrations.</p>\n\n\n\n<p>Tom and Jon discussed the specifics of scaling WordPress for the enterprise, from accessibility and multilingual setups, to custom block development, and real time collaborative editing. We also hear how Human Made works with clients to contribute innovations and security improvements back to the WordPress community, ensuring that lessons learned at the enterprise level benefit everyone.</p>\n\n\n\n<p>If you&#8217;re curious about how WordPress powers mission critical web infrastructure for some of the world&#8217;s biggest organizations, or how you might pitch WordPress for enterprise use, this episode is for you.</p>\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 Tom Willmot and Jon Ang.</p>\n\n\n\n<p>I am joined on the podcast today by two fabulous guests. I have Tom Willmot and Jon Ang. Hello both.</p>\n\n\n\n<p>[00:03:32] <strong>Tom Willmot:</strong> It&#8217;s great to be here.</p>\n\n\n\n<p>[00:03:33] <strong>Jon Ang:</strong> Hello.</p>\n\n\n\n<p>[00:03:34] <strong>Nathan Wrigley:</strong> This is my first interview at WordCamp Europe in, I want to say Basel, but I still don&#8217;t know how to pronounce it. Let&#8217;s go with that.</p>\n\n\n\n<p>[00:03:41] <strong>Tom Willmot:</strong> I mean, I think it&#8217;s Basel.</p>\n\n\n\n<p>[00:03:42] <strong>Nathan Wrigley:</strong> Yeah, okay, we&#8217;ll go with that. And we&#8217;re here today talking to Tom and Jon all about an interesting project, which I want to say they&#8217;ve just completed, but I&#8217;m not sure that&#8217;s the right word.</p>\n\n\n\n<p>They&#8217;re doing a presentation at WordCamp Europe and it&#8217;s all about a project for a bank, and a very large bank I might add. Standard Chartered, you may have heard of it, you may not. But that&#8217;s the presentation. I&#8217;m guessing you haven&#8217;t done it because we&#8217;re still in Contrib day, but are you all prepared and ready?</p>\n\n\n\n<p>[00:04:06] <strong>Tom Willmot:</strong> I think we&#8217;re pretty prepared. When did you submit the slides, Jon?</p>\n\n\n\n<p>[00:04:09] <strong>Jon Ang:</strong> Just submitted it 10 minutes ago, so I think we&#8217;re good. But it&#8217;s been revised multiple times, yeah. I&#8217;m fairly certain that it&#8217;s going to be quite interesting.</p>\n\n\n\n<p>[00:04:16] <strong>Tom Willmot:</strong> I mean, one of the challenges actually of doing a presentation about a bank is you have to double check that you&#8217;re allowed to say everything that we&#8217;re going to say.</p>\n\n\n\n<p>[00:04:23] <strong>Nathan Wrigley:</strong> So we&#8217;re going to be editing this heavily.</p>\n\n\n\n<p>[00:04:25] <strong>Tom Willmot:</strong> Yeah, potentially.</p>\n\n\n\n<p>[00:04:26] <strong>Nathan Wrigley:</strong> So Standard Chartered is a very large bank. WordPress is obviously a CMS, which allows us to create websites for these banks. But let&#8217;s talk about the whole story. These are not new clients of yours, or they are new clients of yours. How long have you been working with them?</p>\n\n\n\n<p>[00:04:39] <strong>Tom Willmot:</strong> No, I mean, this has been a relationship that we&#8217;ve had since 2016. So, yeah, this is a long term client. These projects are not really like the project starts and the project finishes. We got involved working with them, yeah, back then there was an early prototype that turns into more stuff, that turns into more stuff. And we&#8217;ve been building and iterating and evolving the platform for nearly 10 years.</p>\n\n\n\n<p>[00:04:59] <strong>Nathan Wrigley:</strong> Prior to us hitting record, I will have recorded a preamble saying who both of you are. But just in case you&#8217;ve dipped into the podcast right now, you&#8217;re both with Human Made. My understanding, Tom, is that this was something that you are the founder of.</p>\n\n\n\n<p>[00:05:12] <strong>Tom Willmot:</strong> Yeah, I&#8217;m the co-founder. Me and my, actually my brother Joe, which a lot of people don&#8217;t know, co-founded the company together, and then Noel joined a year, in so that we are the three founders.</p>\n\n\n\n<p>[00:05:21] <strong>Nathan Wrigley:</strong> And I guess it&#8217;s fair to categorise you as, maybe this is something that you don&#8217;t like the sound of, I don&#8217;t know, an enterprise WordPress agency.</p>\n\n\n\n<p>[00:05:27] <strong>Tom Willmot:</strong> Yeah, for sure. We&#8217;ve been focused on like WordPress at the high end, since the beginning. We were always interested in like, what&#8217;s the biggest stuff that WordPress is possibly being used for and how can we get involved in that?</p>\n\n\n\n<p>[00:05:38] <strong>Nathan Wrigley:</strong> And I guess you must have some kudos, credentials, now which enable you to open doors like the Standard Chartered door, in a way that nathanwrigley.com, that&#8217;s probably not going to happen.</p>\n\n\n\n<p>[00:05:48] <strong>Tom Willmot:</strong> I mean, we&#8217;ve got a history now of doing that kind of work and so that helps.</p>\n\n\n\n<p>[00:05:52] <strong>Nathan Wrigley:</strong> So tell us about this client then. Just paint the backstory. Who are they? What do they do? I guess what we&#8217;re trying to do is build a picture of just how massive a project this is. Because working for a bank, I imagine there&#8217;s lots of t&#8217;s to cross and i&#8217;s to dot.</p>\n\n\n\n<p>[00:06:06] <strong>Jon Ang:</strong> Yeah, they&#8217;re a global bank inside about 70 countries, hovering around to 150 markets. I think about 85,000 employees worldwide. So out of those, there&#8217;s maybe, and it&#8217;s a bit of a intro into what we see in our slides, but 500 employees that&#8217;s using the backend on a day-to-day to publish.</p>\n\n\n\n<p>So think of them working with the monetary authorities of each country that is governing how a website should function for a bank that has all of this running with the staff, figuring that out, and us providing the platform for them to stay compliant, and continue to be a agile in a way of what they&#8217;re publishing every day.</p>\n\n\n\n<p>I think that&#8217;s a bit of what Standard Chartered is like. They are, I think, a bank that started in 1800&#8217;s, and has a pretty massive presence in Asia Pacific, particularly I think Singapore and Hong Kong. Started from the UK a long time ago.</p>\n\n\n\n<p>[00:06:59] <strong>Nathan Wrigley:</strong> Yeah, it&#8217;s got a lot of heritage, hasn&#8217;t it? There are banks which are popping up all over the place at the moment, but there are still a few holding on that have been there for literally centuries. And this is a name which is very familiar to me. And whenever I&#8217;ve traveled throughout the world, there&#8217;s always some presence there. They&#8217;re big, essentially. This is not a child&#8217;s play website. You can&#8217;t throw this together in a matter of weeks. This is a big deal.</p>\n\n\n\n<p>[00:07:19] <strong>Tom Willmot:</strong> And I mean, you know, they&#8217;re a big company and it&#8217;s a big name, there&#8217;s a lot of employees. I think also what&#8217;s interesting is that their use of WordPress is also big. So they&#8217;re not just using WordPress for a campaign mini site or their corporate comms department. This is like the primary web platform for Standard Chartered across all those countries, including sc.com, Wealth Banking. I think something like 95 plus percent of all web traffic goes through WordPress.</p>\n\n\n\n<p>[00:07:44] <strong>Nathan Wrigley:</strong> Just to paint a picture of that, so it&#8217;s a website though, we&#8217;re not dealing with the sort of transaction data. You know, if you&#8217;re a customer of Standard Chartered, WordPress is not handling the money going from one account to another. This is the sort of front end, public facing website, I&#8217;m guessing.</p>\n\n\n\n<p>[00:07:57] <strong>Tom Willmot:</strong> Yeah, we&#8217;ve not got like a dollars custom post type.</p>\n\n\n\n<p>[00:08:00] <strong>Nathan Wrigley:</strong> So paint a picture of just how big they are. So they&#8217;ve been going for a couple of centuries. You mentioned that, I think 2015, you built this relationship. You&#8217;ve been working with them in an agile way since then.</p>\n\n\n\n<p>Do you have any metrics in terms of, I don&#8217;t know, the amount of traffic that the website is currently having? The number of locales? I think you touched on that a little while ago. Number of users? And then I&#8217;ve got this fourth one that I&#8217;ll come to in a minute. So let&#8217;s hit traffic first. Do you have any idea of the amount of petabytes or terabytes of data that are flying around just for this website?</p>\n\n\n\n<p>[00:08:28] <strong>Jon Ang:</strong> I don&#8217;t have the petabytes, we&#8217;re talking about like hundreds of millions of page views per month. Like, that&#8217;s the kind of traffic that they&#8217;re getting. Your previous question around, so like it&#8217;s not quite hitting the dollars amounts, like, how much do I have in my savings account? But there is a lot of work passing, let&#8217;s say account signup information from the front end to the back end stuff that we do on that front as well. So it does work on some fairly critical pieces too on the banking website, it&#8217;s not just the marketing setup.</p>\n\n\n\n<p>[00:08:56] <strong>Tom Willmot:</strong> Yeah, like for example, when you use the internet banking mobile apps, all of the customer messaging there comes from the WordPress CMS.</p>\n\n\n\n<p>[00:09:04] <strong>Nathan Wrigley:</strong> Wow, okay. So lots and lots of data flying around. Some fairly critical components where you have to be absolutely a hundred percent sure that you&#8217;ve got the bulletproof security. In terms of the number of users, what was that? Did you say 500?</p>\n\n\n\n<p>[00:09:17] <strong>Tom Willmot:</strong> Around 500 in the CMS, at any one time. I mean, that&#8217;s kind of interesting. There&#8217;s like a central global team that manage like brand governance and all of that. And then each country has their own country level marketing team across like 150 markets or something.</p>\n\n\n\n<p>[00:09:32] <strong>Nathan Wrigley:</strong> And when you say the 150 markets, does that translate into 150 different languages as well? I&#8217;m guessing languages, there&#8217;s a fairly large component there.</p>\n\n\n\n<p>[00:09:40] <strong>Jon Ang:</strong> I think there&#8217;s about 30 separate languages in there. So around that, 150 markets is split into what we call retail banking and non retail. So retail banking are regular things that you and I would do. We go into the bank, we get a credit card set up, we withdraw cash. And then non retail will be like investors, people who are interested in big money. So those are the like individual markets they work in. And across that, 150 markets, 70 countries, 500 plus users, doing this on a day-to-day basis.</p>\n\n\n\n<p>[00:10:09] <strong>Nathan Wrigley:</strong> These are all genuinely eye watering numbers actually. They just come out of your mouth like they&#8217;re nothing. But if you actually pause for a moment and consider it, they&#8217;re breathtaking. You really are pushing what is possible.</p>\n\n\n\n<p>I mean, I&#8217;m sure there&#8217;s websites out there which exceed that, but getting onto compliance, which is going to be my next question. There can&#8217;t be an industry where compliance is more important than banking, I mean, maybe there is, but it feels like banking and compliance. And you&#8217;ve got how many countries? 70 odd countries, each of those with a different set of criteria for compliance. Just open that box a little bit. I mean, that must have been fun.</p>\n\n\n\n<p>[00:10:46] <strong>Jon Ang:</strong> So think of it as every country has some sort of monetary authority that governs the banks. So you&#8217;ve got that monetary authority that sets this bunch of rules that you&#8217;ve got to follow. Then they&#8217;ve got pretty much an association of banks in a specific country that listens to that. And below that you&#8217;ve got the banks that have to obey all these rules. And then we have to talk to all three organisations in every single country that&#8217;s out there that wants to use our CMS. So that&#8217;s basically it.</p>\n\n\n\n<p>And obviously this did not start in 2016, or at once. But across time, all of these individual countries that need to use the CMS has gone through the process, and talked to us, and we&#8217;ve gone through making it work for them. And pretty much every single country has their own set of rules. But the idea of good compliance, good governance, good security, is rooted in good practices. So it&#8217;s not that we&#8217;re trying these things every single time fresh, you know?</p>\n\n\n\n<p>[00:11:43] <strong>Nathan Wrigley:</strong> Given that you are working with one company, so Standard Chartered is obviously spread out amongst all these different countries, does that make that piece a little bit easier? So Standard Chartered to take care of the compliance. Do they give you the documentation, you sign it off? Because if you were to work with 70 different companies in 70 different countries, that&#8217;s your entire project grinding to a halt, I imagine.</p>\n\n\n\n<p>So do they come to you with their lawyers and say, if you can satisfy this stack of requirements, we are good to go?</p>\n\n\n\n<p>[00:12:08] <strong>Jon Ang:</strong> It&#8217;s a bit of that but it&#8217;s also, it&#8217;s 85,000 employees. And these regulations, they change on a regular basis. And it&#8217;s not like, you pass it on day one, you&#8217;re going to pass it on day a hundred again. They might come back and say, oh, there&#8217;s something new that we have to talk to you about. And they might not know actually how to pass this, because it&#8217;s their first time dealing with this as well.</p>\n\n\n\n<p>So there&#8217;s a lot of discussions and collaboration, I guess, between Human Made and Standard Chartered. There is a central team that we work with, but they are fairly open on figuring this out with us. We work together to get through these regulations.</p>\n\n\n\n<p>[00:12:40] <strong>Tom Willmot:</strong> Something else I think that&#8217;s worth mentioning is there&#8217;s also industry compliance regulation. And so I think we&#8217;re probably the only WordPress agency with the OSPAR compliance, which is the kind of banking industry, digital compliance process which took I think maybe a year for us to go through that process. We were audited by Deloitte, and then they sign you off. And so that helps a lot because it&#8217;s like, once you&#8217;ve got that sign off, then the bank can kind of trust that most of what you&#8217;re doing meets their compliance.</p>\n\n\n\n<p>[00:13:04] <strong>Nathan Wrigley:</strong> So did you do that in order to prize the door open to the financial sector, or did you do that so that Standard Chartered could come on?</p>\n\n\n\n<p>[00:13:12] <strong>Tom Willmot:</strong> Yeah, actually did that fairly late into working with Standard Chartered. They were able to, it goes back to there&#8217;s like 85,000 employees, there&#8217;s a lot of internal politics and stuff too, as one can imagine. And so we were able to avoid needing to meet that highest level of compliance for the first few years.</p>\n\n\n\n<p>[00:13:29] <strong>Nathan Wrigley:</strong> And I&#8217;m guessing that was not a toy. I imagine that that was a fairly serious piece of paperwork.</p>\n\n\n\n<p>[00:13:34] <strong>Tom Willmot:</strong> For sure. I think it cost us like a hundred grand.</p>\n\n\n\n<p>[00:13:36] <strong>Nathan Wrigley:</strong> We&#8217;re at WordCamp EU, and if we were to walk out those doors, we&#8217;re surrounded by all manner of different people using WordPress. Some of them may be freelancers, they&#8217;ve got a couple of websites. And then at the other end of the spectrum, there&#8217;s you guys. How easy is it to convince a company like Standard Chartered that WordPress is not a toy?</p>\n\n\n\n<p>[00:13:54] <strong>Tom Willmot:</strong> I mean, it&#8217;s an interesting question because obviously we started talking to Standard Chartered in 2016, so that&#8217;s a long time ago. In the context of this question, back then the concerns were much more around scalability and security and performance. Actually, that one of the big hurdles that we faced to begin with is there really just weren&#8217;t examples of companies of that size using WordPress as their primary CMS in the way that Standard Chartered wanted to use it.</p>\n\n\n\n<p>And so when they would come to the ecosystem and say, show us the biggest people using WordPress, and we would say, oh, PlayStation use it for their blog, or Skype use it for their blog. And so they had some big names, but they used it for small stuff. And so that was kind of a problem because Standard Chartered were like, well, we don&#8217;t want to move our blog to it. We are talking about making it the primary CMS of the bank that we&#8217;re going to mandate every employee use for the next 10 years. How can we trust that WordPress is up to the task?</p>\n\n\n\n<p>[00:14:42] <strong>Nathan Wrigley:</strong> So did you have to saddle that burden as a company then? So it wasn&#8217;t leaning into, okay, that agency over there built that thing and we can sort of say, okay, that&#8217;s WordPress, and there&#8217;s another agency over there that built that. So did you have to do the job of convincing?</p>\n\n\n\n<p>[00:14:56] <strong>Tom Willmot:</strong> Yeah, yeah, we just went for it. We were just like, of course WordPress can do this. I mean, the big thing that helped was that they had an internal senior stakeholder that really wanted WordPress. And so that meant we could work with him to figure out, you know, how do we satisfy the concerns of the bank? How do we sell this in the way it needs to be sold in? That was really much more common, especially back then. WordPress wasn&#8217;t in the conversations unless somebody internally wanted it, and then they would do the work.</p>\n\n\n\n<p>[00:15:22] <strong>Nathan Wrigley:</strong> That&#8217;s an interesting bit of serendipity. There&#8217;s this one character in the company who potentially was the route in.</p>\n\n\n\n<p>[00:15:29] <strong>Tom Willmot:</strong> Yeah, and that&#8217;s, almost every big project we did back then, there was some internal champion that had fought the fight to get it taken seriously. And then we could come with the data and the expertise to back up what they were saying.</p>\n\n\n\n<p>These days, that&#8217;s definitely changed. Now WordPress just is in the conversation. Which CMS should we move to? WordPress is going to be the one that&#8217;s considered. And so that&#8217;s much easier.</p>\n\n\n\n<p>[00:15:48] <strong>Nathan Wrigley:</strong> Is it? Do you not have to do any persuasion anymore?</p>\n\n\n\n<p>[00:15:50] <strong>Tom Willmot:</strong> Not as much. I mean, you&#8217;d be surprised. These days WordPress is seen as more secure in the enterprise level. Like, open source generally is seen as more secure than proprietary often. And so that can actually be an advantage.</p>\n\n\n\n<p>[00:16:00] <strong>Nathan Wrigley:</strong> That&#8217;s fascinating because my next question was exactly that. How do these big companies view an open source platform? Because it&#8217;s not like, I use the analogy sometimes, it&#8217;s not like they have the bat phone. There&#8217;s no person that they can immediately contact and say, we have something that&#8217;s broken, we need Core to be fixed. There is no bat phone.</p>\n\n\n\n<p>And I would&#8217;ve thought, do you remember when, I think it was Log4j or something, there was this thing, maybe it was in 2019 or something like that, and there were all these pictures of this edifice held up by one Lego brick and that person, do you remember?</p>\n\n\n\n<p>And that was all about the bat phone. We have nobody to contact to get this done. And I would&#8217;ve thought that would still be an obstacle and a difficult conversation to have. But maybe it&#8217;s just the rock solid nature of Core that kind of allows you to sidestep that.</p>\n\n\n\n<p>[00:16:44] <strong>Tom Willmot:</strong> I mean there are just so many big examples now of WordPress being used that it&#8217;s, people will still have some of these concerns. Maybe they still have an idea that WordPress is not used for serious stuff. But then you just show them the huge list of like NASA, the White House, Standard Chartered, the New York Times. You just show them all of these brands, that helps.</p>\n\n\n\n<p>[00:17:00] <strong>Jon Ang:</strong> I think there&#8217;s also a bit of that where, we mentioned that Standard Chartered had a senior stakeholder that really wanted WordPress because he&#8217;s used it, he likes it. The difference it makes against proprietary, very large CMSs. I think even right now you continue to have these people become senior stakeholders, to become CTOs of major companies. They&#8217;ve used WordPress maybe in their personal life as well, and they&#8217;re thinking, why wouldn&#8217;t I make this easier for the rest of my team? Why wouldn&#8217;t I make this easier for the rest of the world, and use something that&#8217;s good?</p>\n\n\n\n<p>So there&#8217;s a lot of people coming to these spaces, into these roles that could say, yeah, let&#8217;s look at WordPress and figure it out. And just going back into what you were asking around, who did they co-op? I think this is one part, like, so we mentioned we&#8217;ve got this OSPAR compliance. We&#8217;ve probably gotten our SOC2 compliance as well. And we&#8217;re probably the only agency in the world, well, only WordPress agency in the world that has SOC2 as part of our setup.</p>\n\n\n\n<p>They look at these things and did something that someone like Human Made is able to support them. You know, even if we are not WordPress support. We are their platform support. And WordPress is part of it. WordPress is what we do. But they call Human Made, I guess, to help them fix things, yeah.</p>\n\n\n\n<p>[00:18:07] <strong>Nathan Wrigley:</strong> When you are, and I know this hasn&#8217;t been a pitching process as such, because you&#8217;ve been working with them for a decade or more, but do you ever lean into the whole, no vendor lock-in thing? Is that something that you big up or something that you sort of push to one side? Because obviously you would like to have them as a client forever more, but equally suggesting that, look, if some time down the road, you know, it&#8217;s not working out between us, that&#8217;s a really credible selling point of the CMS. But equally it might not be something that you wish to mention.</p>\n\n\n\n<p>[00:18:37] <strong>Jon Ang:</strong> That is actually something we mention in almost every single one of our sales stacks, that we are not there to lock you in. By using WordPress, by working with Human Made, we make everything possible for you to move away if you ever wanted to in the future. And it might be that you still stay with WordPress, but maybe Human Made is not the company you want to work with in the future, that&#8217;s fine.</p>\n\n\n\n<p>But your entire platform remains open source. It remains portable, remains yours. And that&#8217;s something we&#8217;re very serious about, to the point that like we have worked with large Fortune 500s to open source what we&#8217;ve built for them, so that it could be maintained beyond Human Made, so that their team could continue to work on it, to extend that into their own product.</p>\n\n\n\n<p>And that&#8217;s something that I think is built into our DNA. As part of this, the banks, this Fortune 500s, they believe in this and therefore they don&#8217;t feel locked in, and therefore they feel more compelled to invest in it. Yeah, I think that&#8217;s a lot of that.</p>\n\n\n\n<p>[00:19:35] <strong>Nathan Wrigley:</strong> I have this impression, and this is really nothing to do with this conversation. I haven&#8217;t even written it down. But there seems to be a push towards this open banking standard. I don&#8217;t really know much about it, but there seems to be a push to make banking transactions a much more open protocol as well. So that&#8217;s kind of a curious overlap.</p>\n\n\n\n<p>[00:19:50] <strong>Tom Willmot:</strong> I mean, I think there is just, the trends over the last decade have been in open source&#8217;s favor, right? That people, we&#8217;re going to talk a bit about this again in our talk, but there&#8217;s, I&#8217;ve now, as a bank, been through multiple decades of being locked into proprietary platforms, I&#8217;ve felt the pain and expense of that. That&#8217;s where Standard Chartered were when we got involved.</p>\n\n\n\n<p>They were running a CMS that had been end of lifed by the company, and they were having to pay for that company to keep that CMS on life support just for them. And that was incredibly expensive. The CMS was terrible. It was super painful. I remember hearing early on actually, that they had 40 people on site that they were paying for full-time from the CMS vendor, because every single content edit had to be done by the CMS vendor. They couldn&#8217;t do it themselves.</p>\n\n\n\n<p>Absolutely, it&#8217;s in our DNA. Like, we care a lot about growing WordPress, and so there being no lock in a big part of that. But also, all of these customers have felt the pain of lock in so much that it&#8217;s like a huge selling point. We couldn&#8217;t afford to not mention it. It&#8217;s such a benefit of WordPress.</p>\n\n\n\n<p>[00:20:48] <strong>Nathan Wrigley:</strong> Okay, so lock in is one thing, but if you had to cherry pick just one or two things that make it easy to pitch WordPress at this level. So the vast majority of the people listening to this podcast will have no experience dealing with clients of the nature of Human Made. But they might be curious, you know, it&#8217;s nice to hear. What are the things at this enterprise level, that you can say, okay, WordPress has this? Just one or two things.</p>\n\n\n\n<p>[00:21:12] <strong>Tom Willmot:</strong> Yeah, yeah. I mean, I think there&#8217;s two kind of, I think fairly obvious ones that I&#8217;ll mention up front. One is just how flexible WordPress is. Like, a lot of these proprietary systems are not that flexible and customisation is very hard and expensive. And the reality for big enterprise is they&#8217;ve got a ton of like weird stuff that they need to integrate with. They&#8217;ve got a ton of weird, unique workflows that they need to support. And WordPress is just like, can do all of that really easily. So the flexibility&#8217;s a big selling point.</p>\n\n\n\n<p>I think the interesting one that maybe listeners won&#8217;t realise, and which like honestly still surprises me to this day actually, is just how important the usability of WordPress is. I mean enterprise software generally is like known to be terrible to use, and that&#8217;s really true even in the enterprise CMS space. Even today with the like major enterprise CMSs, if you actually see the backends, they&#8217;re all pretty awful. And so often what we do is we go in and we like demo, and they&#8217;re like blown away.</p>\n\n\n\n<p>[00:22:04] <strong>Nathan Wrigley:</strong> Genuinely blown away.</p>\n\n\n\n<p>[00:22:05] <strong>Tom Willmot:</strong> Yeah.</p>\n\n\n\n<p>[00:22:05] <strong>Nathan Wrigley:</strong> That&#8217;s fascinating.</p>\n\n\n\n<p>[00:22:07] <strong>Jon Ang:</strong> I think another number you could take away as well is that the market share of WordPress in Japan is something like 80%. 80% of websites in Japan use WordPress. Not a lot of that is enterprise yet, but whenever I do demo just default Gutenberg, I am showing them creating a block, I am making changes to the font sizes, I&#8217;m moving things up and down. They are like, that&#8217;s possible?</p>\n\n\n\n<p>And again, like this is just them looking at this, right? We&#8217;ve not even like built the custom blocks, made it tuned to the design. And I take a look at the backend that Tom just mentioned, and it would be something that WordPress was maybe 20 years ago when it was first created and. A lot of this really enterprise CMSs that have not moved on.</p>\n\n\n\n<p>So Gutenberg is, I think it&#8217;s a major, major piece that people get interested in. And once you then continue to build that into the way that they think about workflows, content approvals, the way that it integrates into other APIs, and all this visualisation is just showing up, straight up on their backend editor. It&#8217;s just so much more amazing, yeah.</p>\n\n\n\n<p>[00:23:10] <strong>Tom Willmot:</strong> This just reminds me of another story from, this is not from Standard Chartered actually, this is another big enterprise customer. When we went in for like the initial discovery, the way that they managed their online catalog, they were like a product company, they had a custom Java application that ran on one Windows XP PC. All of the content edits had to be done on that computer through that Java application.</p>\n\n\n\n<p>And so like the idea that multiple people could log in and edit content was a major selling feature for them. Again, like I said, I still get surprised by this. It&#8217;s so easy to take for granted the stuff that WordPress does. But actually, in enterprise, a lot of that is pretty groundbreaking.</p>\n\n\n\n<p>[00:23:45] <strong>Nathan Wrigley:</strong> Yeah, it&#8217;s interesting. I recall the joy I found when I first opened up Gutenberg and I could move a paragraph up and down. And I&#8217;ve completely lost that appreciation for that because I&#8217;m in it every single day. And in fact, you get to the point where you only see the things that it can&#8217;t do because you&#8217;re just really familiar with it. But the description that you&#8217;ve just given, it is quite a profound technology, isn&#8217;t it? And because I&#8217;m so familiar with it, can&#8217;t see the wood for the trees.</p>\n\n\n\n<p>[00:24:09] <strong>Tom Willmot:</strong> It&#8217;s one of my favorite things, you know, especially in a company like Standard Chartered, there&#8217;s 500 people using that. Their entire job, they&#8217;re spending in that, doing those workflows. And so like the transformation that something like WordPress can bring to just like the quality of their life at work is huge.</p>\n\n\n\n<p>[00:24:23] <strong>Nathan Wrigley:</strong> Is there anything though where you have to have the opposite discussion? So you&#8217;ve demonstrated it and they find that there&#8217;s drawbacks to WordPress. Do you have to convince them of things in the WordPress space? So you&#8217;ve just demonstrated a couple of things where it was fairly easy. You know, you show them the block editor, great. Are there bits of WordPress Core that they&#8217;re not that happy with?</p>\n\n\n\n<p>[00:24:41] <strong>Tom Willmot:</strong> I think most of that, mostly not with the Core software. Like, I honestly think the Core software is like industry leading. I think the biggest challenge they face goes a little bit back to the bat phone piece, which is that they look at the WordPress ecosystem and it&#8217;s like how am I supposed to interact with this? I need to find a host. I need to find an agency. There&#8217;s all these plugins. Can I use those? What are WordCamps?</p>\n\n\n\n<p>And so it&#8217;s like, it&#8217;s pretty difficult for an enterprise to like understand how that should be put together to meet their needs, and how do they procure it? In enterprise software, there&#8217;s usually an organisation, a vendor, that you can go and deal with that&#8217;s packaged all of that very nicely, and can like tell you what the roadmap is.</p>\n\n\n\n<p>And so that tends to be the biggest challenge, and that&#8217;s like most of what the work we do is like, how can we package what&#8217;s available in the WordPress ecosystem? But like make it available in a way that these companies are going to understand in the terminology they use, provide them with the roadmaps and the confidence that they need to be able to say like, yeah, okay, we&#8217;re going to use it.</p>\n\n\n\n<p>And to some degree hide all the mess and the chaos, which are like, is a real strength for the ecosystem but, yeah, can make it difficult for someone, a digital executive who like doesn&#8217;t really know that much about the ecosystem, and it&#8217;s probably going to get freaked out if they like go to the plugins directory and are like, oh, I need Salesforce. That&#8217;s not a great entry point.</p>\n\n\n\n<p>[00:25:57] <strong>Jon Ang:</strong> I think there&#8217;s also a lot of work that we do to help them understand that moving alongside WordPress&#8217;s innovations is good for you. They&#8217;ve spent last, what, 9, 8, 9 years, 10 years, like believing in that. So it doesn&#8217;t take us a lot of effort saying, this is what WordPress is thinking about in the next few versions. Given the amount of Core committers we have on the project, we kind of can get a good sense of where the roadmap of the project is going. And then we kind of tell them ahead of time. So when it does come out in an actual Core version, like a major version update, then they already knew about it, maybe like a year ago. They&#8217;re thinking, okay, great, now we get to use it.</p>\n\n\n\n<p>[00:26:33] <strong>Nathan Wrigley:</strong> If I was to look at the Standard Chartered backend, would I recognise it? Would it be something which is entirely familiar to me, or is there just a ton of bespoke stuff in there which makes it, you know, usable for them? So I&#8217;m thinking of things like, you&#8217;ve built custom workflows so that people who are, I don&#8217;t know on the editorial blog team or whatever, they can get their work done more quickly, or permissions which allow them to access this block, particular attribute of that block or not. So really, I&#8217;m just opening it up. Have you built a bunch of custom stuff for them to use?</p>\n\n\n\n<p>[00:27:04] <strong>Jon Ang:</strong> There&#8217;s a lot of custom stuff. I&#8217;ll say that our focus in making sure that they stay open and they&#8217;re not bound to, you know, anything that we built that is just not understandable by them. So we continue to use the WordPress language, I guess. Things that feel like it should be part of the block editor, how the workflow should be placed. It should be part of the published button, should it show up as a separate overlay and so on? All of that is taken into the understanding of how WordPress kind of demands it, and we present it in a very similar way.</p>\n\n\n\n<p>So even if you have someone that&#8217;s new to the bank, you know, but that person&#8217;s used WordPress before, they should be able to quickly understand how this is all going.</p>\n\n\n\n<p>Now obviously there are bank rules, and workflows, and regulations that they have to be like inducted into, but the understanding of how to build a content in the platform that&#8217;s built for them should be something that you could get it understood in 30 minutes or an hour. You would probably see it about 60, 70% as what you would usually see in WordPress. But the rest of it, again, is still built within the WordPress design language.</p>\n\n\n\n<p>[00:28:05] <strong>Nathan Wrigley:</strong> So it looks the same. So it looks like a WordPress site, but there&#8217;s obviously some custom bits and pieces, okay.</p>\n\n\n\n<p>[00:28:10] <strong>Jon Ang:</strong> Where you would expect things to be will be where we place it, like the extra buttons, extra workflows, and so on. They&#8217;ll be exactly where you think you&#8217;ll be clicking the publish button, for example.</p>\n\n\n\n<p>[00:28:19] <strong>Nathan Wrigley:</strong> So, I&#8217;m making air quotes, you are using modern WordPress, I&#8217;m guessing. So this is blocks, this is Site Editing. Tell us a little bit about that. Have you got some sort of custom block functionality in there? And I&#8217;m guessing it&#8217;s a Site Editing theme, a Full Site Editing</p>\n\n\n\n<p>[00:28:35] <strong>Jon Ang:</strong> So it is some Full Site Editing, and then the way we&#8217;re set up obviously is that we try to build patterns on Core blocks. So there&#8217;s obviously a lot of custom blocks, but the more we do with the default WordPress blocks. We style them. The more that they benefit when WordPress decides to make some improvements and so on. So that&#8217;s a lot of that.</p>\n\n\n\n<p>And part of our talk, we&#8217;ll talk about the integrations of different APIs into the blocks themselves. So, we are pulling, let&#8217;s say investor data, stock prices, and so on directly from all these APIs outside, and then into this charting systems that we&#8217;ve built within Gutenberg, so you get to build a chart within the block editor itself.</p>\n\n\n\n<p>And there will be visuals, that you&#8217;ll be able to see in our talk. But I think that&#8217;s probably one of the most customised things out there. But it goes back to what&#8217;s using the virtues for the block editor, gives you the visual of what you&#8217;re trying to create, and then it allows you the press button to create this graph that you want to create within WordPress.</p>\n\n\n\n<p>When you see these graphs on the WordPress website that we&#8217;ve created for Standard Chartered, it&#8217;s not an image that someone created in Microsoft Word. It is something that&#8217;s created within WordPress and generated directly inside there. So that&#8217;s basically what, well, part of what we&#8217;ve done for the block editor.</p>\n\n\n\n<p>[00:29:47] <strong>Nathan Wrigley:</strong> I always had this impression that the block editor enabled blocks to basically be mini applications. So, in the example of banking, like you said, you put a block onto the page, it&#8217;s hooked up to some API or something, and then you can provide some custom infographic or something like that. You know, you can see it on the back end and you click publish and it looks basically the same on the front end.</p>\n\n\n\n<p>The curious thing about that is it seems like only the enterprise can get there because that&#8217;s so much work. But the promise is so profound. These little mini applications, you know, for a real estate agent, like a house block or something like that. And in your case, display information about last year&#8217;s stats for Standard Chartered. I just think that&#8217;s the power of it, but so few people can pull it off because of the time and expense.</p>\n\n\n\n<p>[00:30:33] <strong>Jon Ang:</strong> I&#8217;ll say that at an enterprise level, obviously you have to work with someone like Human Made as an enterprise agency to get the maximum out of this very unique API data. You don&#8217;t get access to Morningstar&#8217;s API data as a regular person, for example. But if you&#8217;re talking about, let&#8217;s say a real estate person, there are plugins out there that plug into, let&#8217;s say the country&#8217;s real estate data that automates a lot of this. And these blocks are already built for that.</p>\n\n\n\n<p>So I think if you were in that industry and then talking to even a regular agency, they&#8217;ll be able to find these plugins that do a lot of that. And I said, these vendors, for example, they realise the need their software to integrate into WordPress. They will be building blocks that directly integrate that.</p>\n\n\n\n<p>An example of that is HubSpot. They do a lot of integration into WordPress, and then you&#8217;ve got blocks to do that. Even if you don&#8217;t have a specific official plugin. Gravity Forms, does a lot of integration into separate ecosystems and so on.</p>\n\n\n\n<p>So you get actually all these block transformation integrations and so on with this like popular plugins out there. And the more we use WordPress and the block editor together, I think the more of these blocks will become very accessible to the general public.</p>\n\n\n\n<p>[00:31:40] <strong>Nathan Wrigley:</strong> How do you even have that conversation with a client like Standard Chartered though, because they&#8217;re into banking, you are into building websites, there can&#8217;t be a great deal of overlap in, like we would love this to be on the website. Okay, we can build that. How does that conversation even happen? How do you draw out of them, we can build that into a block? Because you are so miles apart in your areas of expertise.</p>\n\n\n\n<p>[00:32:02] <strong>Tom Willmot:</strong> Really what we did is we worked with Standard Chartered to help them build a web platform team internally. And so the platform is really run as a 50/50 partnership between Human Made and the web platform team. They then act as the kind of internal service provider to all of these like country markets. Compliance and IT, and all of these other stakeholders, they bring the banking knowledge, and we bring the WordPress knowledge. It&#8217;s like we&#8217;ve got to work very, very closely together to make the most of that.</p>\n\n\n\n<p>[00:32:30] <strong>Nathan Wrigley:</strong> So it&#8217;s a case of often them coming to you saying, can this be done?</p>\n\n\n\n<p>[00:32:33] <strong>Tom Willmot:</strong> Yeah. And, you know, we&#8217;ve been running like two week sprints now for 8 years or something. So it&#8217;s like a very deep, agile relationship.</p>\n\n\n\n<p>[00:32:40] <strong>Nathan Wrigley:</strong> This project, fingers crossed, has no end goal. There&#8217;s no date at which it&#8217;s done.</p>\n\n\n\n<p>[00:32:45] <strong>Tom Willmot:</strong> No, exactly.</p>\n\n\n\n<p>[00:32:46] <strong>Nathan Wrigley:</strong> Every two weeks, lets see we&#8217;re at.</p>\n\n\n\n<p>[00:32:48] <strong>Tom Willmot:</strong> WordPress obviously has a pretty fast paced and iterative development process, right? There&#8217;s new stuff coming out pretty regularly. The bank has got aggressive growth targets and marketing plans across all of those countries. I mean, something else we didn&#8217;t talk about in terms of the lock-in, some of these country level teams will have their own agency relationships, maybe a marketing agency or something.</p>\n\n\n\n<p>And so we also act as a centralised agency coordinator service so that those other agencies can plug into the right bits of the website, but in a safe way that complies with the development processes and things that are necessary.</p>\n\n\n\n<p>[00:33:20] <strong>Nathan Wrigley:</strong> Just to finish it off, a few little questions around accessibility and multilingual and things like that. So multilingual, I suppose is fairly self-evident. You&#8217;ve got to translate this website into just about every language on the planet, I would&#8217;ve imagined. So that&#8217;s a whole body of work.</p>\n\n\n\n<p>[00:33:36] <strong>Tom Willmot:</strong> One of the ways actually that, I mean, multilingual is somewhat easier at this big enterprise level because essentially every country just has its own team and its own website. And so actually multilingual is just solved with multi-site. Standard Chartered do not translate their content, they rewrite it in that language. Different people write the content using multi-site.</p>\n\n\n\n<p>[00:33:52] <strong>Nathan Wrigley:</strong> But in terms of accessibility, very hot topic in the year 2025. And I&#8217;m guessing, again, goes back to compliance. I&#8217;m guessing there&#8217;s no missteps here. You can&#8217;t get this wrong. So just tell us about what&#8217;s been going on in that sphere.</p>\n\n\n\n<p>[00:34:06] <strong>Jon Ang:</strong> I think the way that we&#8217;re set up as well is that every single team has their own site, which means that every deploy gets checked in terms of accessibility. So we would expect that any designs that come along is accessible in the first place. So they&#8217;ve done their work. And then when we actually build the front end for it, and a part of their team also builds the front end, it goes through all this accessibility checker stuff that we&#8217;ve already built across time that I think feeds the WCAG to 2.2 AA Plus standards.</p>\n\n\n\n<p>So every single deploy is checked against that to make sure it is accessible. At any point in time where this looked at and said, okay, there should be improvements that we need to be making. It&#8217;s part of the whole two week adjustments that we continue to make sure that all these like websites are accessible.</p>\n\n\n\n<p>It doesn&#8217;t matter whether it is a Chinese website or Japanese website, where maybe like they&#8217;re not held to the same EU accessibility laws, but every piece is actually taken to the same level and held out to the belief that, if we&#8217;re accessible in a specific space, that&#8217;s should be the same everywhere else.</p>\n\n\n\n<p>[00:35:06] <strong>Tom Willmot:</strong> You know, something to say on accessibility, often listeners will probably feel this. It can be difficult to get clients to care about it enough to pay you to do the work necessary to make it accessible, right? That&#8217;s a common problem. It&#8217;s one of the really nice things about working with a heavily compliance regulated industry like Standard Chartered. Like, actually, they really care about it. And so they really do the work. They want to invest to make sure the platform can enable them and support them as much as possible to like meet their compliance requirements, yeah.</p>\n\n\n\n<p>[00:35:31] <strong>Nathan Wrigley:</strong> Has the more recent WordPress past, let&#8217;s say since about September last year, has that caused any ripples in the nature of the work that you do? Or has it required a different relationship with your clients, more explaining what&#8217;s going on in the community? Has there been any kind of blowback from the pace of Core amendments? I think we&#8217;re maybe getting more back on track with that. But I just wondered if there were any ripples?</p>\n\n\n\n<p>[00:35:58] <strong>Tom Willmot:</strong> The dropping from three to one releases a year, like I think in many parts of enterprise, it&#8217;s kind of helpful actually, like three releases a year is pretty fast. And so certainly that&#8217;s not raising eyebrows at the enterprise level.</p>\n\n\n\n<p>I think just like, we&#8217;ve got a mix of clients, some who are the kind of stakeholder who loves WordPress and really wants it, and so they&#8217;re perhaps a little bit more plugged in. And so, yeah, they&#8217;ve got more questions. And then you&#8217;ve got the other 50% of clients who know nothing about it.</p>\n\n\n\n<p>[00:36:22] <strong>Jon Ang:</strong> And I think that when we are building these enterprise websites, right, we are kind of playing at a slightly different playing field. So they&#8217;re not using the typical consumer level plugins and so on. They&#8217;re using the service that we&#8217;ve provided them. So when you look at this, they look at this as the Human Made WordPress thing that we&#8217;ve been doing. And then when they look at whether they can trust this thing, they&#8217;re looking at the service that we provide. So they&#8217;re not concerned about what&#8217;s going else out there. They&#8217;re concerned about whether we have the ability to continue providing this service and nothing has said otherwise, yeah.</p>\n\n\n\n<p>[00:36:53] <strong>Nathan Wrigley:</strong> Okay, very last question then. How much of this can be contributed back into the project? Are there any facets of this, little bits over here or over there that can be contributed back to the community? I don&#8217;t know where they would land. And if that&#8217;s a question you can&#8217;t answer, how does Human Made take on the position of contributing back? What&#8217;s your posture on that?</p>\n\n\n\n<p>[00:37:13] <strong>Jon Ang:</strong> So Standard Chartered was definitely one of the earlier adopters of Gutenberg. But I think one of the earliest, earliest adopters we had was a part of Disney, where we were using version 0.2 beta of Gutenberg. It was not much in Core. We&#8217;re talking about a very beta version of it. So we were building sidebars, we were building like all these things that, Gutenberg didn&#8217;t have yet. It was just paragraphs and so on, like back then.</p>\n\n\n\n<p>So we were doing that and we were contributing back the idea of it, back to the project. And so you&#8217;re going to hear from our talk how we&#8217;ve already completed collaborative editing in Human Made. We are now talking to people outside about contributing the idea back to it as well. I think the growth of the block editor itself has been stuff that we are, you know, pushed back in as well. And then I&#8217;ll say that&#8217;s one part.</p>\n\n\n\n<p>The other part as well is the security aspects of stuff. So banks are checked on CVEs and all these pieces, and their security team are on contact points with us on a regular basis. So when we do learn of these things that they&#8217;re concerned about, and this is something that we&#8217;ve then fixed for them, we then contribute it back to the project.</p>\n\n\n\n<p>So I know John Blackbourn works in Human Made, he&#8217;s the WordPress Security Team lead. Big part of his job is making sure that the projects that we work on is secure, but the stuff that we have secured then afterwards is contributed back to the WordPress project. So there&#8217;s a lot of that ongoing.</p>\n\n\n\n<p>[00:38:30] <strong>Nathan Wrigley:</strong> Do you blow your own trumpet about contributions back or do you like to keep it quiet? I was having a conversation with somebody in the Drupal space recently, and it seems like there&#8217;s this whole thing that they&#8217;ve got there where, if you contribute, you accrue benefits in terms of, you attend an event like a Drupal Con and you can sponsor because you did some things. And so you had to blow your own trumpet in a way to be acknowledged as having done the things.</p>\n\n\n\n<p>I don&#8217;t know what your position on that is, whether you like to sort of shout it from the rooftops. We did this, we contributed this back, or I don&#8217;t know if it&#8217;s more softly, softly than that.</p>\n\n\n\n<p>[00:39:00] <strong>Tom Willmot:</strong> Yeah, I think I&#8217;m quite a fan actually of the maker taker stuff that Drupal does. Like, I think they do some really interesting things to benefit maker organisations, which I think has the right incentives then associated with it. Something I learned about, they&#8217;ve worked with some of the federal and public sector contracting authorities to preference maker organisations in the RFP processes that they do. So I think stuff like that&#8217;s actually really good. I would like to see some of that on the WordPress side.</p>\n\n\n\n<p>We really do trumpet it when we&#8217;re talking to clients because it&#8217;s a big part of our sales pitch, right? That&#8217;s how we contribute back to WordPress. We&#8217;re a part of the Security Team. That means that we can use Gutenberg way before it&#8217;s shipped in Core, which means by the time it&#8217;s shipping in Core, Standard Chartered are already using it. They&#8217;re already familiar with it. There&#8217;s not a big expensive transition. It&#8217;s not a shock.</p>\n\n\n\n<p>The collaborative editing that Jon mentioned, they needed real time editing in the CMS for multiple users, and we were able to take the like alpha version that the Core team are working on, finish that off and do the work to get that running in production.</p>\n\n\n\n<p>[00:39:58] <strong>Nathan Wrigley:</strong> Yeah, just snuck that in. I mean, that&#8217;s a whole episode.</p>\n\n\n\n<p>[00:40:01] <strong>Tom Willmot:</strong> Yeah. And you know, that&#8217;s really interesting. They&#8217;ve been running that in production for a year or more. So then, yeah, there&#8217;s obviously stuff there that is like a two-way thing. So some stuff is like, okay, we build something unique and that&#8217;s like released open source, but actually more of it is just we are using the stuff that&#8217;s coming ahead of time, so then what we are learning can feed back, and make sure that when that is ready, it&#8217;s like already learnt the enterprise lessons it needs to learn to be relevant or whatever, yeah.</p>\n\n\n\n<p>[00:40:26] <strong>Nathan Wrigley:</strong> Well, that was a really, honestly, I got so much out of that. Thank you very much, Tom Willmot and Jon Ang for talking to me today all about your project with Standard Chartered. Thank you very much.</p>\n\n\n\n<p>[00:40:35] <strong>Tom Willmot:</strong> Great to be here and a great way to kick off the day. We&#8217;ve recorded as our first thing for the conference, so that&#8217;s pretty cool.</p>\n\n\n\n<p>[00:40:41] <strong>Jon Ang:</strong> Thank you for helping us walk through our talk as well. So a lot of what we mentioned, it&#8217;s probably going to be mentioned our talk. But it&#8217;s been good to be here.</p>\n</div></details>\n\n\n\n<p>On the podcast today we have <a href=\"https://humanmade.com/who-we-are/tomwillmot/\">Tom Willmot</a> and <a href=\"https://humanmade.com/who-we-are/jonang/\">Jon Ang</a>.</p>\n\n\n\n<p>Tom is the co-founder of Human Made, an enterprise WordPress agency that’s been pushing the boundaries of what WordPress can do since its inception. Jon is also with Human Made, and together they bring a huge amount of experience working with major clients on large-scale projects. At this year’s WordCamp Europe in Basel, they presented a case study: their long-term, continually evolving work with the global banking giant Standard Chartered.</p>\n\n\n\n<p>Most listeners might not be working at the scale of 85,000 employees, 70 countries, and hundreds of millions of page views a month, but Tom and Jon are here to share insights from the top end of WordPress implementation.</p>\n\n\n\n<p>They explain how Human Made helped Standard Chartered shift from proprietary CMS lock-in to a flexible, open-source, Gutenberg-powered WordPress solution that serves as the main web platform for the bank across all its markets.</p>\n\n\n\n<p>We talk about the unique compliance and security challenges of working in the banking sector, what it takes to persuade giant enterprises that WordPress is ‘not a toy’, and how to support hundreds of CMS users with custom workflows and integrations.</p>\n\n\n\n<p>Tom and Jon discuss the specifics of scaling WordPress for the enterprise, from accessibility and multilingual setups to custom block development and real-time collaborative editing.</p>\n\n\n\n<p>We also hear how Human Made works with clients to contribute innovations and security improvements back to the WordPress community, ensuring that lessons learned at the enterprise level benefit everyone.</p>\n\n\n\n<p>If you’re curious about how WordPress powers mission-critical web infrastructure for some of the world’s biggest organisations, or how you might pitch WordPress for enterprise use, this episode is for you.</p>\n\n\n\n<h2 class=\"wp-block-heading\">Useful links</h2>\n\n\n\n<p><a href=\"https://humanmade.com/\">Human Made</a></p>\n\n\n\n<p><a href=\"https://www.sc.com/en/\">Standard Chartered</a></p>\n\n\n\n<p>Tom and Jon&#8217;s WordCamp Europe presentation: <a href=\"https://europe.wordcamp.org/2025/session/banking-on-wordpress-inside-a-ftse-50-banks-global-platform/\">Banking on WordPress: Inside a FTSE 50 Bank’s Global Platform</a></p>\n\n\n\n<p><a href=\"https://humanmade.com/work/standard-chartered-banking-on-the-future/\">Standard Chartered: banking on the future</a></p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 18 Jun 2025 14:00:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Nathan Wrigley\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i: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:72:\"Open Channels FM: A Journey Integrating AI Agents in WordPress Using MCP\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:32:\"https://openchannels.fm/?p=99060\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:96:\"https://openchannels.fm/tihomir-dmitrovics-journey-integrating-ai-agents-in-wordpress-using-mcp/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:196:\"In this episode of Emerging Tech, host Dave talks to Tole, an innovative developer who shares his journey from mobile to WordPress. He discusses his MCP integration in ConvoWorks for AI workflows.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 18 Jun 2025 13:41:37 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"BobWP\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i: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:70:\"Akismet: reCAPTCHA not stopping spam? Here’s the perfect alternative\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://akismet.com/?p=284427\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:53:\"https://akismet.com/blog/recaptcha-not-stopping-spam/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:10649:\"<p>Have you enabled reCAPTCHA thinking it would shield you against spam, only to find bots slipping through? You’re not alone. Those little puzzles prove that some visitors are human, but they don’t always stop the spam messages.</p>\n\n\n<p>It may be disappointing to hear, but reCAPTCHA seriously annoys site visitors while only doing a moderate job of preventing spam. You (and your visitors) deserve something much better. </p>\n\n\n\n<span id=\"more-284427\"></span>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"common-issues-with-recaptcha \">Common issues with reCAPTCHA </h2>\n\n\n\n<p>Though a popular option, reCAPTCHA doesn’t always deliver the spam protection you need.  Let’s look at just a few key reasons why this is the case, from user frustration and accessibility concerns to bots getting through.</p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"1-user-friction-and-poor-accessibility \">1. User friction and poor accessibility </h3>\n\n\n<p>For those caught in an endless loop of trying to find all the squares that include a bicycle, it’s no surprise that user frustration tops the list of reasons that reCAPTCHA isn’t a great option.</p>\n\n<p>In fact, a <a href=\"https://web.stanford.edu/~jurafsky/burszstein_2010_captcha.pdf\" rel=\"noreferrer noopener\" target=\"_blank\">study by Stanford</a> showed that humans need an average of ten seconds to solve Google reCAPTCHAs and up to 30 seconds for audio. This study showed that users abandon the page 29% of the time without even trying to solve it. Imagine losing a sale because your customer couldn’t pass the test!</p>\n\n<h3 class=\"wp-block-heading\" id=\"2-low-effectiveness-against-advanced-bots-and-captcha farms\">2. Low effectiveness against advanced bots and CAPTCHA farms</h3>\n\n\n<p>While effective when it was first released, AI bots can now bypass reCAPTCHA with 99.8% accuracy, according to the <a href=\"https://merchantriskcouncil.org/learning/resource-center/member-news/blog/2024/paypal-captcha-evolution-and-effectiveness\" rel=\"noreferrer noopener\" target=\"_blank\">Merchant Risk Council</a>. </p>\n\n\n\n<p>Where bots aren’t effective, there are even entire “<a href=\"https://www.f5.com/labs/articles/cisotociso/i-was-a-human-captcha-solver\" rel=\"noreferrer noopener\" target=\"_blank\">CAPTCHA farms</a>” that use human labor to bypass CAPTCHAs at astonishing rates. </p>\n\n\n\n<p>Either way, you’ll likely be bogged down with tons of annoying, dangerous spam — even with reCAPTCHA.</p>\n\n\n<h3 class=\"wp-block-heading\" id=\"3-a-negative-impact-on-site-performance-and-load times\">3. A negative impact on site performance and load times</h3>\n\n\n<p>On the internet, every second counts. Visitors won’t wait more than a couple of seconds for your site to load before moving on. </p>\n\n\n\n<p>That’s why site owners put so much effort into optimizing images, finding a high-performing host, installing the right speed plugins, and more. </p>\n\n\n<p>Unfortunately, using reCAPTCHA can undo a lot of that hard work. <a href=\"https://pagepipe.com/how-google-no-captcha-captcha-slows-down-your-mobile-site/\" rel=\"noreferrer noopener\" target=\"_blank\">PagePipe’s testing</a> found that reCAPTCHA adds a full half&#8209;second lag to a site’s load time, costing you visitors and likely customers. After all, <a href=\"https://blog.google/products/admanager/the-need-for-mobile-speed/\" rel=\"noreferrer noopener\" target=\"_blank\">53% of mobile users</a> abandon sites that take over three seconds to load.</p>\n\n<p>Plus, this likely has a serious (negative) impact on Core Web Vitals. This can drop your rankings so fewer visitors find your slow&#8209;loading site to begin with.</p>\n\n\n<h3 class=\"wp-block-heading\" id=\"4-false-positives-galore \">4. False positives galore </h3>\n\n\n\n<p>When reCAPTCHA flags a submission as a false positive, you’re inadvertently telling your visitors that they aren’t even human. </p>\n\n\n\n<p>For example, some reCAPTCHAs flag super fast form submissions under the assumption that, when someone fills out a form too quickly, it must be a bot. But there are some people who are simply fast typers — they could be blocked from your site because of their typing prowess! </p>\n\n\n<p>The inconvenience and potential lost sales that result from false positives simply aren’t worth the risk.</p>\n\n<h2 class=\"wp-block-heading\" id=\"akismet-is-your-superior-spam-protection solution\">Akismet is your superior spam protection solution</h2>\n\n\n<p>With the drawbacks of reCAPTCHA well understood, let’s now think about a scenario where you don’t have to worry about losing clients or driving away new subscribers by confronting them with accusations of being bots. </p>\n\n\n\n<p>The solution <em>does </em>exist, and it’s called Akismet. </p>\n\n\n\n<p>Akismet is an anti-spam tool that works behind the scenes on nearly any type of site (WordPress, Drupal, etc.) to detect and block spam in real time. </p>\n\n\n<p>Its advanced AI algorithm is constantly learning from the network of over 100 million protected sites to maintain an incredible 99.999% accuracy rate.</p>\n\n\n<p>It doesn’t slow down your site, doesn’t challenge your visitors with annoying tests (it’s in the background, remember?), and can be customized for your individual site with the opportunity for you to manually review submissions and provide feedback. </p>\n\n\n\n<p>To date, it’s blocked over 550 billion spam messages, with 76 million pieces of additional spam annihilated each day. Let’s look at how Akismet accomplishes this: </p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"next-generation-ai-and-machine-learning-technology \">Next-generation AI and machine learning technology </h3>\n\n\n<p>Akismet’s AI uses the content within a form submission to identify automated spam attempts and bots. In fact, their advanced machine learning technology analyzes real spam data from more than 100 million users and is always improving.</p>\n\n\n<h3 class=\"wp-block-heading\" id=\"real-time-analysis-of-user-submissions \">Real-time analysis of user submissions </h3>\n\n\n\n<p>Akismet analyzes form submissions in real time, making split-second decisions about whether a comment or form entry is legitimate or spam. This keeps your site free of spam without any work required on your end. </p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"99-99-spam-detection-accuracy \">99.99% spam detection accuracy </h3>\n\n\n\n<p>Akismet has a 99% spam detection accuracy rate with the track record to back up the claim. Notably, <a href=\"https://akismet.com/blog/convertkit-customerstory/\">Kit switched to Akismet</a> and saved 20 hours per customer every month without losing any leads. That kind of performance shows how effective spam protection doesn’t have to come at the cost of user experience. </p>\n\n\n<h3 class=\"wp-block-heading\" id=\"the-largest-spam-database-in-the world\">The largest spam database in the world</h3>\n\n<p>Akismet is powered by the largest spam database on the internet. Every time it catches a new spam pattern, it feeds that data back into its systems, improving accuracy across all the sites it protects.</p>\n\n<h2 class=\"wp-block-heading\" id=\"core-advantages-of-akismet-over recaptcha\">Core advantages of Akismet over reCAPTCHA</h2>\n\n<p>Now that you’ve seen how Akismet works, let’s zoom in on the key differences between it and reCAPTCHA.</p>\n\n<h3 class=\"wp-block-heading\">1. Content&#8209;based analysis, which targets spam (instead of users)</h3>\n\n\n<p>Akismet analyzes content directly rather than relying on click-based tests or suspicious IP lists. It looks at the substance of the message and compares it against patterns of known spam behavior, which makes it far more effective at catching the source. </p>\n\n\n<p>This also means that it doesn’t get in the way of real users because it’s not constantly passing judgment on their behavior (which slows down sites) or asking them to complete tests.</p>\n\n<h3 class=\"wp-block-heading\" id=\"2-zero-friction-for-site visitors\">2. Zero friction for site visitors</h3>\n\n<p>Friction slows down conversions and that’s precisely what reCAPTCHA causes. It introduces friction and interrupts your visitors with tedious tasks before they can even submit a form. If they get it wrong once, many won’t bother trying again.</p>\n\n<p>Akismet removes that friction. It doesn’t bother users with puzzles, challenges, or visual tests. It runs quietly in the background, allowing visitors to stay focused and engaged without even noticing it.</p>\n\n\n<h3 class=\"wp-block-heading\" id=\"3-ongoing-adaptation-to-new-spam-patterns \">3. Ongoing adaptation to new spam patterns </h3>\n\n\n\n<p>One of the most impressive benefits of Akismet often goes unnoticed, and that’s its ability to adapt to new spam methods and bots in real time. Its machine learning engine takes notes from every spam attempt it blocks — across all the websites it protects. </p>\n\n\n<p>That means it’s not just reacting to spam. It’s predicting and adapting in real time, keeping your forms clean no matter how spam trends shift.</p>\n\n\n<h3 class=\"wp-block-heading\" id=\"4-zero-impact-on-performance-and-site-speed \">4. Zero impact on performance and site speed </h3>\n\n\n<p>Unlike reCAPTCHA, which can add lag to your forms and frustrate visitors with slow load times, Akismet promises <a href=\"https://akismet.com/features/#:~:text=zero%20impact%20on%20site%20speed\">zero impact on performance</a>. Since it uses the cloud to store data, Akismet won’t affect your site speed, bounce rates, or conversion rates. Compare that to the half&#8209;second load&#8209;time drag reCAPTCHA brings to the table and the choice becomes clear.</p>\n\n<p>Yes, Akismet is the <a href=\"https://akismet.com/blog/captcha-alternatives/\">perfect alternative to CAPTCHA technology</a> — it quietly filters out spam in the background without adding friction for real users.</p>\n\n\n<h2 class=\"wp-block-heading\" id=\"recaptcha-not-stopping-spam-switch-to-akismet-in-minutes \">reCAPTCHA not stopping spam? Switch to Akismet in minutes </h2>\n\n\n<p>Why settle for a tool that slows down your site, frustrates visitors, and still lets spam slip through? Thankfully, with Akismet, you don’t have to.</p>\n\n<p>Getting started only takes a few minutes. Simply:</p>\n\n\n<ol class=\"wp-block-list\"><li>Remove the CAPTCHAs that turn visitors away.</li>\n\n<li>Activate Akismet on your WordPress site.</li>\n\n<li>Let Akismet handle the spam while you focus on growing your site and improving conversions.</li></ol>\n\n\n<p>Ready to stop making your visitors prove they’re human? <a href=\"https://akismet.com/pricing/\">Add Akismet to your site</a> and see how convenient set&#8209;it&#8209;and&#8209;forget&#8209;it spam protection can be.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 18 Jun 2025 12:00:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:11:\"Jen Swisher\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i: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:104:\"Open Channels FM: Finding Your Community: The Challenge of Reaching WooCommerce End Users vs. Developers\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:47:\"https://openchannels.fm/?post_type=blog&p=97448\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:109:\"https://openchannels.fm/finding-your-community-the-challenge-of-reaching-woocommerce-end-users-vs-developers/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:356:\"When it comes to building successful plugins and products for WordPress or WooCommerce, everyone talks about the importance of “community.” But what does that really mean—and who should you be building community with? In a recent episode of Woo Product Chat, hosts Katie Keith, James Kemp, and special guest Jonathan Wold dove deep into the [&#8230;]\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 18 Jun 2025 11:47:18 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"BobWP\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i: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:73:\"Open Channels FM: How to Tell If Your WordPress News Is Really Newsworthy\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:32:\"https://openchannels.fm/?p=99023\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:110:\"https://openchannels.fm/how-to-tell-if-your-wordpress-news-is-really-newsworthy-with-rae-morey-and-adam-weeks/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:213:\"In the first of the series, Media Playbook, Rae and Adam discuss how to connect WordPress businesses with the media. They share tips on crafting newsworthy stories and building relationships for better visibility.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 17 Jun 2025 09:51:08 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"BobWP\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i: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:55:\"Open Channels FM: We Are Welcoming Woo As a New Sponsor\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:32:\"https://openchannels.fm/?p=98641\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:62:\"https://openchannels.fm/we-are-welcoming-woo-as-a-new-sponsor/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:196:\"Since 2018, WooCommerce has been a vital partner for Do the Woo, promoting the brand and providing resources. They will now sponsor Open Channels FM to strengthen community engagement and support.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Mon, 16 Jun 2025 08:31:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"BobWP\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i: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:131:\"Gutenberg Times: Gutenberg Changelog 118 – WordCamp Europe, WordPress New AI Team, the Pride Photo Drive, Gutenberg 20.9 and 21.0\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:53:\"https://gutenbergtimes.com/?post_type=podcast&p=40707\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:103:\"https://gutenbergtimes.com/podcast/gutenberg-changelog-118-wordpress-new-ai-team-the-pride-photo-drive/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:44750:\"<p>Hosted by Birgit Pauli-Haack, with special guest Anne McCarthy, this episode dives into recent happenings in the WordPress ecosystem, including updates from WordCamp Europe, the launch of the new WordPress AI Team, the Pride Photo Drive initiative, and the latest Gutenberg releases (20.9 and 21.0).</p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>WordCamp Europe Recap</strong></h2>\n\n\n\n<p>The community celebrated new milestones, including all workshops being recorded and promptly published to WordPress TV, making it easier for everyone to catch up. Notable sessions covered digital freedom, block development, and innovative ways to extend WordPress without custom blocks. There was also a special mention of the WordPress Campus Connect pilot at the University of Pisa, enabling students to earn credits through WordPress contributions.</p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>WordPress AI Team Launch</strong></h2>\n\n\n\n<p>WordPress has officially formed a core AI Team, supported by both Automattic and Google contributors, focusing on foundational tools and integrations to bring AI capabilities to the platform. The team is working on projects like the AI Services plugin, the Model Context Protocol (MCP), and the WP Feature API, each designed to provide standardized and extensible AI solutions for the WordPress ecosystem.</p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Pride Photo Drive</strong></h2>\n\n\n\n<p>Anne McCarthy introduced the Pride Photo Drive: an open photo submission event to boost LGBTQ+ representation in the WordPress Photo Directory. The initiative encourages everyone (not just the LGBTQ+ community) to contribute, with fun incentives and cash prizes, emphasizing the importance of diverse, high-quality imagery for web creators.</p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Gutenberg 20.9 &amp; 21.0 Releases</strong></h2>\n\n\n\n<p>The latest Gutenberg plugin releases bring a host of improvements and enhancements:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A shift towards more modern and maintainable codebase (SASS modules),</li>\n\n\n\n<li>Usability changes to block settings and tool panels,</li>\n\n\n\n<li>Continued iteration on “content-only” editing for simpler, safer user experiences,</li>\n\n\n\n<li>Accessibility improvements and bug fixes suggested by new and long-time contributors,</li>\n\n\n\n<li>Ongoing expansion of the Interactivity API for richer client-side experiences.</li>\n</ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Community &amp; Contribution</strong></h2>\n\n\n\n<p>Anne and Birgit emphasize the power of direct community feedback—how user suggestions shape features and workflows. There&#8217;s an open call for more engagement, hallway hangouts, and broad collaboration beyond just in-person events.</p>\n\n\n\n<p><em>This episode is packed with optimism and opportunities for WordPress users and contributors of all backgrounds to get involved—whether that’s through new tech like AI, creative community projects, or by shaping the future of Gutenberg.</em></p>\n\n\n\n<p><a href=\"https://gutenbergtimes.com/podcast/gutenberg-changelog-118-wordpress-new-ai-team-the-pride-photo-drive/#shownotes\">Show Notes</a> / <a href=\"https://gutenbergtimes.com/podcast/gutenberg-changelog-118-wordpress-new-ai-team-the-pride-photo-drive/#transcript\">Transcript</a></p>\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<h3 class=\"wp-block-heading\">Special Guest: Anne McCarthy</h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https://profiles.wordpress.org/annezazu/\">WordPress profile</a></li>\n\n\n\n<li><a href=\"https://www.linkedin.com/in/anneguionmccarthy/\">LinkedIn</a></li>\n\n\n\n<li>Personal Blog: <a href=\"https://nomad.blog/\">Nomad.blog</a></li>\n\n\n\n<li><a href=\"https://gutenbergtimes.com/podcast/gutenberg-changelog-111-developer-hours-playground-and-collaborative-editing/\">Gutenberg Changelog #111 – Gutenberg 19.6 and 19.7, Developer Hours, Playground, and Collaborative Editing</a></li>\n\n\n\n<li><a href=\"https://gutenbergtimes.com/podcast/gutenberg-changelog-87/\">Gutenberg Changelog #87 – Patterns, Gutenberg 16.3 and WordPress 6.3.</a></li>\n</ul>\n\n\n\n<h3 class=\"wp-block-heading\">Celebrating Pride Month</h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https://lgbtqpress.com/2025/05/share-your-pride-photo-drive-is-back-for-2025/\">Share your Pride Photo Drive is back for 2025</a></li>\n\n\n\n<li>WordPress photo directory<a href=\"https://wordpress.org/photos/search/ShareYourPride2024/\"> ShareYourPride 2024</a></li>\n</ul>\n\n\n\n<h3 class=\"wp-block-heading\">WordPress AI Team</h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https://wordpress.org/news/2025/05/announcing-the-formation-of-the-wordpress-ai-team/\">Announcing the Formation of the WordPress AI Team</a></li>\n\n\n\n<li><a href=\"https://make.wordpress.org/ai/2025/05/23/welcome-to-the-core-ai-team-blog/\">Welcome to the Core AI Team Blog</a></li>\n\n\n\n<li><a href=\"https://make.wordpress.org/ai/2025/06/03/introducing-the-ai-team-hallway-hangout-recap/\">Introducing the AI Team – Hallway Hangout Recap</a></li>\n\n\n\n<li><a href=\"https://wordpress.org/plugins/ai-services/\">AI Services</a></li>\n\n\n\n<li><a href=\"https://github.com/mcp-wp/\">MCP for WordPress</a></li>\n\n\n\n<li><a href=\"https://pascalbirchler.com/wordpress-model-context-protocol-mcp/\">Enabling AI-Powered WordPress Development with WP-CLI and the Model Context Protocol (MCP)</a></li>\n\n\n\n<li><a href=\"https://github.com/Automattic/wp-feature-api\">WP Feature API</a></li>\n\n\n\n<li><a href=\"https://www.youtube.com/watch?v=V08qhLL19cM\">The WordPress AI fightback begins!</a></li>\n</ul>\n\n\n\n<h3 class=\"wp-block-heading\">WordCamp Europe Recordings</h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https://wordpress.tv/2025/06/09/fireside-chat-with-mary-hubbard-and-matt-mullenweg/\">During Fire side Chat</a> with Mary Hubbard and Matt Mullenweg</li>\n\n\n\n<li><a href=\"https://wordpress.tv/2025/06/07/wordpress-without-borders-the-fight-for-digital-freedom/\">WordPress without Borders – The Fight for Digital Freedom</a></li>\n\n\n\n<li><a href=\"https://wordpress.tv/2025/06/07/the-block-developer-cookbook-wceu-2025-edition/\">The Block Developer Cookbook: WCEU 2025 Edition</a></li>\n\n\n\n<li><a href=\"https://wordpress.tv/2025/06/07/wordpress-gems-for-devs-interactivity-api-2/\">WordPress Gems around the Interactivity API</a>.</li>\n\n\n\n<li><a href=\"https://wordpress.tv/2025/06/07/why-block-themes-make-woocommerce-stores-better/\">Why Block Themes Make WooCommerce Stores Better</a></li>\n\n\n\n<li><a href=\"https://wordpress.tv/2025/06/07/do-you-really-need-a-custom-block/\">Do you really need a custom block</a></li>\n\n\n\n<li>All recordings from <a href=\"https://wordpress.tv/event/wordcamp-europe-2025/\">WordCamp Europe on WordPressTV</a></li>\n</ul>\n\n\n\n<h2 class=\"wp-block-heading\">Gutenberg Releases</h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https://developer.wordpress.org/news/2025/06/whats-new-for-developers-june-2025/\">What’s New for Developers (June 2025)</a></li>\n\n\n\n<li><a href=\"https://make.wordpress.org/core/2025/06/11/whats-new-in-gutenberg-20-8-and-20-9/\">What’s new in Gutenberg 20.8 and 20.9?</a></li>\n\n\n\n<li><a href=\"https://make.wordpress.org/core/2025/06/11/whats-new-in-gutenberg-21-0-11-june/\">What’s new in Gutenberg 21.0?</a></li>\n\n\n\n<li>I<a href=\"https://github.com/WordPress/gutenberg/issues/70372\">nteractivity API: Backport of WooCommerce&#8217;s Interactivity API improvements #70372</a><br /></li>\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>: Ladies and gentlemen, welcome to our 118th episode of the Gutenberg Changelog podcast. In today&#8217;s episode, we will talk about WordCamp Europe and the WordPress new AI team, and Pride Photo Drive and the Gutenberg 20.9 and 21.0 releases. I&#8217;m your host, Birgit Pauli-Haack, curator at the Gutenberg Times, a developer advocate at Automattic, and core contributor to the WordPress open source project. With me today, relatively fresh back from the sabbatical, is Anne McCarthy. Thank you, Anne. Welcome back and I&#8217;m thrilled you&#8217;re on the show. How are you today?</p>\n\n\n\n<p><em>Anne McCarthy</em>: Thank you for having me. It is incredible to be back from sabbatical and also to be back to contributing with sponsorship, which is amazing. I was trying to do it coming back without it and to have to have that change so quickly. Coming back from sabbatical has been so energizing combined with Pride Month, so I can&#8217;t complain. I&#8217;m just excited to get into stuff and excited to be back in this space talking about this important work.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Wonderful. Yeah, no, we&#8217;re all back contributing. It will be. We still have to kind of figure that out. I know that every team is kind of trying to get unplugged from what they were doing as part so they can contribute back. So the last time you were on the show, it was in November last year. Episode 111. So, so much has changed for the project and for you. What are you now working on at Automattic and respectively for WordPress? Yeah.</p>\n\n\n\n<p><em>Anne McCarthy: </em>So my job title has shifted a bit as well, to align with some of the changes that have happened. So we. I am now an architecture wrangler is the title I&#8217;m rolling with right now. And essentially the core of my job is the same. I&#8217;m looking across Automattic the community to find shared patterns, to accelerate work, to do work and to connect work. And so trying to make sure we&#8217;re moving in the same direction in the project. So working on things like roadmaps, breaking down work, helping for the future, teams get into contributing and figuring out important projects they can work on and providing support there, as well as collecting user feedback across different places and how it impacts things. So if we hear something, for example, from like an enterprise client, I recently did this. A couple weeks ago, there was a bug that came out from an enterprise client. I said, hey, who else has dealt with this? Aaron Jordan used to in publishing. What do you think? Hey, can we get someone to work on this? What are you all seeing? What feedback are you seeing? Here&#8217;s the feedback I&#8217;m seeing. So I&#8217;m still doing the same kind of work. Cool thing is now instead of working with about 100 engineers, I&#8217;m working with about 300, about 50 different teams. So internally there&#8217;s a lot more spread. But I&#8217;m really excited because it can really help influence and move faster on some of the stuff we do in the core project. So instead of things being a bit divorced and separated, especially from customer feedback and customer needs, we can now, you know, using Automattic spread of customers, use that to bring things that are foundational for all WordPress, because we cover so many different use cases between themes and plugins and hosting and enterprise and bloggers and all sorts of stuff. So I&#8217;m really excited to see increased collaboration there, including with the broader Five for the future groups, and encourage everyone to get involved, to share that feedback and join in the fun.</p>\n\n\n\n<p><em>Birgit Pauli-Haack: </em>That&#8217;s wonderful. Yeah, it sounds exciting. It also sounds like a lot of work, but, yeah.</p>\n\n\n\n<p><em>Anne McCarthy: </em>It&#8217;S good work. It&#8217;s good work because you get to kind of see things at the root, which is fine.</p>\n\n\n\n<p><em>Birgit Pauli-Haack: </em>Yeah, yeah. And you can also kind of see it happening when it&#8217;s fixed or something like that, or come together in a. In a very creative way. Yeah.</p>\n\n\n\n<h3 class=\"wp-block-heading\">Announcements</h3>\n\n\n\n<p>So you also are the instigator of the Pride Photo Drive. Tell us about it.</p>\n\n\n\n<h3 class=\"wp-block-heading\">Pride Photo Drive</h3>\n\n\n\n<p><em>Anne McCarthy: </em>Yeah, so it&#8217;s inspired by what I&#8217;ve seen with other photo directories. And something that I think is really near and dear to me is representation really matters. And so if you can find things that actually resonate, whether with your culture, part of your identity, or where you live, it makes it easier when you&#8217;re creating websites. Like, websites are inherently quite visual. And so having really good photos that represent queer people is really awesome. And so, of course, you can&#8217;t have faces in this. But the whole point of the photo drive is to inspire some folks to contribute photos, increase representation in the photo directory, and honestly, just have some fun. Like, I think there is something fun about going out and having a reason to take a photo that I think, at least I enjoy someone who takes a lot of photos. There are some cash prizes for winners, both in terms of most submitted photos, and we&#8217;ll have some folks select the top photos. But honestly, like, you don&#8217;t need to be a part of the LGBTQ community to participate. It&#8217;s for everyone. And it&#8217;s just mainly to ensure when folks go and look for something that represents them, there&#8217;s a higher chance of finding high quality work for that. So I hope to see more kind of initiatives like that. And so if anyone wants to talk about doing more drives, I&#8217;m happy to share what I&#8217;ve done. It&#8217;s been very. It&#8217;s been pretty simple. So more people can do this for sure.</p>\n\n\n\n<p><em>Birgit Pauli-Haack: </em>Yeah. And we have a link to the call for photos on the LGBTDPress.com and there are also the rules and how you actually can upload it to WordPress photo directory. And I&#8217;m really excited about that. I, yeah. Was last year, not this year I missed it, but last year was at the Christopher Street Day here in Munich and that was kind of. Wow. I didn&#8217;t realize how big that was. Yeah. And it was about 600,000 people on the road and 60,000 people in the parade and yeah, totally took over the. The downtown. But I probably have a few pictures made there that I can upload there. Yeah. So yeah, but it was a good point for you to say no photos or no faces or people out there. People, yes, but no faces. Yeah. So that&#8217;s cool. Yeah. So, yeah. </p>\n\n\n\n<h3 class=\"wp-block-heading\">WordPress New AI Team</h3>\n\n\n\n<p>And the second piece of announcement that we have is that WordPress has now an AI team. AI stands for artificial intelligence. There are two, three links actually that I can share with you. One is the welcome to the core AI team blog post, then the announcement and the hallway hangout and recap for the first hangout. </p>\n\n\n\n<p>So the mission I understood it is to build foundational building blocks for AI integration in WordPress and the timing is ideal because of the rapid evolution of AI. Some people at WordCamp EU said, okay, are we not a little bit late or something like that? No, you can&#8217;t. Yeah, it&#8217;s just the right time because now the emerging standards are there, and WordPress could be an ideal platform for AI driven web apps. There are immediate plans to integrate LMMs directly into WordPress, but there are canonical plugins that are on the roadmap and packages that are abstracting the AI provider like AI Services or. And the core integration would be more like. Yeah, a little. A second step. And we know that everything is kind of in place. It has the full support from WordPress leadership, including Matt and Mary. And because they recognize the importance of the open web and ensure it&#8217;s central in the evolving landscape.</p>\n\n\n\n<p>So what are the current initiatives? One is the AI services plugin from Felix Arntz. He&#8217;s on the team. But the team are right now James LePage from Automattic, Felix Arntz from Google as well as Pascal Bichler from Google and then Jeff Paul from TenUp. And all four have already some experience with AI in the space. And so there are three plugins that are being worked on. One is the AI services plugin Felix already publish that, and I&#8217;ll share links in the show Notes so you can look it up. And it&#8217;s an abstraction layer for multiple AI providers to enable plugin authors to unify the API for AI interactions. So you need your OpenAI API key or your CLAUDE API key or whatever you use, but then it helps you to include those services into whatever you want to do on the website. The other, the second one is the called MCP WP. MCP means Model Context Protocol. Those are servers to enable WordPress advanced AI integration with command line or plugins. So plugins say, okay, my plugin can do that with WordPress and you register those services and the AI can discover those on the site. I know that Jonathan Brassinger as well as Ryan Welcher have done some live streams on that and I can share some of that, the latest ones for on the show notes with the videos, so you can kind of follow along with that. </p>\n\n\n\n<p>And the last plugin is the WP feature API. That&#8217;s a plugin coming from Automattic, and it structures WordPress features for better AI integration. It&#8217;s kind of pretty much it&#8217;s a standardized way to register resources for AI. That&#8217;s pretty much what I can say there. It exposes the server and client side functionality in WordPress so LMMs can tap into it if they have the right credentials. Yes. So that&#8217;s kind of what I know about it. I read quite a bit about AI agents and MCP and it&#8217;s all still a little murky, but I think that&#8217;s with any of the new services and new technologies that are kind of coming out that we all need to figure out the smallest use case to figure it all out. Jamie Marsland has interviewed James LePage about the new AI team. And it&#8217;s a video, it&#8217;s called Very Clicky. It&#8217;s called WordPress AI fights back, fight Back Begins. So but it&#8217;s really insightful and Jamie asked some great questions in it. Any thoughts from you?</p>\n\n\n\n<p><em>Anne McCarthy: </em>Yeah, that was such a good rundown. One of the big questions I&#8217;ve heard from people and I&#8217;ve been getting pings about is like, how do I join? How do I join? The team is creating a handbook at its early stages. You can join the core AI Slack channel. That&#8217;s the best place they&#8217;re holding meetings and they&#8217;re pulling together that context. So please get involved. The idea is to create a shared group of tooling that then plugin authors can reuse. It&#8217;s meant to provide a shared base. So for the MCP thing, the way I&#8217;ve been kind of thinking of it is like rather than rewriting every AI integration from scratch, you can reuse this to Talk, to have WordPress talk to LLMs. So like those sorts of things are kind of the current focus to provide tooling for people who want to use AI with WordPress, including with plugin authors and stuff like that. So that&#8217;s the current perspective. And if that appeals to you, you have ideas there, you have personal experience. Trying to make that work like that definitely is a great place to give feedback. And these are the early stages. So it&#8217;s a great time to get involved. But yeah, that to me is the biggest takeaway to do a great job covering everything. And I love that each team member has direct experience building stuff in line with that mission and value. I&#8217;m really excited about the canonical plugins and what we can do and packages that we can do to move this work forward and iterate following a similar model as the performance team.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Yeah, Fabian Kagy and I were on a podcast with Nathan Wrigley on the WP Builds podcast and we talked a little bit. We talked about a lot of things, but we also talked a little bit about the 10up plugin classify, especially because the latest release actually included an open source way to have LMMs on your server. So every time you ask the AI something, it doesn&#8217;t go out to a central server, it stays on your site.</p>\n\n\n\n<p>Well, you need of course a server with a little bit more oomph. But yeah, for those that want to use it for their internal communications or documentation, it&#8217;s definitely a great way to do this. And that&#8217;s why TenUp is also part of the team, and I share that also in the Show Notes, of course, both the podcast and the plugin. </p>\n\n\n\n<p>So other news the what&#8217;s New for developer edition June 2025 is available now. Justin Tadlock collected lots of information speaking about being back to contributing, lots of information relevant to plugin authors, theme builders and agency freelancers, the freelance developers for Core, Gutenberg and Playground. And it&#8217;s pretty much the best post to catch up on the last two months of updates on WordPress. So check it out with the link on the show notes or you go to developer.WordPress.org news or blog. Either way, Both of them get you to the developer blog.</p>\n\n\n\n<h3 class=\"wp-block-heading\">Community Contributions &#8211; WordCamp Europe</h3>\n\n\n\n<p>All right, so now that brings us to WordCamp Europe, first time. In contrast to previous WordCamps, all workshops have been recorded and all recordings have been already submitted to WordPress TV. That I only saw. That&#8217;s so cool. I only saw this on smaller WordCamps like in Karlsruhe or in Leipzig where there&#8217;s only one track or one or two tracks in only one day. But having two days with three tracks, everything already on WordPress TV, that&#8217;s a phenomenal achievement. </p>\n\n\n\n<p>So I have a few favorites I want to kind of suggest to you. One is of course, the fireside chat with Mary Hubbard and Matt Mullerweg. They discussed, among other things, a lot of other things, but the. The WordPress Campus Connect project that&#8217;s being rolled out as the official program from the WordPress Foundation. And also Mary announced a pilot project with the University of Pisa in Italy where 5,000 students have 150 mandatory contribution hours and those will equate to six credits for college. So that&#8217;s going to be a phenomenal place.</p>\n\n\n\n<p><em>Anne McCarthy: </em>I&#8217;m so excited for that.</p>\n\n\n\n<p><em>Birgit Pauli-Haack: </em>Yeah, yeah. Getting the young folks involved in WordPress evolved in open source and also bringing them together with mentors in the technical fields. Yeah. So I&#8217;m really excited about that. It&#8217;s also more focused on the translations because that&#8217;s the humanities department there. But yeah, yeah, everything helps. Anything helps. Yeah.</p>\n\n\n\n<p><em>Anne McCarthy: </em>So I got my start in college so I would have loved. This would have been amazing. I was working on a WordPress multi site in college and if I could have had this as a chance to get to know the WordPress community rather than learning about it four years after. I think it would have been amazing to have this kind of opportunity and access and experience of open source early on. So I&#8217;m very, I agree with you. I&#8217;m very excited about that program.</p>\n\n\n\n<p><em>Birgit Pauli-Haack: </em>Yeah, yeah. I also had about. Took me about four years to kind of get into the community here. So yeah, it&#8217;s always something, something. Another great talk was by Noel Tock. The title was WordPress Without Borders, the Fight for Digital Freedom. And he not only shared his about his own charity work in the Ukraine, about rescuing dogs and bringing them back to their owners, but also about other charities who helped with finding kids, providing a roof over the head for people that were bombed out and other hardships. And he made us realize the True Impact of WordPress because all the agencies use WordPress, not all the agencies, but over 50% of them use WordPress for the website to fundraise and to connect with the communities. </p>\n\n\n\n<p>So sorry my voice kind of gave out but that has partly to do with something like that. But I also got a gift from WordCamp Europe at home to suffer. There&#8217;s another cold that I&#8217;m fighting. That&#8217;s why I&#8217;m also sound so horsy. So sorry for that. Check it out. The block related talks were Ryan Welch&#8217;s workshop for the Block Development Cookbook and Milana Cap’s workshop around the Interactivity API. And that last one is really I didn&#8217;t see the first one, but the last one I saw and I learned more about the source and the namespace and how you can interact from one block to the next and exchange data. So that&#8217;s a really eye opener. Ellen Bauer talked about how block themes speed up stores and sites in WooCommerce and Robert O&#8217; Rourke asks and provides answers to do you really need a custom block? And he walks you through how you can extend the block editor own blocks without writing your own custom blocks. But really, all the many great talks about the WordCamp Europe are online and there are many for content creators, developers, entrepreneurs, educators, contributors as well. So check out the WordPress TV space with all the recordings. </p>\n\n\n\n<h3 class=\"wp-block-heading\">What’s Released &#8211; Gutenberg 20.9</h3>\n\n\n\n<p>And that brings us to Gutenberg releases. We start out with Gutenberg 20.9. So 20.9 was released on May 28th. We were a little late, but I was traveling and so do you want to start us off?</p>\n\n\n\n<h3 class=\"wp-block-heading\">Enhancements</h3>\n\n\n\n<p><em>Anne McCarthy: </em>Yeah, I totally can. In terms of enhancements, the base styles have been updated to a modern Saas module system, and this was basically an obstacle to the Gutenberg project overall, migrating to the dart SaaS format in the future. So I love this kind of proactive unblocking that&#8217;s happening, kind of moving away from some of the legacy import statements. Great work by Aki per usual, but one of those just kind of foundational pieces to work on and make sure we have up to date just to unblock future things. </p>\n\n\n\n<p>This one, I actually was involved in this one previously, but a revert was done for how the edit site link works. When you&#8217;re viewing your site, you&#8217;re using a block theme and you see edit site. There&#8217;s been a debate; does it open the current template you&#8217;re looking at or does it open just the site editor and the homepage? And this has gone back and forth since the dawn of time. So this is a revert that previously had it update. Basically whenever you hit edit site, it would bring you just to the general homepage of your site editor. Now it brings you to the current template. We got a bunch of feedback and this is where I love the WordPress project and love the feedback that we get straight from folks. Whenever that was implemented in 6.8, people came back and said, hang on, what&#8217;s going on? This is different. This isn&#8217;t interrupting my workflow. This now takes three clicks for me to get to the current template I was looking at rather than bringing me there. I see the argument on both sides. There&#8217;s definitely. I think Rich shared a great video of himself with. If you set a homepage or set a page as your homepage, what the experience of that looks like and how it can be confusing for end users, I have a feeling this is something that will continue to be a conversation and something that hopefully in the overarching issue there was a discussion around having more granularity. So maybe edit site has a little drop down menu, kind of like an ad post thing where you can see it says like edit template, edit homepage, edit, whatever. Like having edit styles, like having something with more granularity. We&#8217;ll see where that ends up. But this is. As of now, this experience has changed. Thanks to feedback. Do you want to jump into…</p>\n\n\n\n<p><em>Birgit Pauli-Haack: </em>The only thing that I wanted to say about that was that there are actually at least one plugin out there who actually tried to implement a dropdown with and kind of. So you can check it out. I&#8217;m going to do some research and share it in the show notes. Yeah, so and with the block library we had a few changes that I wanted to talk about. One is that the search settings. So for the search block there were a lot of settings in the toolbar, and it seems that most end users are kind of now trained to open up the sidebar for the settings. So developers have now moved some of the settings into the inspector to the right hand side in the sidebar so they&#8217;re all together. I think that&#8217;s just for. It&#8217;s also for consistency of the interface. So I like that. And then there were. For the first and the pre-formatted blocks, there were transformers missing and they were added. So people do not have to copy paste things and not delete a block and then add another block and copy paste the content and they just can transform them from paragraph to verse and back and forth. Yeah. And now Anne, we&#8217;re coming to a topic that you know a lot about. One is developers are enhancing content only editing experience. So what does that mean?</p>\n\n\n\n<p><em>Anne McCarthy: </em>Yeah, this is. The names on this are rough. So right now there&#8217;s this idea of write mode. We need a new name because basically what it does and this is something to zoom back out. Whenever I ran the outreach program, one of the things we repeatedly found is that dropping people straight into the site editor is pretty overwhelming. There&#8217;s a lot of options open, there&#8217;s a lot of tools open and it&#8217;s like, how do we add a simplified layer on top? That&#8217;s what write mode is intending to do. </p>\n\n\n\n<p>So you can imagine a way to toggle between a simplified site editing version and then like boom, all the tools you want and having a way to switch in between those modes as you you&#8217;d like. The underpinning technology used for that is content only. And what that does is it basically allows you to only edit the content. So it&#8217;s a lot of fancy names. But this is. I&#8217;m trying to like set the scene. And so there are some updates I think across both releases we&#8217;re covering that improves different blocks and how they work with this option because out of the box, not every block works with it and something has to be done manually to basically add support for it. Now there&#8217;s questions around specific blocks, like how much should be exposed, what should it look like, what should the experience be? I actually did some user testing at work campus last year with random people and recorded them going through this. And so there&#8217;s a lot to be figured out there. At the core it&#8217;s making way and taking steps towards a simplified site editing experience that folks can toggle on. You can imagine the first time in the site editor, maybe you have that experience and then if you run into something where you want to do more, you can have a quick way to just switch into like show me all the tools. Kind of like the idea of when you&#8217;re editing a presentation and like a slide slides for something and you want to go into the overall view of everything, you can do that. Otherwise you can just add text, move things around and have some like simplified experience. So that&#8217;s the context for that. This covers the details block, the code block, the read more block, the post block. There&#8217;s a lot of blocks that were changed for this and we&#8217;ll continue to see this. I think over the future releases we&#8217;ll see iteration on this area. So stay tuned.</p>\n\n\n\n<p><em>Birgit Pauli-Haack: </em>Awesome, awesome.</p>\n\n\n\n<p><em>Anne McCarthy: </em>Does that help explain it?</p>\n\n\n\n<p><em>Birgit Pauli-Haack: </em>Definitely helped me, yeah. And it also helped me to understand why there all of a sudden were different things in the sidebar. Because the different icons on there, they&#8217;re just identifying the places where you can edit the content but not, you&#8217;re not Having anything else in there. There are no display options or settings or something like that. So now I understand that. I also understand why plugin authors or agency for instance, are quite excited about that because they can curate the interface for their clients and kind of keep them out of the design and out of the have some more guardrails for them. And I think that&#8217;s because you can implement that through a plugin as well. So yeah, you can tap into the block JSON and say put this into content only mode because it&#8217;s not a default thing. So yeah, I like it. </p>\n\n\n\n<p>The two components had some changes. One is that the color. The color picker now has visual cues when you copy value. That&#8217;s definitely great. The interaction there. So you don&#8217;t have to wonder, did I copy it or did I not copy it? And then the snack bar, that&#8217;s the term that developers use for the notifications that are on bottom on your screen that come up when you do something. So if you have to, if you save your post, you get the little note. Click here to view it. And now this is also now available to open the links in new tabs, especially when you are a plugin author for your whatever plugin you do. You can also use the snack arx component. And then now you have the options to open links in a new tab, which is controversial, but yeah, just having the option in the components should be fine. It&#8217;s controversial because you take over the freedom of the user to decide if they want it into a new tab or new window or just right there because all of a sudden they don&#8217;t have the choice anymore.</p>\n\n\n\n<p><em>Anne McCarthy: </em>I think that I&#8217;m curious how that bland with. With folks. Yeah, that one I was surprised to see a bit.</p>\n\n\n\n<p><em>Birgit Pauli-Haack: </em>But yeah, yeah, I think that was it for Gutenberg 20.9. </p>\n\n\n\n<h3 class=\"wp-block-heading\">Gutenberg 21.0</h3>\n\n\n\n<p>Gutenberg 21 was just released this week. And do you want to take that next step there?</p>\n\n\n\n<h3 class=\"wp-block-heading\">Enhancements</h3>\n\n\n\n<p><em>Anne McCarthy: </em>Yeah, let&#8217;s dive into it. One of the main enhancements that I love to see is a refactor, the settings panel to use Tools panel. So across a bunch of different blocks to zoom back out, there&#8217;s different ways in which we display settings. And that can cause those little inconsistencies really add up, especially when you&#8217;re looking, you&#8217;re trying to do something in one block and you do something in a different one and it looks slightly different or appears slightly differently. So the more we can have really smart, intuitive defaults where for any block, whenever you want to change something in one block, it&#8217;s the same in another the better and especially just experience wise and using the latest components. It&#8217;s a really important thing to continue to iterate on. And so across a number of different blocks the Tools panel was implemented and there&#8217;s a lot of benefits. I don&#8217;t know if you want to talk about the benefits of it just because it&#8217;d be good to hear your perspective on this too.</p>\n\n\n\n<p><em>Birgit Pauli-Haack: </em>Yeah, I would because I was trying to figure out what is actually that the user gets out of it and. Or the developers that use the blocks or extend those blocks. You get more control for the display. It&#8217;s every time the same thing. That&#8217;s what you mentioned. But it&#8217;s also an easier mechanism for injecting additional settings into an existing group. I&#8217;m not quite sure if that&#8217;s exposed for the third party to. For the extensibility, but that will definitely enable it. And then there is a visual parity between the styles that are already in the Tools panel and those who don&#8217;t. Yeah. So it&#8217;s really. It&#8217;s all the comments block. It&#8217;s. There&#8217;s a tracking issue 67813 where you can kind of see all the progress on this project and also the list of the blocks that are handled with that. Yeah. </p>\n\n\n\n<p>So another change is that the separator has now. Well, we talked about earlier. Well in the last  episode about that. That the separator now has an additional. You can have now a div instead of an HR so you can style it more. And with this release that HTML element option is much more visible. It&#8217;s now kind of moved up in the advanced section and it&#8217;s not hidden anymore. So you can just toggle that and can change the options there. I really like that there was another block about that. I think the same thing happens with a button block. They also move the HTML element section up so you can change through between the element of a button or the element of a link, an anchor. So that&#8217;s why I&#8217;m kind of hesitating about moving forward there. In the video Block has now an additional option to set a track as default and the track is actually the caption track. So you can select the default language there. And that&#8217;s really helpful for anybody who has videos on the website and is not an English speaker or doesn&#8217;t have the audience of any English speaker. So they could set the default but they had to really specifically do it. And if there&#8217;s not one uploaded, it was a little janky, so buggy for things. So I think that was it on the enhancements.</p>\n\n\n\n<h3 class=\"wp-block-heading\">Bug Fixes</h3>\n\n\n\n<p><em>Anne McCarthy: </em>Yeah. Now we can jump into bug fixes if you want to. I can start with that.</p>\n\n\n\n<p><em>Birgit Pauli-Haack: </em>Yeah, yeah.</p>\n\n\n\n<p><em>Anne McCarthy: </em>One of the first bug fixes which I do want to call out is from, I&#8217;m pretty sure a new contributor. Yep, first-time contributor, which is always really cool to see. Super awesome. McCool I think is the name. Apologies if I&#8217;m mispronouncing that, but this work basically fixed an issue where the pull quotes site element couldn&#8217;t be styled or overridden by theme JSON due to basically conflicting CSS specificity. And so this is a nice win for blocking developers because they can now customize citation styles as they&#8217;d like. And it was some nice collaboration with Aki again to basically resolve this by reducing the specificity of the class selector so that theme JSON styles can actually work. I love when that actually works out. So yeah, keep the feedback coming, especially block theme authors around limitations you run into like this. It&#8217;s always really helpful to start to continue to fix these sorts of things. So I was excited to see that bug fix there.</p>\n\n\n\n<p><em>Birgit Pauli-Haack: </em>Definitely. It&#8217;s also, if you want to read up about it and see how such a collaboration between veteran contributors and new contributors actually happens. It&#8217;s a great example where a lot of people have some opinions, but then you move forward and you get a nice PR merged that helps a lot of people. So it&#8217;s definitely a great way to contribute. I don&#8217;t think I see any other bug fixes that I would want to talk about. </p>\n\n\n\n<h3 class=\"wp-block-heading\">Accessibility</h3>\n\n\n\n<p>So there&#8217;s one on the component that&#8217;s more on accessibility thing, that the toolbar now adjusts the colors for dark mode support. And that&#8217;s really cool because now you can also have the toolbar on the block in dark mode. For a lot of people that are around in dark mode, it&#8217;s really cool. </p>\n\n\n\n<h3 class=\"wp-block-heading\">Documentation</h3>\n\n\n\n<p>And then there is one documentation issue I need to look at that, but it is that the block schema now also has a roll field and the role field is important for.</p>\n\n\n\n<p><em>Anne McCarthy: </em>It looks like it was added before in 6.7. Like the roll field was stabilized but it wasn&#8217;t exposed in the schema. Which, you know, might be good to follow up on.</p>\n\n\n\n<p><em>Birgit Pauli-Haack: </em>Yeah, yeah, it happens with 6.7 it was. Yeah. And that&#8217;s for the content mode.</p>\n\n\n\n<p><em>Anne McCarthy: </em>Yeah, that&#8217;s right.</p>\n\n\n\n<p><em>Birgit Pauli-Haack: </em>Yeah. So that&#8217;s it. I think we&#8217;re through that. We have Gutenberg 20.9 and 21 and we are at the last bit of our show. </p>\n\n\n\n<h3 class=\"wp-block-heading\">What’s in Active Development or Released</h3>\n\n\n\n<p>And that is what&#8217;s in active development or discussed. And with a few more talks on flagship WordCamps, the interactivity becomes more and more popular, and the team worked in the last few months with the WordPress team together to implement additional features, and those are now with the start of contributing again backported to the Gutenberg repo. There are many issues and you can follow along on the tracking issue. Backport WooCommerce Interactivity API improvements. That&#8217;s tracking issue 70372. It&#8217;s like a phone number. Yeah, there are actually quite a few issues in there. I&#8217;m really excited about that because there is a new feature that&#8217;s the interactivity router that lets you organize your pages better or the links between blocks. And also what was the other one?</p>\n\n\n\n<p><em>Anne McCarthy: </em>I know there&#8217;s some client side navigation work that&#8217;s been done too, which I&#8217;m really excited about. I&#8217;ve been using that in the Block Museum for a while now and it just makes it super quick to switch between pages and to have it be pulled in and hopefully stabilize soon. It&#8217;d be really, really neat to have as an option. I have loved having it on the Block Museum.</p>\n\n\n\n<p><em>Birgit Pauli-Haack: </em>So yeah, yeah, that was also something, that was an experiment I think in Gutenberg for the, for the query block. Yeah, yes, yes. So, okay, so now we&#8217;re kind of moving forward on that and I&#8217;m quite excited about that, and I hope you dear listeners are too. All right, is there anything else that you wanted to talk about on the show?</p>\n\n\n\n<p><em>Anne McCarthy: </em>But nothing on my mind. I mean I would love this is a selfish ask, but as I get back into the project, mainly coming back from sabbatical, I would love to know what sort of hallway hangouts or conversations folks want to have. I&#8217;m really keen on making sure we continue to have a lot of those community wide conversations, not just at WordCamps because not everyone can join those. And like that&#8217;s some inspiration I took from the COVID times is to continue the conversation. So if folks have ideas or suggestions, I&#8217;m Nzazu and WordPress at org Slack, my site Snowmad Blog, you can contact me there. I&#8217;m not on X or any of the social media so you cannot find me. But yeah, I, I just am. I&#8217;m very curious to see what&#8217;s on people&#8217;s minds, what feels like hot topics to discuss and what feels important to hear more about and how we can facilitate sharing that knowledge and inviting more folks into the work. That&#8217;s the only other thing I&#8217;d love to add.</p>\n\n\n\n<p><em>Birgit Pauli-Haack: </em>Awesome. Awesome. Yes. And as always, the show notes will be published on <a href=\"http://gutenbergtimes.com/podcast\">GutenbergTimes.com/podcast</a> this is episode 118. And if you have questions or suggestions or news you want us to include, send them to <a href=\"mailto:changelog@gutenbergtimes.com\">changelog@gutenbergtimes.com</a> that&#8217;s <a href=\"mailto:changelog@gutenbergtimes.com\">changelog@gutenbergtimes.com</a> and this is the end of this show. </p>\n\n\n\n<p>Thank you all for listening, and thank you so much for taking the time out of your busy, busy schedule to be on the show with me. And thank you all for listening. And until the next time, bye. </p>\n\n\n\n<p><em>Anne McCarthy: </em>Bye.</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:\"Sun, 15 Jun 2025 14:52:18 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:18:\"Birgit Pauli-Haack\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i: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:119:\"Gutenberg Times: From WordCamp Europe to AI and Beyond: Figma, Fresh Courses, and Block Style  — Weekend Edition #332\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"https://gutenbergtimes.com/?p=40572\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:121:\"https://gutenbergtimes.com/from-wordcamp-europe-to-ai-and-beyond-figma-fresh-courses-and-block-style-weekend-edition-332/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:28069:\"<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p>Hi there,</p>\n\n\n\n<p>WordCamp Europe is over. I had a blast and also caught a bug.<img alt=\"🤧\" class=\"wp-smiley\" src=\"https://s.w.org/images/core/emoji/15.1.0/72x72/1f927.png\" style=\"height: 1em;\" /> </p>\n\n\n\n<p>The next flagship WordCamp is just around the corner: <a href=\"https://us.wordcamp.org/2025/\">WordCamp US</a> will take place August 26 &#8211; 29 with Contributor Day, Showcase Day and a two-day conference. The <a href=\"https://us.wordcamp.org/2025/call-for-speakers/\">call for speakers is open</a>, notice the deadline June 20 for your submission. Also open are the <a href=\"https://us.wordcamp.org/2025/call-for-sponsors/\">call for sponsors</a> and <a href=\"https://us.wordcamp.org/2025/volunteer/\">for volunteers.</a></p>\n\n\n\n<p>I am so excited as I will finally connect with my WordPress friends from the US again. It took me three years to get back to WordCamp US after our move to Germany. </p>\n\n\n\n<p>With Automattic <a href=\"https://automattic.com/2025/05/29/returning-to-core/\">getting back to contributions</a>, the team caught up on Gutenberg release posts and there is a new Gutenberg version available. I also have a few notes and links collected about the new AI team and their work. </p>\n\n\n\n<p>I hope to see you at WordCamp US, too</p>\n\n\n\n<p>Yours, <img alt=\"💕\" class=\"wp-smiley\" src=\"https://s.w.org/images/core/emoji/15.1.0/72x72/1f495.png\" style=\"height: 1em;\" /><br /><em>Birgit</em></p>\n\n\n\n\n\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>In the latest edition of <a href=\"https://developer.wordpress.org/news/2025/06/whats-new-for-developers-june-2025/\"><strong>What’s New for Developers (June 2025)</strong></a>, <strong>Justin Tadlock</strong> collected lots of information relevant for plugin authors, themes builders and agency freelance developers from Core, Gutenberg, and Playground. It’s the best post to catch up on the last to month of updates in WordPress. </p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p><strong>Carlos Bravo </strong>release Gutenberg 21.0. In his release post <a href=\"https://make.wordpress.org/core/2025/06/11/whats-new-in-gutenberg-21-0-11-june/\"><strong>What’s new in Gutenberg 21.0?</strong></a> he highlighted. </p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https://make.wordpress.org/core/2025/06/11/whats-new-in-gutenberg-21-0-11-june/#html-element-now-selectable\">The HTML Element is now selectable on Button and Separator blocks.</a></li>\n\n\n\n<li><a href=\"https://make.wordpress.org/core/2025/06/11/whats-new-in-gutenberg-21-0-11-june/#experimental-inline-comments\">Extensive ToolsPanel Refactoring</a></li>\n\n\n\n<li><a href=\"https://make.wordpress.org/core/2025/06/11/whats-new-in-gutenberg-21-0-11-june/#accessibility-and-usability\">Accessibility and usability</a></li>\n</ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p><strong>Jessica Lyschik</strong> used the time during Contributor Day at WordCamp Europe to get a head start on catching up with the release posts for earlier Gutenberg releases. </p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https://make.wordpress.org/core/2025/06/05/whats-new-in-gutenberg-20-4-and-20-5/\">What’s new in Gutenberg 20.4 and 20.5?</a></li>\n\n\n\n<li><a href=\"https://make.wordpress.org/core/2025/06/11/whats-new-in-gutenberg-20-6-and-20-7/\">What’s new in Gutenberg 20.6 and 20.7?</a></li>\n\n\n\n<li><a href=\"https://make.wordpress.org/core/2025/06/11/whats-new-in-gutenberg-20-8-and-20-9/\">What’s new in Gutenberg 20.8 and 20.9?</a></li>\n</ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\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/15.1.0/72x72/1f399.png\" style=\"height: 1em;\" /> The latest episode <a href=\"https://gutenbergtimes.com/podcast/gutenberg-changelog-118-wordpress-new-ai-team-the-pride-photo-drive/\">Gutenberg Changelog 118 – WordCamp Europe, WordPress New AI Team, the Pride Photo Drive, Gutenberg 20.9 and 21.0 </a> <strong>Anne McCarthy</strong> is back from sabbatical and we talked about WordCamp Europe, the new WordPress AI team, the Pride Photo Drive, and Gutenberg 20.9 and 21.0 . </p>\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<h3 class=\"wp-block-heading\" id=\"new-wordpress-ai-team\">New WordPress AI Team</h3>\n\n\n\n<p>Just ahead of WordCamp Europe, <strong>Mary Hubbard</strong> <a href=\"https://wordpress.org/news/2025/05/announcing-the-formation-of-the-wordpress-ai-team/\"><strong>announce the new AI team</strong></a>, identifying James LePage and Felix Arnzt as team reps. James LePage followed up with his post <a href=\"https://make.wordpress.org/ai/2025/05/23/welcome-to-the-core-ai-team-blog/\"><strong>Welcome to the Core AI Team Blog</strong></a>. </p>\n\n\n\n<p>The community came together for the <strong><a href=\"https://make.wordpress.org/ai/2025/06/03/introducing-the-ai-team-hallway-hangout-recap/\">Introducing the AI Team Hallway Hangout</a></strong> and <strong>Anne McCarthy</strong> published the recap and the recording. </p>\n\n\n\n<p>What I learned: </p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The AI Team is laying the groundwork to bring AI into WordPress, and the timing couldn’t be better. With AI moving at lightning speed, it’s important for WordPress to stay in the mix.</li>\n\n\n\n<li>For now, the AI Team isn’t adding big AI tools directly into WordPress. Instead, they’re working on simple plugins that help connect WordPress to different AI services. Maybe someday AI will be built right into the core, but that’s not on the table yet.</li>\n\n\n\n<li>WordPress leaders are fully behind the AI Team, recognizing that AI is the future and wanting to keep WordPress front and center as things evolve.</li>\n</ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p>The current initiatives / plugins have been mentioned in early editions of the newsletter: </p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https://wordpress.org/plugins/ai-services/\"><strong>AI Services</strong></a> Plugin by Felix Arnzt provides an abstraction layer for multiple AI providers, enabling plugin authors to use a unified API for AI interactions. </li>\n\n\n\n<li><a href=\"https://github.com/mcp-wp/\"><strong>MCP for WordPress</strong></a> plugin  by Pascal Birchler implements Model Context Protocol (MCP) servers in WordPress, enabling advanced AI integrations via command-line or plugins. You can learn more about reading Pascal Bichler&#8217;s post <a href=\"https://pascalbirchler.com/wordpress-model-context-protocol-mcp/\"><em>Enabling AI-Powered WordPress Development with WP-CLI and the Model Context Protocol (MCP)</em></a></li>\n\n\n\n<li><a href=\"https://github.com/Automattic/wp-feature-api\"><strong>WP-Feature-API</strong> </a>plugin by Automattic structures WordPress features for better AI interaction, offering a standardized way to register resources for AI use. It&#8217;s a system for exposing server and client-side functionality in WordPress for use in LLMs and agentic systems</li>\n</ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p>The <strong>WordPress AI Team</strong> chats in the WPSlack <a href=\"https://wordpress.slack.com/archives/C08TJ8BPULS\">#core-ai</a> channel and holds meetings every other Thursday at 16:00 UTC. You can read <a href=\"https://make.wordpress.org/ai/2025/06/13/ai-chat-summary-12-june-2025/\">the summary of this week&#8217;s meeting</a> on the Make AI blog. </p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p>In his video <a href=\"https://www.youtube.com/watch?v=V08qhLL19cM\"><strong>The WordPress AI fightback begins!</strong></a> Jamie Marsland interviews James LePage about AI in WordPress and the new team. </p>\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=\"wordcamp-europe\">WordCamp Europe </h3>\n\n\n\n<p>It was a fantastic WordCamp at a great venue. I enjoyed the many, many conversations with attendees, sponsors, contributors and fellow speakers. The organizing team has done a fabulous job, in all areas, and the volunteers were awesome. The speaker team was first-class in their support. As a first time WCEU speaker, I felt very well cared for. I loved the bright and brilliant designs at the venue as well as on the website and on screens. </p>\n\n\n\n<p>The most astonishing work was done by the AV team, who <a href=\"https://wordpress.tv/event/wordcamp-europe-2025/\">uploaded all videos to WordPress TV</a> by the end of the WordCamp.  In contrast to previous WordCamps, all workshops were also recorded, and you can watch them at your own speed. </p>\n\n\n\n<p>As always, I share my opinionated list of favorites: </p>\n\n\n\n<p><a href=\"https://wordpress.tv/2025/06/09/fireside-chat-with-mary-hubbard-and-matt-mullenweg/\"><strong>During Fire side Chat</strong></a> with <strong>Mary Hubbard</strong> and <strong>Matt Mullenweg</strong> they discussed, among other things, the <strong>WordPress Campus Connect</strong> project that’s being rolled out as an official program. Hubbard also announced the start of a pilot project for student internships with the University of Pisa, encompassing 5000 students to contribute 150 hours and received six college credits.</p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https://wordpress.tv/2025/06/09/fireside-chat-with-mary-hubbard-and-matt-mullenweg/\"><img alt=\"Mary Hubbard and Matt Mullenweg at WordCamp Europe 2025. Photo by Sathwik Prabhu\" class=\"wp-image-40669\" height=\"435\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/06/Mary-Hubbard-Matt-Mullenweg-WordCamp-Europe-2025.jpg?resize=652%2C435&#038;ssl=1\" width=\"652\" /></a></figure>\n\n\n\n<p>Another great talk was by <strong>Noel Tock <a href=\"https://wordpress.tv/2025/06/07/wordpress-without-borders-the-fight-for-digital-freedom/\">WordPress without Borders – The Fight for Digital Freedom</a></strong>. Tock not only shared from his charity work in Ukraine but also about other charities who help with finding kids, providing a roof over the head of people who lost their homes, and trying to alleviate other hardships. Tock made us realize the true impact of WordPress has to all the agencies who use it for their web site to fundraise and connect with communities. The pictures from Ukraine are heart-wrenching.</p>\n\n\n\n<p>The Block related talks:  </p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Ryan Welcher</strong> and <a href=\"https://wordpress.tv/2025/06/07/the-block-developer-cookbook-wceu-2025-edition/\"><strong>his block development cookbook</strong></a> workshop and</li>\n\n\n\n<li><strong>Milana Cap</strong> conducting the workshop <strong><a href=\"https://wordpress.tv/2025/06/07/wordpress-gems-for-devs-interactivity-api-2/\">WordPress Gems around the Interactivity API</a>. </strong></li>\n\n\n\n<li><strong>Ellen Bauer</strong> talked about <strong><a href=\"https://wordpress.tv/2025/06/07/why-block-themes-make-woocommerce-stores-better/\">how block themes speed up stores and sites</a> </strong>and give back control for the layouts to the merchants</li>\n\n\n\n<li><strong>Robert O’Rourke</strong> asked <strong><a href=\"https://wordpress.tv/2025/06/07/do-you-really-need-a-custom-block/\">Do you really need a custom block</a>.</strong>   </li>\n</ul>\n\n\n\n<p>If you are interested in working with Playground, two workshops might help you get started depending on your needs</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https://wordpress.tv/2025/06/07/from-zero-to-demo-mastering-wordpress-playground-blueprints/\"><strong>From Zero to Demo: Mastering WordPress Playground Blueprints</strong></a> with yours truly and</li>\n\n\n\n<li><a href=\"https://wordpress.tv/2025/06/07/building-automated-tests-with-wordpress-playground/\"><strong>Building Automated Tests with WordPress Playground</strong></a> with <strong>Berislav (Bero) Grgicak</strong></li>\n</ul>\n\n\n\n<p>This is only a small list, and there are many great talks about all WordPress topics, for content creators, developers, entrepreneurs, and educators. <a href=\"https://wordpress.tv/event/wordcamp-europe-2025/\">Check them out.</a> </p>\n\n\n\n<p>A few attendees published recap posts:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https://wordpress.org/news/2025/06/wceu-2025-a-community-celebration-in-the-swiss-sun/\">WCEU 2025: A Community Celebration in the Swiss Sun</a> by <strong>Brett McSherry</strong></li>\n\n\n\n<li><a href=\"https://make.wordpress.org/core/2025/06/10/wordcamp-europe-2025-recap-of-the-event/\">WordCamp Europe 2025 | Recap of the event</a> by <strong>Benjamin Zekavica</strong></li>\n\n\n\n<li><a href=\"https://make.wordpress.org/test/2025/06/10/wceu-2025-contributor-day-recap/\">WCEU 2025 : Test Team Contributor Day Recap</a> by <strong>Krupa Nanda</strong></li>\n\n\n\n<li><strong>TechRadar:</strong> <a href=\"https://www.techradar.com/pro/live/wordcamp-europe-2025-all-the-latest-news-and-updates-as-they-happen\">WordCamp Europe 2025 &#8211; here&#8217;s all the highlights from the event</a></li>\n\n\n\n<li><a href=\"https://kau-boys.com/4146/wordcamp/wordcamp-europe-2025-a-trip-to-a-beautiful-city\">WordCamp Europe 2025 – A trip to a beautiful city</a> by <strong>Bernhard Kau</strong></li>\n</ul>\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><br />Carlo Daniele</strong>, Kinsta, dug deeper in the term <a href=\"https://kinsta.com/blog/hybrid-themes/\"><strong>WordPress Hybrid Themes</strong></a>. He covered two approaches. The first is how hybrid themes bridge the gap between Classic and Block Themes by supporting modern block features. They maintain compatibility with traditional plugins and templates. The second highlights ways developers can enhance hybrid themes with global styles. They can use block patterns and template parts for flexible site building.</p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p>In her post, <a href=\"https://groundworx.dev/from-page-builders-to-blocks-how-and-why-to-finally-move-to-gutenberg/\"><strong>From Page Builders to Blocks</strong></a>, <strong>Johanne Courtright</strong>, founder of Groundworx,  explains why it’s time to move from page builders to Gutenberg, the built-in block editor. She points out its built-in stability, better performance, and easier design control. Courtright tackles common worries, then suggests starting small—like switching your blog first, updating your theme, and helping users learn—showing that Gutenberg’s block system is the way forward for WordPress.</p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p>In here post <a href=\"https://binatethoughts.com/design-once-build-everywherethe-lego-principle-for-page-builders/\"><strong>Design Once, Build Everywhere:The Lego Principle for Page Builders</strong></a>, <strong>Tammie Lister </strong>reflects on the fragmented world of page builders, arguing for a “Lego principle” where design components are created once and used everywhere. She suggests that adopting shared foundations and modular systems—much like Lego’s approach—would unlock creativity, improve portability, and better meet modern demands. Ultimately, Lister envisions a future where page builders are collaborative, flexible, and empower users to build without barriers.</p>\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>Fabian Kägy,</strong> director of Editorial Engineering, introduced <a href=\"https://fueled.com/blog/figma-to-wordpress-in-minutes/\"><strong>Fueled’s open-source Figma to WordPress plugin,</strong></a> which exports design tokens from Figma directly into a WordPress theme.json file, reducing a 10–15 hour manual process to about an hour and enabling rapid, consistent theme development without extra frameworks or licenses</p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https://fueled.com/blog/figma-to-wordpress-in-minutes/\"><img alt=\"Screenshot of the Figma to WordPress plugin \" class=\"wp-image-40680\" height=\"408\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/06/Figma-to-theme.json_.png?resize=652%2C408&#038;ssl=1\" width=\"652\" /></a></figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p>J<strong>eremy Holcombe</strong> at Kinsta, also researched <a href=\"https://kinsta.com/blog/convert-figma-to-wordpress/\" rel=\"noreferrer noopener\" target=\"_blank\">How to convert a Figma project to WordPress</a> and walks you through three methods. He covers using the <a href=\"https://www.figma.com/community/plugin/1195068675739761335/figma-to-wordpress\">Figma plugin </a>by <a href=\"https://yotako.io/\">Yotako</a> for automation, manually rebuilding designs in WordPress for precision, and hiring professional services, highlighting the pros, cons, and best use cases for each approach.. </p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p><strong>Mike McAlister</strong> introduced <a href=\"https://olliewp.com/introducing-the-ollie-theme-academy-video-course/\"><strong>the Ollie Theme Academy video course</strong></a> a free and in-depth video course teaching everything from the basics to advanced techniques of WordPress block theme development. The course covers full site editing, global styles, patterns, and aims to help anyone modernize their WordPress workflow for 2025 and beyond.</p>\n\n\n\n<p>10 days later, McAlister followed up with the announcement of a <a href=\"https://olliewp.com/introducing-the-ollie-block-dev-academy/\"><strong>Block Development course</strong></a>. This is a new resource to help developers master building custom WordPress blocks. It provides practical, hands-on video lessons focused on modern block development. This approach aims to make it easier for anyone to create powerful, custom blocks for their WordPress sites.</p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https://olliewp.com/introducing-the-ollie-block-dev-academy/\"><img alt=\"Screenshot of the landing page for the Ollie Block Academy, courtesy of Mike McAlister \" class=\"wp-image-40685\" height=\"341\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/06/Screenshot-2025-06-12-at-1.47.26%E2%80%AFPM.png?resize=652%2C341&#038;ssl=1\" width=\"652\" /></a></figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p><strong>Bernhard Kau</strong> explored <a href=\"https://kau-boys.com/4130/web-development/implementing-a-custom-block-style-variation-using-only-json-files\" rel=\"noreferrer noopener\" target=\"_blank\"><strong>Implementing a custom block style variation using only JSON files</strong></a> in WordPress block themes. He explains how to make a perfectly round button by defining a new style in a JSON file. This approach bypasses the need for PHP or JavaScript. Despite some limitations, this approach allows for easy customization. There is incomplete support for certain properties. Nevertheless, it enables consistent design without writing traditional code.</p>\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><br /><strong>Alfredo Navas</strong>, developer at WebDevStudios, explored <a href=\"https://webdevstudios.com/2025/06/11/using-wordpress-mcp-as-a-development-tool/\"><strong>the MCP server plugin</strong></a>. He shared his findings and highlighted how it enables external tools or AI agents to interact with WordPress. These interactions are useful for tasks like creating posts or debugging. He notes its usefulness for automating workflows, its extensibility, and that it’s still under active development.</p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p><strong>Eric Karkovack</strong> explains how to <a href=\"https://speckyboy.com/add-custom-style-variations-wordpress-blocks/\"><strong>add custom style variations to WordPress blocks using a custom plugin</strong></a>. He guides you through creating custom style variations for WordPress blocks. He details building a plugin, using the ‎`register_block_style()` function, and applying unique styles—like a “Unicorn” button—via PHP or JSON. This way you empower your users to personalize block designs and enhance site consistency. </p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p>I mentioned <strong>DeepWiki</strong> before, <a href=\"https://gutenbergtimes.com/block-styles-woo-product-collection-deepwiki-accessibility-day-weekend-edition-329/#deepwiki\">in WE #329</a>, and now <strong>Jonathan Bossenger</strong> invites you in you YouTube video to learn more about <strong><a href=\"https://www.youtube.com/watch?v=bq0P8Gc-9xk\">DeepWiki | AI powered documentation you can talk to</a></strong>.</p>\n\n\n\n<p>I asked DeepWiki the following questions, click on the links to get to the answers. </p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https://deepwiki.com/search/what-are-the-elements-of-the-w_7f48ffc6-285a-4522-bb0c-5b98471c3178\">What are the elements of the WordPress Design system</a></li>\n\n\n\n<li><a href=\"https://deepwiki.com/search/what-are-the-elements-of-the-w_7f48ffc6-285a-4522-bb0c-5b98471c3178\">How is the spacing fluid?</a></li>\n</ul>\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\" />\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<p>Featured Image: WordCamp Europe 2025 photo by Kostas Fryganiotis, <a href=\"https://www.flickr.com/photos/wceu/54572922149/in/album-72177720326409151\">found on Flickr</a></p>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity is-style-wide\" />\n\n\n\n<p class=\"has-text-align-left\"><strong>Don&#8217;t want to miss the next Weekend Edition? </strong></p>\n\n\n<form action=\"https://gutenbergtimes.com/feed/\" autocomplete=\"on\" class=\"wp-block-newsletterglue-form ngl-form ngl-portrait\" method=\"post\"><div class=\"ngl-form-container\"><div class=\"ngl-form-field\" style=\"margin-bottom: 25px;\"><label class=\"ngl-form-label\" for=\"ngl_email\"><br />Type in your Email address to subscribe.</label><div class=\"ngl-form-input\"><input autocomplete=\"email\" class=\"ngl-form-input-text\" id=\"ngl_email\" name=\"ngl_email\" required=\"required\" style=\"border-radius: 21px;\" type=\"email\" /></div></div><button class=\"ngl-form-button\" style=\"background-color: #005075; border-color: #005075; border-width: 1px; border-style: solid; color: #ffffff; border-radius: 21px;\" type=\"submit\">Subscribe</button><p class=\"ngl-form-text\">We hate spam, too, and won&#8217;t give your email address to anyone <br />except Mailchimp to send out our Weekend Edition</p></div><div class=\"ngl-message-overlay\"><div class=\"ngl-message-svg-wrap\"><svg fill=\"none\" height=\"24\" stroke=\"#fff\" stroke-width=\"2\" viewBox=\"0 0 24 24\" width=\"24\" xmlns=\"http://www.w3.org/2000/svg\"><polyline points=\"20 6 9 17 4 12\"></polyline></svg></div><div class=\"ngl-message-overlay-text\">Thanks for subscribing.</div></div><input id=\"ngl_list_id\" name=\"ngl_list_id\" type=\"hidden\" value=\"26f81bd8ae\" /><input id=\"ngl_double_optin\" name=\"ngl_double_optin\" type=\"hidden\" value=\"yes\" /></form>\n\n\n<hr class=\"wp-block-separator has-css-opacity is-style-wide\" />\n</section>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Sat, 14 Jun 2025 09:50:37 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:18:\"Birgit Pauli-Haack\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i: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:66:\"Gravatar: Building Better Social Networks Through Decentralization\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:32:\"http://blog.gravatar.com/?p=3324\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:64:\"https://blog.gravatar.com/2025/06/13/decentralized-social-media/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:10070:\"<p>Let&#8217;s face it. Social media is starting to feel like a rigged game. Users are burnt out, brands are boxed in, and algorithms act more like black boxes than helpful curators.</p>\n\n\n\n<p>Enter the promise of decentralized social networks: platforms that ditch the central command center and run on independently managed servers. They promise a fairer, freer internet – but pulling it off isn&#8217;t easy.</p>\n\n\n\n<p>And the numbers tell an interesting story.</p>\n\n\n\n<h2 class=\"wp-block-heading\">The Great Migration: What&#8217;s Really Driving Growth?</h2>\n\n\n\n<p>Bluesky has been absolutely exploding lately, adding millions of users in just the past few months. Meanwhile, Mastodon has been puttering along with steady but modest growth for years, never quite hitting that mainstream breakout moment.</p>\n\n\n\n<p>But here&#8217;s the question: are people flocking to Bluesky because they genuinely want decentralization, or because they just want somewhere that ain&#8217;t X?</p>\n\n\n\n<p>Most folks don&#8217;t wake up thinking &#8220;I need a decentralized social network.&#8221; They wake up frustrated that their posts aren&#8217;t reaching their followers, or worried their account might vanish overnight, or just plain tired of dealing with whatever chaos is happening on their current platform.</p>\n\n\n\n<p>Bluesky offers an escape hatch that feels familiar. Mastodon? Well, that&#8217;s where you go when you really, truly care about the principles behind decentralization.</p>\n\n\n\n<h2 class=\"wp-block-heading\">Is Bluesky Actually Decentralized?</h2>\n\n\n\n<p>Here&#8217;s where things get interesting. Bluesky runs on the AT Protocol, which is designed for decentralization. But right now? There&#8217;s essentially one big server doing all the heavy lifting.</p>\n\n\n\n<p>It&#8217;s like having a decentralized highway system with only one on-ramp.</p>\n\n\n\n<p>Bluesky promises you can eventually take your data and followers elsewhere if things go south. That&#8217;s a big improvement over traditional platforms. But as of today, &#8220;elsewhere&#8221; doesn&#8217;t really exist yet. You&#8217;re still trusting one company with your digital life – they just promise to be nicer about it.</p>\n\n\n\n<p>That doesn&#8217;t make Bluesky worthless. The data portability and algorithmic choice features are genuinely useful. And the fact that you can use your own domain as your username? That&#8217;s actually pretty brilliant.</p>\n\n\n\n<p>But calling it fully decentralized right now is like calling a blueprint a building.</p>\n\n\n\n<h2 class=\"wp-block-heading\">How True Decentralization Works: The Fediverse</h2>\n\n\n\n<p>Real decentralization looks more like Mastodon and the fediverse – a sprawling network of independently run servers that all speak the same digital language thanks to open protocols.</p>\n\n\n\n<p>It&#8217;s a bit like email. Your Gmail can talk to someone&#8217;s Outlook, Yahoo, or that one person still clinging to AOL, because they all follow the same basic rules.</p>\n\n\n\n<p>In the fediverse, you don&#8217;t sign up with one big platform. You choose an instance to call home. Each comes with its own vibe, community guidelines, and moderation style. Some are havens for coders, others filled with artists, activists, or people very, very into vintage tractors.</p>\n\n\n\n<p>This setup hands users real control over moderation and community culture. No black-box algorithm deciding who sees what. No getting locked into a single app. And if your current server starts feeling off? You can pack up your followers and posts and move to another instance.</p>\n\n\n\n<p>The fediverse includes:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Mastodon for microblogging (basically Twitter, but with more thoughtful conversations)</li>\n\n\n\n<li>Pixelfed for photo sharing (Instagram without the influencer economy)</li>\n\n\n\n<li>PeerTube for video hosting (YouTube minus the surveillance capitalism)</li>\n</ul>\n\n\n\n<p>But here&#8217;s the catch. All this freedom comes with complexity that makes most people&#8217;s heads spin.</p>\n\n\n\n<h2 class=\"wp-block-heading\">The Identity Problem Nobody Talks About</h2>\n\n\n\n<p>The biggest challenge with decentralized social media isn&#8217;t technical – it&#8217;s practical. How do you maintain a consistent identity when you&#8217;re scattered across multiple platforms, instances, and protocols?</p>\n\n\n\n<p>That dream handle you grabbed on mastodon.social? Already taken on hachyderm.io. Now you&#8217;re stuck with @yourname2024 or something equally clunky. Your bio works perfectly on <a href=\"https://docs.joinmastodon.org/user/profile/#:~:text=Your%20bio%20is%20a%20short,link%20shortener%20to%20save%20characters.\">Mastodon&#8217;s 500-character limit</a> but gets chopped off everywhere else. Profile links follow no consistent format.</p>\n\n\n\n<p>The result? Your digital presence looks different everywhere, making it harder for people to find and recognize you across platforms.</p>\n\n\n\n<p>This is where domain-based usernames start making sense. Whether it&#8217;s Bluesky&#8217;s @yourname.yourdomain.com handles or setting up your own domain for the fediverse, owning your name means owning your identity.</p>\n\n\n\n<p>And that&#8217;s not just about vanity – it&#8217;s about being findable when you inevitably need to move platforms again.</p>\n\n\n\n<h2 class=\"wp-block-heading\">Making Yourself Findable in a Fragmented World</h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img alt=\"\" class=\"wp-image-3332\" height=\"1170\" src=\"https://blog.gravatar.com/wp-content/uploads/2025/06/image.png\" width=\"2048\" /></figure>\n\n\n\n<p>Here&#8217;s something that might sound contradictory: one way to navigate decentralized social media is through a centralized identity service.</p>\n\n\n\n<p>I know, I know. Using Gravatar to manage your presence across decentralized platforms sounds backwards. Some folks specifically chose Mastodon to escape centralized identity systems. That tension is real, and worth acknowledging.</p>\n\n\n\n<p>But here&#8217;s the thing – when you&#8217;re bouncing between Mastodon, Bluesky, PeerTube, and whatever comes next, consistency becomes valuable. Not for data collection or advertising, but for basic human recognition.</p>\n\n\n\n<p>Unlike your all-in-one identity on places like Facebook or Instagram, <a href=\"https://blog.gravatar.com/2024/07/30/decentralized-identity-management/\">the decentralized world hands you a juggling act</a>. Different apps, different instances, different handles. Not ideal.</p>\n\n\n\n<p>When someone sees @yourname.link posting on Bluesky, then spots the same name and face commenting on a GitHub issue or WordPress blog, that consistency builds trust and recognition. It&#8217;s the difference between being a random username and being a recognizable person.</p>\n\n\n\n<p>Gravatar handles this by creating a portable identity hub that follows you around like a digital business card. Set it up once, and it appears automatically on thousands of sites whenever you use your email to register or comment.</p>\n\n\n\n<p>You choose what to share. You update it when you want. No algorithm meddles with your identity, and your data stays yours.</p>\n\n\n\n<p>For Bluesky specifically, <a href=\"https://blog.gravatar.com/2025/02/06/bluesky-handle/\">Gravatar supports custom domain handles</a>, so you can claim @yourname.bio without the technical hassle of setting up your own server.</p>\n\n\n\n<h2 class=\"wp-block-heading\">The Real Value: Being Found When You Move</h2>\n\n\n\n<p>The benefit ain&#8217;t about convenience – it&#8217;s about portability. When you inevitably need to jump platforms (and you will), your followers can find you because your identity remains consistent.</p>\n\n\n\n<p>Your Gravatar profile becomes a lighthouse, pointing people to wherever you&#8217;ve landed next. Mastodon handle? Listed there. PeerTube channel? Yep. New platform that launches next year? Add it to the list.</p>\n\n\n\n<p>This matters more in a decentralized world where there&#8217;s no central directory, no &#8220;suggested users&#8221; algorithm to help people discover you on a new platform. You&#8217;re responsible for being findable.</p>\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>\n\n\n\n<h2 class=\"wp-block-heading\">What&#8217;s Next for Decentralized Social Media</h2>\n\n\n\n<p>The momentum is real, but the direction isn&#8217;t clear yet. Will Bluesky eventually become truly decentralized, or will it remain a benevolent centralized platform with decentralized features? Will Mastodon find its mainstream moment, or stay the principled-but-niche option?</p>\n\n\n\n<p>And will regular folks – not just tech enthusiasts – actually want the complexity that comes with true decentralization?</p>\n\n\n\n<p>The answer probably depends on whether platforms can solve the basic human problems (finding your people, keeping your identity, avoiding harassment) better than what we have now.</p>\n\n\n\n<p>What we know for sure is that the old model is cracking. People want more control, more transparency, and more choice in how they connect online. Whether that comes through truly decentralized networks or just better-behaved centralized ones remains to be seen.</p>\n\n\n\n<p>But either way, making yourself consistently findable across this changing landscape? That&#8217;s just good sense.</p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Navigating the challenges of cross-platform identity mana</strong></h3>\n\n\n\n<p>So, step into the future.</p>\n\n\n\n<p>Take two minutes (seriously, that’s all it takes) to <a href=\"https://gravatar.com/\">set up your free Gravatar profile</a>, and take charge of your identity across the decentralized web.</p>\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, 13 Jun 2025 14:45:06 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:11:\"Ronnie Burt\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i: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:50:\"Gravatar: Vibe Better With Custom LLM Instructions\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:32:\"http://blog.gravatar.com/?p=3315\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:78:\"https://blog.gravatar.com/2025/06/12/vibe-better-with-custom-llm-instructions/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:1651:\"<p>Are you creating code with AI tools like Cursor, Loveable, or Claude? We just made it way easier.</p>\n\n\n\n<p>We&#8217;ve created a single page of custom instructions that developers can copy-paste into any LLM or AI tool to instantly understand how Gravatar works. No more explaining our API from scratch or watching your AI assistant guess how profile data flows.</p>\n\n\n\n<h2 class=\"wp-block-heading\">What&#8217;s In The Box?</h2>\n\n\n\n<p>Our custom instructions give AI tools everything they need to integrate with Gravatar properly:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Complete API understanding for avatars and profiles</li>\n\n\n\n<li>Real-world code examples</li>\n\n\n\n<li>Privacy and data handling best practices (ex. SHA256, not MD5)</li>\n\n\n\n<li>Mobile SDK guidance for iOS and Android</li>\n</ul>\n\n\n\n<p>Think of it as the ultimate cheat sheet for building with Gravatar. </p>\n\n\n\n<h2 class=\"wp-block-heading\">Perfect For Developers Who Vibe</h2>\n\n\n\n<p>Whether you&#8217;re prototyping with v0, building with ChatGPT, or coding alongside any AI assistant, these instructions ensure your AI actually gets what Gravatar does. </p>\n\n\n\n<p>Your AI will understand profile-as-a-service, know our REST API endpoints, and suggest the right integration approach for your project.</p>\n\n\n\n<h2 class=\"wp-block-heading\">Copy, Paste, Build</h2>\n\n\n\n<p>We&#8217;ve done the heavy lifting. </p>\n\n\n\n<p>The instructions work with any LLM that accepts custom prompts. Paste them in, start your project, and watch your AI assistant become a Gravatar integration expert.</p>\n\n\n\n<p><a href=\"https://docs.gravatar.com/guides/llms-txt/\">Grab the instructions here →</a></p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 12 Jun 2025 21:10:25 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:11:\"Ronnie Burt\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i: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:58:\"Gravatar: 10 Essential Tips for DIY Professional Headshots\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:32:\"http://blog.gravatar.com/?p=3299\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:64:\"https://blog.gravatar.com/2025/06/12/professional-headshot-tips/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:22246:\"<p>So, you’ve decided it’s time for a headshot that doesn’t look like it was taken at 11 pm under your kitchen light. Sensible move. But then – bam! You check out the prices and suddenly consider just cropping yourself out of a group photo from 2017.</p>\n\n\n\n<p>You’re not overreacting. </p>\n\n\n\n<p>The professional route is painfully pricey. As for the DIY route, one minute you&#8217;re adjusting lighting, the next you&#8217;re wondering why you suddenly resemble a startled meerkat.</p>\n\n\n\n<p>And yet, the stakes are high. Research shows <a href=\"https://www.psychologicalscience.org/observer/how-many-seconds-to-a-first-impression\">people form an impression of you from your photo in <em>1/10th of a second</em></a>. That’s faster than your thumb can scroll. </p>\n\n\n\n<p>Like it or not, your headshot is your always-on personal brand billboard, beaming across LinkedIn, Zoom, your email signature… basically, everywhere.</p>\n\n\n\n<p>But the truth is, you don’t need a Hollywood budget or a Nikon the size of a shoebox to nail it.</p>\n\n\n\n<p>With just your smartphone, a few clever tricks, and a sprinkle of intention, you can snap a headshot that says “professional,” not “panicked.”</p>\n\n\n\n<p>Below you’ll find <strong>10 practical strategies</strong> to help you:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Nail lighting without a studio.</li>\n\n\n\n<li>Pose without looking like you&#8217;re mid-blink.</li>\n\n\n\n<li>Edit like a pro.</li>\n</ul>\n\n\n\n<p>This guide will take you from “I guess this will do?” to a polished, professional headshot that opens doors, lands clients, or gets you into that next big role.</p>\n\n\n\n<p>Let’s get snapping!</p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>1. Choose your equipment</strong> </h2>\n\n\n\n<p>Good news: The best camera you own is probably already in your pocket. Today’s smartphones are absolute powerhouses, easily capable of snapping headshots that look straight out of a studio… <em>if</em> you know how to wield them. </p>\n\n\n\n<p>Here’s what you’ll need:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A recent phone with at least a 12MP main camera.</li>\n\n\n\n<li>Portrait mode (hello, dreamy background blur).</li>\n\n\n\n<li>A grid display to keep your framing sharp.</li>\n\n\n\n<li>Focus lock to make sure your eyes stay crisp.</li>\n\n\n\n<li>Self-timer or voice command so you’re not sprinting back and forth between shots.</li>\n</ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img alt=\"Phone settings for professional headshot tips\" class=\"wp-image-3300\" height=\"1712\" src=\"https://blog.gravatar.com/wp-content/uploads/2025/05/gravatar-professional-headshot-tips-phone-settings.png\" width=\"959\" /></figure>\n\n\n\n<p>Take note: As tempting as it is to use the front-facing camera, the back camera’s where the magic happens. It’s higher quality, gives you more control, and won’t leave you with that slightly fuzzy “FaceTime screenshot” look.</p>\n\n\n\n<p>To get it right:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Set your phone 3-4 feet away, level with your eyes.</li>\n\n\n\n<li>Balance it on a stack of books, boxes – whatever’s sturdy.</li>\n\n\n\n<li>Or better yet, grab an <a href=\"https://www.nytimes.com/wirecutter/reviews/best-tripod-for-iphones-smartphones/\">adjustable phone tripod</a> (they’re less than $50 and worth every penny).</li>\n</ul>\n\n\n\n<p><img alt=\"✨\" class=\"wp-smiley\" src=\"https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/2728.png\" style=\"height: 1em;\" /> <strong>Pro tip:</strong> Some phones flip selfies by default, turning text (and your face) backward. If you insist on the front camera, dig into your settings and switch off image mirroring before you start. That way, your photo looks polished and professional <em>everywhere</em> it shows up.</p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>2. Find your ideal lighting</strong></h2>\n\n\n\n<p>Lighting. It’s the make-or-break factor; the difference between “Oh wow, did you get that done professionally?” and “Cute… but why does it look like you’re hiding in a cave?”</p>\n\n\n\n<p>Don’t worry. Your best lighting? Totally free. Natural light is your secret weapon.</p>\n\n\n\n<p>Start by parking yourself near a big window – bonus points if it faces away from the sun, that way light stays soft and steady, skipping those harsh, unflattering shadows. Aim to stand about 3–5 feet away so that the gentle glow wraps your face like a flattering Instagram filter.</p>\n\n\n\n<p>And yes, timing <em>totally</em> matters:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Early morning (7–9 AM) means crisp, clean, chef’s-kiss light <img alt=\"🤌\" class=\"wp-smiley\" src=\"https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f90c.png\" style=\"height: 1em;\" /><img alt=\"☀\" class=\"wp-smiley\" src=\"https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/2600.png\" style=\"height: 1em;\" />.</li>\n\n\n\n<li>Golden hour (1–2 hours before sunset): Dreamy, warm, universally flattering.</li>\n\n\n\n<li>Midday? Big no, no. Shadows where you don’t want them.</li>\n</ul>\n\n\n\n<p>And don’t just snap and hope for the best. Play around. Shuffle a little left or right of the window. Step closer, then further away. Test different angles to find <em>your</em> best side.</p>\n\n\n\n<p><img alt=\"✨\" class=\"wp-smiley\" src=\"https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/2728.png\" style=\"height: 1em;\" /> <strong>Pro tip:</strong> If you’re wearing spectacles, tilt your chin slightly down, and if you’re using extra lights, angle them upward to give you the no glare, natural, polished look you want.</p>\n\n\n\n<p>Go on, work that window.</p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>3. Pick your background</strong></h2>\n\n\n\n<p>Your background is the unsung hero of your headshot. Typically, you’ll want a backdrop so subtle, no one even notices it. All eyes should be on <em>you</em>, not whatever’s lurking behind you.</p>\n\n\n\n<p>The easiest win is to stick to plain, neutral tones:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Light gray</strong> = sleek, modern vibes.</li>\n\n\n\n<li><strong>Off-white</strong> = timeless, classic feel.</li>\n\n\n\n<li><strong>Soft blue</strong> = just enough warmth without stealing the spotlight.</li>\n</ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img alt=\"\" class=\"wp-image-3302\" height=\"1620\" src=\"https://blog.gravatar.com/wp-content/uploads/2025/05/gravatar-profile-picture-headshot-tips.png\" width=\"1620\" /></figure>\n\n\n\n<p>These shades quietly do their job, keeping attention exactly where it belongs – on your face. And no, you don’t need a fancy studio to pull this off. Try one of these simple DIY setups:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A plain, unadorned wall (yes, really).</li>\n\n\n\n<li>A wrinkle-free bedsheet, hung nicely and smoothly.</li>\n\n\n\n<li>A big sheet of foam board from the craft store.</li>\n</ul>\n\n\n\n<p><img alt=\"✨\" class=\"wp-smiley\" src=\"https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/2728.png\" style=\"height: 1em;\" /> <strong>Pro tip:</strong> Do <em>not</em> stand right up against the background. Step forward 3-4 feet to:<br /><img alt=\"✅\" class=\"wp-smiley\" src=\"https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/2705.png\" style=\"height: 1em;\" /> Add natural depth<br /><img alt=\"✅\" class=\"wp-smiley\" src=\"https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/2705.png\" style=\"height: 1em;\" /> Dodge harsh shadows<br /><img alt=\"✅\" class=\"wp-smiley\" src=\"https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/2705.png\" style=\"height: 1em;\" /> Get a subtle blur in portrait mode</p>\n\n\n\n<p>A few things to avoid: Bright colors that clash with your skin tone. Busy patterns screaming for attention. Random clutter (bookshelves, kitchen counter, laundry pile). Remember, you’re the star. Everything else needs to <em>fade</em> into the background. And if all else fails, you can always swap out the backdrop later when you <a href=\"https://snapseed.online/\">edit your pic</a>.</p>\n\n\n\n<p>There you have it: Pro-looking backdrop, no studio required.</p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>4. Dress for success</strong></h2>\n\n\n\n<p>Let’s talk wardrobe. Color psychology isn’t just fluff, it shapes how people see you. In corporate settings, blues and grays quietly say “trustworthy” and “competent.” Whereas in creative industries, brighter colors scream “innovative.” Rule of thumb: Dress for <em>your</em> industry and purpose.</p>\n\n\n\n<p>Your outfit also needs to work with your background:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Dark clothes + light backdrop = high contrast (tricky for cameras).</li>\n\n\n\n<li>Similar tones = coordinated, polished look.</li>\n\n\n\n<li>Solid colors &gt; busy prints (trust us).</li>\n</ul>\n\n\n\n<p>Necklines matter too:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Round face? V-neck = flattering length.</li>\n\n\n\n<li>Square face? A scoop or rounded neckline softens angles.</li>\n\n\n\n<li>Long face? Boat or crew neck balances things.</li>\n\n\n\n<li>Heart-shaped? Try square or cowl necklines.</li>\n</ul>\n\n\n\n<p>Heads-up: The camera spots <em>everything</em> – gaps, seams, button strain. If it doesn’t fit perfectly, fix it or swap it.</p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img alt=\"Gravatar profile example for headshot tips]\" class=\"wp-image-3303\" height=\"1056\" src=\"https://blog.gravatar.com/wp-content/uploads/2025/05/gravatar-card-joe.png\" width=\"744\" /></figure>\n\n\n\n<p>And once you’ve nailed that shot? Upload it to <a href=\"https://gravatar.com/\"><strong>Gravatar</strong></a>. It syncs your headshot across platforms like <a href=\"https://wordpress.org/\">WordPress</a>, <a href=\"http://github\">GitHub</a>, and <a href=\"https://slack.com/\">Slack</a> – no manual updates needed. </p>\n\n\n\n<p>In just 5 minutes, you can <a href=\"https://gravatar.com/\">create your free profile</a>, upload your pic, and let your digital presence do the talking.</p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>5. Apply makeup strategically</strong></h2>\n\n\n\n<p>Here’s the thing about cameras: They’re sneaky little flatteners. What looks defined and dimensional in real life can end up weirdly washed out or featureless in a photo. That’s why a little strategic makeup can make a big difference for headshots.</p>\n\n\n\n<p>If makeup’s already in your routine, dial it up a notch – think a touch more definition around the eyes and cheekbones than your everyday look. This helps counteract the camera’s flattening effect and keeps your face looking sculpted and alive in the final shot.</p>\n\n\n\n<p>A few things to <em>skip</em> before your shoot:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Products with SPF (they can throw off a ghostly white cast on camera).</li>\n\n\n\n<li>Silica-heavy setting powders (you don’t want that chalky “flashback” effect).</li>\n\n\n\n<li>Super shimmery products (they tend to photograph as oily rather than glowy).</li>\n</ul>\n\n\n\n<p>For men – or anyone who doesn’t usually reach for makeup – consider a few subtle tweaks:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A quick dusting of translucent powder to knock back shine on the forehead and nose.</li>\n\n\n\n<li>A tinted moisturizer to even out skin tone (promise, it won’t look like makeup).</li>\n\n\n\n<li>And don’t underestimate the power of a precise beard trim – cameras love to highlight asymmetry.</li>\n</ul>\n\n\n\n<p>But here’s the best bit: You don’t need to chase perfection on the day. A <a href=\"https://snapseed.online/\">good photo editor</a> can easily tackle things like redness, uneven skin tone, or tiny blemishes after the fact.</p>\n\n\n\n<h2 class=\"wp-block-heading\">6. Use confident body language</h2>\n\n\n\n<p>Body language matters more than you think in a headshot. Research shows small posture tweaks can <a href=\"https://jov.arvojournals.org/article.aspx?articleid=2135912\">boost how competent and approachable you seem</a>. Plus, striking confident poses doesn’t just influence others, <a href=\"https://richardepetty.com/wp-content/uploads/2019/01/2009-ejsp-brinol-petty-wagner.pdf\">it literally boosts your confidence</a> while lowering stress.</p>\n\n\n\n<p>Try the <strong>“turtle method.”</strong></p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Gently push your chin forward and slightly down.</li>\n\n\n\n<li>It sharpens your jawline.</li>\n\n\n\n<li>Separates your head from your shoulders.</li>\n\n\n\n<li>Instantly adds flattering definition.</li>\n</ul>\n\n\n\n<p>Skip perfect symmetry – it reads stiff. Instead:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Tilt your head a little (around 15°).</li>\n\n\n\n<li>Angle your shoulders slightly.</li>\n\n\n\n<li>Keep your spine tall, but relaxed.</li>\n</ul>\n\n\n\n<p>Before the shutter clicks, use this breathing hack to ditch tension:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Inhale through your nose for 4 counts.</li>\n\n\n\n<li>Hold briefly.</li>\n\n\n\n<li>Exhale through your mouth for 6 counts.</li>\n\n\n\n<li>On the last exhale, fully relax your face.</li>\n</ul>\n\n\n\n<p>End result: Less “awkward passport photo,” more polished, confident professional.</p>\n\n\n\n<h2 class=\"wp-block-heading\">7. Find your facial expressions</h2>\n\n\n\n<p>Here’s the thing: Everyone’s got signature expressions that photograph well, but you probably won’t stumble upon them on first try. The secret is to indulge in a little trial and error.</p>\n\n\n\n<p>Block out some time, grab your phone, and take test shots from different angles. What feels natural in the mirror doesn’t always translate on camera. You’ll need to push past your usual go-to faces and experiment.</p>\n\n\n\n<p>Here’s what to try:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>The “squinch”</strong> – a subtle narrowing of the lower eyelids that says “I’ve got this” without veering into “can’t see without my glasses.”</li>\n\n\n\n<li><strong>Eyebrows: Relaxed but slightly lifted</strong> – adds a hint of warmth and approachability.</li>\n\n\n\n<li><strong>The 20% smile</strong> – not a full grin, not stone-faced: Just enough curve to look thoughtful and composed.</li>\n</ul>\n\n\n\n<p>Take note: Each industry carries its own preferences.</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Legal and finance? Go for serious and authoritative.</li>\n\n\n\n<li>Tech? Relaxed, approachable smiles are fair game.</li>\n\n\n\n<li>Creative fields? Feel free to let your personality shine through (quirks welcome).</li>\n</ul>\n\n\n\n<p>And if you’ve ever sworn you’re “just not photogenic”? Join the club. The trick is capturing enough variations to catch those magic in-between moments. Use your phone’s burst mode (hold that shutter down) to snap 10–15 shots at once. Those sneaky, subtle shifts mid-blink or mid-laugh are often the gold you’d never have deliberately posed for.</p>\n\n\n\n<h2 class=\"wp-block-heading\">8. Tweak those phone camera settings</h2>\n\n\n\n<p>Your smartphone camera is smarter than you think. With a few tweaks, you can take your headshot from “meh” to “wow.” Here’s how:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Pick your mode:</strong> <strong>Portrait</strong> for background blur, <strong>Square</strong> for social profiles, <strong>Standard</strong> for flexibility.<br /></li>\n\n\n\n<li><strong>Nail white balance:</strong> Keeps skin tones looking natural (not Smurf-like).\n<ul class=\"wp-block-list\">\n<li>Find it under “pro” or “advanced” modes.</li>\n\n\n\n<li>Outdoors? Auto’s fine.</li>\n\n\n\n<li>Indoors? Pick a preset to match your lighting.</li>\n\n\n\n<li>Still off? Manually adjust until you’re glowing (in a good way).<br /></li>\n</ul>\n</li>\n\n\n\n<li><strong>Switch on gridlines:</strong></li>\n</ul>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Apply <a href=\"https://digital-photography-school.com/rule-of-thirds/\">the rule of thirds</a> and align the eyes along the top horizontal line.</li>\n\n\n\n<li>Center your face at a grid intersection.</li>\n\n\n\n<li>Voilà: Pro-level framing.<br /></li>\n</ol>\n\n\n\n<figure class=\"wp-block-image size-large\"><img alt=\"Grid framing for Gravatar headshot tips\" class=\"wp-image-3304\" height=\"660\" src=\"https://blog.gravatar.com/wp-content/uploads/2025/05/gravatar-headshot-tips-grid.png?w=660\" width=\"660\" /></figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Use HDR (High Dynamic Range):</strong> Helps balance light when:\n<ul class=\"wp-block-list\">\n<li>The background’s brighter than your face.</li>\n\n\n\n<li>You’re dealing with tricky lighting.</li>\n</ul>\n</li>\n\n\n\n<li><strong>Choose your aspect ratio:</strong>\n<ul class=\"wp-block-list\">\n<li>4:3 = classic headshot.</li>\n\n\n\n<li>1:1 = perfect for social profiles.</li>\n</ul>\n</li>\n</ul>\n\n\n\n<p>With these settings dialled in, you’ll be cranking out headshots that punch well above their weight.</p>\n\n\n\n<h2 class=\"wp-block-heading\">9. Time for a quick polish: Edit that headshot</h2>\n\n\n\n<p>Even the best DIY headshots can use a little finesse. But don’t worry, you don’t need Photoshop or a degree in digital media. A few smart tweaks with free (or cheap) apps can level up your photo without draining your wallet:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https://www.adobe.com/products/photoshop-lightroom/mobile.html\"><strong>Lightroom Mobile</strong></a> (the free version has all the essentials).</li>\n\n\n\n<li><a href=\"https://snapseed.online/\"><strong>Snapseed</strong></a> (totally free, with pro-level tools).</li>\n\n\n\n<li><a href=\"https://www.vsco.co/\"><strong>VSCO</strong></a> (great for natural, flattering presets).</li>\n\n\n\n<li><strong>Your phone’s built-in editor</strong> (seriously underrated).</li>\n</ul>\n\n\n\n<p>Here’s where to focus your edits:</p>\n\n\n\n<p><strong>Cropping</strong></p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Frame your eyes in the <em>top third</em> of the shot (see above).</li>\n\n\n\n<li>Snip out any background distractions.</li>\n\n\n\n<li>Keep a comfy balance around your head and shoulders.</li>\n</ul>\n\n\n\n<p><strong>Brightness &amp; contrast</strong></p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Bump exposure up 10–15% for a fresher, more open look.</li>\n\n\n\n<li>Add a dash of contrast (+5 to +10) to sharpen features.</li>\n\n\n\n<li>But don’t overdo it. You want glow, not glare.</li>\n</ul>\n\n\n\n<p><strong>White balance</strong></p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Warm things up slightly (+5 to +10) for friendlier skin tones.</li>\n\n\n\n<li>Tweak any weird color casts from artificial lights.</li>\n</ul>\n\n\n\n<p><strong>Vignette</strong></p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Add a subtle dark edge (-10 to -15) to draw attention inward.</li>\n</ul>\n\n\n\n<p>A few editing <em>don’ts</em> to steer clear of:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Over-smoothing your skin into porcelain doll territory.</li>\n\n\n\n<li>Filters so heavy they’ll age your photo by next week.</li>\n\n\n\n<li>Anything that tweaks your facial features beyond recognition.</li>\n</ul>\n\n\n\n<p>And when you’re done, always save in high-res (at least 1000&#215;1000 pixels) to keep things crisp across every platform.</p>\n\n\n\n<h2 class=\"wp-block-heading\">10. Use Gravatar to display your perfect headshot everywhere</h2>\n\n\n\n<p>You’ve finally nailed the perfect headshot – great lighting, solid pose, zero double chin. Congrats! But now comes the tedious part: Uploading it <em>everywhere</em>. <a href=\"https://www.linkedin.com/\">LinkedIn</a>. Company intranet. <a href=\"https://slack.com/\">Slack</a>. <a href=\"https://github.com/\">GitHub</a>. That random forum you signed up for in 2014. Each site wants a different size, a different crop, a different format. Ugh.</p>\n\n\n\n<p>Enter <a href=\"https://gravatar.com/\"><strong>Gravatar</strong></a>: The no-fuss, no-hassle way to make your headshot follow you around the internet like the loyal professional sidekick it was born to be.</p>\n\n\n\n<p>Here’s how it works:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Gravatar links your email address to your headshot.</li>\n\n\n\n<li>Any platform that’s Gravatar-enabled pulls in your photo automatically.</li>\n\n\n\n<li>Update your pic once in your Gravatar account, and it updates everywhere else, no manual uploads or awkward crops required.</li>\n</ul>\n\n\n\n<p>And it doesn’t stop at just your photo. Gravatar also lets you round out your online presence with:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A professional bio.</li>\n\n\n\n<li>Verified links to your portfolio and social profiles.</li>\n\n\n\n<li>Additional professional images.</li>\n\n\n\n<li>Your contact info.</li>\n</ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img alt=\"Example Gravatar bio for headshot tips\" class=\"wp-image-3305\" height=\"936\" src=\"https://blog.gravatar.com/wp-content/uploads/2025/05/gravatar-card-ethan.png?w=660\" width=\"660\" /></figure>\n\n\n\n<p>The cherry on top? It’s 100% free. <a href=\"https://gravatar.com/\">Spend five minutes setting up your profile</a> today, and you’ll save yourself countless “ugh-I-need-to-update-my-photo-there-too” headaches down the line – all you need for a polished <a href=\"https://blog.gravatar.com/2024/07/10/online-presence-management/\">online presence</a>.</p>\n\n\n\n<h2 class=\"wp-block-heading\">Your perfect headshot + Gravatar = instant professional glow-up</h2>\n\n\n\n<p>Turns out, you <em>can</em> create a killer professional headshot at home – no fancy cameras, no overpriced photographers, no awkward studio backdrops required. Just your smartphone, some decent lighting, and a little know-how.</p>\n\n\n\n<p>By following these 10 steps, you’ve already cracked the code – the gear, the angles, the lighting, the editing – to turn your humble selfie into a headshot that can go toe-to-toe with the pros.</p>\n\n\n\n<p>Pair that polished photo with <a href=\"https://gravatar.com/\"><strong>Gravatar</strong></a>, and suddenly your face shows up <em>everywhere</em> you show up – LinkedIn, blogs, email signatures, you name it – without you lifting another finger. You just update your Gravatar once to instantly refresh across the board.</p>\n\n\n\n<p>So, carve out an hour to snap that headshot, then take five minutes to <a href=\"https://gravatar.com/\">set up your (free!) Gravatar profile</a> today.</p>\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:\"Thu, 12 Jun 2025 20:59:04 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:11:\"Ronnie Burt\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i: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:20:\"Matt: Play With Clay\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:23:\"https://ma.tt/?p=143265\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:27:\"https://ma.tt/2025/06/clay/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:1699:\"<p>Happy to announce that the amazing <a href=\"https://clay.earth/\">Clay.earth</a> product and team is joining <a href=\"https://automattic.com/\">Automattic</a>. If you haven&#8217;t tried the app out yet, here&#8217;s a quick video to give you a taste.</p>\n\n\n\n<figure class=\"wp-block-embed alignwide is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n\n</div></figure>\n\n\n\n<p><a href=\"https://techcrunch.com/2025/06/12/automattic-acquires-relationship-manager-clay-to-add-an-identity-layer-to-online-tools/\">TechCrunch has covered the broader strategy pretty well</a>: One of the top requests we&#8217;ve heard from <a href=\"https://www.beeper.com/\">Beeper</a> beta testers is they want to tie in more context, like a personal CRM, and some even requested Clay by name. We&#8217;ll keep the apps separate, as Clay also has some interesting team uses, but they will complement and integrate with each other as part of our all-in-one messaging strategy.</p>\n\n\n\n<p>We share a vision to integrate Clay&#8217;s technology, which manages over 140 million relationships, as a layer across many of our products and experiences at Automattic. I&#8217;m excited to work with the founders, Matt and Zach, to bring this vision to life. I&#8217;ve always felt the missing primitive in WordPress&#8217; content management data architecture was a scalable concept of a Person and Relationships outside of our user table.</p>\n\n\n\n<p><a href=\"https://clay.earth/next\">Here&#8217;s the beautiful announcement on the Clay site</a> and <a href=\"https://automattic.com/2025/06/12/automattic-welcomes-clay/\">on Automattic&#8217;s</a>.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 12 Jun 2025 18:37:46 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:4:\"Matt\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i: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:59:\"Bernie Reiter: Using git-svn for WordPress Core Development\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:24:\"http://raz.or.at/?p=1198\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:74:\"https://raz.or.at/2025/06/12/using-git-svn-for-wordpress-core-development/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:11643:\"<p>A while ago, there was a call for WordPress Core Committers to share their development setups. <a href=\"https://make.wordpress.org/core/handbook/best-practices/when-you-become-a-committer/core-committer-workflows/\">Many of them have already done so</a>; I’m finally getting around to sharing mine.</p>\n\n\n\n<p>As far as I know, I’m one of the few people that use <code>git-svn</code>. Not only does it shield me from the quirks of Subversion (SVN); it also allows me to use git to work on branches from the  <code><a href=\"https://github.com/WordPress/wordpress-develop\">WordPress/wordpress-develop</a></code> GitHub mirror (which has become the de-facto standard for Core development), and to merge my contributions to Core’s SVN repo once they’re ready, all from within the same directory.</p>\n\n\n\n<p>The following is based on a <a href=\"https://markjaquith.wordpress.com/2011/05/26/developing-on-wordpress-using-git/\">blog post</a> by Mark Jaquith that’s over fourteen years old, meaning it predates <code>WordPress/wordpress-develop</code> as well as some new features and behavioral changes in git (and <code>git-svn</code>). I used the <a href=\"https://git-scm.com/docs/git-svn\">official <code>git-svn</code> docs</a> to update accordingly.</p>\n\n\n\n<h2 class=\"wp-block-heading\">Setup</h2>\n\n\n\n<p>Assuming you already have git and homebrew installed, you’ll need to use the latter to install <code>git-svn</code>:</p>\n\n\n\n<pre class=\"wp-block-code\"><code>brew install git-svn</code></pre>\n\n\n\n<p>You can now check out the SVN repo. A word of warning before you proceed: Due to the linear nature of SVN, cloning the repository means checking out all ~60k revisions (as of June 2025).<sup class=\"fn\"><a href=\"https://raz.or.at/category/wordpress/feed/#78b71bc7-31f3-4e14-9996-ff8ad1338461\" id=\"78b71bc7-31f3-4e14-9996-ff8ad1338461-link\">1</a></sup> Even with a fast internet connection, this takes several hours; I let it run overnight.<sup class=\"fn\"><a href=\"https://raz.or.at/category/wordpress/feed/#83875f15-4f02-426b-841f-c9104c628e43\" id=\"83875f15-4f02-426b-841f-c9104c628e43-link\">2</a></sup></p>\n\n\n\n<pre class=\"wp-block-code\"><code>git svn clone -s --prefix=svn/ --log-window-size=5000 https://develop.svn.wordpress.org wordpress-develop</code></pre>\n\n\n\n<p>Let’s go through the arguments one by one:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>-s</code> (short for <code>--stdlayout</code>) will make git-svn look for trunk, branches, and tags in the eponymous subdirectories of the repository.</li>\n\n\n\n<li><code>--prefix=svn/</code> <em>(make sure to include the trailing slash!)</em> sets a prefix that’s prepended to remotes in the git ref names that the aforementioned svn directories are mapped to. This defaults to <code>origin</code>, resulting in ref names such as <code>origin/trunk</code>. Since I want to use <code>origin</code> as the name for the <code>WordPress/wordpress-develop</code> GitHub mirror, I set the prefix to <code>svn</code> to denote the SVN repo.</li>\n\n\n\n<li><code>--log-window-size=5000</code>: According to the docs, this specifies the number of log entries fetched per request when scanning the SVN repo. The docs recommend setting this to a higher number than the default 100 when cloning large repositories.</li>\n\n\n\n<li><a href=\"https://develop.svn.wordpress.org/\"><code>https://develop.svn.wordpress.org/</code></a> is of course the location of the WordPress codebase.</li>\n\n\n\n<li><code>wordpress-develop</code> is the name of the target folder that the repo will be cloned into.</li>\n</ul>\n\n\n\n<p>Now for the fun part: We can add git remotes and switch between branches like we’d do in any other git repo! Typically, the next thing you’ll want to do is adding the <code>WordPress/wordpress-develop</code> GitHub mirror as <code>origin</code>:</p>\n\n\n\n<pre class=\"wp-block-code\"><code>git remote add origin git@github.com:WordPress/wordpress-develop.git</code></pre>\n\n\n\n<p>Since you can’t push branches to that repo, you’ll likely also want to add your own fork as a remote (and probably some other folks’, if you want to test their PRs). For my own fork, that’s</p>\n\n\n\n<pre class=\"wp-block-code\"><code>git remote add ockham git@github.com:ockham/wordpress-develop.git</code></pre>\n\n\n\n<h2 class=\"wp-block-heading\">Day-to-day Usage</h2>\n\n\n\n<p>For your day-to-day development, you can use git just like you normally would, i.e. create branches, push them to your remote, fetch updates from the remote, etc.</p>\n\n\n\n<p>The only difference is in the handling of the branches checked out from SVN. If you’re on one of of those – e.g. <code>trunk</code> –  you don’t use <code>git pull</code> to update, but</p>\n\n\n\n<pre class=\"wp-block-code\"><code>git svn rebase</code></pre>\n\n\n\n<p>This will fetch the latest commits from the SVN repo and add them to your local copy of the branch.</p>\n\n\n\n<p>To fetch any new branches and/or tags that have been created in the SVN repo (e.g. around Feature Freeze for a new WordPress version), you’ll do</p>\n\n\n\n<pre class=\"wp-block-code\"><code>git svn fetch</code></pre>\n\n\n\n<p>When checking out the branch, remember that you’ll have to include the <code>svn/</code> prefix to indicate that you want the branch from SVN (rather than from the default <code>origin</code>, which in this setup will point to the <code>WordPress/wordpress-develop</code> GitHub mirror):</p>\n\n\n\n<pre class=\"wp-block-code\"><code>git checkout -b 6.8 svn/6.8</code></pre>\n\n\n\n<p>You can always use <code>git svn info</code> to find out if the branch you’re currently on was checked out from SVN or git.</p>\n\n\n\n<h2 class=\"wp-block-heading\">Committing Code to SVN</h2>\n\n\n\n<h3 class=\"wp-block-heading\">Preparing the commit (the git part)</h3>\n\n\n\n<p>Let’s say I’ve been working on some code in a git branch called <code>add/my-stuff</code>. Once that code is ready to merge, I start by locally squashing all my changes into one commit. There are different ways of doing this; if you’re unfamiliar with them, you can probably find some online tutorials (this part isn’t specific to <code>git-svn</code> at all). I typically either do an interactive rebase (<code>git rebase -i origin/trunk</code>) if there aren’t a lot of commits, or I reset all commits to the point that the branch deviated from <code>origin/trunk</code><sup class=\"fn\"><a href=\"https://raz.or.at/category/wordpress/feed/#d8bbfaa9-8db9-426e-90d2-9a78a0fa3a4c\" id=\"d8bbfaa9-8db9-426e-90d2-9a78a0fa3a4c-link\">3</a></sup>, i.e.</p>\n\n\n\n<pre class=\"wp-block-code\"><code>git reset $(git merge-base origin/trunk $(git rev-parse --abbrev-ref HEAD))</code></pre>\n\n\n\n<p>I then simply re-add all files that had any modifications (including new files that were previously untracked)</p>\n\n\n\n<pre class=\"wp-block-code\"><code>git add -A</code></pre>\n\n\n\n<p>and finally create the commit</p>\n\n\n\n<pre class=\"wp-block-code\"><code>git commit</code></pre>\n\n\n\n<p>At this point, I typically just paste the commit message that I’ve already prepared in my editor. This is the commit message that’s going into SVN, so it needs to follow <a href=\"https://make.wordpress.org/core/handbook/best-practices/commit-messages/\">Core’s guidelines for commit messages</a>. However, it doesn’t have to be perfect right away; you’ll be able to go back to it later and polish it some more via <code>git commit --amend</code>. Be sure to review both the commit message and code changes by looking at the output of <code>git show</code>.</p>\n\n\n\n<h3 class=\"wp-block-heading\">Pushing the code to SVN</h3>\n\n\n\n<p>Once I’m happy with my commit, I note its SHA and switch back to <code>trunk</code>. I do a last <code>git svn rebase</code> to fetch all the latest changes from SVN, and then <code>git cherry-pick</code> my commit. It’s probably a good idea to follow up with a final <code>git log</code> and <code>git show</code> to make sure everything is looking alright.</p>\n\n\n\n<p>I then push my code to SVN by typing</p>\n\n\n\n<pre class=\"wp-block-code\"><code>git svn dcommit</code></pre>\n\n\n\n<p>(Yes, that&#8217;s <code>dcommit</code>.)That’s the <code>git-svn</code> equivalent of <code>git push</code>! I watch as <code>git-svn</code> does its magic. Once it’s done, I check the Trac ticket and <code>wordpress-develop</code> PR which should now have been automatically closed.</p>\n\n\n\n<h2 class=\"wp-block-heading\">Other tools</h2>\n\n\n\n<p>I use <a href=\"https://rancherdesktop.io/\">Rancher Desktop</a> by SUSE, which is a free and open-source replacement for Docker Desktop. I&#8217;m using <strong>VZ</strong> as my virtual machine, and <strong>virtiofs</strong> as mount type. You can set these in <em>Preferences &gt; Virtual Machine</em>, in the <em>Emulation</em> and <em>Volume</em> tabs, respectively. Note that if you&#8217;re on Apple Silicon, you&#8217;ll need to <em>Enable Rosetta support</em>, as the <code>wordpressdevelop/php</code> container <a href=\"https://github.com/WordPress/wpdev-docker-images/issues/127\">isn&#8217;t natively available for the <code>arm64</code> architecture yet</a>.</p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img alt=\"\" class=\"wp-image-1224\" height=\"604\" src=\"https://raz.or.at/wp-content/uploads/2025/06/screenshot-2025-06-16-at-20.00.28.png?w=1024\" width=\"1024\" /></figure>\n\n\n\n<p>(There’s a chance that I won’t need any of that once macOS 26 is available, since apparently Apple is working on <a href=\"https://appleinsider.com/articles/25/06/09/sorry-docker-macos-26-adds-native-support-for-linux-containers\">native support for Linux containers</a>.)</p>\n\n\n<ol class=\"wp-block-footnotes\"><li id=\"78b71bc7-31f3-4e14-9996-ff8ad1338461\">While svn itself supports <code>--set-depth immediates</code>  to only check out the last <em>n</em> commits, <code>git-svn</code> unfortunately doesn’t. There is a <a href=\"https://stackoverflow.com/questions/747075/how-to-git-svn-clone-the-last-n-revisions-from-a-subversion-repository\">workaround</a>; however, if you ever want to <a href=\"https://stackoverflow.com/questions/747075/how-to-git-svn-clone-the-last-n-revisions-from-a-subversion-repository#comment25773619_749054\">fetch the preceding commits</a>, you’ll have to <a href=\"https://stackoverflow.com/questions/747075/how-to-git-svn-clone-the-last-n-revisions-from-a-subversion-repository#comment33777609_749054\">mess with git history</a>, which is something I’d personally rather avoid. <a href=\"https://raz.or.at/category/wordpress/feed/#78b71bc7-31f3-4e14-9996-ff8ad1338461-link\"><img alt=\"↩\" class=\"wp-smiley\" src=\"https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/21a9.png\" style=\"height: 1em;\" />︎</a></li><li id=\"83875f15-4f02-426b-841f-c9104c628e43\">You might want to disable automatic standby in your operating system’s settings; in macOS, it’s a toggle called <em>Prevent automatic sleeping on power adapter when the display is off</em>. <a href=\"https://raz.or.at/category/wordpress/feed/#83875f15-4f02-426b-841f-c9104c628e43-link\"><img alt=\"↩\" class=\"wp-smiley\" src=\"https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/21a9.png\" style=\"height: 1em;\" />︎</a></li><li id=\"d8bbfaa9-8db9-426e-90d2-9a78a0fa3a4c\">We’re using <code>origin/trunk</code> as the base branch here (rather than <code>trunk</code> which maps to <code>svn/trunk</code> in this setup), so it’s important to keep that updated regularly (<code>git fetch origin</code>). <a href=\"https://raz.or.at/category/wordpress/feed/#d8bbfaa9-8db9-426e-90d2-9a78a0fa3a4c-link\"><img alt=\"↩\" class=\"wp-smiley\" src=\"https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/21a9.png\" style=\"height: 1em;\" />︎</a></li></ol>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 12 Jun 2025 11:41:28 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Bernie Reiter\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i: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:48:\"Open Channels FM: Wrapping Up the Rebrand Series\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:32:\"https://openchannels.fm/?p=97958\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:66:\"https://openchannels.fm/wrapping-up-the-rebrand-series-with-bobwp/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:207:\"BobWP wraps up the rebranding of Do the Woo into Open Channels FM. The new channel features five diverse shows, maintaining core values while offering more structure for listeners to explore their interests.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 12 Jun 2025 08:30:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"BobWP\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:35;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:117:\"WPTavern: #172 – Reyes Martínez and Héctor De Prada on Website Maintenance for WordPress Agencies and Freelancers\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:48:\"https://wptavern.com/?post_type=podcast&p=196556\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:129:\"https://wptavern.com/podcast/172-reyes-martinez-and-hector-de-prada-on-website-maintenance-for-wordpress-agencies-and-freelancers\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:50854:\"<details>Transcript<div>\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, website maintenance for WordPress agencies and freelancers.</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 Reyes Martínez, and Héctor de Prada.</p>\n\n\n\n<p>Reyes has been involved in the WordPress community since 2015, with a background in journalism, digital communications, and early stage startups. From 2021 to 2024, she was sponsored by Automattic to contribute full-time to global marketing and communication efforts for the WordPress Open Source project, She led several initiatives during that time, including the experimental WordPress Media Corps. Reyes currently serves as content lead at Modular DS.</p>\n\n\n\n<p>Hécto