Search Over 30,000 FREE Plugins from the Official WordPress Plugin Directory Repository


Encodes mailto: links and e-mail addresses with JavaScript to stifle webcrawlers. Automatically turns plaintext e-mails into (enkoded) links.

PHPEnkoder is a port of the excellent Hivelogic Enkoder to PHP and, more specifically, to Wordpress. It is used to display text in a way that users can see and bots can't.

The encoding system is directly and unabashedly stolen from the BSD-licensed source of Hivelogic Enkoder, which works by randomly encoding a piece of text and sending to the browser self-evaluating Javascript that will generate the original text. This works in two ways: first, a bot must first have a fairly complete Javascript implementation (in particular, it must have eval); second, the decoding process can be made arbitrarily computationally intensive. This is similar to the idea of charging computational payments to send e-mail, only this is actually implemented.

By default, PHPEnkoder scrambles e-mails in plaintext and in mailto: links. It additionally provides a shortcode for manual scrambling, used like so: [enkode text="shown to non-JS browsers"]this will be scrambled[/enkode].

Author Michael Greenberg
Contributors michael_greenberg
Tags address, addresses, anti-spam, bot, crawl, crawler, e-mail, email, encode, encoder, Encoding, encrypt, enkode, enkoder, harvest, hidden, hide, hider, hivelogic, human, javascript, JS, link, mail, mailto, obfuscate, obfuscator, plaintext, robot, safe, shortcode, spam, spambot

Not applicable! PHPEnkoder is designed to make your website look the same to humans: e-mail addresses don't appear in the HTML source, but JavaScript converts the complicated encoding to valid HTML.

  1. Either:
    • Go to 'Plugins > Add New' and search for PHPEnkoder
    • Download and extract from the plugin directory and upload enkoder.php to the /wordpress/wp-content/plugins/ directory
  2. Activate the plugin through the 'Plugins' menu in WordPress
  3. Configure the plugin through its menu in Settings

See the webpage for more information on changes.

Why doesn't PHP Enkoder work in the excerpt?

WordPress creates excerpts by simply stripping tags from truncated content. This results in some Javascript-protecting comments appearing in the excerpt text, as there isn't a convenient way to determine if content being rendered is meant for an excerpt or the page. For now, a customizable message appears; by default, it will be rendered as /* email hidden; JavaScript is required */. Any ideas for workarounds would be appreciated; please send them along.

Other questions?

See the webpage for more information.

Version 1.14

Requires WordPress version: 2.3 or higher

Compatible up to: 4.7.2

Last Updated 26 Jan 2017

Date Added: 24 Oct 2008

Plugin Homepage


5 stars
7 ratings


Not Enough Data

Works: 0
Broken: 0