Skip to content

The WordPress Block Directory

There has recently been a proposal to introduce a new type of plugin into WordPress. One specifically for editor blocks.

I find this an interesting concept, and I can definitely see some benefits, but there are also some downsides. For starters; block plugins are already a thing. They are collections of blocks that add additional functionality on top of WordPress.

I’m actually thinking about making a block collection myself. One that does things that no other block plugin does currently, but my ideas won’t work under this new proposal.

The proposal is that there will be a simpler block structure. It would use Javascript only, and everything will happen in the editor. This would make blocks easier to develop.

The single block plugins would use a JSON file to define the block settings, and a couple of Javascript files to define the editing interface, and the block structure. Additional files like CSS, and images would also be allowed.

I quite like the idea of having a single consistent interface for installing and managing blocks. It would also make development simpler, and mean people don’t end up installing a massive, complex plugin just for one block. Since the technology is not WordPress specific then blocks would also be reusable in other projects that use the Gutenberg editor.

Whilst the development process for simple blocks will be much easier, there will still be things missing for more complex blocks. In the comments it’s suggested that server side rendering would be useful in many cases. In particular this would be useful for blocks that consume content from third party APIs.

Since the blocks exclusively use Javascript, and content is rendered and stored in the post content, security issues with third party blocks should be reduced. I definitely think there are some positive aspects to this. However I can also see some downsides.

Firstly, I forsee lots of very similar blocks being published. Which will make it much harder for users to decide which one they want to use. How should you decide between container block a, b, and c? They all do the same thing, but they offer different degrees of flexibility?

I can also imagine people spending a lot of time installing blocks that they never use. Based on the mockups the suggestion appears to be that the installation process will take place in the Gutenberg editor. You insert a new block, and then search for what you need. It’s not installed, but here’s a list of blocks you could use. What’s the process for deleting these newly installed blocks? What happens if you decide you don’t like the block you have installed? You install a new one, but the old one is still there? What happens if you need a new block for every post on your site, and then only use it once?

We could end up with a lot of additional code added to our sites, and this code would have to be loaded every time we load the content editor.

Having a separate block library, and installation interface, would cause fragmentation between simple blocks and block collections. It may even hide block collection plugins entirely (at least as far as users are concerned).

Then there’s page speed: each block will need a stylesheet, and maybe a javascript file, to style the block on the public side of the website. These files may be small, but lots of small files will still add up. There will need to be a method to merge these files, and to.ensure they are only loaded when needed.

Finally, commercial blocks: I suspect the team have considered this but it’s not mentioned in the announcement post. By only allowing Javascript, and restricting what that code does, developers won’t be able to sell blocks. I’m sure there’s a lot of people who would be happy about this. Free stuff is great after all. But how do developers get credit for their creations? Where’s the incentive to make blocks if nobody knows who made it?

Not everything has to be commercial, and I’m sure there are very talented people who will make some awesome free things. But often, when you introduce money, you get more creative, innovative, polished products.

There were plenty of free contact form plugins before Gravity Forms appeared, but none of the free contact forms are quite as good.

The block collection I want to make will have both a free version, and a paid version. I’d love to be able to make everything I do free – but I can’t afford to. Giving stuff away is a great feeling. But I have a wife and child and a mortgage to take care of! So I will host my collection in the plugin repo.

But – this will contribute to the fragmentation, and could cause user confusion since they won’t be able to install my plugin through the normal interface. Perhaps it won’t be worth my time to make the collection? I guess we’ll see in time.

Normally I don’t advocate reading comments online, but in this case the post has a lot of thoughtful feedback and it’s well worth reading them to see what the initial feedback from the community is.

This story first appeared in MasterWP, a weekly newsletter for WordPress professionals.

Categories

WordPress

Ben View All

Ben is a lifelong Nintendo fan who also likes to build websites, and develop games. He also buys way too much Lego.

Leave a Reply

Your email address will not be published. Required fields are marked *