Word Filter Plus

Word Filter Plus allows you to replace one word or phrase on your blog, with another word or phrase. It can do this passively, by replacing content as it is displayed, leaving your database unchanged. It can do this actively, by updating the content as it is created or edited, leaving the display of your site efficient as ever. It can even update all of the posts or comments all at once, in a server friendly way.

If you need to run the plugin on multiple sites, there is an export and an import feature to save effort and eliminate mistakes.

This plugin will help you clean up your site’s content. In its simplest form, it finds one word you are using and puts in another word. You might want to replace can replace the word “firetruck” with “f**k” or make your “2112 Rates and Fees” become your “2113 Rates and Fees” everywhere that text exists.

The reasons that you might want to do this are many. Here are seven I thought about as I made this plugin:

  • You’ve been told by advertisers they can’t advertise on your site because of the use of high risk words.
  • Terms that were ok to use one year, are now considered highly offensive
  • You’ve found you are blocked from schools and homes with content filters that are active.
  • A lawsuit/DMCA issue has forced you to remove references to a certain topic or company
  • Your phone number/company name/last name has changed and you want to update it on your site.
  • You wish to add hyperlinks to every reference of a specific word.
  • You’ve removed/replaced a plugin and you now have short codes that don’t work and you need to update them all
  • You’ve reference a year or date in posts or titles and you want your content to appear current.

There are other plugins that do similar functions, including the Word Replacer Plugin, which formed the foundation of this plugin. However, the “Plus” in “Word Filter Plus” means that I’ve added a number of extra features. These Plus features include:

  • Passive and Active modes to allow you to temporarily or permanently make the changes to your post content.
  • Batch mode is introduced already optimized to clean LARGE websites and cause no performance hit upon page load once the cleanup has been completed.
  • Import and Export features allow you to configure your replacements on one website or even in a spreadsheet and import them into your other sites.
  • Improved security around both the database access and the settings screens.
  • Excerpts are now included in the filtered content.
  • Improved on-screen help content.
  • Reworked the table structure to allow better default behavior.


  1. Replace one word or phrase with another word or phrase in your posts, pages, titles and excerpts.
  2. Moderate the content others are placing on your website in comments.
  3. Enforce editing standards upon people who are contributing posts to your site before the fact, not after.
  4. Use regex to replace a word when it is used in a specific context
  5. Use regex to parse matching text, extract values and build a replacement text using those variables
  6. Passively filter your content as it is displayed, leaving the database unchanged.
  7. Actively filter your content as it is saved, updating the database once, causing no delays as your content is displayed.
  8. Update all existing content on your site in batches, being friendly to your server.
  9. Create the replacement list in any spreadsheet tool and import it into the site. Or export one site’s settings for import into another,

NOTE: Thank you to my daughter Azia for making the WordPress.org Banner for this plugin.


Latest version: Download Word Filter Plus v2.0 [zip]


The installation process.

  1. Upload to the /wp-content/plugins/ directory. Or Directly upload from your Plugin management page.
  2. Activate the plugin through the ‘Plugins’ menu in WordPress
  3. Go to Tools menu and you will see Word Filter Plus sub menu.



  • First release


  • Redefined a static method that was causing problems on activation


  • Fixed the repeated addition of slashes during save. This may make this version incompatible with earlier releases. Contact the me if you have issues upgrading and I will resolve this.
  • Fixed excessive use if prepare statements
  • Lew

    Hey Brian, Thanks for the plugin. I just started using the per page sidebar plugin on the website I’ve listed here. It works like a charm. I am sure I’ll find a use for this one too. By the way, I am also located in N.E. OHIO and am setting up a marketing plan online. I just had one wp site hacked. Total wipe-out. 🙁 I hate when that happens. I’ve no clue how they do that.

  • mauro

    just istalled but I have some difficulties with “speacial” char, like # (0’ve tried qith also \# but every time I make changes and I save it it bicocome \\# after \\\# and so on) and regex. I’ve tried to invert a date 2012-05-30 to 30 05 2012 putting into left 2012-(\d+)-(\d+) and into the right $2 $1 2012 but seems not working.
    Any idea?

  • AmirAli

    Thanks for your nice plugin
    Unfortunately this plugin not work properly in “Middle East” Languages like Persian,Arabic and…
    In “Replacements” tab in “Original” coloumn, you can write Persian words without any problem
    But when you try to save “Replacement” coloumn whith a persian language word,it saves ????
    For example,فارسی saves ؟؟؟؟؟

    Please help to fix this problem

  • AmirAli

    Thanks for your nice plugin
    Unfortunately this plugin not work properly in “Middle East” Languages like Persian,Arabic and…
    In “Replacements” tab in “Original” coloumn, you can write Persian words without any problem
    But when you try to save “Replacement” coloumn whith a persian language word,it saves ????
    For example,فارسی saves ؟؟؟؟؟

    Please help to fix this problem

  • Paolo

    Hi, plugin works great but there is a limit to replacements as (read on plugin support page on wp) you didn’t set up pagination for it

    saving list of words to file shows this (and others) error:
    Warning: Missing argument 2 for wpdb::prepare(), called in /home/xxxxxxx/public_html/wp-content/plugins/word-filter-plus/csv-manip.php on line 201 and defined in /home/xxxxx/public_html/wp-includes/wp-db.php on line 992

    I checked mysql table but original word is encoded, so I cannot add new fields manually

    can you pls fix this bugs?

  • Hi Max,
    I’m checking in a new version of the plugin today and adding this feature. Maybe you can help me test it?

  • Will

    Plugin is working great thanks, however I’ve noticed some words are causing an issue for us. For example, if we replace the word ‘Google’ with ‘[a href=”http://www.google.com”]Google[/a]’ it works as expected, unless that word is already inside a link, eg. [a href=”whatever.html”]This Google Link Breaks[/a], as it outputs:- [a href=”whatever.html”]This [a href=”http://www.google.com”]Google[/a] Link Breaks[/a] .

    I understand we would need to use Regex to solve this, however I’ve spent days searching through StackOverflow trying to find an answer for this and no closer to a solution. Can you help? Thanks 🙂

    P.S Changed < to [ to prevent code breaking in comments.

  • This plugin needs a major update. I’ll eventually do a new release of it. Sorry for the problems you’ve had.