Title: Remove Empty Shortcodes
Author: Tom McFarlin
Published: <strong>مارس 24, 2025</strong>
Last modified: ژوئن 29, 2026

---

Search plugins

![](https://ps.w.org/remove-empty-shortcodes/assets/banner-772x250.png?rev=3455510)

![](https://ps.w.org/remove-empty-shortcodes/assets/icon-256x256.png?rev=3455510)

# Remove Empty Shortcodes

 By [Tom McFarlin](https://profiles.wordpress.org/tommcfarlin/)

[Download](https://downloads.wordpress.org/plugin/remove-empty-shortcodes.1.2.0.zip)

 * [Details](https://haz.wordpress.org/plugins/remove-empty-shortcodes/#description)
 * [Reviews](https://haz.wordpress.org/plugins/remove-empty-shortcodes/#reviews)
 *  [Installation](https://haz.wordpress.org/plugins/remove-empty-shortcodes/#installation)
 * [Development](https://haz.wordpress.org/plugins/remove-empty-shortcodes/#developers)

 [Support](https://wordpress.org/support/plugin/remove-empty-shortcodes/)

## Description

Remove Empty Shortcodes helps maintain clean content by removing shortcodes that
no longer work or generate output. This commonly happens when:

 * You’ve deactivated a plugin that provided shortcodes
 * You’re trying different plugins and some left behind inactive shortcodes
 * You have shortcodes from plugins that weren’t properly uninstalled

#### Key Features

 * Automatically removes inactive shortcodes from displayed content
 * Preserves your original content in the database
 * Works with all public post types
 * Handles both self-closing and wrapped shortcodes
 * Admin scanner to find and review unregistered shortcodes
 * On-demand scanning with cached results
 * Ignore specific shortcodes you want to keep
 * Zero configuration required for automatic removal

#### How It Works

The plugin checks your content for shortcodes when pages are displayed. If it finds
shortcodes that:
 * Don’t produce any output * Aren’t registered with WordPress *
Are empty or inactive

It removes them from the displayed content while keeping your original content intact
in the database.

#### Use Cases

 * Clean up content after removing plugins that used shortcodes
 * Remove inactive shortcodes without editing posts manually
 * Maintain clean content for readers and search engines
 * Preserve original content in case you reinstall removed plugins

## Screenshots

[⌊Scanner ready to scan your content for unregistered shortcodes⌉⌊Scanner ready 
to scan your content for unregistered shortcodes⌉[

Scanner ready to scan your content for unregistered shortcodes

[⌊Scan results showing unregistered shortcodes found across your site⌉⌊Scan results
showing unregistered shortcodes found across your site⌉[

Scan results showing unregistered shortcodes found across your site

[⌊Expanded view showing context preview and edit options for each shortcode⌉⌊Expanded
view showing context preview and edit options for each shortcode⌉[

Expanded view showing context preview and edit options for each shortcode

[⌊By Post view showing all affected posts with their shortcodes⌉⌊By Post view showing
all affected posts with their shortcodes⌉[

By Post view showing all affected posts with their shortcodes

## Installation

 1. Upload `remove-empty-shortcodes` to your `/wp-content/plugins/` directory
 2. Activate the plugin through the ‘Plugins’ menu in WordPress
 3. That’s it! No configuration needed

## FAQ

### Will this modify my database content?

No. The plugin only filters content when it’s displayed. Your original content remains
unchanged in the database.

### What happens if I reinstall a plugin that uses the removed shortcodes?

Since your original content is preserved, the shortcodes will start working again
automatically when you reinstall the plugin that handles them.

### Does this work with all shortcodes?

Yes, the plugin works with any WordPress shortcode, whether from themes or plugins.

### Will this affect shortcodes that are working correctly?

No. The plugin only removes shortcodes that are either unregistered or produce no
output.

### Is there any configuration needed?

No. The plugin works automatically once activated.

### How do I find unregistered shortcodes on my site?

Go to Tools > Empty Shortcodes in your WordPress admin. Click “Run Scan” to search
all your content for shortcodes that are no longer registered with WordPress.

### What does “Ignore” do in the scanner?

Ignoring a shortcode adds it to a global ignore list. The scanner will no longer
flag that shortcode, and the automatic removal feature will leave it untouched. 
Use this for shortcodes you intentionally want to keep.

## Reviews

![](https://secure.gravatar.com/avatar/b1b8a6a3ac0ad25cd0dd9d59c9d600e75ac65da9d1e29045081b652c6260c0dd?
s=60&d=retro&r=g)

### 󠀁[A great plugin for something that seems like it should be default behavior!](https://wordpress.org/support/topic/a-great-plugin-for-something-that-seems-like-it-should-be-default-behavior/)󠁿

 [Scott Anderson](https://profiles.wordpress.org/room34alt/) ژوئن 29, 2026

There are a few things WordPress does by default that are a bit of a mystery to 
me, and one of them is how it will just print unregistered shortcodes directly in
the page. I get that it’s not always right to assume that text in square brackets
is a shortcode, but it seems like there should be some kind of built-in way to deal
with this. Enter Remove Empty Shortcodes. I’ve built a few plugins like this myself,
and I was about to once again, until I came across this plugin. My specific situation
is that I’m helping a client migrate away from a site that was built using a certain
page builder plugin. Their post content is filled with layout shortcodes from that
plugin. Ultimately we are going to need to edit them out, but it’s nice to just 
have a way to display the posts in the meantime that doesn’t look like absolute 
garbage, so we can move forward with the migration. As it happens, this plugin did
not initially handle shortcodes that wrapped content, so I submitted a support request,
and within a couple of days, the developer had added the feature. So, great plugin,
and great support!

![](https://secure.gravatar.com/avatar/e7e6f2288d65421cddf9d41fdc55a4fa1ff6b54933ae9f8a74457b8d6e9ebe05?
s=60&d=retro&r=g)

### 󠀁[Seems to work](https://wordpress.org/support/topic/seems-to-work-65/)󠁿

 [CMG](https://profiles.wordpress.org/seraphyn/) مارس 27, 2025 1 reply

Would be great to have an option to delete them from the database , too Of course
with a backup before. This will make an export to Markdownblog much easier

 [ Read all 2 reviews ](https://wordpress.org/support/plugin/remove-empty-shortcodes/reviews/)

## Contributors & Developers

“Remove Empty Shortcodes” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ Tom McFarlin ](https://profiles.wordpress.org/tommcfarlin/)

[Translate “Remove Empty Shortcodes” into your language.](https://translate.wordpress.org/projects/wp-plugins/remove-empty-shortcodes)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/remove-empty-shortcodes/),
check out the [SVN repository](https://plugins.svn.wordpress.org/remove-empty-shortcodes/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/remove-empty-shortcodes/)
by [RSS](https://plugins.trac.wordpress.org/log/remove-empty-shortcodes/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.1.0

 * Fixed: inactive/unregistered shortcodes (for example, layout shortcodes left 
   behind by a deactivated page builder such as WP Bakery) are now removed on the
   front end, keeping the surrounding text.
 * Fixed: the scanner now finds shortcodes in content imported under post types 
   that are no longer registered.
 * Fixed: front-end removal now honors the scanner’s Ignore list.
 * Fixed: the Run Scan button icon now displays correctly on WordPress 7.0.
 * New: choose whether to strip just the shortcode tags (default) or remove the 
   whole block, via the `resc_removal_mode` filter.
 * Maintenance: added an automated unit and integration test suite plus developer
   tooling.
 * Updated WordPress compatibility: requires 6.9, tested up to 7.0.

#### 1.0.0

 * Admin page under Tools menu for scanning and managing unregistered shortcodes
 * On-demand scanning with progress indicator and cached results
 * Two view modes: By Shortcode and By Post
 * Context preview showing surrounding text for each shortcode
 * Global ignore list for shortcodes you want to keep
 * Support for all public post types
 * Fixed false positive shortcode detection
 * New abstract blue branding
 * Restructured plugin with class-based architecture

#### 0.7.0

 * Update support for WordPress 6.8

#### 0.6.0

 * Added support for multi-line shortcode detection
 * Added a banner and icon for the WP plugin repository
 * Improved handling of unregistered shortcodes
 * Updated shortcode pattern matching
 * Removed Composer dependencies
 * Enhanced performance and reliability

#### 0.5.0

 * Added latest version of PHPStan
 * Fixed page content processing
 * Updated namespace structure

#### 0.4.0

 * Added page post type support
 * Fixed subscriber content handling

#### 0.3.0

 * Initial public release
 * Added standard post type support
 * Improved shortcode detection

## Meta

 *  Version **1.2.0**
 *  Last updated **4 روز ago**
 *  Active installations **10+**
 *  WordPress version ** 6.9 or higher **
 *  Tested up to **7.0**
 *  PHP version ** 7.4 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/remove-empty-shortcodes/)
 * Tags
 * [cleanup](https://haz.wordpress.org/plugins/tags/cleanup/)[content](https://haz.wordpress.org/plugins/tags/content/)
   [content management](https://haz.wordpress.org/plugins/tags/content-management/)
   [maintenance](https://haz.wordpress.org/plugins/tags/maintenance/)[shortcodes](https://haz.wordpress.org/plugins/tags/shortcodes/)
 *  [Advanced View](https://haz.wordpress.org/plugins/remove-empty-shortcodes/advanced/)

## Ratings

 5 out of 5 stars.

 *  [  2 5-star reviews     ](https://wordpress.org/support/plugin/remove-empty-shortcodes/reviews/?filter=5)
 *  [  0 4-star reviews     ](https://wordpress.org/support/plugin/remove-empty-shortcodes/reviews/?filter=4)
 *  [  0 3-star reviews     ](https://wordpress.org/support/plugin/remove-empty-shortcodes/reviews/?filter=3)
 *  [  0 2-star reviews     ](https://wordpress.org/support/plugin/remove-empty-shortcodes/reviews/?filter=2)
 *  [  0 1-star reviews     ](https://wordpress.org/support/plugin/remove-empty-shortcodes/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/remove-empty-shortcodes/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/remove-empty-shortcodes/reviews/)

## Contributors

 *   [ Tom McFarlin ](https://profiles.wordpress.org/tommcfarlin/)

## Support

Issues resolved in last two months:

     1 out of 1

 [View support forum](https://wordpress.org/support/plugin/remove-empty-shortcodes/)

## Donate

Would you like to support the advancement of this plugin?

 [ Donate to this plugin ](https://buymeacoffee.com/tommcfarlin)