EDITS.WS

Category: wptavern.com

  • ACF’s 2023 Annual Survey Results Reinforce Plugin’s Focus on Improving the Block Building Experience

    Advanced Custom Fields (ACF), one of the plugins WP Engine acquired from Delicious Brains in 2022, has published the results if its first annual survey. Although ACF reports more than 4.5 million active users, including PRO site installs, the survey only gathered feedback from 2,031 respondents.

    These results are more representative of the plugin’s developer community, as 81% of respondents are developers who maintain between 11-50 websites. 63% use version control for their codebase, and 27% manage dependencies with Composer.

    The survey showed that ACF is still an important tool for its early adopters, as 50% said they have been using it since its early days and 70% of all respondents use the plugin on all the websites they build.

    When asked what type of sites they are building, respondents had the option to choose multiple answers. Sites using Classic WordPress themes are the most popular followed by Hybrid themes, Block themes, and page builders. Surveying those who use the block editor, 56% report that they build blocks using ACF blocks.

    “It was cool to see the strong representation of hybrid and block themes,” WP Engine Product Marketing Manager Rob Stinson said. “It shows us that there is growing adoption of the modern WP editor experience amongst the PHP friendly crowd that is the ACF user base.

    “We had this scoped for upcoming releases anyway, but it reinforces our focus on improving the block building experience in ACF.”

    Among those ACF users building sites with page builders, the most popular selections include Elementor, Divi, Beaver Builder, and WPBakery Page Builder. Naturally, ACF Extended is the most popular extension used with ACF, followed by Gravity Forms, Yoast SEO, and ACF Better Search.

    Respondents demonstrated high confidence in those maintaining the plugin, as 98% of them are comfortable updating ACF to the latest version. They are also confident in continuing to build on top of WordPress, as 91% of survey participants said they are likely to continue with the platform. For a more detailed look at the questions and responses, check out the 2023 annual survey results on the ACF website.

  • Gutenberg 16.6 Introduces Block Hooks, Improvements to Toolbars on Nested Blocks

    Gutenberg 16.6 is available with progress on a feature that was formerly called auto-inserting blocks but has now been renamed to block hooks.

    In a previous release (16.4), Gutenberg introduced auto-inserting blocks as an experimental feature that allows plugin developers to specify a location in which the block will be automatically inserted, such as before or after a template. Users can then reposition the blocks after insertion using the editor tools.

    Gutenberg lead architect Matias Ventura proposed renaming the feature to block hooks to help developers understand how they work.

    “I’ve seen anecdotal feedback that autoInsert is not the clearest of descriptions,” Ventura said. “I’d like to propose renaming to the more familiar hooks terminology—and ‘block hooks’ in more general terms—to help folks understand the mechanics and purpose more rapidly.”

    This release also adds an inspector panel for block hooks, tentatively named “Plugins,” that displays blocks available for auto-insertion. It includes toggles to insert or remove them. The updated version of the feature also includes block icons (not shown below) to help differentiate the toggles.

    image source: Gutenberg repository PR #52969

    Gutenberg 16.6 brings improvements to toolbars on nested blocks, where the toolbar now stays attached to the parent block. This change is part of a broader effort to improve nested block experiences. Previously, the toolbar would move around when clicking inside the nested blocks, but this change makes it stay in place for a less chaotic editing experience. The updated toolbar behavior has been rolled out to Navigation, List, and Quote blocks so far.

    video credit: Gutenberg GitHub repository PR #53699

    This release includes a new keyboard shortcut for duplicating blocks within the List View: (CMD+Shift+d). It enables users to do more from the keyboard while navigating around the List View, instead of having to jump back into the block settings menu or editor canvas. Users can now click twice on the selected (or focused) block or multiple blocks to quickly duplicate them all in one go.

    video credit: Gutenberg GitHub repository PR #53559

    These highlighted features and more will be landing in the upcoming WordPress 6.4 release. Check out the Gutenberg 16.6 release post for the full list of new features, enhancements, bug fixes, and improvements to performance and code quality.

  • GoDaddy Retires Media Temple Brand

    Media Temple (MT) is closing its doors after 24 years in the hosting industry, with the brand now retired and customers fully migrated to GoDaddy. In 2013, GoDaddy acquired MT “to win the hearts and minds of developers,” as then-CEO Blake Irving told VentureBeat at the time. When it was purchased, the highly regarded brand was focusing on advanced technical services that GoDaddy had not yet adapted, and the plan was to have MT operate independently with no changes for employees or customers.

    The year following the acquisition, Media Temple launched its managed WordPress hosting product, joining the ranks of Flywheel, Page.ly, WordPress.com, WP Engine, and a handful of other companies that were working to elevate the hosting experience for WordPress users.

    In December 2022, MT announced it would be retiring the Media Temple brand and transitioning accounts to GoDaddy, while subtly acknowledging the sentimental place MT holds in many of its customers’ hearts:

    Since joining GoDaddy, we worked hand-in-hand with them to incorporate the best of Media Temple into offerings, including improving GoDaddy’s customer experience and leveraging Media Temple’s unique expertise on what it truly means to run a world-class hosting organization. If you closely examine GoDaddy’s hosting offerings, you will find Media Temple’s fingerprints all around. From specialized teams who deal with complex hosting issues to programs like GoDaddy Pro specifically targeting creatives, Media Temple made its mark on GoDaddy.

    Fans bid the brand farewell on Twitter, as its retirement marks the end of a chapter in web hosting history.

    In February 2023, Media Temple began migrating accounts to GoDaddy, with no action required from customers. Many of the products and services were already fulfilled through GoDaddy, decreasing the number needing to be migrated.

    Now that the process is complete, the brand will discontinue operations and move current resources into supporting customers inside GoDaddy. The company assured former MT customers that they will retain their current products and pricing for equivalent products with access to more tools.

  • #89 – Scott Kingsley Clark on Why the Time Is Right for the Fields API

    Transcript

    [00:00:00] Nathan Wrigley: Welcome to the Jukebox podcast from WP Tavern. My name is Nathan Wrigley.

    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, why the time might be right for the Fields API.

    If you’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 forward slash feed forward slash podcast. And you can copy that URL into most podcast players.

    If you have a topic that you’d like us to feature on the podcast, I’m keen to hear from you, and hopefully get you all your idea featured on the show. Head to WPTavern.com forward slash contact forward slash jukebox. And use the form there.

    So on the podcast today, we have Scott Kingsley, Clark.

    Scott is a WordPress developer who has been working with WordPress since 2007. He’s well-known for his work on the Pods Framework, a popular content and custom fields plugin.

    Scott’s goal is to find ways to enhance the WordPress experience, particularly in terms of working with different types of data. He’s currently involved in the WordPress Fields API project, which aims to provide a better solution for developers looking to wrangle their data. And that is the focus of the podcast today. As you’ll hear, Scott is determined to contribute to the continual growth and improvement of WordPress, and to make the Fields API a reality.

    Scott came from a background using Drupal, which is an alternative CMS. When he first ventured into WordPress, he found certain features were lacking. Things which were baked into Drupal Core were not available in WordPress, a notable example being custom fields.

    We know that WordPress has a myriad of plugins, which can take on the burden of creating custom fields, but Scott has concerns about the interoperability of these plugins, and he wants to create a more solid structure within WordPress itself. Wouldn’t it be nice if there were ways for developers to create custom field plugins so that you weren’t locked into one or the other. Scott imagines a future in which you could move from ACF, Metabox Toolset and more. A future built on top of the Fields API.

    Throughout the conversation, scott talks about his passion for incorporating the block editor, React and other technologies into WordPress. He shares insights on controlling block settings, making them extensible through PHP.

    You might know Scott from his work on the popular Pods Framework plugin. This plugin allows users to create custom content types and fields in WordPress, and certainly speaks to his credentials in trying to push the Fields API project forward.

    We talk about what the Fields API might become. The aim is to simplify the process of working with custom fields and content types in WordPress. With the Fields API, Scott hopes to unify the different methods and APIs for managing custom fields, making it easier for developers and non-developers alike to add their fields to different screens within WordPress.

    It’s a complicated undertaking and we get into some of the areas of WordPress, which might benefit from his work. Scott sheds light on the challenges faced during the development of the Fields API, the need for shared storage standards among plugins, and the potential for better integration with the WordPress Admin UI.

    Towards the end of the podcast we talk about the future of the Fields API project, and how gaining support from people in the WordPress community will be crucial to its success.

    If you’re interested in how WordPress can be used as a fully featured CMS, this podcast is for you.

    If you want to find out more, you can find all of the links in the show notes by heading to WPTavern.com forward slash podcast, where you’ll find all the other episodes as well.

    And so without further delay, I bring you Scott Kingsley Clark.

    I am joined on the podcast today by Scott Kingsley Clark. Hello Scott.

    [00:04:53] Scott Kingsley Clark: Hey Nathan, how’s it going?

    [00:04:55] Nathan Wrigley: Yeah really good. Thank you for joining us on the podcast today. We’re going to get into the weeds a little bit with WordPress code and all sorts of things. We haven’t had one of these episodes for a little while so this will be nice and refreshing.

    Scott, given that we’re going to be talking about something technical I suppose it would be a good thing right at the beginning to learn about your technical expertise. The various different projects that you’ve touched in the WordPress space during the time that you’ve been in that. So just yeah a little moment for you to offer up your bio really. So over to you.

    [00:05:24] Scott Kingsley Clark: Well sure. I started working with WordPress in about 2007 or 8. I used it briefly once before with a one click install from cPanel before that, but I didn’t really like it at the time. And I was doing many other things.

    But ever since that point I have been really involved with trying to make WordPress the best that it can be. And that has evolved through plugin development. One of the plugins I’m more known for is the Pods Framework. And that is a content type, a custom field plugin for WordPress. But I’ve also tried to find ways to make it easier for other developers to build things without needing a plugin. Because a plugin like Pods existed before custom post types had a real API.

    But now that it has a real API you don’t really need a plugin like Pods to just make a custom post type. And the goal for me is, I’d love to see a better way to work with those types of objects inside of WordPress that have very different APIs, or in some cases no API at all. You just have to output your own markup and hook into some hooks. And it’s not really great.

    Especially in this day where we have everything exposed to the Rest APIs. And you want to build really cool blocks, but you can’t leverage some data from different structures that don’t exist. So that’s where I’d love to find ways for WordPress to level up.

    In this particular project of mine, is the WordPress Fields API. There is a group of us who have kind of rebooted it, but it existed in 2000 and, I want to say 14, 15, 16, 2017, all through those years. And we had made some progress, made a few different proposals and it just got stuck up in the process of getting the block editor and Rest API.

    And there was just so many more bigger features that were getting the priority, and it kind of burned me out. And I didn’t find anyone else to carry the torch so it just went away. And just the start of this year we started up again.

    [00:07:30] Nathan Wrigley: What was the reason that it went away? You mentioned there that there were a whole variety of different things going on at the same time. So was it that the community’s focus just seemed to be more interested on other things? And so despite the fact that you were putting in the time, and you obviously just described that it burnt you out a little bit. There just wasn’t enough interest because attention was being put elsewhere.

    [00:07:53] Scott Kingsley Clark: Right. Well Fields API owes so much to WebDevStudios and 10up who offered a lot of my time on the clock. They donated my time towards developing the Fields API and pushing it forward. And at 10up we were really, really close. We got the closest we had been at that point because at 10up we had a really awesome contributor for WordPress. A core committer, Helen Hou-Sandi.

    And that got us really close, but I think it just was that I was practically speaking for Fields API and saying, we should do this, we should do that, and it just wasn’t hitting. It wasn’t hitting right for them. Or the people who were involved in making decisions on what was going to make it, or what was going to get the attention or whatever, just didn’t feel it yet.

    And I can understand that. I mean there’s so much that everyone is trying to do for each release. And I kind of assumed that if I built as much as possible and showed it as a really thoroughly working prototype with tests and everything else. And I just handed it to them and said hey here it is. Can you help me make this part of WordPress Core? Do you have any feedback? And when I did that I guess the biggest problem was I hadn’t really involved all those same voices at that point prior to actually doing the development of it.

    So I had some input from a few different core contributors and committers and such. But as soon as I pushed out that final proposal in 2017 we got so many detractors and people saying, oh we should have done this differently or, why is it like this? And I would have done it this way. And it kind of did not get the consensus that I was needing for it to gain further traction. So we’ve kind of approached it differently in this reboot.

    [00:09:42] Nathan Wrigley: Okay, right. So you did a lot of the work, you put it out there but the feedback that came back didn’t exactly encourage you, let’s put it that way. There were people who just would rather it had been done in their way. I’m guessing that that’s because there are loads of different ways that this type of problem has been tackled I guess on a more or less on a per plugin basis. There’s probably hundreds of plugins out there that do something similar. They do it their way. And so they presumably think that their way is the way that it should be done.

    [00:10:15] Scott Kingsley Clark: Right. I mean there’s so many plugins like ACF and Pods and Toolset, so many more at comparewp.org slash cck. Which is like a really cool comparison list of all these different types of plugins. But there’s so many that each one has their own baked in API for managing fields in WordPress.

    And it’s just bonkers that everyone has to build all these APIs, and in the end they’re almost it’s forcing the need of having to build their own APIs because they won’t accept anything else other than the one that they built. And I think that it’s tricky with developers and egos and everything else. We all have to kind of find a way to, you know, what is the minimum bare essentials API that we could build for this and find a consensus on that.

    [00:11:01] Nathan Wrigley: So I guess this time around the community involvement is going to be there. You’re going to do this much more in the open. So that as you are going along presumably ideas are chipped in, rather than it just being one great big release at the end where everybody gets to either agree or disagree.

    [00:11:18] Scott Kingsley Clark: Right yeah. We tried to do that before but I think the challenge was we moved so quickly. I built so much code and I had made a specification ahead of time. But really the time wasn’t spent in the research specification side to get a consensus at that point, with not just the people who were involved but everyone else. Making sure everyone else had a moment to do that.

    I guess when people just look at a specification like oh, I’ll just look at it later on when he has something for me to look at. And so it just gets delayed. And I’m hoping that this time I can find ways to intuitively make it so people will actively and proactively be part of that process and give feedback

    [00:12:01] Nathan Wrigley: So given that you’ve restarted it, what reinvigorated it for you? Where did your curiosity for something that has been dormant for quite a number of years now. What on earth was it that brought you back to seeing this as a worthwhile use of your time?

    [00:12:16] Scott Kingsley Clark: Since 2017 I’ve had kind of dark years in my contributing to WordPress Core, and just feeling like, well I can’t get anything big done so maybe I shouldn’t spend my time on it. And just the amount of time I’d spent on it had taken away from my full time work and my side projects.

    I’m just like, well if I’m going to do this I really need it to be something I believe in. And up until the start of the year I just didn’t really feel like it was going to be possible. And then Joe Dolson, from the accessibility team was talking about how their team was looking at trying to revitalize the settings screens.

    And one of the biggest challenges were their setting screens are hard coded in a lot of ways. And there’s not really an easy way to just like, here let’s try out this different interface. Let’s try this interface, this markup. We’ll change this markup here. And it’s very difficult to produce different markup inside of WordPress Core right now for a lot of screens really.

    And more importantly for them, it’s not even using the Settings API the same way as most people are building things with the Settings API. And they hooked up with me because Courtney Robertson, a really awesome Dev Rel person, has just connected me with Joe at the end of last year I believe. And we just started talking about it, like hey this would be really cool if we had this Fields API stuff that you were thinking about before.

    And I was like well I don’t know. And then as they discussed it with really the focus on accessibility I was like, you know what accessibility is such a big priority to me that I think it kind of overrides my initial thoughts about well I don’t know if I can get this into Core. Because I thoroughly believe in spending more time on accessibility for lots of different plugins. Especially for WordPress Core and the block editor. And if I can help push that forward I feel like I’ve done something better with my time.

    And at that point I was like yeah I’m in. We’ll focus on the Settings API, just on that. And we’re not going to like build all the different screens and API prototype that we had done before. Until we get the Settings API, let’s focus all of our energy on doing that for the Settings API itself.

    [00:14:26] Nathan Wrigley: So that all kicked off again at the beginning of this year, 2023. And I’m staring at a page on the Make WordPress Core blog, which you wrote right at the beginning of the year, january the 9th. You’ve posted a video there of you, and I think the four other people on the call. So right at the very start of this year, five people involved at the very least.

    How has the project been growing? Has it caught the attention in the way that you’d hoped? Have there been people coming along to assist? One of the enterprises of this podcast episode is obviously to swell the number of people, but it would be quite nice to know how it’s going just prior to that.

    [00:15:04] Scott Kingsley Clark: So as with a lot of these kinds of initiatives it all depends on the time you put in, as someone who has the vision and leads it. And my time on the Fields API had been kind of reduced, just right after this. The economy started having some challenges in the tech space, and job security was a concern in a lot of areas for a lot of people, especially me.

    And so I didn’t have as much free time to focus on that. I was focused on my work, keeping my head down and making sure I was doing all my things. And I just didn’t have enough headspace for it. But I knew that if I could really spend a great deal of time this summer on the Fields API, getting it prepared, getting it to the next phase, so that we have something solid. By the time it is time for Community Summit contributor day for WordCamp US we have a solid chance.

    And then something came out of nowhere. On the Make WordPress dot org core, blog I saw a post come through. And I’ve been watching posts there all the time and sometimes I’ll provide feedback. But this one was unique. This one was talking about revamping the Admin UI. And now I’m getting all sorts of excited and I’m thinking to myself, oh this is my time.

    Like, if I can get the Admin UI perspective on the Fields API, I think this could even help us further, pushing this forward. Because if you want to approach redoing the Admin UI you have to expose these kinds of fields and forms and screens in a way that is more dynamic than it is right now. And that is a sweet spot for the Fields API.

    So I posted on that blog post. I asked Matias, hey can we have Fields API? Please, please, please be part of this conversation. I would love to talk to you more about it. And so we’re probably going to talk about it at WordCamp US, some time during that week. And my hope is we’ll get this really pushed further. Because it takes buy in from the vocal people in WordPress. And I think I’m beginning to see more buy in. And that is really a positive thing for me.

    [00:17:12] Nathan Wrigley: Sounds like a really nice bit of serendipity there. Couple of things happened, and the chance of the Admin UI being overhauled kind of sits perfectly doesn’t it. That really would be the moment.

    It is a dramatic change that’s being proposed. And so I guess if you’re going to go all in on changing the Admin UI, well now would be the time to get all of the fields work done as well.

    It just occurs to me that given the audience that listen to this podcast, there’s a fair smattering of developers no doubt. But also there’s people who are just into WordPress. You know, it’s a hobby. They perhaps do it as a side gig or something.

    So maybe we should rewind and do some explanations about what on earth an API for fields would even do. Why is it even needed? I’m suspecting that many people log in to their WordPress website, certainly since the advent of Gutenberg. And more or less everything that they want to do, publish posts, schedule posts, that’s possibly the extent of it all. It functions.

    So I’m imagining there’s a proportion of people listening to this going, well, what even would this be needed for? Describe a scenario where this would be useful. So, let’s cover that out. What is the Fields API? How would it change what WordPress does?

    [00:18:25] Scott Kingsley Clark: Sure. So let me preface my answer with, there’s a reason why there’s so many plugins out there doing content types and custom fields. There’s a reason why Advanced Custom Fields has millions of active installs. And tons of people have paid for the pro premium versions of these kinds of plugins.

    Now I’ll get into the real answer. This is an incredibly complicated dance. Whenever you want to go add a custom field to a post, or let’s say you’re building a site, a hobby site. I use the book analogy a lot, but let’s talk about music, because I love music too.

    So you’re setting up a site for your music and maybe you’re an artist, a solo artist or a band. And you’re trying to set up a list of albums. And so you’re like well, how do I add albums? You could add that in the block editor. No problem, no issues there. But then what if you wanted to make it more data oriented.

    So if you wanted to do that you’d have to go register a custom post type for album, for instance. Maybe a custom post type for tracks, if you want to relate them to albums in some way. And maybe a custom post type for other things. Maybe custom taxonomies for other items that you want. But the challenge there is not really in the content type. It’s in the custom fields you want to add to that.

    Inside of WordPress, I counted it up recently, there’s somewhere between 16 to 17 different APIs and hooks that are totally different from each other, to add custom fields or settings to different areas on all the different screens, and different objects inside of WordPress. That is a lot. So adding a custom field means you have to go add an action inside of PHP.

    First of all you have to know PHP and kind of know where to put it. Second of all you have to then go add action to add a meta box. Then you have to add your code to render all of your fields markup. So you have to add your HTML in there and have it do that. Then you have to add an action to handle the saving.

    And then at that point you’re probably going to be looking at doing more things for taxonomies possibly. So you have to work with another action there. You have to add things there and it doesn’t look great. So then you have to add more markup. And it’s a lot for someone who just wants to build.

    So you just mentioned that there’s a number of developers listening to this right now. But there’s a lot of people who aren’t really considering themselves developers. They’re just people building sites and they don’t really have time to dig into the code. Or they don’t want to tell their client they can do this if they can’t build it custom, they would have to pay someone else to do that. And they want to avoid that cost. So they’re going to use one of these off the shelf plugins, like Advanced Custom Fields.

    Why would you spend five hours building your albums and tracks and things like that in PHP? The trial and error and figuring out the markup and, why is this not working? And then coming back to it later on and spending another few hours trying to debug something that happens. And then displaying it all on the front end. Why spend all that time when you can just install a plugin and just click a few buttons? And boom, you have another post type and then you have your fields already displayed. And by the way they look really nice. Why would you spend that time?

    So this is more of a feature, or more of a project geared towards developers so that it makes them spend less time on their side of things. And it unifies all 16, 17 of these methods and APIs to work with all these different screens.

    But what the end result would be is anyone using WordPress could then be using a plugin, or potentially use code snippets very easily without having to have a whole lot of knowledge. And be able to add a field to different screens without a whole lot of code, or whole lot of PHP experience. And these types of plugins like ACF, and Pods, and Toolset and various others, they could then leverage the Fields API if they’re supporting that WordPress version that includes it. They could leverage this Fields API in a way that reduces the code that they actually have to have inside their own plugins.

    And at the same time that makes it so WordPress itself, the REST APIs, everything that talks with the Fields API, then knows about the structures you’re registering.

    It’s a hand in hand, win-win scenario for end users who benefit from the stability, and the flexibility, and extensibility of those APIs in place. And developers who want to be able to utilize those things.

    [00:22:54] Nathan Wrigley: Have you any experience with other CMSs? We could probably list off half a dozen or more other CMSs. But certainly some that I have used in the past, a lot of these kind of features are baked into the core product. So the ability to add custom fields to, well it may not be called a custom post type over on that particular platform but you get the idea. It is already built in, if you like.

    You mentioned that you want to have this pushed to Core. Do you see that other CMSs are potentially stealing a march on WordPress? WordPress has traditionally been very good at giving 80% of the people what they want. So there is some argument as to whether or not some things should be added or some shouldn’t. But do you feel its been lacking this? And really a lot of other rival CMSs have been doing this for years.

    [00:23:42] Scott Kingsley Clark: That’s a very good point. The plugin Pods was one of the first ones that did custom content types and custom fields for WordPress in a way that mimicked, and this is in 2008, the end of 2008. It mimicked Drupal at the time.

    Drupal has a major feature called, what they called CCK, which was Content Construction Kit. I think that was what it was.

    And so what value that API had for Drupal was that it would let you do the kinds of things you’re seeing be possible with plugins like Metabox or whatever else, you can use code, and ACF to register your groups and fields, and you can use code to register custom post types.

    So you don’t have to use the UIs. You don’t have to provide a bunch of JSON. You can just register those things through PHP. And Drupal has had this for many, many years. It’s coming up on almost 20 years now that it’s had a feature like CCK. And that is not really that Drupal is ahead of WordPress, it’s that WordPress is severely behind. Because it hasn’t really prioritized these kinds of unifying APIs for its screens. I mean obviously WordPress hasn’t.

    If you look at it, it really hasn’t changed a whole lot until block editor. The interfaces and screens really kind of have been what they are. The structure of where things are has been mostly the same outside the block editor.

    Multisite was a big thing, but the screens themselves they really haven’t changed a whole lot. And I think that is just because we’ve been focused as a project on building features and not looking back at what we’ve done, and finding a better way to represent that. A project like the Admin UI revamp, or even accessibility revamp, could give us that time to kind of be introspective. What are we doing with these screens, and how do we make these things better?

    And backward compatibility doesn’t have to be a hindrance in the Fields API because it can be backward compatible too. It’s just if you want to register the new way you can do that and that is the officially the way that we recommend you do it. It’s just, it works. I really hope that more people see things like Drupal, and there’s so many other plugins, or so many other CMSs out there that have their own kind of CCK situations.

    Because it’s just, you’re building a CMS? Well you’re not going to want to do that the way the WordPress did it way back when. No one’s going to want to do that on purpose. And I think that they all already have their own forms and Fields API processing abilities, because that’s the bare minimum. As a developer, when you’re building something like this you build that. You don’t build all the markup and everything hard coded anymore.

    [00:26:24] Nathan Wrigley: Yeah I was a big fan of Drupal, and I used Drupal exclusively more or less for many years. My first interaction with WordPress was an endeavor to move away from Drupal for a variety of different reasons. And I do remember opening up WordPress and almost being incredulous that I couldn’t achieve some of the things that I was simply able to achieve with a vanilla install of Drupal.

    So custom fields was just trivially easy. It was there, it was baked in. And so I had this expectation, well everybody’s using WordPress it must have, you know, a similar feature set. And so, just flabbergasted that it didn’t exist.

    Of course very quickly found out exactly what you just said. That commercial and also free, there’s plenty of free options as well, Pods being one. That you had to go and find a solution for that. So rather than it being baked into core you’d go out and you’d purchase ACF or you would download Pods or whatever it may be.

    But this sort of feeling that well that’s interesting because I wonder how they’re doing that and if they’re doing it differently than the other one, so if ACF is doing it differently to how Pods is doing it, you could make that spaghetti go in any direction. How am I going to be stuck in the future? You know things that I create with Pods, is that interoperable? Could I start using ACF at a future date on the same website?

    So there’s all of that thrown into it as well. And I guess the endeavor here is to create that basic structure so that everybody can approach it and everybody can start creating these things without the reliance necessarily on a third party plugin.

    [00:28:03] Scott Kingsley Clark: Right. Like if you’re using a plugin like that and the Fields API comes out, there could be a migration thing, or exporting plugin created that exports from Pods or ACF or whatever into the Fields API structure. Much like ACF and some of these other plugins have the ability to kind of export. Maybe the biggest one is Custom Post Type UI. Where it’s just simple. Add custom post types, you add custom taxonomies and you can export that to code.

    And that code works without the plugin. So it just tells it, here is what you tell WordPress to do what you want to do here. That kind of ability to export into just a Fields API code would take your code, your plugin usage of ACF or Pods or whatever, and you could easily switch out into just pure WordPress.

    But also because if it has that ability to use the Fields API at that point you have more interoperability. So you can go between these different plugins more easily because there’s a similar structure we’re all using. And when you’re registering through Fields API you can potentially set like a source, like this is coming from ACF, or whatever you want.

    And then a Pods plugin could say oh hey I recognize you had these ACF fields, do you want to bring them over? The Fields API opens up the door because everyone’s talking the same talk. And we can all talk about things in the same conversation instead of like I need to know the ACF APIs to work with getting the fields out, and I need to know this and then that. And there’s that side.

    But there’s also the storage side. So we’re talking about the way that ACF stores their content. For repeatable fields that can be quite tricky. Flexible content, anything that has to do with data that’s not just a simple single value gets a little bit tricky depending on how you choose to store it in ACF.

    So those sorts of things are more based off of the plugin developers preference. So ACF was developed in a specific kind of point of view, for how they should store the storage. Pods is the same way, we have a specific point of view where it should be stored a certain way. Every plugin will have their own points of view. But if we can settle on the structure of the content fields, the custom fields for each of these objects, and how they’re going to be specified to WordPress, that’s really half the battle.

    Then we can start talking about, okay now that we have this common language let’s work on bringing everyone to the same storage, so anyone can switch between these different plugins and they won’t have to deal with any extra work. We could all agree on a shared set of storage, kind of specification standards really.

    [00:30:35] Nathan Wrigley: The breadth of this project feels like it could be truly enormous because there are fields in all sorts of unexpected places in WordPress. I mean you may not be thinking about them all the time but you know we’ve got post types, and terms, and comments, and settings, and users, and navigation, and the media library and all sorts of different places.

    How are you breaking it down? Is there an order in which you’re going to knock those dominoes over? Are you going for, I don’t know, probably the low hanging fruit of custom post types first, or is the intention to try and get everything done all at once? You did mention accessibility. Perhaps that’s come first because of Joe Dolson’s interactions with you.

    [00:31:17] Scott Kingsley Clark: Yeah. So accessibility is going to be the main driving point for us right now. So we’re focused on the Settings API. If we can get this right and potentially the goal is to get it to the point where we can actually merge it just for the Settings API. Just for the Settings API.

    We have an inside person now, inside of WordPress itself. So now we can start expanding it, and say okay now here’s the proposal to add this to the post types, and to the terms and everywhere else to be powered by the Fields API. And once you have those things powered by the Fields API, the full Admin UI revamp is becoming much more approachable for people who want to switch out the markup there.

    They don’t have to modify core as much to make it happen. They don’t have to duplicate all the code and deal with merge conflicts. It’s just so much more easier when you’re working with data structures that are defined as data structures, and not purely as markup and save handlers like they are in many areas of WordPress.

    [00:32:13] Nathan Wrigley: You’ve been doing this kind of work for years with Pods. So you know you’re incredibly familiar with this. Is there anything during your time working with Pods where you thought, I wish WordPress had this?

    So I’m just wondering if you might try to smuggle into this some unique new feature, not something which we’re already familiar with. You know post types and comments and users. Really that question might go nowhere but I just wondered if there was something innovative that you’ve got. Really I’d love to try this.

    [00:32:40] Scott Kingsley Clark: So I do have something but it’s going to be interesting to see if we can make it happen. So the way that this has been focused on has been replacing existing screens that are kind of hard coded and all that. But we haven’t really talked about, what about the block editor? What about React and all those things?

    And the cool part about that is that if you look at the screen, if you go to the block editor right now, you’re looking at editing a post and you insert a block, like let’s talk about the paragraph block or even a group block. On the right hand side, if you have it open, the inspector control sidebar there. That allows you to control what the block settings are, on margins and adding extra classes if you want to add them to the block.

    And many different blocks have many different settings. And then also you can click over and if you’re looking at the post type, or page post type you’ll see the word post or page up there and there’s a little kind of a tab, and you click that and then you are looking at the object controls.

    So this controls what is going on with the page or post like attributes for the parent, or maybe the date, or the many different things like slug and all that. So both of these areas are areas I would love, not really to sneak in, but I want to get buy in from people. I want to find a way to build these screens, these sets of fields and have them extensible through PHP.

    If we can do this in a way with the Fields API where you could register new sections and controls inside of React, it’s possible. We’re doing this right now. Pods is doing this, ACF, many other block builders are doing this with their blocks, their own blocks APIs. The way that we’re doing it right now is too much. It’s going down the same road of we’re locking ourselves in.

    I want these sections and these controls to be extensible. I want someone to be able to override stuff. I want someone to be able to add new things to them. I want to add something ahead of it or after it. I don’t want to have to know any JavaScript to be able to do the bare minimum for basic controls.

    You can still, with the Fields API even, you could still at that point do all the JavaScript or React stuff you want to build up your own custom controls, and the ways that you want them to display, and special handling for how to work with the blocks and all that. But really the bare minimum ought to be the way that we lower the bar towards developers, new people, new developers.

    But especially at this point, PHP is not getting the love it needs as an API source for WordPress, especially with a block editor. We need to expand that. I think there’s so much potential.

    [00:35:27] Nathan Wrigley: Given everything that you’ve just said, and we’ve now got a real nice full round picture of what it is that you’re trying to achieve, are there any significant roadblocks? I mean obviously hours and coding, the amount of time that it’s going to take you to do all these things, and the amount of people who jump on board the project, that’s a given. Are there any technical obstacles that are in the way that you foresee being problematic?

    [00:35:52] Scott Kingsley Clark: So before, when we built all this stuff in the earlier versions, and I just read, we actually started working on the kind of Fields API idea in 2013. That’s even earlier than I remember. That was back in Freenode, Freenode IRC stuff.

    I think one of the challenges was when we built all the different screens we had to modify WordPress Core files and override them. And as new versions of WordPress would be released we’d have to merge those changes into ours. It’s a headache to keep it up, and keep it updated for every release. And for even maintenance releases to make sure that you’re not breaking something that was changed or fixed inside of WordPress release, and having it so that my prototype should always work with latest WordPress.

    Well that’s difficult because latest WordPress is always changing. I think that’s the challenge is trying to focus not on, like we did before, we had posts, we had terms, we had settings, we had users, we had comments, we had media, we had the customizer. All those different areas were covered.

    We already had those things covered inside of the Fields API code we had before. You could use the Fields API actively to add things to those screens. But that was a lot. That was a lot to deal with. So if we focus on settings, that’s why I’m hoping this reduced focus on setting screens will reduce the amount of pain we have to deal with. Because when we’re merging things we only have to worry about just those settings screens that we’re overriding for WordPress Core. That’s it. And we don’t have to worry about all the different screens and all the different files that we’ve been overriding.

    [00:37:16] Nathan Wrigley: Yeah thank you for that. I mean obviously you would be very warmly welcoming anybody who has listened to this and is intrigued by what you’ve said and thinks, okay I’ve got some technical expertise that I could apply to this project. If that’s the case, where are you hanging out most with this? I’m guessing the Slack channel is probably a good place to start. But maybe there’s some other places too.

    [00:37:39] Scott Kingsley Clark: I really deeply would love to have more contributors. Anyone who can think about things in different points of view for how a Fields API should be built. Things like someone who’s involved with other plugins that do this type of thing. It’s a big plus if you’ve built a Fields API yourself for one of these plugins.

    It’s also a big thing to think about you know just someone who’s not been building those things but maybe someone coming from outside of WordPress, or someone with heavier PHP structure experience. How do we structure the Fields API? And how is that going to look?

    There’s also plenty of room for people who can help write tutorials, or help us write. I think one of my big deficiencies is having time to write up all the great text that we’re going to need for make.wordpress.org core posts about how do we describe what we’re building here, and get people involved and excited?

    What is the proposal going to look like? And how do we lay this out nicely? And those types of things would be also very helpful to have. And you can find all of our efforts inside of Slack right now. So if you go into the WordPress Slack you’ll find us in the core dash fields channel.

    We also have a GitHub that has been totally revamped from the old ones. We now have two different archive repos from the past versions that we had. And now we have this third repo that we’re using that is refreshed and ready to go. It already has some more research already in it and we’re going to start working from that repo now.

    [00:39:03] Nathan Wrigley: That’s perfect. I will make sure to link to those in the show notes. Everything that you’ve mentioned I’ll make sure that it gets a link. But it sounds like not just technical people. There’s also room for people who have skills in, I don’t know, documentation or something that you’ve described. So the door is wide open. This feels like really important work. It would be lovely to get this over the wire. To get some more buy in, and more thoughts from different community members.

    So yeah we’ll round it off there. Scott Kingsley Clark. Thank you so much for chatting to me today. I wish you all the best in getting this into Core in the, well, let’s say near future.

    [00:39:35] Scott Kingsley Clark: I really appreciate you including me and this project in your efforts here to get the word out. I can’t say how much I’m excited. I’m just extremely excited to get this finally pushed up and hopefully emerged into Core. And I am working my behind off this entire month, just to make sure that we can try to get that traction and get it across that finish line.

    [00:39:58] Nathan Wrigley: Well very much appreciated, because everything that you do and achieve will certainly make our WordPress lives a lot better. So thank you, Scott. I really appreciate it.

    [00:40:07] Scott Kingsley Clark: No problem.

    On the podcast today we have Scott Kingsley Clark.

    Scott is a WordPress developer who has been working with WordPress since 2007. He is well-known for his work on the Pods Framework, a popular content and custom fields plugin. Scott’s goal is to find ways to enhance the WordPress experience, particularly in terms of working with different types of data. He is currently involved in the WordPress Fields API project, which aims to provide a better solution for developers looking to wrangle their data, and that is the focus of the podcast today. As you’ll hear Scott is determined to contribute to the continual growth and improvement of WordPress and try to make the Fields API a reality.

    Scott came from a background using Drupal, which is an alternative CMS. When he first ventured into WordPress, he found certain features were lacking. Things which were baked into Drupal Core were not available in WordPress, a notable example being custom fields.

    We know that WordPress has a myriad of plugins which can take on the burden of creating custom fields, but Scott has concerns about the interoperability of these plugins, and he wants to create a more solid structure within WordPress itself. Wouldn’t it be nice if there were ways for developers to create custom field plugins so that you weren’t locked into one or the other? Scott imagines a future in which you could move from ACF, Metabox, Toolset and more; a future built on top of the Fields API.

    Throughout the conversation, Scott talks about his passion for incorporating the block editor, React, and other technologies into WordPress. He shares insights on controlling block settings, making them extensible through PHP.

    You might know Scott from his work on the popular Pods Framework plugin. This plugin allows users to create custom content types and fields in WordPress, and certainly speaks to his credentials in trying to push the Fields API project forward.

    We talk about what the Fields API might become. The aim is to simplify the process of working with custom fields and content types in WordPress. With the Fields API, Scott hopes to unify the different methods and APIs for managing custom fields, making it easier for developers and non-developers alike to add fields to different screens within WordPress. It’s a complicated undertaking and we get into some of the areas of WordPress which might benefit from this work.

    Scott sheds light on the challenges faced during the development of Fields API, the need for shared storage standards among plugins, and the potential for better integration with the WordPress Admin UI. 

    Towards the end of the podcast we talk about the future of the Fields API project and how gaining support from people in the WordPress community will be crucial to its success.

    If you’re interested in how WordPress can be used as a fully featured CMS, this podcast is for you.

    Useful links.

    Pods Framework

    REST API documentation

    Compare WP – Plugin Comparison – Content Types / Custom Fields

    WordPress Community Summit 2023

    ACF

    Meta Box

    Toolset

    Custom Post Type UI

  • WooCommerce Blocks 11.0.0 Adds Product Collection Block in Beta, 10.9.0 Integrates Product Button with the Interactivity API

    WooCommerce is experimenting with improving the store experience through the addition of the Interactivity API to the WooCommerce Blocks plugin. The new API, which was announced earlier this year, will allow developers to build interactive blocks that support frontend experiences where visitors can interact with content without having to refresh the page. The WordPress contributors working on the API are encouraging developers to test it with their own blocks.

    WooCommerce Blocks 10.9.0, released in mid-August, integrated the Product Button with the Interactivity API to support real-time counter updates for the mini-cart, smoother animations, and better transitions from ‘Add to Cart’ to ‘Loading’ status to show the quantity in the cart when a product is added.

    WooCommerce Blocks PR #10006

    The difference is subtle but creates a much smoother shopping experience with nearly instantaneous feedback for the user. Contributors are also exploring how the Interactivity API can be used to improve frontend filters, including the rating, price, stock, and attributes filters. The API will eventually land in Gutenberg and WordPress in the future, but in the meantime WooCommerce is experimenting to see how the plugin’s blocks can benefit from it.

    Version 11.0.0 was released last week introducing the new Product Collection block in beta:

    Like the Products block, you can choose what criteria affect the list of blocks displayed to shoppers and control the product layout in the list/grid by the various element blocks.

    Unlike the Products block, which is a Query loop block variation, this block is a standalone block, enabling us to tailor the block further to better meet the merchant’s needs.

    The Product Collection block is very similar to the Products block from which it was forked, except it is not built as a variation of the Query Loop. It comes with improvements around Inspector controls as compared to the current Products block, as well as a basic set of patterns. The block already has the Interactivity API integrated for the same improved frontend performance.

    Product Collection block – image source: WooCommerce Blocks 11.0.0 release post

    Version 11.0.0 also enables manual migration of Products to Product Collection. An upgrade notice will appear in the Inspector Controls, informing users that they will get more features with the Product Collection block:

    As the Product Collection block is still in beta, WooCommerce Blocks has not yet changed existing templates that have Product blocks. The development team is looking for more feedback on this block before moving it out of beta. Check out the release post for more enhancements and bug fixes.

  • Human Made to Host “AI: The Next Chapter” Virtual Conference on September 14, 2023

    Human Made, a leading enterprise WordPress agency, is organizing a followup event to the community’s first ever AI for WordPress virtual conference that it hosted in May 2023. The second edition is called “AI: The Next Chapter” and will take place online on September 14, 2023, at 10AM EST.

    The first event had 13 speakers and drew more than 600 attendees. It focused on WordPress and AI tools that people are building with the emerging technology. (Videos of all the sessions are available on YouTube.) This next edition will explore some of the wider societal, ethical, and tech issues related to the subject.

    The keynote and intro will feature Matt Mullenweg on “AI and the future of WordPress,” along with Human Made CEO Tom Willmot. Dr. Eleanor Drage, a senior research fellow at the University of Cambridge and co-host of The Good Robot podcast, will be speaking about AI and gender. Open source LLM researchers from Georgian will also join for a panel discussion on why they believe open source AI is the best way for companies to leverage this technology.

    Registration is free and participants can sign up on the event’s website. A confirmation email is sent out to registrants and more information will follow via email.

    Human Made has developed a keen interest in fostering exploratory dialogue through these events, as the company is working on AI products and custom implementations for clients. At the first event, the agency showcased some early work in the Altis Accelerate plugin and have been working with clients to determine how AI can augment existing marketing and editorial workflows.

    “The progress and innovation we’re seeing in AI is so rapid at the moment that it kind of demands you stay close to it, keep following what’s happening, and keep learning,” Human Made Marketing Director Alex Aspinall said. “AI is one of our core areas of focus, across all parts of the business, so we’ll definitely be building, sharing, and hosting more in the space in the months to come. Doing all this in the open is really important to us, so the events are a great platform.”

    During the first event, Aspinall reports that Human Made saw registrations and participation across a wide range of business verticals and role disciplines, with conversations continuing months after the first event.

    “While there are a few businesses and individuals building things, experimenting, and commercializing their work in the area, the vast majority are still finding their way through, figuring out how best to implement AI to deliver tangible benefit to their companies, their clients, their teams, and their day-to-day lives,” Aspinall said.

    “Despite the level of advancement we’ve already seen, we’re still right at the start of this thing, which is really exciting. There’s a lot to learn, and considerable edge available for those experimenting and putting things in place. Imagine what we’ll be talking about this time next year!”

  • Patchstack Reports 404 Vulnerabilities Affecting 1.6M+ Websites to WordPress.org Plugins Team

    After an accumulation of undisclosed and unpatched vulnerabilities in plugins hosted on WordPress.org, Patchstack has reported 404 plugins to WordPress’ Plugin Review Team.

    “This situation creates a significant risk for the WordPress community, and we decided to take action,” Patchstack researcher Darius Sveikauskas said. “Since these developers have been unreachable, we sent the full list of those 404 vulnerabilities to the plugins review team for processing.”

    Ordinarily, reporting plugins to WordPress.org is a last resort for challenging cases after Patchstack fails to find a way to contact the vendors. In this case, many of these plugin authors have included zero contact information in their extensions or are not responding to communication attempts. Patchstack has characterized it as a “zombie plugins pandemic” due to the overwhelming number of abandoned plugins affecting more than 1.6 million sites.

    The WordPress.org Plugins Team has acted on the report by closing more than 70% of the plugins. In June, the team added six new sponsored volunteers and opened applications for more team members but have struggled with managing a formidable backlog of plugins waiting to be reviews. The backlog is climbing higher and is now over 1,119 plugins with a 71-day wait time.

    Adding plugin vulnerability issues, where hundreds have to be closed, only adds to how long developers have to wait to get new plugins reviewed.

    As of August 31, 2023, Patchstack reports the following stats associated with these reports to WordPress.org:

    • 404 vulnerabilities
    • 358 plugins affected
    • 289 plugins (71,53%) – Closed
    • 109 plugins (26,98%) – Patched
    • 6 plugins (1,49%) – Not closed / Not patched
    • Up to 1.6 million active installs affected
    • Average installs per plugin 4984
    • Highest install count 100000 (two plugins)
    • Highest CVSS 9.1
    • Average CVSS 5.8
    • “Oldest” plugin – 13 years since the last update

    Patchstack is urging developers to add their contact details to their plugins’ readme.txt and/or SECURITY.md files. To streamline security issue management, the company has created the Patchstack mVDP (managed vulnerability disclosure program) project, which is free for developers to join. Patchstack validates the reports that come through, rewards the researchers, and passes them to the vendor to be addressed.

    The company is also advocating for a dashboard alert when a plugin or theme is removed due to security reasons, as WordPress does not currently give the user this information. Their researchers will soon be submitting more reports that may result in closed extensions.

    “We are preparing more similar lists for the WordPress.org themes repository and repositories focused on premium products,” Sveikauskas said. “We are currently processing about extra 200+ similar vulnerabilities.”

  • Review Signal Publishes 2023 WordPress and WooCommerce Hosting Performance Benchmarks

    Kevin Ohashi from Review Signal has published his 2023 WordPress and WooCommerce hosting performance benchmarks. This is his 10th round of capturing performance data from hosting companies that opt into the testing. Ohashi’s methodology tests two metrics through a variety of methods: peak performance and consistency.

    The benchmarks include a LoadStorm test designed to simulate real users visiting the site, logging in, and browsing (uncached performance). They also test cached performance, SSL, WP queries per second, performance on some computational and database operations, and a WebPageTest that fully loads the homepage and records how long it takes from 12 different locations around the world. As part of the consistency testing, Ohashi also measures uptime using HetrixTools and Uptime Robot for a minimum of three months.

    Participants pay a standard, publicly documented fee, based on the price tier of the product being tested, to cover the costs. Ohashi does not accept sponsorships for the tests, and has become one of the most trusted sources for unbiased performance reviews of WordPress hosting plans.

    In 2023, Ohashi tested 31 companies across 72 plans and seven pricing tiers, with tests nearly identical to previous years. He made minimal adjustments to the LoadStorm test script to improve performance and make it compatible with newer versions of k6.

    The website makes it easy to review results at a glance by using a star system. Hosts that achieve “Top Tier” status receive a full star:

    This is awarded to companies who maintain 99.9% uptime throughout the entire testing and show little to no performance degradation during load testing, primarily focused on error rate and consistent response times. Error rates above 0.1% and response times above 1000ms* will keep a company away from achieving Top Tier marks.

    The half star indicates “Honorable Mention” status, which is given to companies that came close to Top Tier but fell just short, such as struggling slightly on a load test.

    Among budget hosts in the <$25/month category, the majority of hosts (16/21) rang in at the Top Tier level. Those who did not earn Top Tier status were held back by inferior performance on the the LoadStorm test for the most part, even though several still took top scores in other aspects of the testing.

    There are fewer participants at the $25-50 plan (and other more expensive plans) but the results are similar to the budget hosts, with A2 Hosting, Cloudways, and Stromonic edged out of contention for Top Tier. All three failed to achieve Top Tier for any of the plans tested this year.

    In the Enterprise tier ($500+), the majority of participants handled the LoadStorm test without issue. When testing cached performance, Ohashi found that the overall field of participants is getting faster:

    Excluding Seravo, every company was 33ms average or below and 43ms p95 or below. Compared to last year where the fastest average was 6.4 ms and p95 was 20ms. There are four companies this year below both of those levels. The performance at the Enterprise tier is mind bogglingly fast and getting even faster which is hard to comprehend when last year’s 6.4ms was beaten by 4 plans this year.

    Most of the entrants in the WooCommerce category earned Top Tier status, with the exception of Blallo and Cloudways, both of which stumbled on the LoadStorm test. The hosting plans tested range from $25.95/month – $99/month. The WooCommerce-specific tests collect average response times, total requests, errors, and other metrics across four different profiles:

    • Profile 1 (20%): Buyer – Homepage, add item to cart, go to cart, checkout (doesn’t submit order)
    • Profile 2 (10%): Customer (existing) – Homepage, login, view orders, view account details
    • Profile 3 (20%): Browser – Homepage, visit 5 random product pages
    • Profile 4 (50%): Home – Homepage only

    A more detailed breakdown is available on the WooCommerce benchmarks results page.

    It’s important to note that the tests do not clearly identify a winner or top performer. They also don’t take into account other aspects of the WordPress hosting experience, like reviews, support, and features. Ohashi tests the defaults for all of these plans, but if there are more optimization features that can be customized for sites (which are not clearly outlined in the initial setup) then those are also not taken into account. The methodology simply focuses on performance, so it’s just one factor of hosting, albeit a very important one.

    “As far as surprising results, I keep thinking ‘Are we nearing the point that we won’t see much improvement?’ and each year the whole field gets faster and faster,” Ohashi said. “Even improving on sub 10ms times between years. For example, in the <$25/month tier, in 2022 there were 3 companies with <50ms average response time on the Static k6 test. This year there are 10. I also saw 100ms+ improvements from the other (slower) side bringing up the whole field a meaningful amount. Everyone is getting faster and faster.”

    Why Are Some Managed WordPress Hosting Companies Missing?

    There are many leading WordPress managed hosts that are notably absent from Ohashi’s benchmarks, whose inclusion would be helpful for a deeper understanding of market. I asked him about a handful of them and he reported that WP Engine, Dreamhost, and Kinsta declined to participate this year, to name a few. GoDaddy took a year off but may be back next year.

    The major reasons for hosts not wanting to participate fall into a few categories, and bad performance is chief among them.

    “Some companies perform poorly or poorly relative to price and don’t want to participate anymore,” Ohashi said. “They usually talk about other ‘intangible’ values that you can’t measure. I think good performance should be a default for every hosting company, and good companies shouldn’t be afraid of bad results – if they actually plan on improving their services.

    “But some would probably rather spend fortunes on marketing instead of better engineering, and bad results aren’t going to help their marketing. I personally love seeing companies who participate year after year despite mixed results. I respect the companies who consistently earn Top Tier are doing a great job. But there’s something special about companies willing to put themselves out there regardless of the results, because it’s a public and open commitment to improving.”

    Ohashi said that occasionally the timing doesn’t work out where a host is going through a major engineering overhaul during the testing and doesn’t want the platform benchmarked when they are about to release a new one. In this case some opt to skip a year.

    The costs of the benchmarking can also be prohibitive for some smaller hosting companies. Ohashi raised prices by $250 across all tiers this year (eg. $100->$350, $500->$750) to cover his costs. Although this doesn’t seem like much for a hosting company, they also have to pay for the servers for four months, and have the staff/resources available to work with Ohashi on organizing, executing, and debugging issues. 20i, Krystal Hosting, Nexcess, and Pressable agreed to sponsor upstart companies in the space for 2023.

    Another reason some hosts don’t participate is a lack of interest or value. They don’t see how they can use the benchmark results to their advantage.

    “Some companies don’t get as much value from the benchmarks as others,” Ohashi said. “Performance across the board has gone way up. It’s harder and harder to stand out.

    “I think some companies may view it as an instant validation and reason for customers to come busting down the doors. But there are a lot of great companies offering great performance. Earning Top Tier status means you’ve got a performant hosting platform. It’s great, and it can help validate some customer needs/desires in the decision making funnel, but it won’t magically generate tons of sales.”

    Ohashi said he has put together notes for hosting companies that earned Top Tier status to help them leverage more value this year from a marketing perspective, based on what he has seen some companies do with their results. Creating more value for participating companies is something he is actively working to improve upon.

    Although Review Signal had approximately 35,000 people visit in the past year, Ohashi doesn’t think the traffic captures the full value of the benchmarks very well. The people who dig into these metrics are those who have a large impact on where their WordPress clients host their websites.

    “The people who care about the benchmarks are seriously into WordPress / hosting / performance,” Ohashi said. “It’s a lot of agencies, developers, large website owners and hosting people. One way I’ve measured impact is by going to the major WordCamps (EU/Asia/US) and talking to people. The number of folks who are aware of the benchmarks there was surprisingly high to me. The people who are interested enough to spend time at WordCamps are the same folks interested in reading the benchmarks. It’s not the largest number of people who read them, but it is the largest impact people who read and value them.”

  • Performant Translations Plugin Now Available on WordPress.org

    After an in-depth performance analysis earlier this year revealed that translations can impact server response times, WordPress contributors proposed half a dozen technical solutions for consideration to improve performance for the ~56% of sites that use translations.

    Performant Translations, a feature project by the core Performance Team, is now available as a plugin on WordPress.org. It incorporates some of the proposed solutions and speeds up translations by converting .mo files to .php files, allowing them to be parsed faster and stored in OPcache.

    It supports multiple file formats (.mo, .php, and .json) and multiple text domains and locales loaded at the same time. Existing .mo files get converted to .php files which are then loaded by WordPress.

    A chart included on the plugin’s details page shows a significant page load time reduction when using the plugin, as compared to sites with translations that don’t use the plugin. The plugin brings translations very close to the same page load times as English (non-translated) sites.

    “With enough testing and feedback, we hope to eventually merge this plugin into WordPress core,” Performance Team contributor Pascal Birchler said when announcing the plugin on X.

    “In the coming weeks and months we will share more testing instructions and continue to improve the plugin. This will be made available via Performance Lab, too.”

    Users who are testing the plugin can report issues on the support forum or create an issue on the GitHub repository.

    Performant Translations is considered to be a beta testing plugin but can be tested and used in production at your own risk. It doesn’t require any changes to settings or configuration after installation. The plugin can be safely removed after testing, because it essentially cleans up after itself. All .php files it generates will be removed by the server once the plugin is deactivated and uninstalled.

  • Top Agencies Join Forces to Publish Free Guide on WordPress for Enterprise

    A collection of leading WordPress agencies have launched a collaborative project to promote the platform to large-scale organizations. Big Bite, in partnership with 10up, Alley, Human Made, Inpsyde, and XWP, have published a free WordPress for Enterprise guide that includes contributions from Google and WordPress VIP.

    The guide highlights many high profile companies and organizations using WordPress, including CNN, Vogue, Google, The Wall Street Journal, Spotify, Harvard University, the White House, Meta, PlayStation, and many more.

    Even after 20 years of unprecedented growth and adoption across major brands, the misconception that WordPress is just a blogging platform persists among many who don’t keep up to date with open source software.

    “Despite being the number one CMS, many people still associate WordPress solely with bloggers and small businesses, and are surprised to learn that it powers sites for some of the biggest brands on the planet,” Big Bite CEO Iain McPherson said. “By coming together to create this guide, we’re aiming to change that perception and highlight the many advantages it offers to enterprise organizations that have lots of contributors, lots of content, and lots of challenges.”

    The guide offers an easy-to-read overview of how well-suited WordPress is for the enterprise market and the possibilities for creating a customized platform to fit any organization. It includes short chapters on the following topics:

    • From small blogs to big brands 
    • Open source advantages 
    • Platform security 
    • Scalability and internationalization
    • Solution cost and value 
    • Editorial experience 
    • Performance matters 
    • Feature extensibility
    • Headless capabilities

    “While smaller brands are able to switch CMS platforms fairly easily, for large-scale enterprises it’s often a major undertaking, so we hope this guide makes the decision process much easier for those exploring open source options,” WordPress VIP Director of Product Marketing Michael Khalili said.

    The guide is a useful resource for large organizations examining WordPress as a platform or for small agencies looking to pitch WordPress to larger clients. It’s free and does not require you to enter your email address or other contact information to download it.