Home » Blog » Bulk Meta Editor

Bulk Meta Editor

Bulk Meta Editor Plugin Screen
Bulk Meta Editor Plugin Settings Page

Let’s talk about the Bulk Meta Editor plugin here. How it came to life and what it solves. If you’re looking for the guide, click here.

My primary role in the company is mostly implementing SEO works, but I’m a web developer by profession.

The Idea

It was a sunny afternoon. I thought to myself on how can I improve my own workflow.

It’s the same repetitive task everyday and as a programmer, I have to find ways to solve that problem efficiently.

It is becoming a problem to me because I have to work over a hundred website in a month. Changing SEO title and description.

Most of my projects are using WordPress to run their website and mostly used Yoast SEO plugin for their SEO.

So I’ve tinkered around the SEO plugin looking for a way to change the title and the description in bulk.

After some time, it was no luck. They have the feature, but it wasn’t convenient and pretty cumbersome, I’d say. It just doesn’t suit my use case.

I need something that I can change all of the title and the description in one place, and on a click of a button.

So I have then the idea to develop Bulk Meta Editor. I decided to learn WordPress plugin development. This is my first time developing WP plugins.

The Development

The first time I looked at the documentation is that it’s confusing for me. The learning curve is between medium to hard because there aren’t a lot of guides or examples within the documentation.

You have to be very specific to WordPress problems you came across. You need to make sure that it’s for the development part, especially when googling it.

So the idea is to support Yoast initially or out of the box because they are just popular. They also make up more than 70% of the websites I’m handling.

I’ve looked up on the internet if Yoast has an official API for manipulating their data. Fortunately there is, but it doesn’t suit my requirements. I need to be able to manipulate the data from the database. However, their API just uses filter hooks to mutate the data before being outputted.

The research doesn’t end there. I have googled and even looked up through Yoast’s source code. Fortunately, I was able to find a good source that hinted me where they were storing the SEO data. It was in the post metadata table.

It was really a journey and it was very rewarding. An Aha moment for me.

Then I have started planning it’s process. Planned how its algorithm would be to solve the problem.

Developing through WordPress has been very interesting because it’s event driven development. You really have to understand WordPress hooks.

If you have a grasp of it, then working with WordPress environment would be much easier.

The Process

Let’s talk about how the plugin works in the background.

It starts by processing the uploaded CSV file. It reads the file and then loops through the rows of the file.

The URL on the first column is then converted to an associated post ID through the use of the built-in url_to_postid() function in WordPress.

The ID is what we need as a reference when storing the data on the post metadata table.

Through the update_post_meta() built-in function, we can store/update the data supplied. The function either store a new data if the referenced ID isn’t found or update the existing key.

If there’s a data on a the column of the CSV file, then it will fire update_post_meta() function for that specific column (title, description, canonical, noindex, or no follow).

The data then gets updated and Yoast plugin will do the rest. Not as complicated as you think, right?

Editor Flavors

The PRO version is still in active development while the normal version is ready to go and is on its early stable version.

Here’s some differences between each versions depending on your requirements you might want to upgrade to PRO.

Normal Version:

  • Checks if Yoast is active or not.
  • Supports Posts & Pages – able to update SEO data on these post types.
  • Supports Custom Post Types.
  • No limit on how many rows you can process on a single CSV upload, but take note that it doesn’t process it by chunk automatically so I recommend to upload 50 entries at max per upload.
  • Updates the Title, Description, Canonical, and Meta robots directive such as nofollow and noindex.
  • Partially Supports WooCommerce. You can only bulk update the product pages.

Pro Version:

  • Checks if Yoast is active or not
  • Supports Posts & Pages
  • Supports Custom Post Types.
  • Efficiently handle large CSV files by dividing it into pieces and process it by chunk [upcoming milestone, won’t be on initial release/version]
  • Updates the Title, Description, Canonical, and Meta robots directive such as nofollow and noindex.
  • Fully supports WooCommerce. You can update product pages, and product categories.
  • Supports Categories & Tags

Buy the PRO version here

And that’s it. The Bulk Meta Editor plugin was born. It was really an enjoyable and rewarding journey. I hope this plugin is useful to you as it was in mine.

See you!

Share that awesome idea!

Your email address will not be published.