Package/plugin/module WordPress

Obfuscate E-mail v2.0

I’d like to announce the official release of the updated Obfuscate E-mail plugin (v3.0) for WordPress.

Obfuscate e-mail addresses that appear as text in your blog in an effort to deter e-mail harvesting spammers while retaining the appearance and functionality of hyperlinks.

The plugin’s official homepage is located at :


This release introduces an admin options page for the plugin to configure various options. You can now opt to only obscure the ‘@’ and ‘.’ characters in e-mails if you want. Author and commenter email fields are now obfuscated as well. The obfuscation algorithm was altered and improved. There have also been various coding improvements. The release also brings with it full compatibility with WordPress 2.3+ and 2.5 (with continued support for 2.0+, 2.1+ and 2.2+).

This update is part of coffee2code’s 14 Days of Plugins (updated plugin #4).

Comments welcome on this post for this version of the plugin. Comments will be closed once this release has been superseded by another.

Read on for a detailed ChangeLog of the release.

Detailed ChangeLog

These are the detailed changes, which may or may not make sense to you depending on your familiarity with the previous features and internals of the plugin.

  • Overhauled and added a bunch of new code
  • Encapsulated a majority of functionality in a class
  • Added admin options page for the plugin, under Options → Obfuscate E-mail (or in WP 2.5: Settings → Obfuscate E-mail) so that default e-mail obfuscation can be easily configured via WP admin
  • Packaged plugin into its own directory, now including a readme.txt and screenshots
  • Maintained (though renamed) existing primary functions (which have remained non-classed) for others to use directly
  • Added options to define replacements for “@” and “.” characters in e-mails for partial obfuscation
  • Filter ‘get_the_excerpt’ instead of ‘the_excerpt’
  • Additionally filter ‘the_author_email’ and ‘get_comment_author_email’
  • trim() before returning instead of substr()
  • Tweaked description, installation instructions, and examples
  • Updated copyright date and version to 2.0
  • Added readme.txt and screenshot image to distribution zip
  • Tested compatibility with WP 2.3+ and 2.5

9 replies on “Obfuscate E-mail v2.0”


1. Thanks SO MUCH for all the useful plugins!

2. I think you have a typo at the top of this post, calling it v3.0 instead of v2.0. Or am I missing something?

3. Again, THANK YOU!!!


Hey Scott,
Should you be able to “View Source” and see the email address obfuscated? I have the plugin activated on 2.5 and inserted an email link as shown in readme file, but nothing seems to happen…..
Any Ideas?
Inserted link like this
<a href=""></a>

Hi Scott,
Nice work on all your plugins. Very USEFUL which is great!

One thought.
On the obfuscate email plugin, could you not add a decision process in the code that tests for javascript status in the visitor’s browser and then implement either hex or javascript obfuscation depending on whether javascript is on or off?

That way, most of the time, the maximum strength (javascript) obfuscation will be implemented. Certainly for bots at least.

Rich: You were right; I fixed the version number typo. Thanks!

cal: Did you try it with some or all of your other plugins temporarily disabled? I haven’t received any reports back about it not working properly. The sample you said you inserted above should’ve appeared obfuscated when doing a “View Source”…

Don: Thanks! Good suggestion. I’ll add it to the plugin’s todo to add JS obfuscation as at least an option.

Hey Scott, just tried deactivating all plugins and messing around, still can’t get it to work. Every time I view source the email is normal. If I learn more testing I’ll let you know.

Great plugin.

I have one suggestion for an additional feature:

Obscure the “mailto:” in the URL as well. That would fool a bot which scans for this keyword in links (hopefully).

It is as simple as adding “(mailto:)?” in the regular expression. I’m using it on my blog and haven’t noticed any significant amount of spamming (which doesn’t prove anything of course).


Great plugin! I have a question about how it works. I activated the plugin, and it worked on a post I created after activation, but older posts don’t have the email address obscured. So, does this plugin actually change the code in the post (and therefore the post is forever altered in the database), or does this plugin alter the post as it’s published (as I think your replacement plugins do)?

Also, if this changes the code in the post, what happens if the plugin is later deactivated? Will the email links be unusable?

Comments are closed.