In March 2025, I wrote about reviving Remove Empty Shortcodes after letting it collect dust for a few years. At the time, I had rewritten it, added support for multi-line shortcodes, and moved it back to the WordPress plugin repository.
That was version 0.6.0. This is 1.0.0 and it is a much more important release.
What’s new in Remove Empty Shortcodes 1.0.0
The plugin has always worked automatically in the background, silently removing orphaned shortcodes when content is rendered. That is still true. But now there is insight into what it actually finds.
Admin scanner
Below Tools > Empty shortcodesyou will find a scanner that searches your entire site for unregistered shortcodes.

It shows you:
- Which shortcodes are orphan
- How many messages are involved
- The surrounding context, so you can see exactly where everyone lives
There are two views: Via Shortcode (grouped by shortcode name) and By post (grouped by affected content). You can expand each row to see the full context and go directly to the post editor.
Ignore list
Sometimes you want to keep a shortcode even if it is not registered. Maybe you’re planning to reinstall a plugin, or maybe it’s an intentional text placeholder.

The scanner contains a To ignore action for each shortcode. Ignored shortcodes will not be flagged in future scans and the automatic removal feature will leave them alone.
Fixed false positives
This one was embarrassing. The previous version incorrectly removed text such as [at] And [dot]– common patterns in unclear email addresses. If you had user[at]domain[dot]com in a message the plugin would unpack it to userdomaincom.

The solution was simple: use the native version of WordPress get_shortcode_regex() instead of a custom pattern. Now the plugin only hits actually registered shortcodes, leaving everything else alone.
Under the hood
Unit tests
I added a good test suite with PHPUnit and Brain Monkey. There are 46 tests covering the core features, the scanner and the cache manager.
And if you’re not familiar with it, Brain Monkey lets you emulate WordPress features without booting up a full WordPress installation. Tests run in milliseconds instead of seconds. If you write WordPress plugins and haven’t tried them yet, look.
Automated deployment
I finally got the 10up WordPress.org implementation action. Now when I publish a GitHub release, it is automatically deployed to WordPress.org. No more manual SVN commits.
The installation is simple:
- Add your SVN credentials as GitHub secrets
- Make one
.distignorefile that specifies what to exclude - Place your banner, icon and screenshots in one
.wordpress-orgfolder
Tag a release and he will take care of the rest.
Get it
As with most plugins, you can take this one out WordPress.org.
If you are using an older version, update via the WordPress administrator. If you are new to the plugin, install it from the repository and activate it. It’s a big update, but it still works “normally”. That is, there is still no configuration required. The automatic cleanup works immediately. Use the scanner if you want to see what’s happening.
#Whats #Remove #Empty #Shortcodes #1.0.0 #Tom #McFarlin


